Building the perfect robot power supply
March 3, 2009
One thing most robots need is a power supply that can put out a reasonable amount of current for servos and other small motors as well as run a processor and sensors. Probably the best setup is 5x 1.2V NiMh cells to provide 6V for motors and servos with a low dropout regulator providing 5V for the processor and sensors. Unfortunately this isn't always practical. Sometimes you have motors that need higher voltages or maybe the only battery you have lying around is a 7.2V battery from a RC model. In many of these cases there are ways around the problem which I demonstrated in a walkthrough on voltage regulation.
There are instances however when these solutions just won't work or will be very unefficent. In these instances you can't beat a good DC-DC converter. Unfortunately suitable DC-DC converters can be hard to find and very expensive so I've decided to build my own. I made a wish list of what I wanted:
1. Input voltage between 9V and 24V
2. Output voltage of 5V or 6V preferably adjustable
3. At least 3A of current output for driving lots of big servos.
4. Light weight / small size
5. Reasonable price
I then searched the internet for suitable controller IC's. Eventually I found the TPS5450 from Texas Instruments. This is a great little IC that can handle input voltages up to 36V and can switch currents up to 5A. It needs very few external components.
The only problem I could find was that it was a surface mount device. This was good from the small lightweight point of view but bad from the difficult / fiddly point of view. What the heck, if it works then the super small size will be great.
Designing the circuit was a snap since the datasheet included a sample that was perfect for my needs (figure 11). I just added a pot so that the voltage can be varied between 5V and 6V.
So I've ordered the parts, most have arrived, damn they're small! Time to design the circuitboard. (No I'm not using eagleCAD MaltiK!) Below is a printout with the components I do have sitting on top. This is to help me find any faults in the design such as pins not aligning. I've also got to workout how will I solder all these parts. I'm using solder paste but I need to make sure I can access the tracks with the soldering iron. I might have to allow more space between components.
This board will end up being aprox. 30mm x 25mm (1.25 inch x 1 inch). It is costing me less than $20 AUD.
The rest of my parts have arrived. I've made a few changes to my layout. After seeing PirCapAdi's home made switchmode I realised that I hadn't allowed for mounting holes. My original idea was to have it plug into a breadboard like a three terminal regulator but it's starting to get to big for that. PirCapAdi also mentioned a ground plane. Since I had to increase the size for mounting holes this was easily included.
This is the solderpaste.
The solder paste, blank PCB etc I got from Jaycar Electronics because they're only a short drive away.
The surface mount components I got from Farnell. The parts arrived next day.
1x 151-1850 TPS5450 DC/DC converter IC
1x 154-7056 15uH 6A inductor
1x 129-9291 SK54C schottky diode
1x 969-5613 330uF low ESR capacitor
1x 135-8526 330uF tag tantulum
2x 969-4455 4.7uF low ESR capacitor
2x 157-2637 4.7uF multilayer ceramic
3x 940-6425 10nF capacitor
1x 117-4302 10K trimpot
I printed the mirror image pattern onto a sheet of "Press-n-Peel" circuit board transfer film which creates an iron on transfer of better quality than just printing on paper or transparency. After transferring the pattern I touched up the pattern and etched the board.
You can see a few dark blue spots where I touched up the pattern with a pcb marker prior to etching. I then cleaned up the board and gave it a light coat of circuit board lacquer. Apart from protecting the board from corrosion, the lacquer acts as flux during soldering.
Now for the fun bit.
Using a toothpick, I dabbed solderpaste carefully on the tracks to be soldered and on the powerpad under the chip. Because this chip has a built in power FET it gets hot and needs a heaksink. The power pad underneath MUST be soldered to the ground track for heat dissapation. I then carefully placed the chip on the board, aligned it carefully with the toothpick and heated the ground track with the soldering iron at full temperature. The reason for cranking up the temperature was because the ground track was acting as a heat sink. I kept the heat on until I could see the flux bubbling at the base of the chip. Getting this solder joint right without overheating the chip is critical. I practised on a scrap of blank PCB first to see how quickly the solder melted. The bubbling flux from under the chip is your best indicator.
This is the finished product. I tinned the tracks to boost their current carrying / heat sinking ability as well as protecting them from corrosion. In retrospect I should have done all the tracks prior to soldering the components. If you look carefully at the base of the components near the front edge you'll see copper that I could not tin. Click on the image for a larger picture.
Since I didn't have plate through holes for my terminal block I raised it above the board enough for me to feed in fine resin core solder while I heated the leg from the other side. I'll pack this gap later with two part epoxy resin to strengthen it. Now to test and callibrate it.
This is running from 12x 1.2V AA NiMh batteries (14.4V). I can adjust my output between 1.21V and 7.1V. For now I've set it to 5V for testing.
This little regulator is rated at 5A continuous (6A peak) making it ideal for running lots of servos from a 12V or even a 24V source.
Testing under load
I made a 1ohm resistor out of resistance wire and tested the regulator. It did maintain 5V but I was only getting 4A and the two 4.7uF capacitors and the chip got quite hot.
Reading through the datasheet again I think the problem is that the capacitors do not have a low enough ESR (equivalent series resistance). For now I'm not going to push the prototype beyond 1.5A
Once I replace the two capacitors all should be good.
I've now discovered another mistake in my design. I really didn't read the datasheet carefully enough plus I'm not use to SMD parts. When I saw 4.7uf and 330uF I automatically ordered low ESR electrolytic capacitors. For this application due to the frequency (500KHz) electrolytics won't work very well. The upside of this is that with the new parts the supply can be made smaller. I'll probably redesign the board to take advantage of this.
I haven't had a lot of time for this lately. Here's the prototype with ceramic 4.7uF and a tag tantulum 330uF.