README.md 3.96 KB
Newer Older
Ruben Castro's avatar
Ruben Castro committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Hello!
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.
Ruben Castro's avatar
Ruben Castro committed
21 22 23 24


Here is board version 2.0

Ruben Castro's avatar
Ruben Castro committed
25
TOP
Ruben Castro's avatar
Ruben Castro committed
26

Ruben Castro's avatar
Ruben Castro committed
27
![routedTop](media/circuitV2Top.png)
Ruben Castro's avatar
Ruben Castro committed
28 29 30



Ruben Castro's avatar
Ruben Castro committed
31
BOTTOM
Ruben Castro's avatar
Ruben Castro committed
32

Ruben Castro's avatar
Ruben Castro committed
33 34
![routedBottom](media/circuitV2Bottom.png)

Ruben Castro's avatar
Ruben Castro committed
35 36 37



Ruben Castro's avatar
Ruben Castro committed
38 39
A few concerns here arise with v2.0 that need to be addressed by checking some
parameters in person, which I shall do tomorrow. 
Ruben Castro's avatar
Ruben Castro committed
40

Ruben Castro's avatar
Ruben Castro committed
41
Problems
Ruben Castro's avatar
Ruben Castro committed
42

Ruben Castro's avatar
Ruben Castro committed
43 44 45 46 47 48
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.
Ruben Castro's avatar
Ruben Castro committed
49

Ruben Castro's avatar
Ruben Castro committed
50 51 52 53 54 55 56 57 58 59 60 61
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.
Ruben Castro's avatar
Ruben Castro committed
62 63 64 65 66 67 68







Ruben Castro's avatar
Ruben Castro committed
69
Basic definitions I learned in the process-
Ruben Castro's avatar
Ruben Castro committed
70

Ruben Castro's avatar
Ruben Castro committed
71 72
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.
Ruben Castro's avatar
Ruben Castro committed
73
    
Ruben Castro's avatar
Ruben Castro committed
74 75 76
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.
Ruben Castro's avatar
Ruben Castro committed
77
    
Ruben Castro's avatar
Ruben Castro committed
78 79 80
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
Ruben Castro's avatar
Ruben Castro committed
81
    
Ruben Castro's avatar
Ruben Castro committed
82 83 84 85 86 87 88 89 90
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.

PCB guides:
Ruben Castro's avatar
Ruben Castro committed
91

Ruben Castro's avatar
Ruben Castro committed
92 93 94 95 96 97
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.

Ruben Castro's avatar
Ruben Castro committed
98
Many many more to be copied from my notebook soon.
Ruben Castro's avatar
Ruben Castro committed
99 100 101



Ruben Castro's avatar
Ruben Castro committed
102
Sources:
Ruben Castro's avatar
Ruben Castro committed
103

Ruben Castro's avatar
Ruben Castro committed
104
MOSFET: https://www.digikey.com/product-detail/en/alpha-omega-semiconductor-inc/AON7410/785-1581-1-ND/3621507
Ruben Castro's avatar
Ruben Castro committed
105

Ruben Castro's avatar
Ruben Castro committed
106
Gate Driver: http://www.ti.com/product/DRV8701/technicaldocuments <<< A bunch of great resources there for general pcb layout knowledge.
Ruben Castro's avatar
Ruben Castro committed
107

Ruben Castro's avatar
Ruben Castro committed
108
General TI-DRV-style Motor Driver PCB Layout manual: http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=slva959&fileType=pdf
Ruben Castro's avatar
Ruben Castro committed
109

Ruben Castro's avatar
Ruben Castro committed
110
Great Resource on ground planes - https://www.maximintegrated.com/en/app-notes/index.mvp/id/5450
Ruben Castro's avatar
Ruben Castro committed
111