I got the chance to test the BLDC driver circuit that we finished recently, and after minimal fixes to the commutation code in the microcontroller, it works! I’m pretty excited about this. 🙂
Here is the setup we used:
The 12V car battery at the top is supplying the power for the microcontroller which is just below it. The black box to the right is an adjustable voltage power supply. It doesn’t have current limiting, so we just ran it through a giant 10ohm high power resistor we keep around for this kind of thing (the green bar at the bottom). At 10ohms, it will limit the current to about 2 amps if we supply 20 volts on the power supply.
(My old current limiting supply blew out a number of years ago, and I just never got around to replacing it. Too many other things going on.)
Between the adjustable power supply above and the 10 ohm resistor below, you can see the three half bridge boards. (Bottom one is connected to the “U” channel, middle one is connected to the “V” channel, upper one is connected to the “W” channel.)
To the left of the microcontroller is the 400W 24V BLDC motor we are testing on, and to the left of that is an oscilloscope that is measuring the voltages on the BLDC motor coils. The motor has 3 inputs (U,V,W), and the scope has 2 channels (A,B), so we are set up something like:
- A = V-U
- B = W-U
- A-B = (V-U) – (W-U)
- = V – W
- Apply PWM control to the gate of whichever lower FET is closed. (There is always exactly one.) If I want to get really fancy, I can try to use the PWM to do velocity control, since the Hall effect sensors already supply the microcontroller with the rotational velocity information. This will be useful for the ferry boat since the large 30cm propeller will need to turn very slowly to provide the required speed, and voltage control at low speeds is very unreliable. (Small changes in resistance in the water can result in large differences in propeller speed.)
- The test above was done at no-load. Adding a load to the motor will increase the current draw. Larger current draw will mean larger voltage spikes. Once the PWM control is in place, this will mean thousands of spikes per second. The FETs we are using are rated at 200 volts, which leaves a lot of safety margin for spikes compared to the 24V supply voltage. But when we built the DC motor controller for the solar powered pumps, we saw several hundred volt spikes on a 24V supply voltage until we snubbed it. So I may need to add snubbers here, too.