Motor Control



After looking around at what was commercially available, I decided to design and build my own motor controller.  What I needed is something that could handle 150A for two motors, and would use a joystick or pot input.  Because free software tools were available, I decided on an 8051 type of microcontroller driving some FET driver chips.

This is the controller card with power supply and serial input.  It has over current detection and limiting, and drives a FET board with two H-Bridge circuits.
engine_in_frame

engine_in_frame The FET board has 8 heat skinks, each with two transistors.  Only one transistor is active at a time.  Each leg of each H-Bridge has two transistors, each capable of handling 75A.  The input capacitor is the large blue cylinder on the right.

Developing this thing was not without some excitement.  The first time I powered it up to start debug some tantalum caps started exploding like toy caps.  Little embers shot strait up off the bench!  Seems I needed to replace them with a higher voltage version.

After a little debug the thing started working.  I wrote some code to spin each motor in one direction or the other by sending serial commands over the serial port, and put the thing on the shelf for when it could be installed in the tank.

Unfortunately, several months later I reinstalled the controller, without attaching the controller board (just the FET board), thinking that would be OK.  Seems I didn't put the bias circuits in after all, so the FET board literally caught on fire!  Some of the transistors were burning similar to the pilot light on your furnace.
engine_view

engine_isolated After the 'flame on' test passed, I decided not to fix it.  If I was ever going to get this tank rolling I needed to get a controller in a timely manner.  So, I discovered the OSMC project.  I purchased the raw cards from Robot Power and the parts from Mouser and DigiKey.  It pays to compare prices.  I used the IRF1404 transistors because they cost less, handle more current, and I didn't need the voltage tolerance of the IRF1405.

This is the controller, called a MOB for 'Modular OSMC Brain'.  It has all the smarts, and the FET boards, below, have all the brawn.  The MOB I purchased assembled and tested, along with an LCD display from Robot Power.

This is one of two required OSMC FET boards.  It uses 16 FETs for each H-Bridge.  It has an on-board power supply that also powers the MOB.  The card uses a mixture of pin-thru-hole and SMT devices.  You can save a lot of bucks putting it together yourself if you have the tools and expertise.
engine_in_body

body and paint I didn't really have either, but in life it's not so much what you know, but who you know.  This is my friend Rachel, who for some fancy chocolate bars agreed to assemble the FET boards.  She's so nice.

Not only is she talented in the lab, she is an amazing photographer.  Check out her site, www.racheltrebolo.com.

I've completed the controller board and am awaiting the arrival of my remote control.  The MOB has a battery eliminator circuit, so the R/C receiver does not need a battery.

I was very relieved when nothing blew up when I attached a bench supply.  I limited the current to 500 mA at first, and first verified the input impedence was high.

I added a power switch so I could turn it off while having it still connected to the battery.  The original design did not allow for this.  I guess robot enthusiasts disconnect the battery when not in use.

The two fans direct air down to cool the FETs.  I use 4 awg copper wire to reduce heating and the power loss from using 10 awg wire, which is over 47 Watts / foot at 200 Amps.  The 4 awg wire cuts this to about 12 Watts.
body and paint

body and paint This is a closer view of the copper wiring.  Yellow hold-down straps hold the 4 awg away from the cards and I used short lengths of polyethylene tubing, the kind used for ice makers, to hold the cards off of the mounting board.

I received the remote control and installed the controller assembly and took the tank for its first test drive.  After about 20-30 minutes of action I fried one channel of the controller.  Here four of the FETs and the driver chip have been replaced (the original FETs were completely fried, some with melted leds, and three had blistered packages - baby got HOT).  Still has problems, so I'll replace the other 12 FETs next.

I've purchased some aluminum stock and will fashion heat sinks for all the transistors.  I'll post pictures when its ready.  For now, the tank will wait in line behind family, work, finishing the basement, etc.

It was a great 20 minutes!
body and paint

body and paint After replacing the other 12 FETs the controller started working again.  It's been a couple of weeks but I'm motivated to get the tank rolling this weekend for some visiting friends.

I've installed aluminum heat sinks to the FETs and used RTV silicone caulk to ensure they don't short out to one another - the FET body is electrically connected to the Drain.  The extra heat sinks should help keep the controller from self-destructing.

As a further precaution I'll install household circuit breakers to limit the current to 120 amps per channel.  A 60 amp two phase breaker costs less than $10 - much less than electronic components.  It would be nicer if the controller self-regulated and I may add that in the future, but for now this will offer protection from smoke and fire.
body and paint


body and paint The controller has been reinstalled and the tank moves again.  The unit lives on the right side immediately behind the motor mount.

With the current limited to 120 amps the motors will still develop 2 Hp each yet a stall will not roast the electronics.  I'll be modifying the tracks to prevent jambs in the future.
hit tracker