coil unwinder with tension control

Hi!

This is my first post. I have some limited experience with Arduino, and now I am planning a project as shown here:

The goal is to unwind the wire from the coil with constant tension as soon as I pull the wire in the direction of the red arrow. I want to move the coil so that I have a constant wire tension regardless of pulling speed, coil size etc.

The spring loaded pulley will bring the magnet closer to the hall sensor (A1319) which gives me linear output at any analog pin: the smaller the gap between magnet and sensor the higher the value will be at the pin. This I can translate into RPM of the stepper. As the coil is heavy and in many cases the wire will be pulled rather slow I decided to go with a stepper. I can ramp up and down the stepper with simple ramps using this modified pwm library.

I studied various sources on winders, tension control, dancers etc., and most state that it's possible without measuring the coil diameter, although the diameter changes during unwinding. But in this case I would need to use PID control. I looked into the PID library which seems useful. I understood that winding / unwinding processes are less simple than they look...

What do you think: which approach is most simple and will fill my bill? Should I continue with PID? Is it theoretical possible with such a simple device to get the wire off the coil without breaking it? The coil is up to 8kg, the wire is 0.12mm and breaks at a load of 0.4kg!

(I will provide some code snippets in the following post)

EDIT: check here for improved versions of the diagram.

1.) The hall sensor connects direcly to a pin and can be read as follows:

Serial.println(analogRead(A0));

2.) The stepper is controlled like this:

#include <pwm01.h>

uint32_t  pwm_duty = 32767;  // 50% duty cycle
uint32_t  pwm_freq = 1000;   // 1000 steps per second

void setup() {
  pwm_set_resolution(16);
  pwm_setup(6, pwm_freq, 1);   // Pin 6 freq on clock A
  pwm_write_duty(6, pwm_duty); // Pin 6 duty cycle
}

void loop() {
  pwm_set_clockA_freq(x); // change freq to x
}

3.) My basic ramps change the RPM of the stepper. Here acceleration:

while (newspeed < maxspeed) {
  newspeed = startspeed + rampvalue;
  pwm_set_clockA_freq(newspeed);
  delayMicroseconds(x);  // replace this line if non-blocking is needed
  rampvalue++; }

4.) The PID library I use like this:

Input = analogRead(A0);
myPID.Compute();
newspeed = Output * factor;

An 8kg coil is going to have a great deal of inertia and bearing stiction thus making it difficult to control.
Steppers run at low speed have a lumpy torque profile which will make your job even harder.

Your problem is similar to the old reel to reel tape recorders that have to maintain a constant tension to avoid breaking the tape. Perhaps look for equipment teardowns on youtube, or consider buying a second hand recorder and pulling it apart to see how it works. My guess is that the tension arm is connected to a potentiometer which is used to drive a DC motor.

mikb55:
Your problem is similar to the old reel to reel tape recorders that have to maintain a constant tension to avoid breaking the tape. Perhaps look for equipment teardowns on youtube, or consider buying a second hand recorder and pulling it apart to see how it works. My guess is that the tension arm is connected to a potentiometer which is used to drive a DC motor.

Many thanks for your input! I looked into reel2reel tape machines: most pro machines have an inductive distance sensor. The control is only to compensate the reel diameter changing during wind / unwind. So no PID involved: the gauge arm is mounted in a way that it detects the angle of the incoming tape and thus "reads" the diameter of the reel...

mikb55:
An 8kg coil is going to have a great deal of inertia and bearing stiction thus making it difficult to control. Steppers run at low speed have a lumpy torque profile which will make your job even harder.

I can manage to have enough torque by using a geared stepper. Also there are some really strong steppers available. And if the weight still is too much I will install a rotating flyer which collects the wire off the then static coil like shown here

First things first: This is an unwinder, not a winder, right?

If so, your chosen path will fail. Plain and simple. How do know? The physics of unwinding.

You cannot control this by way of speed of the stepper - unless you know exactly how fast the material is pulled off the spool. Only knowing the speed, with a lot of luck could, you do this with a stepper. But I seriously doubt it. A stepper is the worst possible choice for the design you show, especially for low speed since a stepper moves in discrete steps. I’m not saying you couldn’t make it work with a stepper, I’m simply stating it will not work in the scenario you propose.

To do what you propose - with no “line speed” signal and your spring dancer, you don’t want a motor, you want a brake. You want to provide a “hold back” tension against the spool/wire so it doesn’t uncoil in a mess when pulled. What you really want to control is negative torque (braking action), not positive torque (motoring action).

You can do this with a permanent magnet motor and an analog circuit driving a power mosfet dumping the motor energy into a load resistor or the fet itself (with a big heatsink), much like the constant current electronic loads. Very simple stuff, the motor acts a generator and the fet brake sets the hold-back torque.

To calculate required braking torque, you need to know the speed and the tension limits. Then it is a simple matter to calculate power.

Sidebar: you’ll have to forgive me here, I work with LARGE systems and this is core stuff i know from memory. We can change the units to something more relevant later but the equations remain.

Force (pounds) * speed (feet per minute) / 33,000 = HP

That gives you the maximum system power to dissipate, this sizes your motor, along with the speed range.

Next, you have to get your dancer to function in the force range you want to run. Spring tension along with dancer wrap angle sets the force. You know the desired force and can calculate the wrap angle to guide your spring selection.

Forcewire = Forcespring / (2 * sin * wrap-angle)

Where your best case is 50% of the spring force is imparted to the wire tension with 180 degrees of dancer pulley wrap.

Next step is to set your PID setpoint to 50% and feedback to the spring position hall sensor. PID output needs to increase as dancer rises.

The PID output controls your brake tension which is just the amount of load placed on the motor armature.

Running out of time here, that’s the 20,000 foot view.

I can revisit this later and finish up the sizing calcs if you want to pursue.

avr_fred:
First things first: This is an unwinder, not a winder, right?

Correct! My first attempt was passive: I just pulled off the wire like here. It worked, but the wire got twisted. Not a big deal, but in the future I want to unwind the wire without twisting it.

avr_fred:
To do what you propose - with no "line speed" signal and your spring dancer, you don't want a motor, you want a brake. You want to provide a "hold back" tension against the spool/wire so it doesn't uncoil in a mess when pulled.

The coil is too heavy to rotate it by just pulling the wire: thats why I need the motor... Apart from that I understood what you explained, also I can scale the formulas to my needs. Many thanks!!!

Image from Original Post so we don’t have to download it. See this Image Guide

400c093fc9425545bfb8f47653fa5496bb33fb35.jpg

…R

I'm guilty of having failed to fully grasp the the problem you presented:

The coil is up to 8kg, the wire is 0.12mm and breaks at a load of 0.4kg!

I'll say again that steppers as a pay-out are problematic. They are non-linear devices.

Just what is the speed range of unwind do you need to achieve? And what is a reasonable tension to maintain in the wire to prevent stretch or breakage, whichever comes first...

Looking further down the wire, what will be done with it? Consumed in a linear fashion or in discrete lengths?

If you need to actively rotate the coil then what about a two-stage process. On the one hand there is the motor to cause the coil to rotate. Then the wire passes through a brake mechanism - perhaps a pair of pinch rollers that apply the appropriate tension at the bottom pulley iin your diagram. The braking force at the pinch roller could perhaps be provided by a small DC motor powered gently in reverse with PID control based on the tensioning system in your diagram. However, as the tension would be independent of the coil diameter it may be possible to set it with a simple spring tensioner as is done in a sewing machine.

That would mean that the tensioning process was independent of the diameter of the coil.

You might need a second jockey device between the coil and the pinch rollers (but just as ON/OFF) to tell the unwind motor that more wire is needed. That would mean that the pay-out motor would not need great accuracy and that the fluctuations of a stepper motor would not be a problem. Equally a small low-geared DC motor should suffice.

Nice diagram, by the way.

...R

Robin -

Your post just kicked my brain to the easy solution. I started thinking you have the classic problem of mass in (MI) is not equal to mass out (MO), which always results in failure. In the case of a stepper driving the pay-out, wire comes out in discrete steps. Unless the wire is taken up in the exact same way, you violate the immutable rule of MI = MO, either breaking the wire or accumulating excess.

The solution to this problem is as old as automation - a multi-pass, spring loaded accumulator between the pay-out and the take-up. The accumulator achieves two things. One, it maintains the correct tension in the wire and Two, it provides storage that can either pay-out or take-up to adjust to the error in MI/MO.

It is really nothing more than your existing dancer with an extended distance range or extending the concept to multiple pulleys to get to a reasonable storage length as dictated by the behaviors of the pay-out and take-up ends.

Your take-up speed is then controlled to maintain the dancer/accumulator at the center point of travel. You obviously need to synchronize the speeds of pay-out/take-up but any errors are absorbed by the accumulation of the wire between the tensioned pulleys.

accum.png

And if the weight still is too much I will install a rotating flyer which collects the wire off the then static coil like shown here

Why not go with the rotating flyer implementation. It’s an obviously proven method, and by the time you work out the details of the alternative methods of tension control it may not be more complex.

If you can’t implement the flyer approach on the stationary vertical spool, I think that if the spool can be mounted horizontally on two bearings and rotate, it may simplify things. Eight kg does not seem too heavy to manually load.

avr_fred:
Looking further down the wire, what will be done with it? Consumed in a linear fashion or in discrete lengths?

Depends on what I have in mind: sometimes rewind to a small spool. I have now added more pulleys to the diagram of the unwinder and also a brake (marked in yellow) as suggested:

But I can't adjust take-up by the PID, I need to have the take-up processes run independently. I do think if I ramp up the take-up slow enough the large coil could move passively by just pulling the wire: if that is possible I could use a DC motor in place of the stepper to adjust braking force. Unfortunately I think that such slow ramps would not meet my needs. Also I would like to avoid the wire to pass too many pulleys as every bending will change the wire properties a tiny little bit.

Actually I don't even need constant wire tension between pay-out and take-up: I am fine if I can unwind without mess and without damaging the wire (and without twisting as I also want to use wires with non-round diameters in the future). My take-up winding machine does control the wire tension by it's own, but mechanically with a magnetic brake just before the wire is wound: so I can't read data from there to adjust pay-out.

You do not want to place a brake in position #8, there is no brake required in your latest drawing.

Tension in the wire is controlled by the spring force of #3. The position of the moving carriage (the one with 4 pulleys) depends upon the differential in speed between the wire coming out of the pay-out versus what is being pulled in by the take-up. When the speeds match, the carriage is stationary. When pay-out exceeds take-up, the pulleys move further apart, accumulating additional wire. When take-up is faster than pay-out, the pulleys move closer together, the excess taken up by... the take-up.

Two additional thoughts:

  1. I'm fairly certain that the friction in the pulleys is cumulative, adding to the overall tension in the wire. So, bearing choice here would be important.

  2. Since the overall tension is so low, it would most likely be far easier to offset the weight of the carriage and the desired tension force by dead weight rather than using spring force. Fishing sinkers (salt water types are available up to 500g or more) make for handy, cheap counter-weights.

I certainly don’t have any experience with this type problem whereas @avr_fred appears to. Nevertheless the idea I was trying to convey is (I think) somewhat different from the concept in the diagram in Reply #9. From what I can see there is a common system that manages the outflow from the spool and the tension required. I have in mind to separate those completely.

This diagram may help to explain. The idea is that the pulley A can rise and fall between positions A1 and A2 to maintain just sufficient tension on the spool to prevent tangles. There could be upper and lower limit switches. When the upper switch is triggered the spool will feed out more wire until the lower switch is triggered.

Quite separately the tensioner will govern the tautness of the wire being fed into the rest of the system.

UnWinderTension.png

…R

Most of the systems I have seen in industry use a simple clutch mechanism on a very large lazy susan turntable and engage the clutch fully on last coil out.
Similar to this one

Or something as simple as this under a turntable they come in around the $20-30 range

That is quite a simple process to achieve and doable with something simple like a three stage actuator.
A servo or stepper would be pretty good in that application as you could set the hold back force in software.

One of my prev employers used to de-coil 7/8 and 1" steel wire to process into smaller sections and as a millwright we were the only ones allowed in for a new coil start up for safety reasons.

As it came off the coils it was passed through a tensioner in the horizontal plane that also acted as a straightener before it got the the bulb process (placing a bulb shape into the steel wire by gripping it and pushing the two gripper parts together) after which if fed to the cut off machine.

If your wire is all a standard size or a few small variations in size.

Ours used roler over roller rather than stepped rollers in these applications

You could use a MIG wire feeder for your pull off as they are often lower voltage and include rollers for multiple size wires and also allow varied output speeds and are quite well priced too.

It would keep the whole process a lot more simple and includes pressure tensioners.

The one above also does some of the straightening too having dual rollers. Most just use one main roller.
Those roller are meant for a very long lifespan too !

It looks like you are flattening the wire as well which you could incorporate some of that function into a mig wire feeder to help speed up your process.

On Ebay they start at around $24 us WHICH CONSIDERING WHAT THEY DO IS A STEAL !

avr_fred:
You do not want to place a brake in position #8, there is no brake required in your latest drawing.

So no brakes at all necessary, even none in position #7 of my last drawing? But then I can't see the difference to the first version of my drawing apart from the number of pulleys...?

avr_fred:

  1. I'm fairly certain that the friction in the pulleys is cumulative, adding to the overall tension in the wire. So, bearing choice here would be important.

Thanks for the hint, I will take care about that.

avr_fred:
2) Since the overall tension is so low, it would most likely be far easier to offset the weight of the carriage and the desired tension force by dead weight rather than using spring force. Fishing sinkers (salt water types are available up to 500g or more) make for handy, cheap counter-weights.

Good point!

Robin2:
The idea is that the pulley A can rise and fall between positions A1 and A2 to maintain just sufficient tension on the spool to prevent tangles. There could be upper and lower limit switches. When the upper switch is triggered the spool will feed out more wire until the lower switch is triggered.

Many thanks! So if I use the nearest and farest readings of my sensor in my first drawing as the upper and lower limit switches, is that what you suggest?

ballscrewbob:
If your wire is all a standard size or a few small variations in size.

The wires I have to handle have a diameter of 0,12mm!

ballscrewbob:
You could use a MIG wire feeder for your pull off as they are often lower voltage and include rollers for multiple size wires and also allow varied output speeds and are quite well priced too.

Many thanks for this idea! Do I have to replace the rollers of the MIG wire feeder to handle my thin wires?

ballscrewbob:
It looks like you are flattening the wire as well which you could incorporate some of that function into a mig wire feeder to help speed up your process.

It would be fantastic if I could flatten the wire by milling it through those rollers: I would need to mill the diameter of round wires down to about 50% of their original thickness e.g. a 0,12mm wire to something like 0,06x0,18mm. Do you think this is doable on the fly during winding?

The mig rollers can be placed on the wrong way around giving you two flat sides to mill down the thickness.
If you were to go that route the either invest in a dual roller type or two seperate ones.
The rollers are hardened so I am more than confident on the ability to withstand the wear.

It may be possible to get rollers down to that size for feeding purposes too or at least a fine groove done local at a good machine shop.

They are designed to run a wire that is slightly harder than regular mild steel (not sure of the rockwell or brinell) welding wire is also quite strong in tensile strength too so wear would be a minimal factor (depending on your wire hardness)

Running the first set of rollers in "idler" mode and using the last set OUT as the drivers.

You may have to change out the springs on the tensioners but that is not an issue.
Quite often the roller have on plain and one grooved and are designed to be put on either way. spare rollers com in under $10 so ordering a second plain roller would give you two flat sides.

Have seen these things put a flat on 2.5 mm welding wire ! (my mistake LOL)
Being 24 volts they lend them selves to speed control very well and also put out a good lot of torque if you ask my fingers ( again don't press the trigger with your fingers close to the wheel it leaves a lovely blood blister ) If you know anyone who has mig capability wander over and ask them to see the wire feeder.

It is simplicity itself and I am surprised they are not used on 3d printers.

So in theory you could pre mill to around 75% of desired size leaving your existing equipment only doing the last 25% and thus prolonging its lifespan too.

Without knowing what feed rate you are running you may find that you don't need the de-spooler to be too complicated. Again look at a mig welder as they spool up to around 25-35 kg

EDIT they do rollers to feed down to .762 mm wire.

A quick check (hard to be precise) but speed seems to be anywhere up to 500 IPM.

Those are min wire and max feeds so it may pay to check what you want in terms of actual spec.
I would say using a mig feeder would be running it under capacity so again you might be looking at extended machine life with wire so thin.

jpk:
Many thanks! So if I use the nearest and farest readings of my sensor in my first drawing as the upper and lower limit switches, is that what you suggest?

I don't know what is in your mind but I think the answer is NO. The mechanism I proposed is conceptually different from your first drawing.

You now have suggestions for a few different systems. I suspect it will be important to keep them separate and choose one of them - or maybe try all of them in separate test systems.

Of course, after careful thought, it may be sensible to amalgamate some of the ideas - but not on the simple basis of 20% of this, 30% of the other and 50% of the 3rd.

And I am not yet convinced that a system for handling welding wire is appropriate for your very fine wire.

...R

Hi R2…

Spent may years welding and even more years coming up with solutions in engineering so its not an “off the wall” idea. And as mentioned earlier also been up to some of the larger steel wire / steel flat decoilers in work so again some experience in the subject at hand.

EDIT and where else are you going to get a sub $30 off the shelf part that will do almost all the the OP’s requirement in a single unit.
These things pull average 1.2 mm welding wire off a 25 Kg reel all day and never miss a beat.
Also seen these pull NON precision wound welding wire too under the same conditions.
Add a mig spool holder behind it that already has a simple mechanical spring loaded clutch and your over run / tension issues are pretty much solved with minimal hassle.

$_12.JPG