This is my first attempt at a circuit board. It shall hold an H-bridge for motor control, current sensing, and SPI pins for encoder implementation. It is a board that revolves around the DRV8701 (http://www.ti.com/product/DRV8701) gate driver chip. The DRV8701 is capable of driving a varied set of MOSFETS. Chosen here are the AON7410 MOSFETS.
Design Rules:
-5A continuous/10A peak rating -0-10A to 0-1.5V mapping current sensing -12V Motor -SPI breakout for encoder -Not hotter than 70C
DRV8701 Rules:
Vgs(voltage applied to MOSFET gate) = 9.5V
Ivcp(current capable of being applied to MOSFET gate - dependent on Vm) = 12mA
20v/v conversion for current sense - for 0-10A to 0-1.5V mapping, you need a ~7 mOhm resistor rated for >=2watts
Lots of passive components need to be around the IC.
Here is board version 2.0
TOP
BOTTOM
A few concerns here arise with v2.0 that need to be addressed by checking some parameters in person, which I shall do tomorrow.
Problems
The fill for GND that goes towards the Motor GND has a choke point at the corner due to the headers for uploading code being right next to the power and GND sources. To solve this, I will move the MOSFETS towards the left and up, enough to get a decent amount of fill, but before then, I want to check how the physical mounting of the programming female headers fit with the male headers on the board to solidify the perimeter of the board.
The highest value that I have been able to get the ADC on the ATKBBB to read is 1.5V. I need to test it again with every possible combination detailed in the manual to see what the actual max is to consider changing the size of the shunt resistor. Right now it is set to 7mOhm, which would return to the ADC 150mV/A
Solved Problems/Interesting Challenges
Due to the way the PWR and GND are conected, I had to get creative with the GND planes. With the limited knowledge I have gathered. I limited the motor GND to the TOP plane, and kept the Bottom ground plane as clear as possible for the Gate Driver , which required some creative routing of some components.
Basic definitions I learned in the process-
Bulk Capacitor - Capacitor used to be capable of taking over battery in certain sags. It is set as close to the input as possible. In this case an electrolytic >=10uF.
Decoupling Capacitor- Capacitor used to give power to certain components or devices similar function to bulk capacitor, except placed near individual components. Like a local bulk capacitor.
Rsense -Shunt Resistor used for current sensing on the low side of the h-bridge. In this case- 7mOhm. Current can be measured by taking the difference between each side of the resistor to measure voltage drop, then V=IR
Net Ties- Just like a trace, except its meant to be isolated from other traces or pours around it. Used here for Rsense, where we want to measure difference between ground and the voltage before the resistor, but we want the traces to look about the same and not be impacted by differences in voltage around it.
Kelvin Connection- Way of connecting traces to Rsense. It just makes sense Take it for granted. Google how to do it. It's very simple.
many many more to be copied from my notebook soon.
PCB guides:
45 degree traces only Kelvin Connection for Rsense Always have a ground plane. Try to be as symmetric as possible Differential pairs routing for pairs of traces.
Many many more to be copied from my notebook soon.
Sources:
Gate Driver: http://www.ti.com/product/DRV8701/technicaldocuments <<< A bunch of great resources there for general pcb layout knowledge.
General TI-DRV-style Motor Driver PCB Layout manual: http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=slva959&fileType=pdf
Great Resource on ground planes - https://www.maximintegrated.com/en/app-notes/index.mvp/id/5450