This post summarizes everything that has been going on the past several weeks. First, I ordered "Paul & Sabrina's" ReVolt open-source controller board. Thanks Paul & Sabrina for making this available! I ordered just the board, not the whole kit. I ordered the components from Mouser and Digikey. Insead of using the Atmel microcontroller they specified, I am using a Stellaris evaluation board. Here is a photo of the blank controller board, the bags of parts and the Stellaris evaluation board.
And here is a photo of the board after most of the parts have been installed.
Once the controller board was completed, I had to figure out how to connect the Stellaris evaluation board. I did this by putting some stake headers on both boards wherever I needed to connect a signal between them. I used jumper wires to connect the power, ground, and PWM signals from the microcontroller evaluation board over to the motor controller board. Then I mounted the eval board on top of the controller board using standoffs. I was very lucky here as the two mounting holes on the end of the controller board lined up exactly with the mounting holes of the eval board. Here is a photo showing the two boards connected together, and ready for testing. The controller board is on the bottom, and the board on top is the Stellaris evaluation board.
For the power section, we made a prototype by preparing 3 copper busbars and mounting them together on a piece of wood. Here is a photo showing some preparation on the copper bars.
There will be 3 bars: BAT+, MOT-, and BAT-. The idea here is to mount the MOSFETs on the copper bar and electrically tie the leads to the appropriate bar. This photo shows the MOSFETs lined up on the busbar.
We assembled the prototype power section using one MOSFET/diode/capacitor arrangement to start with. We connected it using a 12V bench power supply as the battery input, and used a small robot motor as the test motor. The controller board also received its power from the 12V supply. The photo to the right shows the test setup. The controller board is at the lower right, the power supply at the upper left. We also had some panel meters so we could observe the current.
We used some simple firmware in the controller that made it possible to turn the PWM output on and off and to vary the duty cycle by pressing buttons on the eval board. This test setup worked pretty well. We were able to run the motor speed up and down. We didn't have a large load but got the current up to several amps by applying a friction load to the motor shaft. It was only about 0.5 amps with no load.
Now, this is where we started to get a little too ambitious. How about trying to turn the go-kart motor with this? The reasoning was that we would just use a very low duty cycle and so would not be applying much voltage or current to the big motor. The go-kart has 4 12V lead-acid batteries. We connected it up such that the 48V was the battery supply for the controller and used the lowest battery on the chain as the 12V supply for the controller. So far so good. After checking all the voltages with a meter we decided to give it a go. So I started to slowly increase the PWM duty cycle. I probably got up to something less than 5% and then the motor moved just a little and !POP! Something made a popping sound from the power board and I am pretty sure some smoke came out though we are not all sure about that part. So we turned everything off and started to investigate. The funny thing is that we could not find any part that appeared to be bad. Nothing was obviously burnt or damaged and there was only the faintest odor of burned electronics. After looking at it for a while, we connected it back up to the small motor and bench supply and were able to run the small motor again. Here is a link to a video that summarized this whole activity. (quicktime video about 3:30)
We are going to dismantle the components and see if we can figure out which one went bad (if any). And next time we are going to try something different. First we are going to parallel up 5 MOSFETs to provide more current capacity. And second, we are going to start with 12V to the big motor instead of going straight to 48V.
It was fun getting this far!