Conveyor movement control using VFD and encoder

hhuong

Member
Join Date
Nov 2004
Posts
58
Hello everyone,

I am currently working on re-writing the PLC programming from scratch for a glass tempering machine. I used to do mostly process automation programming. Therefore, this project is definitely something new for me.

Please see attached picture for the layout of the glass tempering system. From what I had learnt so far, the programming can be divided into two sections: furnace heating control and conveyors movement control. I want to focus on conveyors movement section first. As you can see in the picture, the system consisted of 6 parts: loading conveyor, furnace zone 1, furnace zone 2, bender zone, cooling conveyor and unloading conveyor. Each conveyor will be controlled by a VFD and an incremental encoder feedback to a high speed counter card.

The process starts with glass being loaded at the loading conveyor and is driven forward towards the furnace until the limit switch (which is installed at the end of loading conveyor) detects the front of the glass. When furnace is ready to accept new glass, the glass will be driven from loading conveyor into the furnace. The glass starts to automatically oscillate inside the furnace. Glass oscillates in section 1 for certain period and then moving towards section 2. When zone 1 conveyor move glass from section 1 to section 2, a new glass will loaded into section 1 from the loading conveyor and start the oscillating process again.

My first question is whether using VFD and encoder are the right implementation to control the conveyor in this oscillating process (back and forward movement)?

My second question is how to use the VFD and encoder to accurately move the conveyor forward and reverse at specified distance? My thought is that if I want the conveyor to move forward 10 inches exactly, the VFD ramp down time should be taken into consideration. So the VFD stop command is issued in advance before the encoder counter reaches the targeted count. Therefore I need to calculate when to issue the stop command.

To simplify the calculation, let assume encoder PPR=500; conveyor drive sprocket diameter= 5 in.

I can determine conveyor travel per revolution by multiplying 5 * 3.14 (pi) = 15.7

Then I calculate pulses per inch (PPI) by dividing 500 / 15.7 = 31.85 PPI.

If I can calculate the conveyor velocity (pulses per second) and knowing the VFD ramp down time, I should be able to find out the exact moment to issue the VFD stop command so that the conveyor will travel and stop at the expected position.

I am not sure my thought process is on the right path. Does anyone familiar with this type of conveyor movement control? mind to share with me?

Greatly appreciate any input/feedback.

Furnace Conveyor.jpg
 
Interesting. I assume the process starts with molten glass and the ovens are annealing ovens.

The first thought that comes to mind is keeping the motors encoders and gearboxes cool as possible. This may require putting them in a cabinet and piping in cool outside air - filter it to keep stuff in cabinet as cool as you can - +80F air temperature should be OK. Stick the output shaft from gearbox thru enclosure and mount a heat slinger between cabinet and sprocket. This should give you longer gearbox life. Pay attention to making it easy to check drain and refill oil in gearbox and make it easy to remove gearbox. Maybe mount motor geabox on a bedplate do all your alignment and encoder checks on bench then slide the assembly into the enclosure stuff shaft thru hole and bolt in. More important as motor size goes up - just bigger crane or forklift.

You may need braking resistors - especially so with the "oscillating VFD" - ideally they should be mounted away from the machine and kept as cool as you can - but not as important as cooling motor and encoder.

IF you use a motor at 3600 RPM this will give you most counts per unit time and per unit travel distance of glass thus better resolution on where you stop ie stopping distance. If you are ramping to stop then yes you have to include the time and distance covered by ramp. I would think you can stop at the same point with a tolerance of 1/8" if not less.

Dan Bentler
 
Last edited:
hhoung, you might want to take a look at ABB's ACS355. This drive has the capability of counting pulses and stopping or changing speeds. You do this by combining the counter features with the sequential features.

I'm working on a job right now that counts pulses on a packaging machine. We use them to position an arm for separating parts, to cut a piece of plastic to length, and to feed the stock forward to control the number of parts that go into each plastic bag.

This had always been servo work but increasingly VFD's are encroaching into the servo area.
 
This should be easy but my first words of advice is to use higher resolution encoders if you want better velocity control. 10,000 ppr or 40,000 counts per revolution would be better. It isn't clear how many of the sections move asynchronously but I would have a task for each section that can move independently of the other. Each task would be a small state machine that must detect being loaded. Do what it needs to do and being unloaded. The program needs to be able to pass data about the glass from one task to another. If all the down stream sections move at the same speed at the same time this should be easy but then I help customers do this sort of thing all the time.
 
hhoung, you might want to take a look at ABB's ACS355. This drive has the capability of counting pulses and stopping or changing speeds. You do this by combining the counter features with the sequential features.

DickDV, Thanks. I will look into ABB VFD ACS355. Actually, the conveyor for Zone 1 will be controlled by ABB VFD ACS800 drive. Each loading and unloading conveyor will be controlled by ABB VFD ACS350. I am still gathering information on what type of VFDs will be used to control the remaining conveyors


This should be easy but my first words of advice is to use higher resolution encoders if you want better velocity control. 10,000 ppr or 40,000 counts per revolution would be better. It isn't clear how many of the sections move asynchronously but I would have a task for each section that can move independently of the other. Each task would be a small state machine that must detect being loaded. Do what it needs to do and being unloaded. The program needs to be able to pass data about the glass from one task to another. If all the down stream sections move at the same speed at the same time this should be easy but then I help customers do this sort of thing all the time.

Peter, You are right. I am planning to program each zone in separate task. Conveyor in each zone can move independently since it have dedicated VFD and encoder feedback. However, two conveyors need to move synchronously when glass is being transferred between zones. For instance, when glass is being moved from loading conveyor onto furnace zone 1 conveyor, loading conveyor speed need to be synchronized with furnace zone 1 conveyor speed.


As DickDV mentioned, the conveyor movement and positioning task had always been servo work. But since I am using VFDs in this project, i am just curious what is the technique or logic that i can use to move the conveyor accurately. Also, to calculate the conveyor velocity, i think I should take the PLC scan time into consideration so that the program can calculate the pulses per second of the conveyor accurately. Does anyone done this calculation before? mind to share your experience?

Thanks for any input/feedback
 
hhuong, the ACS350 has morphed into the 355. Maybe you can exchange them for upgraded units. Or, better, check to see if the 350's you have contain the counter and sequence functions. That would be Groups 19 and 84. If those are there, you can use the 350's to do the same thing.
 
...
If I can calculate the conveyor velocity (pulses per second) and knowing the VFD ramp down time, I should be able to find out the exact moment to issue the VFD stop command so that the conveyor will travel and stop at the expected position...
The typical solution is not to stop VFD in calculated position, in the hope of proper stop position, but to switch little earlier to lower (approach) speed, and stop from this low speed in the necessary position.
 
Last edited:

Similar Topics

Does anyone have sample logic with conveyors that start and stop according to product on the line?
Replies
1
Views
93
Good Afternoon, I’m limited with a skilled maintenance staff to design and build Load Cell , Rollers , etc. for conveyor sections . Do...
Replies
11
Views
655
Hello everyone, I need to create a belt conveyor with an AFM60 encoder on board that detects the position of the glass (too small to be detected...
Replies
5
Views
702
"Hello, I am a beginner learning about PLC. Could you please give me some advice? I want to write PLC instructions as follows: When the sensor...
Replies
18
Views
3,388
Hello, I have a servo motor running a conveyor belt system. I do not have the exact circumference of the head pully and therefore I get some...
Replies
5
Views
1,380
Back
Top Bottom