I've been trying to get a motor regen power dissipation circuit working that I pulled from here. The circuit works as provided but when I attempt to modify the load resistor, the mosfet is not longer being switched at 10-12V, it generally falls down to 5V or so. It appears that the BJT isn't being driven fully and thus the mosfet is not being driven fully. I'm at a loss as to why this is the case, can anyone explain this?
Electrical – Motor regeneration Circuit Issues
brushless-dc-motordc motormotormotor controller
Related Solutions
I spent 13 years designing electronics of this exact nature: three phase induction motor reduced voltage soft starters and variable frequency AC drives. I spent the last few of those years as a VFD applications engineer helping customers select and configure this equipment for various loads and industries around the country as well.
You will not be able to build something that is cheap and safe. The voltages and currents involved are well beyond the safety margin of a hobbyiest, especially someone who is openly avoiding buying commercial units in order to save money. Don't do it!
While the theory behind AC motor control is very straightforward, the detail level work (heat sink sizing, snubbering, gate drive requirements, de-sat protection, motor overload calculations, bus capacitor protection, etc.) can be quite tricky to get down, especially with heavy duty cycling and regenerative power modes which a carnival ride will CERTAINLY be generating. I strongly caution you against trying to build something of this nature unless you have significant experience not only in microcontrollers and embedded systems design but also significant experience in power electronics and three phase circuitry. People get hurt and killed building this stuff.
My first question for you is whether speed control is really required, or if you only require a soft start up and slow down. Do you vary the speed of the motor once it is started? If not, you may be able to get away with a MUCH cheaper reduced voltage soft starter. These units act like three phase light dimmers; they only adjust the applied voltage to the motor. You will not have a lot of torque at low speeds, but with the right design of motor (NEMA class D) you can achieve exactly what you're after with a fraction of the cost and maintenance.
If you really do need to vary the full-load speed of the motor then you are more or less stuck using a variable frequency drive. As you are aware these are expensive and if you buy cheap you are likely to replace them sooner due to your high surge current (they call this "constant torque") application. What I would definitely recommend doing if this is the case would be to contact various manufacturers (Allen-Bradley, Cutler-Hammer, SAF drives, Benshaw, Yaskawa, etc.) and ask for reconditioned units. Ask for a drive capable of delivering 150% rated current for 30s (this is usually known as heavy duty) or size the drive 30-50% larger than your nominal current rating. You will also likely be running off of generator power which is notorious for being undersized and prone to brownouts and surges as the load requirements change with the state of the equipment being run. Drives don't like that (voltage sags cause current spikes as the motor starts slipping and surges can cause you to overvoltage the bus capacitors) and have a tendency to either fault out or blow up.
I am all about the little guy building something and saving a buck, but this is not the type of project to do this on. If you really want to build a three phase AC drive, start with a little 10HP 480V motor with a hand brake on a test bench. You have all the potential for experiencing the pants-filling sensation of an H-bridge failure or a bus capacitor explosion two feet from your head but without the potential lawsuits and loss of life (except perhaps your own).
First let's consider just a ordinary brushed DC motor. The hardware mechanically ensures that the windings are switched (commutated) such that the magnetic field is always trying to pull the motor along. The magnetic field strength is directly proportional to current, so the torque is proportional to current. So at a very basic level, the speed is whatever results in enough mechanical resistance to ballance the torque. However, that is not useful in most cases since it's not obvious what the current is.
For a stalled motor, the current is the applied voltage divided by the resistance of whatever windings are switched in. However, as the motor spins it also acts like a generator. The voltage the generator produces is proportional to speed, and apposes the external applied voltage. At some speed this equals the external voltage, in which case the effective voltage driving the motor is zero and the motor current is zero. That also means the torque is zero, so a unloaded motor can't spin that fast since there is always some friction. What happens is that the motor spins at a little lower speed. The amount it spins slower is just enough to leave a little effective voltage on the motor, which is the amount to create just enough current to create the torque to ballance the small friction in the system.
This is why the speed of a unloaded motor doesn't just increase until it flies apart. The unloaded speed is pretty much proportional to the external voltage, and is just below the speed at which the motor internally generates that voltage. This also explains why a fast spinning motor draws less current than a stalled motor at the same external voltage. For the stalled motor, current is applied voltage divided by resistance. For the spinning motor, current is applied voltage minus the generator voltage divided by the resistance.
Now to your question about a brushless DC motor. The only difference is that the windings are not automatically switched in and out according to the rotation angle of the motor. If you switch them optimally as the brush system in a brushed DC motor is intended to do, then you get the same thing. In that case the unloaded current will be even lower since there is no friction from the brushes to overcome. That allows less current to drive the motor at a particular speed, which will be closer to where the generator voltage matches the external applied voltage.
With a brushless motor you have other options. I recently did a project where the customer needed very accurate motor speed. In that case I communtated the windings at precisely the desired speed derived from a crystal oscillator. I used the Hall effect position feedback signals only to clip the applied magnetic field to within ±90° of the position. This works fine as long as the load on the shaft is less than the torque applied when the magnetic field is at 90°.
Usually, however, you commutate a brushless DC motor optimally, just like the mechanical brushes would try to do. This means keeping the magnetic field at 90° from the current position in the direction of desired rotation. The overall applied voltage is then adjusted to modulate speed. This is efficient since only the minimum voltage is used to make the motor spin the desired speed.
Yes, PWM works fine for driving the coils. After a few 100 Hz or so for most motors, the windings only "see" the average applied voltage, not the individual pulses. The mechanical system can't respond anywhere near that fast. However, these windings make magnetic fields which apply force. There is a little bit of force on every turn of wire. While the motor may operate fine at a few 100 Hz PWM, individual turns of the winding can be a little loose and vibrate at that frequency. This is not good for two reasons. First, the mechanical motion of the wires can eventually cause insulation to rub off, although that's rather a long shot. Second, and this is quite real, the small mechanical vibrations become sound that can be rather annoying. Motor windings are therefore commonly driven with PWM just above the audible range, like 25-30 kHz.
Best Answer
You need to swap the emitter and base of Q1 around (including base resistor), so that the Vrop across D1 is enough to enable Q2. Q1 MUST have a base voltage at least .65 volts lower than the emitter for it to work and drive the MOSFET.
The following circuit will dump current based on a voltage higher than D4 + 4 volts. At a lower voltage it has no effect.
simulate this circuit – Schematic created using CircuitLab