Posts Tagged 'Motor'

Reduce Manufacturing Costs by Cycle Time Effects

The key to reducing production costs is found in Cycle Time effects.  You may IAI Cycle Time Effectsbe able to further reduce costs if you look closely at the CT effects.

So what exactly are CT effects?

Click on the link below to read the case study from IntelligentActuator.com on how production efficiency was significantly improved.

http://www.intelligentactuator.com/pdf/CT-Effects_CJ0196-2A-UST-1-1112.pdf

More information on the factory automation products from IAI can be viewed at-

http://www.electromate.com/products/?partner=1086624533

For more information, please contact:

EDITORIAL CONTACT:

Warren Osak
sales@electromate.com
Toll Free Phone:   877-737-8698
Toll Free Fax:       877-737-8699
www.electromate.com

Motion Control Terminology Primer

Motion Control Terminology Primer

Motion Control Terminology Primer

What makes a bus based Motion Controller deterministic?   What are the three types of Step Motors?   What is the difference between an Absolute Encoder and a Resolver?

These questions (and many more) are quickly answered in a free User Friendly 2page ‘Motion Control Terminology’ Primer.

The Primer covers the following topics:

  • Motion Control
  • Motion Controllers
  • Drives and Amplifiers
  • Motors
  • Feedback Sensors
  • Mechanical Systems

Click on the link below to download the free ‘Motion Control Terminology’ Primer.

http://www.electromate.com/db_support/downloads/MotionControlTerminologyPrimerv2.pdf

EDITORIAL CONTACT:
Warren Osak
sales@electromate.com
Toll Free Phone:   877-737-8698
Toll Free Fax:       877-737-8699
www.electromate.com

DC Servo Motor Sizing Made Easy: A Practical 1/2 Day Course presented by Jan Braun, maxon motor ag

This half-day seminar provides the practical information you need to successfully select the right DC motor — be it brushed or brushless — for your application. You’ll learn about the interpretation of motor data and how you can use this information for motor sizing. Whether you need high speed and dynamics or just high torque, this seminar will teach you to size a motor + drive with just the right power reserves, avoiding costly oversized motors.

Maxon "The selection of high-precision microdrives" Textbook

Maxon “The selection of high-precision microdrives” Textbook

Presenter:  Jan Braun,, maxon motor ag, author of the “maxon academy Formulae Handbook”

What You’ll Receive:

  • Textbook: “The selection of high-precision microdrives” (a $65 US value) — A complete, easy-to-read reference guide for motor and drive selection OR you’ll receive an $89 Can. voucher to be used towards your next Maxon order
  • maxon Formulae Handbook
  • E-Learning software tutorial on USB Stick
  • maxon Catalog

What You’ll Learn:

  • Basics of DC motor data. Learn how to interpret motor data sheets and use the speed-torque line information for optimum motor sizing.
  • Systematic drive selection in the context of your application specific requirements and boundary conditions. This includes optimum power management, control loops, accuracy and ambient conditions.
  • Basics of gearhead data and their impact on motor selection.
  • Selection criteria for DC motors. Topics include the characteristics of different commutation types for brushed and brushless DC motors and when to use them.
  • maxon selection program. Find out how this software-tool can help you in the motor selection.
  • Application examples. Learn how to extract the key parameters for drive selection from your application: The examples include continuous operation as well as dynamic operation cycles.
  • Motion Control: The main features and application possibilities of maxon EPOS and ESCON controllers.

Location/Date:

Hilton Garden Inn Dorval Aeroport
St. Laurent, PQ
Tuesday February 19, 2013
Phone: (866) 788-2518

Directions to the Hilton Garden Inn Dorval Aeroport can be viewed at the following link:
Hilton Garden Inn Dorval Aeroport Directions

Location/Date:

Radisson Plaza Mississauga- Toronto Airport
Wednesday February 20, 2013
Phone: (905) 364-9999

Directions to the Radisson Plaza Mississauga- Toronto Airport Hotel can be viewed at the following link:
Radisson Plaza Mississauga- Toronto Airport Directions

Time: 9:00 am – 2:00 pm. Lunch included

Price: $89 CDN/person + HST* (*Ontario Only; Quebec registrants will be charged 5% GST only) if pre-registered by midnight January 31st ; after February 1st the cost is $109 CDN/person + applicable taxes.

To Register: The Seminar requires pre-registration & payment by Credit Card or PayPal. Click on the link below to be directed to our Online Payment Registration Form.

Maxon Seminar Registration Online Link

Click Here If You Are An Academic

OR call Electromate at 877-737-8698 with your credit card information

ESCON Servo Drive Video Tutorials

ESCON servo controllers from Maxon Motor AG are small-sized, powerful 4-quadrant PWM servo controller for the highly efficient control of permanent magnet activated DC motors.  The featured operating modes – speed control (closed loop), speed control (open loop), and current control – meet the highest requirements for the Industrial Automation market.  The ESCON servo controllers are designed being  commanded by an analog set value and features extensive analog and digital I/O functionality and are being configured via USB interface using the graphical user interface “ESCON Studio” for Windows PCs.

ESCON Studio YouTube Videos

ESCON Studio YouTube Videos

Maxon have recently released a series of ESCON Drive Video Tutorials on YouTube, which can be viewed at the link below-

http://www.youtube.com/playlist?list=PLmklAQtFT_ZJzWOa9O6507qA0NiSU8hzN

Click on the link below for more information on the ESCON servo amplifiers from Maxon-

http://www.electromate.com/products/?keyword=ESCON&d=105450

For more information, please contact:

EDITORIAL CONTACT:

Warren Osak
sales@electromate.com
Toll Free Phone:   877-737-8698
Toll Free Fax:       877-737-8699
www.electromate.com

Maxon Academy Technical Presentations

Maxon Academy

Maxon Academy

Which are the specific advantages of a “coreless” DC motor design compared to a conventional DC motor?  How is the motor designed?  Which are the underlying physical principles?  What are the differences between precious metal and graphite brushes and where are these two systems used?

Learn more about the design, the working principle and the data sheets of maxon DC and EC motors.

Maxon Academy

Maxon Academy

Click on the link below to download various Power Point presentations (many with animations)  and Handouts, including Slides with Comments.

http://www.maxonmotor.com/maxon/view/content/service-academy-motor

This is a must view for Professors, Teachers and Academics alike.

More information on the Servo Motor Product Line from maxon precision motors can be viewed at

http://www.electromate.com/products/?partner=1072297493

For more information, please contact:

EDITORIAL CONTACT:

Warren Osak
sales@electromate.com
Toll Free Phone:   877-737-8698
Toll Free Fax:       877-737-8699
www.electromate.com

maxon technical training proudly presents: maxonmotor.com/academy

Maxon Academy

Maxon Academy

Deepen your knowledge in drive technology and motion control.  Learn more about the coordinated operation of the drive components motor, gearhead, sensor and controller.

Visit http://www.maxonmotor.com/academy

maxon academy bundles our offers in the field of drive technology training.  Besides the maxon academy books and booklets you find here e-learning modules and the forthcoming seminars and workshops.

maxon seminars and workshops cover the topics in a mix of practical work, presentations, exercises and demonstrations.  They offer the possibility to treat a topic in close interaction with an expert.

Standard seminars and workshops treat the selection of drive components and the operation of maxon motion controllers.  Besides maxon academy elaborates seminars and workshops fully tailor made to your needs as well.

Learn more about drive technology – online or offline.   With the interacting maxon E-learning modules you learn and rehearse the most important aspect of drive technology whenever you have time wherever you are.

Professor’s Desk supports lecturers with teaching material such as ppt-presentations, models, exercises for students and models for hands-on training with suggestions for practical work.

maxon academy – for the benefit of our customers.

More information on the Maxon Motor AG product line can be viewed at

http://electromate.com/products/?partner=1072297493

For more information, please contact:

EDITORIAL CONTACT:

Warren Osak
sales@electromate.com
Toll Free Phone:   877-737-8698
Toll Free Fax:       877-737-8699
www.electromate.com

Linear Motor Primer

Tecnotion Linear Motor Product Family

Tecnotion Linear Motor Product Family

Linear motors (LM) enable linear movements at high speeds with great accuracy.  Most linear motors are used in the machine construction industry and for production automation purposes.   In this White Paper, the following information can be found:

  • The basic physical principles of linear motors
  • The 3 phase linear motor considered
  • A comparison of standard electric (rotary) motors and linear motors
  • The positioning system
  • A brief description of a linear motor system and some practical considerations
  • A brief description of both Tecnotion’s ironcore and ironless series of linear motors

Click on the link below to download this White Paper-

http://www.tecnotion.com/files/Manuals/Basic_Information_LM_EN_V21_%2020080912.pdf

For more information on the Tecnotion Product Family, click on the link below:

Tecnotion Product Family 

EDITORIAL CONTACT:
Warren Osak       
sales@electromate.com
Toll Free Phone:   877-737-8698  
Toll Free Fax:       877-737-8699
www.electromate.com

 

Using Labview with the GalilTools Communication Library

There are a few different methods for developing a LabVIEW application that can communicate to a Galil motor controller.

1 – DMCWin32 Library and Galil developed VI’s.  This method is simple, but limited support is offered beyond the vi’s that are provided on the Galil software CD.

2 – Active X Toolkit.  This method has been the preferred method for any existing applications with LabVIEW and Galil motor controllers.  It requires the purchase of the Active X Toolkit for $595 US.  Details on using the Active X Toolkit with LabVIEW are covered in application note 4414.  http://www.galilmc.com/support/appnotes/software/note4414.pdf

3 – GalilTools Communication Library.  Using the GalilTools Communication Library is the recommended method for any new applications that are being developed with LabVIEW.  This post will review 2 examples.  The first covers basics of how to integrate the GalilTools Communication Library into a LabVIEW application.  The second covers the more advanced function of integrating COM events into a LabVIEW application.

The GalilTools Communication Library (Galil class) provides methods for communication with a Galil motion controller over Ethernet, RS-232 or PCI buses. It consists of a native C++ Library and a similar COM interface which extends compatibility to Windows programming languages (e.g. VB, C#, etc).

—C++ Library (Windows and Linux)—

Both Full and Lite versions of GalilTools ship with a native C++ communication library. The Linux version (libGalil.so) is compatible with g++ and the Windows version (Galil1.dll) with Visual C++ 2008.

—COM (Windows)—

To further extend the language compatibility on Windows, a COM (Component Object Model) class built on top of the C++ library is also provided with Windows releases. This COM wrapper can be used in any language and IDE supporting COM (Visual Studio 2005, 2008, etc). The COM wrapper includes all of the functionality of the base C++ class.

—Using the COM class with Labview—

Working vi’s of the below examples, as well as other vi’s can be found in the LabVIEW Hello Galil example.

http://www.galilmc.com/learning/hellogalil.php

1 -  make sure GalilTools version 1.3.0.0 or later is installed on the PC.  The free version of GalilTools contains the Communication Library, so no software purchase is required.

http://www.galilmc.com/support/software-downloads.php

(2) – Open National Instruments Labview Version 8.6.  Versions 8.0, 8.2 and 8.5 were also tested.  Later versions should be compatible as well.

select “Blank VI”.

(3) From the File menu choose “Save As” (’File/Save As’) and name the file Galil.

(4) Choose ‘Window/Show Block Diagram’.

(5) In the Functions Palette (’View/Functions Palette’), expand “Connectivity” then “ActiveX”.
(5a) Drop the “Automation Open” function onto Galil.vi Block Diagram.

(6) Right-clink on the Automation Open function and choose ‘Select ActiveX Class/Browse’.  (This may take a moment)

(6a) In the drop down box choose “Galil Version x.x” (n.n is the version number, ex Galil Version 0.3).  Highlight the Galil Object, click OK.

-Recommended for beginners to Labview- Right click on the Automation Open function, choose ‘Visible Items/Label’.  This can be done with most labview blocks/functions.

(7) Drop a “Property Node” (Functions Palette/Connectivity/ActiveX) onto the Block Diagram to the right of the Automation Open function.
(7a) Connect the “Automation Refnum” terminal of the Automation Open funtion to the “reference” terminal on the Property Node. (The text of the Property Node should change to “IGalil” from “Automation”.)
(7b) Left-click on the Property element of the Property Node and choose ‘address’.
(7c) Right-clink on the Property element of the Property Node and choose ‘Change to Write’.

(8) Drop an “Invoke Node” (Functions Palette/Connectivity/ActiveX) onto the Block Diagram to the right of the Property Node.
(8a) Connect the “reference out” terminal of the Property Node (top right terminal, mouseover will show Galil.IGalil) to the “reference” terminal of the Invoke Node. (The text of the Invoke Node should change to “IGalil” from “Automation”.)
(8b) Left-click on the Method element of the Invoke Node and choose ‘connection’.

(9) Drop an “Invoke Node” (Functions Palette/Connectivity/ActiveX) onto the Block Diagram to the right of the Invoke Node.
(9a) Connect the “reference out” terminal of the last Invoke Node (top right terminal, mouseover will show Galil.IGalil) to the “reference” terminal of the Invoke Node. (The text of the Invoke Node should change to “IGalil” from “Automation”.)
(9b) Left-click on the Method element of the Invoke Node and choose ‘libraryVersion’.

(10) Drop an “Invoke Node” (Functions Palette/Connectivity/ActiveX) onto the Block Diagram to the right of the Invoke Node.
(10a) Connect the “reference out” terminal of the last Invoke Node (top right terminal, mouseover will show Galil.IGalil) to the “reference” terminal of the Invoke Node. (The text of the Invoke Node should change to “IGalil” from “Automation”.)
(10b) Left-click on the Method element of the Invoke Node and choose ‘command’.
(10c) Drop a “String Constant” (Functions Palette/Programming/String) onto the Block Diagram.
(10d) Insert the text “MG TIME” (quotes removed) into the String Constant
(10e) Connect the output of the string constant to the command input on the command Propert Node.


(11) Goto the Galil.vi Front Panel window.  In the Controls Palette (’View/Controls Palette’), expand “Modern” then “String&Path”.
(11a) Drop the “String Control” block onto Front Panel.
(11b) Rename “String” to “Connection String:”
(11c) Leave the string box empty.  This can later be changed to the connection string of the controller (192.168.1.100, GALILPCI1, COM 19200 etc). (See Note1)

(12) Drop the “String Indicator” (Controls Palette/Modern/String&Path) onto the Front Panel.
(12a) Rename “String” to “Connected To:”
(12b) Increase the size of the string box by ~double the length and width.

(13) Drop the “String Indicator” (Controls Palette/Modern/String&Path) onto the Front Panel.
(13a) Rename “String” to “Library Version:”
(13b) Increase the size of the string box by ~double the length.

(14) Drop the “String Indicator” (Controls Palette/Modern/String&Path) onto the Front Panel.
(14a) Rename “String” to “MG TIME”

(15) Drop an “Error Out.ctl” control (Controls Palette/Classic/Classic Array, Matrix & Cluster) onto the Front Panel.


(16) Goto the Galil.vi Block Diagram window.

(17) Connect the “error out” terminal of the Automation Open function to the “error in” terminal of the ‘address’ Property Node.
(17a) Connect the “error out” terminal of the ‘address’ Property Node to the “error in” terminal of the ‘connection’ Invoke Node.
(17b) Connect the “error out” terminal of the ‘connection’ Invoke Node to the “error in” terminal of the ‘libraryVersion’ Invoke Node.
(17c) Connect the “error out” terminal of the ‘libraryVersion’ Invoke Node to the “error in” terminal of the ‘command’ Invoke Node.
(17c) Connect the “error out” terminal of the ‘command’ Invoke Node to the terminal on the ‘error out’ block.

(18) Connect the terminal of the ‘Connections String:’ block to the “address” terminal on the Property Node.
(18a) Connect the terminal of the ‘Connected To:’ block to the “connection” terminal on the connection Invoke Node.
(18b) Connect the terminal of the ‘Library Version:’ block to the “libraryVersion” terminal on the libraryVerion Invoke Node.
(18c) Connect the terminal of the ‘MG TIME’ block to the “command” output terminal on the command Invoke Node.


(19) Goto the Front Panel window.  Choose ‘Operate/Run’ to run the VI.

Note1: If the Connection String string control is left blank, the GalilTools connection dialog will be displayed.  If a valid connection string is specified (ex COM1 19200), the program will attempt this connection directly.

—Handling Events with Labview and the GalilTools Communication Library—

There are 3 type of events that can occur in the COM class: onMessage, onInterrupt, onRecord.

onMessage handles unsolicited messages that are sent from the controller.

onInterrupt handles interrupts that are sent from the controller.  Not all Galil Controllers have this functionality, see UI and EI in your controllers command reference for more information.

onRecord handles the DR data record information sent from the controller.

This example will show how to set the onMessage event handler in Labview.

(1) Start with the above example.

(2) Drop a Register Event Callback (REC) onto the Block Diagram. (Connectivity/ActiveX).

(3) Connect the output of the Automation Open to the Event of the REC.

(4) Left-click on Event and choose onMessage.

(5) Create a Sting Indicator on the Main panel, and name it “message”.  Goto the Block Diagram, right-click on the terminal for the string indicator ‘message’ and choose Create/Refrence.

(6) Connect the string indicator reference to the User Parameter of REC.

(7) Right-click on the VI Ref of REC – choose Create Callback VI.

(7a) Save the created VI as event_onMessage.vi

(8) Show the Block Diagram of event_onMessage.vi.  Right-click on Event Data and select ‘Cluster, Class, & Variant Palette/Unbundle by Name’.

(8a) Connect the Event Data terminal to the new Unbundle by name message.

(9) Drop a Property Node (Connectivity/ActiveX) onto the event_onMessage.vi Block Diagram.

(9a) Connect the terminal of the message object (icon at the bottom) to the reference terminal of the property node.

(10) Left-click on the Property element on the property node and choose ‘value’.

(10a) Right-click on that same element and choose ‘Change To Write’.

(10b) Connect the output of the message bundle to the value terminal on the property node.

(11) On the main panel of event_onMessage, drop an Error out block (Classic/Classic Array, Matrix & Cluster).

(11a) in the block diagram, connect the error out of the property node to the input of the error out block.

(

(12) Save event_onMessage.vi

- Create a program that will run in the controller and send out unsolicited messages -

(13) Add an Invoke node after the library version block, connect it up, and change it to programDownload.  Change the command block to XQ, from MG TIME.  Add a string constant that has the program:

#A
MG TIME
WT500
JP#A

When using events in Labview, it is a requirement that OFFLINE be sent to address in order to close the connection to the controller and the drivers.  In this example, a stop button is used in a event structure.

(14) In the Galil.vi Front Panel, add a retangular stop button (Classic/Classic Boolean) (other boolean buttons should work as well).  Rename it from ’stop’ to ’stop_vi’.

(15) In the Galil.vi Block Diagram, add an Event Structure (Programming/Structures)

(15a) Right click on ‘Timeout’ in the event structure and choose “Edit Events Handled by This Case”.

(15b) Change the Event Sources to ’stop_vi’, and the Events to ‘Value Change’

(16) Place a Unregister For Events (Connectivity/AvtiveX) block, a Property Node block (Connectivity/ActiveX), a String Constant (Programming/String), and an Error out (Front Panel – Classic/Classic Array, Matrix & Cluster)

(16a) Connect the ‘event callback refnum’ terminal output of the REC to the ‘event registration refnum’ terminal input of the Unregister For Events block.

(16b) Connect the Error output of the REC to the error input of the Unregister For Events block.

(16c) Connect the Property node to the end of the chain for the program download and execution.  Change the element to write and choose address.  Connect a string constant of OFFLINE to the address terminal.

(16d) Connect the error chain through Unregister For Events to the error out.

The VI should now be ready to run, make sure to use the Stop button to stop the execution of the vi.

Click on the link below for additional information-

Galil’s Motion Controller Family

For more information, please contact:      

EDITORIAL CONTACT:
Warren Osak       
sales@electromate.com
Toll Free Phone:   877-737-8698  
Toll Free Fax:       877-737-8699
www.electromate.com

Galil’s DMC-300xx Pocket Motion Controller is Smart, Compact and Low Cost

ROCKLIN, CA — Galil Motion Control, an industry leader in motion control technology, is announcing the DMC-300xx Pocket Motion Controller Series, their latest generation, single-axis Ethernet motion controller. It combines a high performance motion controller and a 800Watt sine drive in a low cost, compact 3.9 in. x 5.0 in. x 1.5 in. package. The DMC-300xx is also available as a controller-only model which can be connected to a stepper or servo motor amplifier of any power range. Using a 32-bit RISC processor and improved power technology, the DMC-300xx provides higher speed, better power efficiency and smaller size than their prior generation controllers. The DMC-300xx is designed for single-axis motor control applications where compact size, low cost and remote location are important.

Galil's Pocket Motion Controller

The DMC-300xx is higher speed than Galil’s prior generation single-axis controllers; The 125 µs servo loop update time is twice as fast and the 15 MHz encoder frequency and 3 MHz stepper pulse output are 25% faster.

“A powerful new feature of the DMC-300xx is that it provides two 100Base-T Ethernet ports which can be daisy-chained,” said Lisa Wade, vice president of sales and marketing. “This allows multiple units to be connected without the use of an Ethernet hub.”

The DMC-30012 model is packaged with an 800 W amplifier for driving brushless servo motors at 20–80 VDC, up to 10 A continuous, 15 A peak. The fully digital, transconductance amplifier is a sinusoidally commutated brushless motor amplifier which minimizes torque ripple compared to drives using trapezoidal commutation. This is especially important for applications using low friction linear motors. The amplifier provides commands for initialization of the brushless motor using either hall sensors or encoder feedback.

Other features of the DMC-300xx motion controller include PID compensation with velocity and acceleration feedforward, non-volatile memory for user programs, multitasking for simultaneously running up to four programs, and I/O processing for synchronizing motion with external events. Modes of motion include point-to-point positioning, position tracking, jogging, contouring, electronic gearing, ECAM, and PVT.

The DMC-300xx provides optically isolated inputs and outputs as a standard feature. I/O include forward and reverse limit inputs, homing input, 8 uncommitted digital inputs, 4 uncommitted digital outputs, 2 uncommitted analog inputs and 1 uncommitted analog output. The DMC-300xx accepts position feedback from both a main and auxiliary encoder. Quadrature encoder feedback is standard with BiSS and SSI formats available as an option. A 115 kb RS232 port is also provided.

The DMC-30012 controller and 800W drive unit is $695 U.S. in single quantity and $445 U.S. in quantities of 100. The DMC-30010 controller-only unit is $295 U.S. in 100 quantities.

The DMC-300xx is available for immediate delivery.

For more information, please contact:      

EDITORIAL CONTACT:
Warren Osak       
sales@electromate.com
Toll Free Phone:   877-737-8698  
Toll Free Fax:       877-737-8699
www.electromate.com 

Click on the link below for more information:
link: DMC-30xx Product Information

Maxon Expands Sterilizable Servo Motor Family

maxon motor extends its EC 22 sterilizable motor series

Maxon's EC22 Sterilizable Brushless Servo Motor

Maxon's EC22 Sterilizable Brushless Servo Motor

 In addition to the well-approved EC 22 motors, maxon now offers variants for both, 40 Watts and 100 Watts. 

Sterilizable versions are also available for medical use.   This has been achieved by employing sterilizable winding wire, coated Neodymium magnets, as well as suitable bearing lubrication. Thus, the sterilizable EC 22 motors withstand at least 100 autoclave cycles (conditions: 134°C, 2.3 bar (33.4 psi), 100% relative humidity, 20 minutes).

The performance-optimized brushless servo motors are equipped with preloaded ball bearings and latest generation Neodymium permanent magnets. The motors are designed for low-loss operation and feature low vibration and low noise levels even at high speeds. They can be considered as real “Economical High Performers” and they for sure convince with their nominal torque of up to 44 mNm, an efficiency of more than 90% and now with a 25% reduced speed/torque gradient.

All motors are available with Hall sensors or sensorless and with up to four different windings. They can be combined with a variety of standard gearheads and the sterilizable planetary gearhead GP 22 M in a wide range of variations. As a perfect motor’s match, the maxon modular system also features servo amplifiers and positioning controllers in a number of variants.

For more information, please contact: 

Electromate Industrial Sales Ltd.
4300 Steeles Ave West, Unit #39
Woodbridge, ON  Canada
L4L 4C2
sales@electromate.com
www.electromate.com

North American Toll Free Phone:  877-737-8698
North American Toll Free Fax:      877-737-8699
Phone:  905-850-7447
Fax:      905-850-7451


Electromate’s Website

Archives

Subscribe to this blog by entering your email address below.

Join 323 other followers

Hey there! Electromate is using Twitter.

Presentation Playlist

Flickr Photos

Motion & Automation Controllers

Stepper Motors & Drives

Servo Motors & Drives

Servo Motors

Servo Drives

Stepper Motors

Stepper Drives

Positioning Systems & Actuators

Motion Control Made Simple Textbook

Power Transmission Products (2)

More Photos

Follow

Get every new post delivered to your Inbox.

Join 323 other followers