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 > Stepper Motors and Drives


Stepper Motors and Drives Discuss stepper motors, drivers and related topics here.


This forum is sponsored by:

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Ban this user!
Old 08-26-2010, 10:21 AM
 
Join Date: Sep 2005
Location: turkey
Posts: 30
nerginer is on a distinguished road
My 20A bipolar micro-step driver design

Hi,

I am working on a micro-controller based bipolar micro-step motor controller. Up to now I did below tasks

I build two hip4081 based h-bridge and connect them to my micro board.
I connect the hip4081 AHI and BHI to +5v. I send PWM signals to the ALI and BLI.
I generate sin cos values with excel and store them in an array in the micro-controller. I use an interrupt to listen the step and dir inputs from mach cnc software to incrise and digrese the index of the array. Then I send the table value to the h-bridges as PWM . I am using 128 micro stepping table.

Everything is nice. The motor turns smoothly. The problem is the speed. What must I do to turn the motor faster.

Regards,
Nuri Erginer
Reply With Quote

  #2   Ban this user!
Old 08-26-2010, 02:18 PM
 
Join Date: May 2007
Location: UK
Posts: 702
wildwestpat is on a distinguished road

Hi Nuri

Interesting chip the HPI4081 for interfacing. To get more speed you have to sort out how to drive your stepper motor to its best advantage.

1. Stepper motors are speed power limited and should be connected to the load they are to drive when being set up. This is because the drive coils not only have an inductance but also generate a high back emf when the magnetic core spins which also reduces the input current.

2. The circuitry you are designing must take into account the maximum peak coil current rating of the motor. get this from the data sheet for the motor and do not exceed it unless you know what you are doing as the motors run hot and there is little margin.

3. The drive to a stepper motor is frequently pulse width modulated (PWM) to control the motor coil current. Look to feed back techniques to dynamically measure this.

4. Using micro stepping will limit the torque that can be generated and hence the top speed. Try and limit the micro stepping to a small value and use mechanical gearing to multiply the speed as this will give higher available torque and hence more speed.

5. Stepper motors come in a wide variety of shapes and differ a lot in their magnetic properties. In general the lower the inductance the better for a given current capability.

Do a search on stepper motors and speed as there is a lot of very good information available due to the generosity of this sites contributors.

Unfortunately generating the the sine and cosine values for the voltage drive is the easy bit. The problem is driving the highly inductive motor coils with current that results in a smooth turning force. You do not state what speed you are looking for. Stepper motors run out of torque rapidly with increasing speed. Look to remain sub 1000 rpm and try to get rid of all micro-stepping.

Sorry is this sounds tough but a reality check should help in the form of a comparison of stepper motor data sheets.

A. Use as high a voltage to drive the motor as practical (Chip and drive MOS limits apply - also back emf spikes must be taken into account as well as the breakdown voltage of the coil insulation. The inductance will determine the maximum voltage but think in terms of 50 volts as being typical with out getting too technical. ) See B. as the current must be limited to the safe value for the coil.

B. Use acive control of peak coil current to make safe and best use of the higher motor supply voltage.

C. The motor plate voltage and current is the safe voltage that can be applied for the coil's current limit. To get more power and hence speed you need to PWM the current at the safe limit from a high voltage source to give the maximum number of pulses per cycle.

D. Use mechanical gearing not microstepping when ever possible

E. Select motor for low inductance as well as speed v torque considerations - check maker's graphs. Frame size and length of the motor are factors that may limit the motor choice. Use modern high efficiency hybrid motors - the low inertia stepper motors are exotics and for normal purposes closed loop servo motor designs will give better results.

Regards - Pat

Last edited by wildwestpat; 08-26-2010 at 02:34 PM. Reason: Added A through E
Reply With Quote

  #3   Ban this user!
Old 08-26-2010, 03:38 PM
 
Join Date: Sep 2005
Location: turkey
Posts: 30
nerginer is on a distinguished road

wildwestpat,

Thanks alot for your explanations. I am using the same motor with a commercial stepper driver and with my drive. I am trying to catch its performance. So choosing a better motor is out of the discussion.

I have now new questions;

Can I use a circuit or a software module in the micro controller to prevent my self from back emf?

Dynamically measuring the coil current and using it as feed back can help?

Regards,
Nuri Erginer
Reply With Quote

  #4   Ban this user!
Old 08-27-2010, 03:08 PM
 
Join Date: May 2007
Location: UK
Posts: 702
wildwestpat is on a distinguished road

Hi Nuri

OK but generating the Sine and Cosine wave forms and chopping them up to give a pulse width modulated signal afor the motor coils is only the start of the requirements. Because the motor is a magnetic circuit it has both inductance and resistance along with the ability to generate power when rotating with the coil disconnected. This gives you another layer of design requirements that have to co-exist with the need for a smooth power drive - the bit you have achieved with your look up table and digtal transform into a PWM drive. Next steps are :-

1. Sense the peak current in the coil and use this limit to switch off the applied drive current the instant it reaches the limit. The removing the current will cause a back emf at least equall to the applied voltage and probably with a very high voltage spike that is even higher. The comutation spike can be captured using catching diodes and if you look at the implimentation sheets for bridge drive integrated circuits you will see some suggested arrangements. These diodes need to be high speed switching types or use high power zener diodes to clamp the unwanted peak voltages.

2. As soon as the reverse energy has been disipated the drive is applied again and the current alowed to build until the safe limit is reached when the drive to the coil is again interupted repeating the process as described in 1. above.

3. Thus the current drive is turned on and off many times in a single step. This means that the modulation is not a nice uniform time period but is dependent upon the motor current limit. This can be achieved using comparator integrated circuits and a bit of logic to drive the timing signal for the drive modulation.

4. As the coil is inductive and the torque is dependent upon the amps flowing in the turns of the coil it follows that the higher the applied voltage the more shots that can be fired in a single step and this gives more power i.e. torque output from the motor shaft.

5. The drive switching semiconductors need protecting against not only the back emf of the static motor coil but also the extra voltage that is generated in the rotating motor's magnetic field and any stray inductances which can be important if leads are long and thin. Mount the protection diodes with short fat leads to the output semiconductor they are protecting. If you use clamping diodes ensure that they have a very low impeadance (large capacitor) into which to dump the charge.

6. The drive logic also needs to ensure that the flux reversal at the start of the next step is not attempted until the previous drive current has reached zero. If this is not done the drive current at the start of the next cycle sees a much lower impepeadance and the current limit might be reached before the current sensing PWM circuits can operate. The frequencies and switching speeds are kept high and short respectively to get the maximum torque out of a given motor.


Sorry this is a bit of a ramble but what you are attempting can be done but the cost of the comparators and the clamping diodes will soon approach that of a commercial drive. But as an exercise in electronics it might be worth while. Hope this explains the current sense feed back and what it does the clamping diodes should be explained by the application notes.

Regards

Pat
Reply With Quote

  #5   Ban this user!
Old 08-29-2010, 08:30 AM
 
Join Date: Sep 2005
Location: turkey
Posts: 30
nerginer is on a distinguished road
Chooper

Thanks for your explanations. I understand that I build a fixed voltage driver which is not very successful. Now I decided to add a chopper current control circuit to my driver. I will add a sense resistor and some analog op amps and I will read the voltage over the sense resistor and this will show me the current on the coil of the motor.

Which way is the best to go;

I can compare the voltage on the sense resistor and if it is over the reference voltage I can disable the mosfets with the mosfetdrive disable pin.

Or
I can read the voltage with the micro-controller and use this value as a multiplier for the value coming from the micro-step table. the result will be the amount of voltage as PWM.

Regards
Nuri Erginer
Reply With Quote

Sponsored Links
  #6   Ban this user!
Old 08-29-2010, 01:33 PM
 
Join Date: May 2007
Location: UK
Posts: 702
wildwestpat is on a distinguished road

Hi Nuri

Both should work. You might care to investigate altering the Sine and Cosine lookup tables to suit the motor as it might be possible to drive a little more current through the coils. The curent multiplied by the number of turns of wire making up each motor coil is directly proportional to the torque generated. The problem you have to solve with the lookup table and the feedback loop is to maximise the coil current. The switching speed introduces frequency considerations and the inductance of the coil will increase with frequency and that resists the current flow which is where the higher drive voltage helps. The shaping of the current waveform to be an approximation of a sine wave is the aim. You might be able to apply the feed back as a digital modification to the look up table but the switching speeds will be rapid and on reflection as I write this is probably out of the question unless you use veryfast logic. However tweaking the table to optimise for the higher speed end would grant the culculation and modification logic to have time to operate at the lower speeds. The real life problems with stepper motors centre on the mid range speeds where the magnetic / mechanical parts resonate. Als the torque is a minimum at the high speed end and IMHO you would be optimising the drive look up tables for this and doing the calculation work for the feed back in slower time at the lower speeds. Multiple look up tables might be another approach as storage is cheap and multiplex chips low cost. Commercial drives have to cope with different motors but if you have determined the motor then a customised design might give a bit more torque and hence higher speed. BUT please note that the torque falls away rapidly with shaft rpm - low inductance motors are a bit better in this respect but still very limited - this is where the step up to more powerful motors using positional feedback becone the order of the day as closed loop servo systems are not limited by the magnetic problems of driving current through a highly inductive coil for their power. Closed loop with appropriate design yeilds very good accuracy and as much speed as the designer cares to provide limited by the budget.

Good luck and happy building / computation.

Regards - Pat
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 Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Need Help!- Building driver for bipolar step motor boogi1976 Stepper Motors and Drives 7 02-21-2012 08:01 AM
Build Thread- 2ND GENERATION 150V 8A Bipolar Stepper Motor Driver Design baggs Open Source Controller Boards 18 02-12-2011 07:23 AM
Controladora Micro-step para 4 ejes. Tipo Bipolar, de 48 volts 5 Amperes kreutz Spanish CNCzone 160 07-25-2010 02:13 PM
Build Thread- A 150V 8A Driver design for Bipolar Stepper Motors baggs Open Source Controller Boards 35 07-12-2010 06:56 PM
Very cheap Bipolar Micro-stepper board Stevie General Electronics Discussion 5 07-13-2004 05:39 PM




All times are GMT -5. The time now is 11:22 AM.





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