CNCzone.com-The Largest Machinist Community on the net!



Home Page Mark Forums Read Today's Posts My Replies Classifieds Reviews Photo Gallery Web Links Share Files Advertise With Us Ad List
Go Back   CNCzone.com-The Largest Machinist Community on the net! > Electronics > General Electronics Discussion


General Electronics Discussion Discuss basic electronics, power supplies and anything else electronic related here.


This forum is sponsored by:

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Ban this user!
Old 04-24-2004, 08:40 AM
 
Join Date: Mar 2004
Location: Canada
Posts: 37
Greg Fill is on a distinguished road
Post Are all steppers microsteppable?

The question I have pertains to microstepping. I started playing with stepper motors after my son got into robotics at school. For a great learning experience my son and I decided that we would design and build a small CNC completely from scratch. Electronics, hardware everything. This site fell right in place with us for a lot of the mechanical ideas and the DIY agenda in progress. For us electronics came first. To begin we designed and put together a microstep stepper controller using a PIC micro, dual H-bridge drivers with chopper current feedback control. Step/Dir inputs so it can be used with TurboCNC. We did not use any of the availble integrated circuits that most hobbiest drivers use, such as the LMD18245 or the L297/L298 combo. Our H-bridge circuitry is scaleable to whatever our current and voltage requirements are and we learn from building it. Right now we are using IRF2804 NMOS FETS in the bridge as I have lots of them and they are very robust. They have excellent surge capability as they are meant for automotive applications and low RDS on. They can handle 168 A @ 40volts. Kind of overkill when all I need is 2 A at 30 volts but oh well.

Anyways now the problem. The only stepper we have obtained so far is an old? Minebea 28BB-H129-51, 4.1 volt 2 ohm 7.5 degree per step stepper. I say old because I cannot find any information on it at all. Its microstepping performance is rather strange. Using a 32 step pure sine wave phase drive waveform the microsteps are not equidistant at all. We find that the microsteps move dramatically at the begginning and then nothing towards the end. ie step 1 moves almost 20%, step 31 almost nothing. To determine if our microstepping circuitry and firmware was working properly we devised a test using a dual variable voltage current limited power supply and a laser pointer. One power supply drove winding A and the other winding B The laser pointer was glued perpindicular to the shaft of the motor. Since we are trying to see extremely small changes in rotation the laser pointer was used to shine on a wall 15m away. Any rotation of the motor would easily be seen as a movement of the point on the wall. At 15m we would see a 0.5m movement of the light as the motor was moved from step 0 to step 31. We applied voltages to the windings in a pure sinewave fashion and found that the motor moved very inconsistantly. With a sinewave drive waveform Step 0 will have winding A full on and winding B off. Step 1 will have winding A at 99% and winding B at 5% and so on. We found that with even the smallest of voltages in winding B the motor would jump from no rotation to 20% rotation. It seems that we are breaking some kind of holding flux. As the step number was incremented we found that the motor was almost completely rotated when step 14 was reached. This means winding A is at 77% and winding B is at 63%. Incrementing the step from 15 to 31 meant no further movement in the motor. At Step 32 Winding A is off and winding B is full on. At Step 33 when winding B drops to 99% and winding A starts to rise again to 4% the motor would again make its big jump in movement.

There are other methods to drive the windings in something other than a pure sinewave. To keep the holding torque higher the current in winding A is held full on from steps 0 to 15 while the current in winding B is incremented in a sinewave format. From step 16 to 31 the current in winding B is held full on while the current in winding A is reduced in a sinewave format. Using this modified drive waveform the motor responded exactly the same.

So my questions are
Are all steppers really meant to be microsteppable?

Has anyone really checked to see if their microstepping controller is really giving equidistant microsteps? Do they really care?

Can we expect all steppers to behave like this even though the therory says they should not?

I notice that some drive controllers apply harmonics to the drive waveform or have the ability to change the phase voltage relationship between winding A and winding B to possibly take care of some the problems we are seeing. Is this true?

I know this may be a deep discussion but it would nice if anyone had any information with respect to our situation.

In the meantime I guess I have to find another stepper motor to test with.

We want to get involved with the opensource project and provide the details of the stepper controller if anyone is interested but first we want to prove that it works well.

BTW the controller will also beable to control a Servo motor as the circuitry to drive a servo motor is the same as a stepper motor with a quadrature position feedback input. We have already used our controller to control the speed of a DC motor with an analog speed ouput. Stolen from a very old harddisk, anyone remember an RK05?

Cheers

Greg
Reply With Quote

  #2  
Old 04-24-2004, 12:25 PM
*Registered*
 
Join Date: Apr 2004
Location: Norway
Posts: 678
ESjaavik is on a distinguished road

I also considered full or half step good enough based on the accuracy I need. And I still do.

But then I found out that this is not the reason I need microstep. The lower noise and a smoother drive is the reason. On the drives I have, I can turn a switch to set it from full step to 1/20 step, and the higher step ratio I set the smoother the motor moves. Less noise and less mechanical strain. The violence of the dreaded resonance at certain speeds is greatly reduced. At full step it really does a fair effort to rattle everything apart. Question is if it's worth it when cost and simplicity is important. I argue that it is, because it allows you to build the mechanics less rigid and bulky (and expensive).

I have tried mixing motors and drives to find a combination that also have a movement equal to the theoretical as you mention. It is not possible with my motors and drives. And they cover a wide choice of sizes and brands. I talked to Phytron (one of the manufacturers). Their support person is a very nice guy! He spent considerable time to write me a mail explaining why the behaviour is as I (and also you) observed. As I wrote, I don't really need the resolution of microstepping. It is not there anyway, as the motor acts like a "spring" around the commanded position. But this non-uniform movement also means there is some harshness that would notbe there had it been perfect. It can be made closer to perfect, but it is really a matter of cost and tradeoffs. Most producers put more effort into getting more torque from the size and weight. I agree on this being high priority.
Reply With Quote

  #3   Ban this user!
Old 04-24-2004, 01:21 PM
 
Join Date: Mar 2004
Location: Canada
Posts: 37
Greg Fill is on a distinguished road
Wink

Thanks for the reply. I agree immensely that microstepping is better for smoothing out the movement as opposed to getting infinite motor resolution that really is not there. Half stepping with my motor has perfect spacing. Anything greater is not. With 32 microsteps the movement is very smooth even with the non equidistant steps. Full stepping with this motor is a major clunk at 7.5 degrees and it bounces around the table top with each step. To help ourselves out we created a non uniform step table that spaces out the microsteps a lot better. The table is not sinusoidal, its more like an S curve.

As an added test we sacrificed an old 5 1/4 floppy drive and took the little 200 step 70 ohm unipolar motor from it. Guess what it also did not have equidistant steps and an operation completely different from my large motor. Laser pointers sweeping a very large arc really lets you see the movement. 30m this time to get better accuracy.

The results is that if someone really wants to play and they are creating their own controller like we are they can create a microstep table specific for the step motor they are using. Engineering has taught me that therory says one thing but reality and practicality always says something else.

If I want better more controlled resolution the next step will be servo motors but for now steppers are good enough.



Cheers
Reply With Quote

  #4   Ban this user!
Old 04-24-2004, 01:56 PM
 
Join Date: Sep 2003
Location: St Peters MO
Posts: 25
apollo is on a distinguished road

Hi there,

I've made a few motor controllers and can tell you that when microstepping, the half steps are between the full steps, but going to quarter or eigth steps removes equa-distant nature of the microsteps.

If you are interested in why this occurs, you should read about detent effects in the motor. One source is http://www.cs.uiowa.edu/~jones/step/micro.html

Hope it helps!
Reply With Quote

  #5   Ban this user!
Old 04-24-2004, 06:34 PM
 
Join Date: Mar 2004
Location: Canada
Posts: 37
Greg Fill is on a distinguished road
Wink

Excellent information there Apollo! Thank you very much. I have read the sections on stepper motor physics and microstepping. It is nice to see that what we saw was real and explainable.

I glanced at the section the author had on control circuits and he has some good control ideas in there that we will try. Any recommendations on watchouts or potential gotcha's you encountered would be greatly appreciated.

Presently we are using a simple fixed off time chopper control, using the micro as the timing/ control circuit and opamps and comparators to sense the overcurrent condition feed as an input to the micro. The variable current limit is set by the micro using the PWM outputs, allowing us to set the current level for each microstep of the motor for each winding. The PWM is 8 bits givings us theoretically 256 distinct levels. I would say we actually get about 64 different levels. The current level values are read from a table allowing us to tailor the current levels to something other than a pure sinewave to give us the "more" equidistant steps we want. We will experiment a little more before committing the circuit to a PCB.

Questions we want to answer

High side drivers PMOS or NMOS - presently NMOS, probably will layout to support either.

If NMOS do we use a floating high side driver like the IR2110 or do we use the discrete implementation like we are using now. Discrete is quite robust? In the past I have found the IR2110 to be quite weak and easily latched up to destruction. IR2110 are also not cheap considering each motor controller will need 4. There are also Full bridge drivers to look at. All in all lots of fun.


Cheers
Reply With Quote

Sponsored Links
  #6   Ban this user!
Old 04-24-2004, 08:11 PM
 
Join Date: Sep 2003
Location: St Peters MO
Posts: 25
apollo is on a distinguished road

It sounds like you are on the right path with your design. On thing you should watch out for: make sure you have precautions in place to protect your circuit from invalid control signals. If you're just using low currents you might not do too much damage, but if you do, starting over again making a new board really slows you up and does a number on the pride, also.

As for the PMOS vs NMOS, that will really depend on how you are approaching things. PMOS have to be much bigger than NMOS to handle the same current, which is why most driver ICs uses NMOS in their design. However, if you're doing a discrete implementaion, you probably don't care too much about size, you'll use a discrete FET eitherway. It comes down to what you can get for a Vgs, an Rds, and how complicated your drive circuitry will have to be. I see people often using PFETs when driving directly from a microcontroller. Personally, I would steer clear of the IR2110 initially. See if you can't find something simpler, unless you really plan on driving monster steppers.

It sounds like you are still in the prototype stage. Are you doing it all off of a breadboard? I've started to make PCBs for all of my prototypes now-a-days. Anyhow, I'd be interested to learn more about the route you're thinking of taking. Sounds like you're about to get waist deep in it, lots and lots of fun!
Reply With Quote

  #7   Ban this user!
Old 04-24-2004, 09:44 PM
 
Join Date: Mar 2004
Location: Canada
Posts: 37
Greg Fill is on a distinguished road
Wink

Thanks for the input. Yes those invalid states can cause great havoc. Test, test and more testing as I say. The last thing I want is to let the smoke out of the chips. As we all know we need to keep the smoke inside so they work properly.

The design is on a breadboard at this moment. I will commit it to a PCB. The good thing is that I have a PCB routing machine at my disposal and even though it is old it does make adequate prototypes. For "real" boards I always use an outside PCB house. I use a company called Alberta Printed circuits www.apcircuits.net. Since it is in Canada I get next day delivery and for my American friends the dollar value is great. Well it used to be much better for you, brutal on us when we bought in the States.

The NMOS FETS I use are IRF2804's. My IR rep. is pushing me to try their new PMOS FETS. He keeps telling me they have come a long way in getting them to have low RDS on at high amperage and good surge capabilities. I will tailor the design to allow the use of either. My high side VGS driver at the moment is not floating and referred to ground. I develop a VGS which is always 10 volts higher than the inputted motor voltage. The circuitry is tolerant to a 30 VDC motor voltage, creating a VGS of 40 volts. Believe it or not I use a simple high speed, high current opamp to drive the FET gate. Cheap, drives heavy capacitive loads like FET gates and works very well. The opamp has a 50 volt / us slew rate and turns the FETS on/off quickly. I didn't think I needed to go beyond 10 A for current but then that is a function of the FET selected and the capability of the PCB tracks.

I am debating if I should use an optically coupled driver such as the HCPL-3140 with a discrete bipolar push/pull and make the drive circuitry floating like is acually done with a IR2110 without the IR2110 downfalls. This way the circuitry would be able to handle voltages up to the rating of the FET used. Is it common to use a motor voltage > 30 volts for a small hobbiest machine? My old 7.5 degree motor driven at 30 volts gives me 720 RPM and still has good torque. Using TurboCNC I am stepping it at 18432 Hz.

I will post my schematic once I have inputted it into ORCAD and can get a PDF output.

Cheers
Reply With Quote

  #8   Ban this user!
Old 04-24-2004, 10:41 PM
 
Join Date: Sep 2003
Location: St Peters MO
Posts: 25
apollo is on a distinguished road

I don't think a hobbiest would go to more than 24V since cheap power supplies seem to only go that high. I think most people use steppers with aroun 1.8 degree per step, but I can only comment on what I have used and what my empolyer uses.

I suppose if you want to be REALLY fancy you could use both an nMOS and a pMOS like a CMOS pass gate, but it's probably overkill.

I'm wondering if you have a reason, other than academic, to pursue such a high power driver. The motors at the current levels you are going for will be very expensive. I imagine that commercial buyers of such motors tend to get the driver from the motor company, although I am just speculating.

Adding optical coupling to one's electronics is like the carpenter's dove tail joint. It shows that the designer spared no expense in their design and is a master of their art. Just my opinion though.
Reply With Quote

  #9  
Old 04-24-2004, 10:49 PM
ynneb's Avatar
Moderator
 
Join Date: Feb 2004
Location: Oz
Posts: 2,580
ynneb is on a distinguished road

Please excuse my ignorance, but doesn't gearing down effectivly do the same as microstepping? But also give you increased torque? Am I right off the track here?
Reply With Quote

  #10  
Old 04-25-2004, 03:06 AM
*Registered*
 
Join Date: Apr 2004
Location: Norway
Posts: 678
ESjaavik is on a distinguished road

I prefer as high voltage as possible. One weakness of stepper motors are that their torque fall off with increasing speed. The movements needs more torque with increasing speed. This result in that the need for rapid moves necessitate the choice of a larger motor. This is not desirable because of added cost of motor, need for more current from the drive, and I don't want the extra weight and bulk of the motor on the machine. Enter higher driving voltage. It allows me to keep a smaller motor size and current capability of the drive.

If you don't need high speed moves, you can gear down and get more torque and accuracy at lower speed, and as a bonus the motors will rotate faster and make less noise.

You write that you use the micro as the timing and control circuit. Does that mean it is also used as the chop timer? Then you rely heavily on IRQ response time to get the intended current. Turning off the chop current should be left to it's own hardware IMO.

Benny: No you're mostly on track. But it also give you a low speed. The torque gets multiplied also at higher speeds. But if you have a 1:4 gearing you need to run the motor at 4 times the speed to get the same fast movement. And the torque of the motor falls off to less than 1/4 the torque at 4 times the speed. If you decide you don't need the speed you are fine. Also gearing down does not do anything to the harshness of full and even half step. On the contrary if your gearing is stiff, it multiplies the unwanted harshness force in the same ratio as your gearing. It does however bring down the amplitude of it by the same ratio. Only testing will tell what the net effect is. Your timing belt (or gear) will appreciate your microstepping however.
Reply With Quote

Sponsored Links
  #11   Ban this user!
Old 04-25-2004, 07:50 AM
 
Join Date: Mar 2004
Location: Canada
Posts: 37
Greg Fill is on a distinguished road

The 10 Amp is purely academic as I really do not see a need for such a high current for steppers either. I agree the higher the voltage the better the step rate and torque for that step rate. To get a higher voltage than 30 VDC I would have to start looking at floating my VGS supply and cost goes up. My gate drive as designed is good to 45 volts. For NMOS the max. motor voltage would be 40 - 10 (for VGS boost) = 30 VDC. A PMOS driver would actually allow me to use a higher motor supply than NMOS, the full 40 VDC, because PMOS does not need a boosted VGS (voltage on the gate to turn the FET on/off).

The micro controlled chopper circuit does have a latency of 1 - 2 us from overcurrent detect and drivers off. Biasing the current detect level down ensures there is very little current overshoot. The timeout is fixed length and all the descriptions of the IC's I have seen tend to use an off time in the 100 us range. The micro has no problem with these values and I have played with values in the 40 - 140 us range. The fun part about micros is that you can squeeze a lot more out of them if you just take care in what you are doing. In the end I may find that hardware control may be better but I always try to wring whatever I can out of the micro.

Thanks for the feedback,

Cheers
Reply With Quote

  #12   Ban this user!
Old 04-25-2004, 08:17 AM
 
Join Date: Mar 2004
Location: Spain
Posts: 190
Ferenczyg is on a distinguished road

At all about driver boards and power MOSFETS, when Mariss Fremainis speak about design tips, the others listen . The excerpts below are about a unipolar non chopped design but iI think are interesting :

"the peak drain voltage on the MOSFETs will be twice the supply voltage. The MOSFETs you have picked will come apart at 27.5V theoretically, probably at 24V if shoot-thru currents due to diode reverse recovery time are taken into account. Use fast recovery rectifiers (<100nS Trr), a current rating equal to the motor current and a rated voltage at least equal to the supply"

"Don't pick a fragile MOSFET. The "on" resistance may look real sexy on the data sheet but the number that lets you know how rugged the device is the "Single Pulse Avalanche Energy" rating. The more milli-Joules the better"

The thread:

http://www.cnczone.com/forums/showth...igh+ampere+lpt
Reply With Quote

Reply




Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
power of using unipolar steppers? dowling177 Stepper Motors and Drives 1 01-11-2005 08:10 PM
Just found some steppers! chuckknigh DIY-CNC Router Table Machines 5 08-14-2004 07:32 PM
Choosing Steppers RXTurbo General Metal Working Machines 3 06-17-2004 11:21 PM
steppers and current ullbergm General Electronics Discussion 0 01-29-2004 03:24 PM




All times are GMT -5. The time now is 08:56 PM.





Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Content Relevant URLs by vBSEO
Template-Modifications by TMS

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361