Looking for help integrating industrial control components into your next Motion Control application? In this video we show how an AutomationDirect SureStep Stepper System is used on a Part Feeder Station to rotate a slotted disk to dispense a combination of different colored glass marbles, brass balls, and steel balls, one at a time from a part hopper.
The Control System used for the Part Feeder gives the viewer an insight into how it is possible to integrate a SureStep Stepper System with a DirectLOGIC DL05 PLC's built-in High-Speed Pulse Output ability to produce Step and Directional signals. A C-more Micro-Graphic panel serves as the operator interface. Various sensors, such as an incremental encoder, a fiber optic photoelectric sensor, a capacitive proximity sensor, and a DC current sensor, are included to monitor and enhance the operation of the Part Feeder Station.
'Take-away training PDF's and Demo projects'
Storyboard Handout take-away:
(Timeline indications have been included in the upper right-hand corner of each slide to indicate where in the LEARN video the topic is covered for the viewer's convenience.)
DirectSOFT5 Project File take-away:
C-more Micro-Graphic Project File take-away:
Bill of Material List take-away:
Schematic Diagrams take-aways:
Hi, Tom with AutomationDirect here. The following video is a continuation on the subject of Motion Control. In this standalone video I will cover using a SureStep Stepper System that is controlled with the built-in High-Speed Pulse Output ability of a DirectLOGIC DL05 programmable logic controller. The Stepper Motor I use in this video will be applied to the Part Feeder Station. This will be the First Stage in an application that utilizes the various Motion Control solutions offered by AutomationDirect. Let's get started. The Part Feeder Station shown in this LEARN video is the First Stage in a multiple Motion Control system application. It uses the DirectLOGIC DL05 PLC's built-in High-Speed Pulse Output, referred to as Mode 30, to control a SureStep Stepper System. A C-more Micro-Graphic panel will be used as the operator interface. Included will be various sensors to control the Part Feeder's operational functions. The Part Feeder was designed as a mechanism for dispensing 14 millimeter glass marbles and 9/16 inch diameter steel and brass balls, one at a time, from a cylindrical hopper, into a polycarbonate tube. For reference, the Parts being dispensed are all a little over one-half inch in diameter. Looking ahead at future LEARN videos on Motion Control, the Second Stage of this application will use a SureStep Stepper System controlled with ASCII commands to an Advanced Microstepping Drive, while the Third and final Stage will be based on AutomationDirect's SureServo Servo System controlled with a High-Speed Output Module installed in a Productivity 3000 Programmable Automation Controller. The topics covered in this video include an explanation of the Application and the Equipment used to construct the Part Feeder, setting up the Hardware's Jumpers and Dip Switches, programming the DL05 PLC with DirectSOFT5 ladder logic and IBox instructions, using the C-more Micro-Graphic panel, and finally an Operational Demonstration of the end result. The slides shown in the video can be downloaded as handout from the LEARN website and used to follow along with the video or used a refresher. Look for the note below the video that mentions 'take-away training PDF's and Demo projects'. For additional information on Motion Control applications and solutions, please refer to the Automation Notebook article titled 'Starting with Steppers' under the Tech Thread, Part 1 of 2 published in Issue 21 (Fall 2011), and Part 2 of 2 published in Issue 22 (Spring 2012). Links to Part 1 and 2 are shown here. The eight part video series titled 'Motion Control -- DirectLOGIC Micro PLC/CTRIO Module to SureStep Stepping System with C-more Micro-Graphic Panel (HMI)' is another excellent resource detailing Motion Control System information. A link to the video series is shown here. Next I will talk about the application and the components that were used to put it all together. The Part Feeder Station was designed to dispense one part at a time from a cylindrical hopper into a polycarbonate tube. The Parts are then sequenced to the next station. As mentioned earlier, the Parts used in this application consist of six different colored glass marbles, steel balls, and brass balls. The parts are all a little over one-half inch in diameter as mentioned before. A slotted polycarbonate disk, coupled to an AutomationDirect NEMA 17 stepper motor, is used to rotate the disk. The slot in the disk allows one part at a time to drop into the slot as it rotates. The part falls into the exit tube when it is rotated over the tube's opening. The Part Feeder Station is built using T-slotted framing. It includes a part hopper, slotted disk that is driven with a SureStep stepper motor, with the stepper motor coupled to a Koyo encoder. The encoder provides speed control and jam detection. There is also a fiber optic photoelectric sensor to detect when the exit tube is full, and a capacitive proximity sensor to determine when the part hopper is empty. The electrical controls for the Part Feeder Station are housed in a non-metallic JIC NEMA 4X enclosure. The enclosure has a see-through door window that allows viewing component indicators. The C-more Micro-Graphic panel, and Master Control power Start and Emergency Stop push buttons, are mounted through the enclosure's door. Located on the enclosure's panel are AutomationDirect's DirectLOGIC DL05 PLC, AcuAMP DC current sensor, Rhino 24 VDC power supply, which provides 24 VDC power to the PLC's DC inputs, and also power to the AcuAMP, and the Master Control power circuitry relay. The SureStep stepper motor drive and power supply are also mounted to the enclosure's panel, along with terminal blocks, wire duct, and DIN rail. Machine Tool Wire is used to interconnect all of the devices. AutomationDirect multi-wire connectors and multi-conductor flexible control cable is used to connect the control panel enclosure to the Part Feeder Station. Schematic diagrams have been created that were used to wire the controls for the Part Feeder Station and control panel. Shown here is the first schematic diagram showing the power circuitry. The Master Control circuitry, 'Power On' push button, and 'Emergency Stop' push button are included. The ADC Rhino 24 VDC power supply used to provide power to the PLC's DC inputs, and power to the AcuAMP DC current sensor is also shown. The second schematic diagram includes the DirectLOGIC DL05 PLC, SureStep stepper system motor, power supply and drive, Koyo incremental encoder, AcuAMP DC current sensor, 4-20 mA analog current input module, the C-more Micro-Graphic panel, and both the fiber optic photoelectric and capacitive proximity sensors. Different colored machine tool wire from AutomationDirect was used for the various conductors to help identify individual circuits. The AcuAMP DC Current Sensor is used to detect if the Part Feeder is jammed. This is accomplished by monitoring the current from the Stepper Motor Power Supply that powers the Stepper Motor Drive. The 4-20mA signal from the DCT100-42-24-F AcuAMP DC Current Sensor is wired into channel 1 of the F0-04AD-1 Analog Current Input Module located in the DL05 PLC's expansion slot. The position of jumper J3 on the Analog Current Input Module determines the input signal level, either 4--20mA or 0--20mA. I set the jumper not connecting the two pins as shown in the diagram, which allows an input signal of 4--20mA. Shown here is a block diagram of the part number STP-DRV-6575 Microstepping Drive used in my application, and a list of the main features that can be gained by using the Drive in your application. The STP-DRV-6575 Microstepping Drive is wired using the two separate pluggable screw terminal connectors as shown here. The power connections for the supplied DC power and the stepper motor leads share a six-position connector. The digital inputs and one output signal share an eight-position connector. Also shown in the diagram are the Status LEDs, the Rotary Switch used to select the Stepper Motor based on either its part number or current rating, and the 8-position Dip Switch used to select the driver's operating parameters. The stepper motor that is used with the STP-MTR-6575 drive is selected based on its current rating by using the Rotary Switch and choosing the position from the table. In my application I have used a SureStep Stepper Motor part number STP-MTR-17060D with a 2.0 AMP current rating, so the Rotary Switch is set to position 8. The two internal jumpers on the STP-DRV-6575 drive typically do not need to be changed from the factory defaults. The S3 jumper is used to set the Step Pulse Type. In my application I am using Step and Direction, so I keep the factory default with Jumper S3 in the '1-2' position. The S4 Jumper is used to set the Step Pulse Noise Filter. The Noise Filter is used to prevent position errors caused by electrical noise on the command signals. I choose the factory default setting with the S4 Jumper in the '1-3' position. If there is need to change either jumper, then the Stepper Drive cover needs to be removed. The eight position DIP Switch is used to set up the Stepper Drive's parameters. DIP Switch positions 1 & 2 are used to reduce the drive's power consumption which also reduces the amount of heat generated. This is done by limiting the motor running current by a factor of 80 or 90 percent. The Current Reduction can also be set for 100% without limiting the current to the motor. The current should be increased by a factor of 120% when using the Microstepping feature of the drive, which is one of the available settings. Keep in mind that the torque is reduced or increased by the same amount as the percentage factor. Stepper Motor Systems have a tendency to resonate at certain speeds. To improve the motor's performance by reducing this resonation, DIP Switch 3 is used to select how strong the anti-resonance and damping control algorithm is applied. The motor and load inertia range can be set to either 0--4 times or 5--10 times. DIP Switch 4 can be used to reduce the power consumption and lower heat generation by limiting motor idle current to either 90% or 50% of the running current. Keep in mind the holding torque is reduced by the same percentage. The Step Resolution in 'Steps per Revolution' is handled by DIP Switch positions 5, 6 and 7. The available choices are 20,000, 12,800, 5,000, 2,000, 400 smooth, 400, 200 smooth, or 200 steps per revolution. DIP Switch position 8 is the Self Test function. When position 8 is in the 'On' position, the motor automatically rotates back and forth two turns in each direction. This feature is used to confirm that the motor is operational. For the application in this video, the drive DIP Switch is set up for a Current Reduction of 80 percent, a Load Inertia of 0-4 times, an Idle Current Reduction of 50 percent, a Step Resolution of 400 steps per revolution, with smooth operation, and the Self Test is left off. There are two LED indicators on the STP-DRV-6575 drive that are used to indicate if the drive is operating correctly, or if there is a problem. In the event of a drive fault or alarm, the green LED will flash one or two times, followed by a series of red flashes. The pattern repeats until the alarm condition is cleared. Use the table shown here to determine the cause of the fault or alarm. The first step I'll do in programming the DirectSOFT5 ladder logic for the DL05 PLC is to setup the parameters for the High-Speed Mode 30 pulse output. To assign Mode 30, I'll start by loading a constant value of 30, typed in as K30, into the accumulator, and then output it to V-memory register V7633, which is the dedicated location for the Mode Select register in the DL05 PLC. Next I'll set up the Profile Parameter Table to start at V-memory address V2320 by loading octal address O2320 into the Profile Table Pointer at V-memory address V7630. I will be using the Y0 and Y1 outputs for my Pulse and Direction signals respectively to the Stepper Motor Drive, so I'll load the constant 103 into the accumulator, and then output the value to the Physical I/O configuration V-memory address V7637. Finally I'll set up no filtering for inputs X1 and X2 by loading constant zero into the accumulator and outputting to V-memory addresses V7635 and V7636. I continue setting up the parameters for Mode 30 in the second ladder logic rung shown here. I load the constant 2000 into the accumulator and output it to the first V-memory address, V2320 for the Profile Parameter Table, which selects a Velocity Profile move. I next load a double word constant value of 8000/0000 into the accumulator, and then output it to the 'Direction Select' V-memory address V2321/V2322 to setup a Counter-Clockwise direction for the Velocity Profile move that I will execute later. The last parameter I set up is for the initial Velocity I want the stepper motor to run. I load the constant value 10 into the accumulator and output it to the Velocity V-memory address V2323 in the Profile Parameter Table. This value is multiplied by a factor of 10 to produce an initial velocity of 100 pulses per second. In the third rung I program the Cycle Control latch circuit. This circuit is controlled by the F1 and F2 Function Keys on the C-more Micro-Graphic panel. F1 is assigned to the PLC's internal relay C2 as the Stop push button, and F2 controls internal relay C3 used as the Start push button. The internal Cycle Control relay C4 is latched in through a C4 normally open contact. I also program a Bit of Word output as B2010.2, which is Bit '2' of V-memory address V2010 that I assigned in the C-more Micro-Graphic panel's Function object LED Control Word as tag name 'In_Run', which controls the F3 LED anytime the Part Feeder is in Run mode. The Part Feeder Station uses various sensors to control its operation by detecting the presence of the parts, both the colored marbles and the metallic spheres in my application. A timer, T0, is used with the Hopper Empty capacitive sensor to allow the rotary slotted disk to continue to run for ten seconds after no parts are detected. This allows any additional parts in the hopper to keep moving, detected, and the timer reset. The purpose is to remove as many parts from the hopper as possible. There is a tube that the parts fall into at the exit of the slotted disk. Because of the potential for the parts to backup to the rotating slotted disk and cause a jam, a fiber optic photoelectric sensor monitors the Exit Tube just below where the parts are dropped from the slotted disk. The parts interrupt the photoelectric sensor as they fall for a split second, but if the parts backup, the sensor is kept blocked. Because we would not want the Run Mode to pause every time a part exits, a second timer, T1, is used to not pause unless the backed up part interrupts the photoelectric beam for more than one second. The actual Velocity Profile move is executed by enabling the internal 'Y0' signal. In my case I use the Cycle Control contact C4, along with a couple other conditions to enable 'Y0' as shown here in ladder logic rung 6. The other conditions that control the 'Step Drive Run' include Exit Tube not being full, timer T1, the Hopper not empty, timer T0, and the stepper motor motion not detecting 'No Step Motion'. Let me point out that the Velocity parameter stored in V-memory address V2323 can be changed on the fly. With a pulse encoder coupled to the stepper motor, I have the ability using the encoder's once a revolution Z-channel marker pulse to sense the position of the slot on the rotary disk. This allows me to increase the speed of the rotary disk once it clears the drop point, count the A-channel pulses that are produced at 100 per revolution, and just before the slot gets back to the drop point, decrease the speed to allow time for the part to drop through the Exit Tube. The ability to change speeds from slow to fast and back will increase the parts that can be produced. In rung 8 I have used an up/down counter, CT0, to count the encoder's A-channel pulses. This is done though the PLC's input 'X3', but only when the 'Fast Speed' C1's signal is active. I use a count preset of 85 to allow the rotary slotted disk to stay in 'Fast Speed' for the majority of each rotation of the disk. Once the count preset is reached, the counter's contact, designated as CT0, is actuated. This drops out the 'Fast Speed' C1 latched relay circuit, and also resets the Up/Down Counter so it is ready for the next rotational cycle. The encoder produces 100 pulses per revolution, so 'Fast Speed' is active for 85% of the rotation, or approximately 306 degrees of rotation. The slot in the rotary disk is presented over the drop point during 'Slow Speed' for approximately 54 degrees of rotation. Of course the amount of rotation for both 'Fast' and 'Slow' speed can be adjusted by changing the count preset. The following two ladder logic rungs select either the 'Slow Speed' at 100 pulses per second, or the 'Fast Speed' at 300 pulses per second based on the state of the 'Fast Speed' internal relay C1. This is accomplished by loading different constant values into the 'Velocity' V-memory address V2323. I use an AcuAMP DC sensor to monitor the current between the stepper motor power supply and the stepper motor drive. The current sensor produces a 4 to 20 milli-AMP signal that is proportional to the DC current flowing through the sensor's window. I wire the AcuAMP's output signal into the channel 1 of an analog current input module located in the open slot of the DL05 PLC. I program an IBox instruction labeled 'Analog Input Module Pointer Setup' to configure the F0-04AD-1 analog current input module as shown here. The base number is a constant zero with the default slot number as constant zero. I designate the 'Number of Input Channels as constant four, and decide on using binary for the 'Input Data Format' by assigning a constant one to this parameter. I use V-memory address V2000 as the starting location for the 'Input Data Address'. Now that I have a means to measure the current being used by the stepper motor, I can use the measurement to compare to a set point, and determine if the running current goes over the established set point value. Here I program a 'Greater Than or Equal To' contact to compare the 'Driver Current' to my 'Over Current' set point. If the running current becomes greater than or equal to the set point value, the 'Jam' internal relay C5 will energize. The 'Jam' signal is used in the next rung as a one-shot to latch in the 'Reverse Rotation' circuit. In Rung 13 I look for the 'Jam' condition signal, which indicates the possibility of the Part Feeder being jammed, and I use the signal as a one-shot to latch the 'Jam Detected' internal relay C6. At the same time, I start my 'Jam Timer' T2, which will keep the circuit latched in for the ten seconds I have programmed. The 'Reverse Rotation' circuit will be reset when the 'Jam Timer' times out. The next two rungs shown here are used to reverse the direction of the Stepper Motor on the fly. This is accomplished by changing the double word value in the 'Direction Select' V-memory address V2321/V2322 located in the Profile Parameter Table. The normal Clockwise direction is selected with a constant 8000/0000 loaded into V2321/V2322, and Counter-Clockwise is selected with a constant of zero loaded into V2321/V2322. The last area of the ladder logic program includes a circuit to detect no motion from the stepper motor based on missing encoder pulses. The encoder produces 100 pulses per revolution as I mentioned before. I decided to use the encoder's B-channel that is wired into the PLC's X4 input, although I could just as easily have used the A-channel that was used for the Fast/Slow Speed feature. The pulses from the encoder are used to continuously reset the 'Motion Timer' T3 anytime the 'Step Drive Run' signal is true. As long as the T3 timer keeps getting a reset signal within two tenths of a second, it never times out. If the timer fails to reset, it will time out and initiate the latch circuit shown in the next rung. The last rung shown is used to latch in the 'No Step Motion' condition, internal relay C7. It is triggered by the 'Motion Timer' T3 timing out. The 'No Step Motion' signal will stop the 'Step Drive Run' Y0 output shown in Rung 6, and also activate an alarm on the C-more Micro-Graphic panel with the message 'Slotted Disk Jammed' and the F1 Function Key LED blinking. The 'No Step Motion' alarm latch is reset by pressing the 'Cycle Stop' push button on the C-more Micro-Graphic panel and taking the Part Feeder out of 'Cycle Control', internal relay C4. A complete documented copy of the DirectSOFT5 project file for this application can be downloaded from the LEARN website. Look for the note below the video that mentions 'take-away training PDF's and Demo projects'. For simplicity, the C-more Micro-Graphic panel used for the application consists of just one screen. The Part Feeder is started and stopped from the C-more panel using the F1 and F2 Function Keys. Indicators are used to show the Part Feeder in either 'Run' or "Off' mode. The stepper motor speed is displayed on the panel, and also the Amperage to the stepper motor is displayed. The ability to adjust the 'Over current' set point is done with a numeric entry object on this same panel screen using Function Keys F4 for increment and F5 for decrement. There are also indicators showing the status of the 'Exit Tube Full' and 'Hopper Empty' sensors. This video does not cover detailed programming of the C-more Micro-Graphic panel, but a complete copy of the C-more project file for this application can be downloaded from the LEARN website. Look for the note below the video that mentions 'take-away training PDF's and Demo projects'. Next I will demonstrate the operation of the Part Feeder Station. Normal operation is with the slotted disk rotating in the counter-clockwise direction when viewed from above. The encoder's Z-channel triggers the stepper motor to change from slow to fast speed when the slot is just past the drop off location. The drop off location is the exit hole that feeds the part to the EXIT Tube. The encoder's A-channel pulses are counted up to a total of 85, representing 85 out of the 100 pulses per revolution, or a little over 300 degrees of rotation. When the preset count is completed, the stepper motor's speed reverts back to the slow speed. The ability to run at the fast speed, during most of each rotation, and then slowing down just over the drop off point, allows a larger output of parts per minute. Here I demonstrate how the Exit Tube Full fiber optic photoelectric sensor works. I block the parts from exiting the Exit Tube until such time as they back up to the photoelectric sensor. In the ladder logic as I explained earlier is a timer that starts anytime the photoelectric sensor is actuated. As soon as the timer times out, the stepper motor execution is halted. It will stay halted until the photoelectric sensor is no longer blocked, as seen here. Whenever the Hopper Empty capacitive sensor, which is mounted to the Part Hopper, no longer detects any Parts in front of it, a 10 second timer is started. The slotted disk continues to rotate. The intension is to keep any parts that haven't been removed from the hopper to be detected by the Hopper Empty sensor. If no parts are detected, the timer will time out, as seen here, and rotation of the slotted disk is paused. The rotation will pick up again if additional parts are placed in the Hopper, like this. The purpose of using the capacitive sensor is to both empty out as many of the parts as possible, although in most cases, a few will remain, and also the operator can be alerted that more parts need to be added to the Hopper. The AcuAMP is used to monitor the current from the Stepper Motor Power Supply to the Stepper Drive while the Stepper Motor is running. If the running current climbs above the set point that is entered on the C-more panel, then the condition is latched in through a timing circuit for 10 seconds, which causes the stepper motor to change direction, rotating clockwise, for the duration of the 10 second timer, and then the rotation reverts back to the normal counter-clockwise direction. I can demonstrate an overload condition by using my hand to put slight pressure on the parts as shown here. The purpose of reversing direction under an overload situation is assuming that there is some sort of jam in either the Hopper or at the Exit Tube, and by reversing direction, the jam will be cleared. I should point out that the Fast/Slow Speed circuit based on the encoder's Z-channel marker pulse does not work the same while in the reverse direction, although parts are still able to be dropped at the Exit Tube. The last feature I will demonstrate, which is built into the design of the Part Feeder, is the ability to detect 'No Motion'. This is accomplished, when the Stepper Motor is running, by using the encoder's B-channel pulses to continuously reset Timer T3, which prevents the timer from timing out. Timer T3 has a preset of 0.2 seconds. The encoder provides 100 pulses per revolution, which easily keeps the timer in a reset condition. If the Stepper Motor stalls, or stops rotating for any reason, then Timer T3 will time out, and latch in the 'No Step Motion' circuit. When the 'No Step Motion' circuit is actuated, an alarm message appears on the C-more panel. I can demonstrate this action by removing the power to the Stepper Motor Power Supply. As can be seen here, the C-more beeps, and displays the alarm message 'Slotted Disk Jammed', while the background screen flashes between red and normal. To reset the alarm, I need to take the Cycle Control circuit out of the Run Mode. After determining and clearing the jam, I can place the Part Feeder back into its normal Run mode as shown here. That wraps it up for this LEARN video covering Motion Control. Hope you found it informative, and thank you kindly for watching. Please look for the next series of LEARN videos that continue on the subject of Motion Control.