Welcome! Log In Create A New Profile

Advanced

RRRF Stepper Driver questions

Posted by GeertB 
RRRF Stepper Driver questions
January 24, 2009 12:25AM
Hi All,

I just built three of these boards (one of which was for reifsneiderb), and as a result of testing them I have a few questions and comments. (See make.rrrf.org/smd-1.2 for reference.)

I started adjusting the trim potmeters for current chopping just by trying to hold the (Keling 200 step NEMA23) motor shaft and seeing when I couldn't hold the shaft anymore. After testing/adjusting three boards, a few things became clear.

Observations
------------

First, only the first 20% of the trimpot for Vref is usable scale, as the current (in A) is twice the voltage (in V) over the 0.5 Ohm sense resistor, and for a maxiumum current of 2 A, Vref should be at most 1 V. My initial rough setting let me to a Vref of 1.4V...

Second, the supplied heatsink gets really hot really fast. Depending on my Vref setting, it went from 60C to about 100C, as measures with an IR thermometer. I'm not quite sure I the measuring area was small enough for the puny heatsink at 6", so actual temperature might be slightly higher. After reading the datasheets of the chips, I realized setting Vref to 1V (2A) might be a good idea and heat sink temperature seems to stabilize at 80-85 C. (More and longer testing needed.)

Third, as soon as the trimpot is set so that an unloaded stepper doesn't skip, it is about impossible to hold the 1/4" output shaft with my fingers at low speeds. On the other hand, even with Vref at 3V (6A), the highest speeds of the listed test program (600 us/step, 1667 half steps/sec, 250 RPM) is easily stopped with two fingers.

Fourth, at the 1s rests in the test program, the color of the two bicolor LEDs is non-deterministic. If I turn on/off power to the stepper board, the color may change. So, it seems there is an initialization issue with the board so that it doesn't always start at the same stepper state. I wonder if the L297 low-active reset input should be held to ground with a GND -- C -- RESET -- R -- Vcc circuit.

Fifth, when turning the motor by hand, the LEDs light up.

Sixth, at Vref = 1V (or lower), the stepper motor windings make a "fluttering" noise when not stepping.

Seventh, at Vref = 1V (or lower), when staring or stopping a series of steps, there is an audible tick, making me wonder if there is some oscillation or even a skipped step.

Questions/Suggestions
---------------------

1) Shouldn't there be a 33K (or so) resistor in series with the 10K trimpot, so Vref can be adjusted between 0V and 1.16V, for a current between 0A and 2.3A? Right now it is quite hard to get an exact Vref and very easy to end up with a Vref far surpassing the chips maximum ratings.

2) What kind of heatsink and Vref do people use for their rep(st)raps that have been operating for dozens of hours? My repstrap is pretty much going to be a lasercut box that can be closed (for noise/fume reasons). I'm planning to mount the stepper drivers inside the box and use them to heat the whole thing to around 50C or so to reduce warping. With forced airflow over the driver boards and steppers of a 120 mm fan, this would seem to leave enough thermal room to cool the driver boards and steppers. Does this seem reasonable?

3) Given that torque drops so dramatically, even at 250 RPM, doesn't it seem that a higher voltage is called for? The X and Y axes don't need much holding power at all, so torque at higher speeds determines driving current. As a result, it seems that using 24V supply voltage with lower currents would actually lower the dissipated energy while increasing torque at higher speeds. In reprap terms: 2 full car batteries connected in serial at the same time would last longer than the same batteries used in sequence. For us geeks, laptop power supplies seem to be great for this, especially since they don't use fans. Question: as 24V or 30V is a bit high for a 7805, how do I derive 5V from a 24V - 36V power supply?

4) Would my suggestion work? I'm guessing R = 10K, C = 100 nF.

5) This really means extra voltage is needed to force currents going the way we want right? Is there any downside in using 24V or 36V and relying on the chopper to maintain a suitable current for the stepper/driver?

6) Is this maybe caused by a too low frequency and duty cycle in the chopper? Should I worry about hearing the windings in "idle" situation? I'm concerned about long term damage to the motors.

7) As it seems, much less current is needed for holding while the clock is idle, shouldn't we use some R C network to lower Vref in absense of a clock signal? Basically the idea would be to use close to full Vref at 1K step rate, dropping to half Vref or so at idle.

Apologies for the long email. I did search the archives, but couldn't quite figure out the need to use 12V.

-Geert
Re: RRRF Stepper Driver questions
January 30, 2009 05:36PM
Cool, maybe if we could let it go a little hotter, we could use our stepper drivers to melt our plastic. winking smiley

I have a few questions of my own about the driver boards, though not very related.

Are there any plans to support the bipolar series configuration of the keling motors in the future? Having the option of more amps would also allow bigger motors for larger machines, and cnc type work as well.

Is there any chance that we could use RJ45s and Cat5 cable for everything, instead of slicing up the idc (or whatever you call them) cables from the driver boards? I could see another shield for the sanguino and arduino that had some breakout connectors and also RJ45 connectors, so that we could just plug the driver boards in with a short Cat5 cable.

Also, the breakout connectors would do nicely for the motor connection, instead of soldering the wires straight to the posts.

-Samuel
Re: RRRF Stepper Driver questions
January 30, 2009 05:59PM
I'm working on a stepper driver design. It will use SATA cables to attach to the main board, and handle a minimum of 5A per phase in bipolar. I'm considering adding a boost converter so that the drive voltage is 30V. Each channel will be current limiting, and they'll support microstepping. Obviously this will cost a little more than the existing design, but I think the payoff will be worth it.

Brendan
Re: RRRF Stepper Driver questions
January 30, 2009 07:07PM
Cool. Why did you pick SATA? (just wondering)

-Samuel
Re: RRRF Stepper Driver questions
January 30, 2009 07:28PM
SATA has dual differential shielded channels, with optional locking connectors on the cables. It's perfect for RS-485 and widely available.
Re: RRRF Stepper Driver questions
January 30, 2009 08:42PM
Any suggestions on retrofitting current drivers with connectors and cables? Or should I just solder the motors and slice the main cable?
Re: RRRF Stepper Driver questions
January 30, 2009 10:15PM
I used the standard Molex .156" connectors on my stepper drivers, but I think they're version 1.1. It looks like the same connector on the 1.2 version of the board.

Sometimes I wish I had screw terminals instead, but really, once you get the wiring sorted out, you don't have to change it. You will probably have to swap a pin or two until you get left and right sorted out though - that just takes some tweezers and some patience with the Molex connectors. I do sometimes unplug my Z stepper for to manually tweak the bed height during a build, but not that often, especially now that I've got my bed height dialed in.

Wade

PS, I think the Sanguino motherboard has IDC headers for the stepper drivers, so it'll be plug and play. You can also just plug an existing Sanguino into the motherboard, or build a new one.

Edited 1 time(s). Last edit at 01/30/2009 10:17PM by Wade Bortz.
Re: RRRF Stepper Driver questions
January 30, 2009 10:34PM
Geert, here's what I've noticed regarding your questions:

#2 I used the standard little heatsinks from the parts lister. I keep my currents pretty low though, less than 500 mA on X and Y, closer to 1 A on Z. X and Y are pretty cool, Z gets up to 85 C on the heatsink, and 60 C at the stepper itself. I leave it powered up for weeks at a time, no problems yet.

#3 I use the Kelling steppers, 200 step, half stepping, and I'm maxing out at 16mm/s head speed, but that's due to extruder limitations. 16 mm/s is 38 RPM on my steppers, so I don't get anywhere near 250 RPM. I hope to hit 32 mm/s with a new extruder design at some point, but at 16 mm/s my 12 V GM3 extruder motor is running at about 95% PWM, so there's almost no room for more speed. And that's stretching the filament already. Hm, interestingly, I run the steppers at 38 RPM, and my extruder drive shaft at 31 RPM; oddly close. smiling smiley

Also, I put some cardboard feet on my Darwin, and it's now so quiet I can barely tell it's running. It does smell like melted plastic a bit, but I'm eventually hoping to get a turkey bag over the build area, so that should cut down the noise a bit. I don't think noise will be a problem, unless you start milling.

Oh, and my stepper boards always come up double green on boot, but I do have a slightly older board revision. Maybe check the subversion files, see if there's a change there? It doesn't matter though, because the Arduino doesn't know where it is on boot either, so you have to go find the opto switches before you do anything.

I like how the LED's light up when you spin the steppers by hand as well! You're just running the steppers as generators, and the free-wheeling diodes are feeding the voltage back into the power supply. All of my led's light up, even the PWM and DC motor driver power LED's, when I spin a stepper. I don't think they use more than 40 mA, so it's not a big deal when you're running around 1000 mA per stepper coil.

I'm running a Darwin though; you'll probably have problems with stepper speed if you're using 200 step steppers on a McWire type setup; I hear it's tricky to get good speeds with leadscrews and small-step steppers.

Wade

Edited 1 time(s). Last edit at 01/31/2009 01:49AM by Wade Bortz.
Sorry, only registered users may post in this forum.

Click here to login