![]() | |
| Home Page | Mark Forums Read | Today's Posts | My Replies | Classifieds | Reviews | Photo Gallery | Web Links | Share Files | Advertise With Us | Ad List |
| |||||||
| Stepper Motors and Drives Discuss stepper motors, drivers and related topics here. |
| This forum is sponsored by: |
![]() |
| | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
| |||
| |||
Hello, I have been working on and off on a simple unipolar chopper drive. I am using at atmel atmega48 microcontroller and irl530 mosfets. The motor I am using is a Vexta 6 wire 2 phase motor rated at 1.2 amps and 6 volts. I am using a 24 volt power supply. The problem I am having is when chopping the torque is incredibly low. If I run the driver without chopping everything is fine. I am chopping at about 20 kHz with a current limit of 1 amp. So the reference voltage is 100 mV. I have an oscilloscope and I can see the chopping when looking at the voltage across the sense resistor. As far as I can tell it looks ok, with the current rising to my limit ans shutting off for about 50 us. I am running the motor at no more than 100 rpm. I am able to run in half step and full step with no problems without chopping enabled. I did have some noise problems, looked really bad on a scope, but was able to take care of that with a couple of 100nF capacitors. The step signal is clean and so is the reference voltage. I have attacted a partial schematic of the circuit I am using. The rest of the scematic is just the microcontroller. The gates of the mosfets are being driven directly from the micro. I know I don't need the 1 ohm resistors, that was a mistake on my part. Any Ideas? |
|
#2
| ||||
| ||||
| One problem with your circuit is the 220ohm pull-down resistors. These need to be much higher, on the order of 5k to 10k. With 220 ohms you will be limiting the gate voltage to about 4 volts, and limiting the drive current to the mosfets. Don't know if this is causing your problem, but it will limit gate drive and cause longer switching times. Also, you do need the series gate resistors (r1,4,7,10) but they should probably be more like 25 to 50 ohms. These resistors have two purposes, to suppress ringing, and to protect the AVR from excessive current while charging the gate capacitance. You say you run without problems without the chopping enabled. When you disable the chopping, what are you doing to limit the current to the motors? |
|
#3
| ||||
| ||||
| As well as what Jeff noted, my 2 cents. Most likely it's a software issue. But starting with the hardware, driving IRF530's directly from the Mega48 isn't a good idea on several fronts. If you want to drive from logic, pick a logic compatable MOSFET. IRLZ.... or some of the Fairchild or ST logic level's, other wise stick a mosfet driver inline. Second, is there a reason you have all 4 phases sensed individually? Assuming your comparitors are off to interrupts on the M48, if you do your off time in code, it is quite feasable you could be periodically adding 50us x 4 for a 200us dead time. Most "COTS" designs combine the same coil when current sensing.
__________________ Phil, Still too many interests, too many projects, and not enough time!!!!!!!! Vist my websites - http://pminmo.com & http://millpcbs.com |
|
#4
| |||
| |||
| I know it's hard to tell from the poor schematic, but I am using logic level mosfets. I am using IRL530N's. I must of been thinking of it incorrectly, I figured I would want the resistor on the gate to ground to be small so that the capacitance would discharge quickly. I didn't figure it would discharge through the micro, but I guess that makes sense. I did see some major ringing when looking at the voltages with the scope. I will change that and see if it helps. When I check the voltage at the gates of the mosfets I'm getting about 4.5 volts. I ran the motor for over an hour not using the chopper and the mosfets don't even get warm. When I don't use the chopper I lower the voltage and use a 10 ohm series resistor to get the current to 1 amp. I was able to use full and half stepping with no problems. I used seperate sense resistors for each coil because I was concerned the wattage was to low for each of the resistors. I know I could of paralled them, but I had the comparators and figured it didn't really matter. I also didn't want the sense resistance to low. Thanks for the help. |
|
#5
| |||
| |||
| OK, I added 47 ohm resistors from the micro to the gate,and 5.1k resistors from the gate to ground. This seemed to help quite a bit. The torque increased and the motor ran better. I read in another thread that the diodes from drain to motor supply are not necessary. I added them because when I tried doing this before, I kept blowning mosfets and was told I needed them. When I removed the diodes, the torque increased dramatically and the current waveform looked great. After about 30 minutes of running it stopped stepping and started "stuttering", i found one mosfet not firing. I'm not sure what happened but I am not getting any voltage out the micro on that pin. I will try removing the mosfet and seeing if I blew the output on the micro and/or the mosfet. Any suggestions on the diodes? It seems to run much better, except for blowing mosfets of course. Again, thanks for all the help. |
| Sponsored Links |
|
#6
| |||
| |||
| Hi James, You might try adding a 5.1V zener from each of your micro port pins to ground. It's supposed to protect your ports if you blow a FET. This comes from http://www.cs.uiowa.edu/~jones/step/ specifically http://www.cs.uiowa.edu/~jones/step/...s.html#practvr Jon |
|
#7
| ||||
| ||||
| You definately need flyback protection of some kind. Without the diodes, there is nothing to limit the flyback voltage, and it can reach thousands of volts. It will destroy the mosfets and possibly feed thru to the micro and destroy the output pin. However, I believe the diodes are the reason for your lack of torque. I am not that familiar with unipolar drives, but I think the problem is that the two windings of a phase act like a transformer. When you pull one end of a phase low, the un-driven end tries to go an equal amount above the motor voltage. The diode however keeps it from going more than a volt above the motor supply voltage. This is just like a transformer with a shorted output and will pull high current from the driver. If you replace the diodes with zeners, it will let the undriven end go higher than the motor voltage, but will still clamp the very high flyback voltages. You just need to make sure your mosfets are rated higher than the motor supply voltage plus the zener voltage. |
|
#8
| |||
| |||
| Try using a decent Schottky instead of 1N4001's - much faster. I also know that when fets are used in H bridges, the Schottky's are shunted across the the fets (across the drain and source pins), essentially in parallel with the epitaxial diode built into the fet. Check to see if you're getting an inducted 'kick' being dumped into the fets. If the kick is higher than the voltage rating of the fet, you could be frying it from overvoltage. The Schottky and/or a higher voltage rated fet may be in order. Perhaps one that is "avalanche rated" might also be necessary. Avalanche rated fets are preferred for the driving of highly inductive loads where inductive kick back potential is high. For example, on a 12v relay in a car, the inductive kick can easily exceed 60 volts. Imagine what it could be from an ignition coil that is generating a 30Kv secondary output. |
|
#9
| |||
| |||
| I pulled the suspect mosfet out and found it to be working fine. It looks as if only the pin on the micro blew. The pin blew after I added the 47 ohm gate resistors. I plan on adding the 5.1 volt zeners, but does anyone know why the port could have blown? Also, I didn't show it in the schematic but I'm not actually using 1n4001. I am using IRF's MBR1100's. I'm not sure these are the best choice but they are schottky's. I plan on trying to remove these all together and adding zeners instead. The question about the zeners is where to put them. Should I put them drain to source or drain to ground. Or does it even matter? I have some 56 volt and 91 volt zeners. The mosfets are rated for 100 volts. Any suggestion's on which would be a better choice? Also, what about the body diode in the mosfet. The mosfets i'm using, IRL530's, include one and the datasheet says they are "fully avalanche rated". If this is the case are external diodes needed at all? As far as program is concerned i am not coding the off time. Basically what I am doing is turning the mosfet on and then continously scaning in a loop the comparator inputs. Once I get an input I shut the mosfet off. I am using timer0 and an interrupt on compare match to generate the on signal. It actually seems to be working well, except for the blown port. I hope this is just because I didn't have the 47 ohm resistors on initially. I am going to add the 5.1 volt zeners and hook it up to different port and see what happens. Thanks, James |
|
#10
| ||||
| ||||
__________________ Phil, Still too many interests, too many projects, and not enough time!!!!!!!! Vist my websites - http://pminmo.com & http://millpcbs.com |
| Sponsored Links |
|
#11
| |||
| |||
| I'm using logic level mosfets, so that shouldn't be a problem, should it? I switched to another pin on the micro, added the 5.1 volt zeners, removed the shottky's completely and the motor has been running for about a hour and a half. When I look at the drain voltage I am seeing spikes of about 120 volts. The mosfets I'm using are avalanche rated. I figured I would let it run for a while and then possible try a little higher voltage, it's currently running at 24 volts. James |
|
#12
| |||
| |||
| A 120 volt spike across a fet only rated for 100 is playing with fire IMP. I'd Find a way to either bypass the fet so it doesn't see the spike or find a way to attenuate it. If you fets still are getting warm, look at the current trace across the fet as it turns on and off. If it rings with a negative induced spike on close, that could cause some problems. If you induce a spike above the voltage rating of the fet, ditto. Although they are avalanche rated, you still should protect them with appropriate Schottky's. You can't see electrons, therefore you can't trust them. Also, make sure the switched voltage wave is SQUARE. IF you see any 'rounding' of the corners of the voltage trace as the fet conducts, THAT is where your heat is coming from - a semi-conducting of the fet is leading to resistive heating of the fet. We were switching nearly 40 amps with IRLZ44's and they didn't even get warm even when they were not heat sunk. HOWEVER, please note the difference between the on resistance however of your fets versus that of the IRLZ44's. |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | |
| |