I was making a reference design of the robot at openmelt.org with my own custom circuit board which is controlled by a Baby Orangutan. I plugged everything in today and found that my high power status LEDs which are driven by M1 were not lighting. After consulting the reference design I noticed I had soldered them in backwards. After consulting this page https://www.pololu.com/docs/0J27/8 , I decided to change all the mentions of pin 5 to pin 6 in the following code:
//definitions for LED pin
#define set_led_on() PORTD |= _BV(PD6) //portd.6 - heading indicator LED control PIN (powers LED connected to motor controller on M1a / M1b)
#define set_led_off() PORTD &= ~_BV(PD6)
#define toggle_led() PORTD ^= 1<<PIND6
#define set_led_pin_as_output() DDRD |= 1<<DDD6
That seemed to fix the problem, although perhaps it was a bad idea considering what happened next. (I dont know if this is just a coincidence)
After 20 minutes of off and on testing I smelled magic smoke and unplugged the power. The LEDs no longer light and that part of the Baby-O under the half bridge gets hot. I was using a 3S LiPo battery back that was at 12.2 V with 6.05 forward voltage worth of LEDs and a 25 ohm resistor. (12.2-6.05)/25=246mA which should be fine.
I am sure the h-bridge is dead. It heats up even with nothing closing the circuit between M1A and M1B. I am still trying to figure out why. The board was stationary on a desk when it died. I tested the LEDs on a separate supply, they still work. There is no short between m1a and m1b, I read a resistance of 69k between them. There is a short between M2A and M2B (resistance .8 Ohms). I dont know how to interpret that because M2 was not in use, it was not even soldered to my custom board. Perhaps the short developed as the h-bridge died, or perhaps M2A-M2B has a low resistance if the semiconductor magic inside defaults to a low resistance brake state?
Any advice on figuring out what killed it? I am getting crunched for time and I dont relish the idea of buying a new Baby-O only to plug it into a death trap.