README.md 3.99 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 42 43 44 45 46 47 48
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.
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 62
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
63 64 65 66 67 68 69 70 71 72 73 74 75













Ruben Castro's avatar
Ruben Castro committed
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

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.

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.

Ruben Castro's avatar
Ruben Castro committed
101
Many many more to be copied from my notebook soon.
Ruben Castro's avatar
Ruben Castro committed
102 103 104



Ruben Castro's avatar
Ruben Castro committed
105 106 107 108 109
Sources:
MOSFET: https://www.digikey.com/product-detail/en/alpha-omega-semiconductor-inc/AON7410/785-1581-1-ND/3621507
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
Ruben Castro's avatar
Ruben Castro committed
110