Welcome! Log In Create A New Profile


Teething problems

Posted by thomas larkworthy 
Teething problems
August 18, 2008 12:53PM
Hello, I am nearing the end of building a bits from bytes RepRap.

I am finding that my axis are very sensative to the speed setting in the stepper motor exerciser. Too fast and it goes crazy (expected). Too slow and it goes crazy (suprising?). I don't seem to be able to step one step at a time, as there doesn't seem to be enough energy to get the cogs turning. Should this be expected?

I also worry becuase my steppers seem to jerk around a little after powering up the system. They seem to spontaniously start misbehaving, before I have given them any commands from the host software. Is this common? its not major misbehaving, just a step every second or so. These seem to be real steps because the lights on the stepper motor driver change polarity.

I am in tommorrow to lubricate the reprap like crazy, its allready got a little lube but not enough really.

I suspect I also have power issues. If I disconnect all but one stepper motor driver the resultant axis seems to work better. When all three are connected I very rarely get any of the axis to work correctly. My ATX power supply says it supplies 12V at 15A which is better than the stated 8A current drain. Note is this 8A figure realistic? the motors supplied from bits from bytes have 3A drain so 3*3 is 9A anyway. How much juice do other people use?

Tom Larkworthy

(PS moderators, the backing system to the forum isn't sending me my notification of registration email, hence this post is semi-anon)
Re: Teething problems
August 18, 2008 01:52PM
I'm sorry that I don't have much insight into how to solve your problem, but I can confirm that this definitely isn't normal behavior! A stepper motor when properly configured should step when it is told to, and never at any other time. Single stepping should not pose a problem. Can you define "go crazy" a little more clearly?

It might help if you post what stepper motors/electronics you're using.

edit: typo

Edited 1 time(s). Last edit at 08/18/2008 07:03PM by Kyle Corbitt.
Re: Teething problems
August 18, 2008 02:28PM
Arduino generation 2 electronics.

The motors bitsfrombytes supply

Remember they are installed into a reprap.

Single stepping should not pose a problem
Well it could do if the friction is too high. The motors and steppers were tested before hand and the test software seemed to work ok. Actually come to think of it maybe they didn't at slow speeds????. I am going back to my lab at work to diagnose....

There is crazy a behavior when going too fast or too slow. The motors make a a noisy rumbling. The gears make an attempt to turn one way but don't make any progress and just jerk about.

Then there is the random behavior when there are no commands from the host. At first on power on everything is ok, then randomly a motor will make a movement, not a turn but a jerk. That is done just very breifly then about a second later it will do it again (i.e. one started it seems to continue). Sometimes setting off the others. I assumed I had tripped a sensor in the motor or something and it was trying but failing to center itself or something. (Like a servo does, but maybe steppers can't do that)

I was surprised actually to find that my servos went stiff on power up. Is this what the (unconnected) enable/disable connection for the servo controllors prevents? (note: I did not accidentally unconnected the disable/enable, but its defined unconnected in the single arduino electronics setup)

Re: Teething problems
August 18, 2008 06:20PM
That certainly sounds unusual. I can't imagine that motors would work at speed but not slowly because of friction - unlike with servos, steppers should have maximum torque at their slowest speeds and it only decreases from there.

Are you saying that the motors worked fine individually before being put in the frame? See if you can replicate that behavior.

The steppers should "go stiff" on power up. This is the holding current ensuring that they maintain their position. I don't think the enable/disable pin directly controls this behavior, so I wouldn't worry about it.

Do the phantom movements still happen even if the arduino is disconnected from the motor driver boards? Again, I'm not sure what might cause this although a faulty power supply may be a reasonable explanation.
Re: Teething problems
August 18, 2008 07:00PM
Sounds like a phasing problem. You're sure you wired the motors up correctly?

I had exactly the same issue once with running the tiny stepper from a DVD laser carriage with nothing but an atmega.
just because I messed up with step order so the motor went half a step forward and half a step backwards at some significant speed, that's a noisy rumble.

But still: It shouldn't move at all if powered up,
I cannot imagine a way to mess up the motor wiring to achieve this error, I may be wrong though winking smiley

Re: Teething problems
August 19, 2008 03:08AM
... maybe noisy signal or missing ground/shielding?

Somehow the input of the steppedriver receives 'signals'.

Check the voltage-level at the pins - when the system didn't move, it should be near to zero, with running motors something above 2 volts (depends on the pulse- or PWM-rate).

The "DIR"-pin should be either zero or 5volts ...

Re: Teething problems
August 19, 2008 05:32AM
The steppers are 3A when driven in Unipolar mode hence the motor rating plate but they are 2A in bipolar series and 4A bipolar parallel, you should be in bipolar series for use with the Arduino electronics. As for the stiffness in the system you should be able to move the X & Y axis by pushing with your finger even with the motor installed (but not powered) if this is not the case you might need to check alignments.

What software are you using as i found when using the G code stuff (older version than current) the motors would jitter when i down loaded commands to the Arduino but i never had enough time to debug this. But i felt it was down to the Arduino programming environment as when i sent the commands from another program it didn't happen.

Re: Teething problems
August 19, 2008 08:46AM
Well they locked the lab last night so today I have been looking further. Thanks for everyones comments, it has definatly given me avenues of investigation.

I completely took off a stepper motor to remove friction issues. Now when I get the stepper excercisor out, and send individual step commands, the stepper steps individually for about 20-30 steps until.... bang, it starts stepping like crazy, at about 5 Hz. Sending further step commands while its having a fit makes the noises more intense. The stepper motor does settle down again after a while, but is then prone to start up again. I will investigate the voltages.

I can't be 100% sure this is happening on all the axis, but I think it is so it must be something strange like EMF noise or dodgy power supply. I will try to find out by the end of today. I don't think its polarity issues becuase turning power off, and then on will allow the stepper to carry on stepping individual right through the area of motion that triggered the behaviour the previous time. So bad behaviour doesn't seem to be correllated with anything other than random noise.

Re: Teething problems
August 19, 2008 09:47AM
Right, getting there.

I started these experiments with the stepper disconnected mechanically, and plugged into the stepper driver board. The stepper motor exercisor was used to incremement the stepper on step at a time. The stepper motor driver board has two LED each of which can either be green or red.
Each step+ changed the two stepper motors to a different state, in the new state I measured the 4 voltages on the stepper connections (A,B,C,D) against ground.

1st state:-

Green Green- 9v 5v 12v 12v

I pressed step+ and the stepper motor did not move!

2nd state
Red - green 9v 5v 0v 0v

I pressed step+ and the stepper did move
3rd state
Red Red 5V 9V ?? ??

During measurement of voltages the system went into a pulsating mode. Status LED dimmed off and sharply turned back on. I think this is overheat protection kicking in on the stepper driver chip. The heatsink was extremely hot. So I disconnected the stepper moter (the source of the power drain) and carried on (the pulsating stopped then)

Red Red 0v 12v 0v 12v
Green Red 0v 12v 12v 0v
Green Green 12v 0v 12v 0v

Ahhh so that looks alot better now. The stepper must be wired wrong? However a triple check on the reprap building website shows I have indeed connected the wires correctly:-

(my motor is the 3008B version of the FL57STH51

So f*** knows

Re: Teething problems
August 19, 2008 11:25AM
Just to make sure they didn't change the cablecode for your charge of steppers.

Please check resistance of all the wires to each other.
you'll end up having four pairs of cable.
should be:
blue - blue/white
red - red/white
green - green/white
black - black/white
Note down your pairs!

Phase A should be: blue red
Phase B should be: green black

BUT it may be that colours have chaned so it may be blue green or blue black and red black or red green.

It's hard to test an eightwire stepper if they screwed up the colourcodes,
so be patient winking smiley

To make sure the phases are okay the way mentioned above,
apply power to blue and blue/white,
the motor should find a position, disconnect blue and blue/white
and connect red and red/white in the same manner.
The shaft mustnot turn, not even slightly.

If it does, go again and connect blue blue/white the way you did before,
disconnect again and connect red/white and red (inverted voltage).
If the shaft does not turn you should connect blue and red instead of blue red/white.

If it does turn repeat above steps with green and black until you end up with a non moving shaft.
First phase found ..
Note down configuration.
repeat for second phase with the remaining pairs (should be green and black if colours are correct)

Now that you made sure, that it is NOT the stepper that's causing the issue, you may go on and find the error elsewhere.


Edited 1 time(s). Last edit at 08/19/2008 11:27AM by sid.
Re: Teething problems
August 19, 2008 11:58AM
Sounds like you have the current set way too high. IIRC there is a preset to set the current and a test point to check the reference voltage it produces.

My X and Y motors are happy with half an amp which would correspond to a reference voltage of 0.25V with a 0.5R sense resitor. Try that and wind it up a bit if it is too weak. If you run steppers at their max rating without any heatsinking they get to well over 120C and will probably melt the plastic. Fortunately the Darwin doesn't need anything like the torque that a motor of this size produces.

Edited 1 time(s). Last edit at 08/19/2008 11:59AM by nophead.

Re: Teething problems
August 19, 2008 12:38PM
Hmmmm, now I have read up on the servo stepper system. The trip pot lets me lower the ampage. That was below the rated 2A for the parrallel configuration of the stepper motor, though not I never saw any reason to ever adjust it. While mucking about with that I am now confident the cause is the stepper drive system overheating. The motor would bust into at first vibrations, and then wide occisaltions of bursty activity followed by complete no activity. The no-activity was acually the stepper driver refusing to supply ANY current to the coils.

........ an hour passed before posting ---------------------

OK I am up and running with a working Y axis. Yes indeed it was overheating of the L298 chip. I put in better heating compound to make the heatsink more effective. That slowed town the time it took before eratic behaviour set-in but did not remove it. So I then turned the trip pot down. I am pushing less amps down the steppers now and they work happier. I plugged it in my Y axis and that is working, one step at a time. (So it kinda always was, but the strain of moving would prevent it from working very long, I also noted my mechanical coupling was bad, so perhaps some movement was lost in slappage anyway, I ground a dimple in my axel to trap the grub nut, so slippage is impossible now)

Now I gotta re-assemble everything else :/
Re: Teething problems
August 21, 2008 03:24PM
thomas larkworthy Wrote:
> the stepper steps individually for about 20-30
> steps until.... bang, it starts stepping like
> crazy, at about 5 Hz. Sending further step
> commands while its having a fit makes the noises
> more intense. The stepper motor does settle down
> again after a while, but is then prone to start up
> again. I will investigate the voltages.

It sounds like it needs an exorcism winking smiley
Re: Teething problems
August 25, 2008 06:54AM
I have this problem also with the OIT RepRap. Boards heat up and then they start jittering. Not really moving anywhere. They look like they take a step forward and then a step back at like one seacond intervals. Ended up replacing the X-axis stepper driver board. Tried turning down the trimpot that adjusts the amperage. Helped a little but not overly much. What I really need is a bigger heat sink and a large fan pulling cool air across the boards. What I've hooked up is an open case door with a large house fan pointed directly at my electronics...helps but does not eliminate the problem.

What is it in the hardware that causes this overheating? The locking torque? Is there anyway we can shut this off? It doesn't really need to lock on my system. Nothing moves by itself--pretty damn lined up and such--so I really don't want it to lock.

The other problem I had was a metal frame with internal wiring. Magnetized the wiring and they started acting like an inductor which messed with my motors. Started acting all crazy. Fixed it right up when I started using shielded wiring.

Re: Teething problems
August 25, 2008 11:43AM
Looking at the circuit it is almost exactly like the example given in both the L298 and L297 Data-sheets.

The only obvious alteration is some filtering on the sense lines. I think the filter is a low pass filter with a cut off frequency of 154Hz. I'd imagine that this could lead large overshoots in the voltage at the sense resistor before the voltage at the sense pin on the L297 had risen high enough to cause a cut out.

If there is significant lag between the voltage at the sense resistor and the sense pin it would make calculating the correct Vref very difficult. The test point could appear to be at the correct voltage by the normal V=IR but the voltage across the sense resistor, and hence the current flowing, could be significantly higher. I don't have much experience with analog circuits and so couldn't easily say how large the over shoot might be. It would be easy to rule out by shorting from the sense pin directly to the sense resistor (ideally via crock-clips or something else easy to remove if it makes no difference).

I also noticed that the potential divider to create Vref outputs a bit above 2V at maximum which would be equivalent to 4A. To keep Vref sensibly low the trim pot would have to stay below 50%, assuming it's linear and not logarithmic.

A final observation is that quite a few of the CNC guys run their L298N's with old 486 and pentium heat-sinks and fans attached. From the data-sheet that seems like over kill, but in reality it may be what's needed.
Re: Teething problems
August 25, 2008 01:41PM
hmm, good to know. I'll have to hook up more fan and heat sink power!

Re: Teething problems
August 25, 2008 07:20PM
The source of my clunking I now believe was the steppers tensing on power up, followed by an overheat, thus shutting the coils off, followed by cooling down and then overheating etc. This was indicated by the fact the LEDs that describe the coil states were turning off for short periods.

Those Lxxx have overheat protection built in which was the mechanism for my oscillations.

I had set my trim pots to half way anyway. I measured about 2A traveling through the coils. But seeing as two coils are on at the same time, thats 4A traveling through the driver chip in total. It is a fair whack to heatsink.

My setup works now with about 1.3A going through each coil. I am gonna fan them though because on a hot day or whatever they will probably overheat again.

Oh yeah, I did notice in the software that there is an option of turning the Z idle on/off. So I assume that prevents the resting torque.

Sorry, only registered users may post in this forum.

Click here to login