h-bridge motor controller

IMG_5048.jpg

project description

In my electromechanical systems and robotics class I was tasked with designing an H-Bridge motor controller circuit using KiCad. It needed to be able to handle 12V and 5A continuously without melting, accept power input from a 12V barrel jack or a screw terminal, and be controlled by three pins by an Arduino. 

I had some experience in KiCad from my Breadboard Power Supply project, so I felt comfortable designing the circuit after I drew up my schematic. The H-Bridge uses 4 MOSFETs, and 2 BJTs. It is extensively labeled, to help ensure a speedy assembly. The current-carrying traces are wide enough to handle 12V at 5A with a factor of safety. 

I was able to convince a friend to pay for the price of the circuit boards if I made them shaped like rockets. The final product is a functional, well labeled, and fun-looking H-Bridge motor controller!

The schematic of the PCB includes 4 MOSFETs (2 N-Channel, 2 P-Channel), 2 BJTs, a status LED, a barrel jack, and a screw terminal input.

The schematic of the PCB includes 4 MOSFETs (2 N-Channel, 2 P-Channel), 2 BJTs, a status LED, a barrel jack, and a screw terminal input.

The PCB was generously provided by Jeremy K. Thanks Jeremy!

The PCB was generously provided by Jeremy K. Thanks Jeremy!

The layout of the board was difficult to organize, because I had to incorporate the wide traces to ensure proper thermal performance.

The layout of the board was difficult to organize, because I had to incorporate the wide traces to ensure proper thermal performance.

The H-Bridge can be controlled by two signal wires and a ground wire. Here it is being used by an Arduino to control a gearmotor.

The H-Bridge can be controlled by two signal wires and a ground wire. Here it is being used by an Arduino to control a gearmotor.