Wiki source code of Power controller

Version 19.1 by Mathias Larsen on 2026/09/22 14:53

Show last authors
1 == Connector pinout ==
2
3 |=(% style="width: 281px;" %)Pin|=(% style="width: 135px;" %) |=(% style="width: 157px;" %)comment|=(% style="width: 132px;" %)
4 |(% style="width:281px" %)1|(% style="width:135px" %)CANH|(% style="width:157px" %) |(% style="width:132px" %)
5 |(% style="width:281px" %)2|(% style="width:135px" %)CANL|(% style="width:157px" %) |(% style="width:132px" %)
6 |(% style="width:281px" %)3|(% style="width:135px" %)FAN 1 PWM|(% style="width:157px" %) |(% style="width:132px" %)
7 |(% style="width:281px" %)4|(% style="width:135px" %)FAN 2 PWM|(% style="width:157px" %) |(% style="width:132px" %)
8 |(% style="width:281px" %)5|(% style="width:135px" %)GND|(% style="width:157px" %)Blob with tin|(% style="width:132px" %)
9 |(% style="width:281px" %)6|(% style="width:135px" %)GND|(% style="width:157px" %)Blob with tin|(% style="width:132px" %)
10 |(% style="width:281px" %)7|(% style="width:135px" %)GND|(% style="width:157px" %)Blob with tin|(% style="width:132px" %)
11 |(% style="width:281px" %)8|(% style="width:135px" %)GND|(% style="width:157px" %)Blob with tin|(% style="width:132px" %)
12 |(% style="width:281px" %)9|(% style="width:135px" %)Accumulator|(% style="width:157px" %) |(% style="width:132px" %)
13 |(% style="width:281px" %)10|(% style="width:135px" %)Front|(% style="width:157px" %) |(% style="width:132px" %)
14 |(% style="width:281px" %)11|(% style="width:135px" %)Power fan|(% style="width:157px" %) |(% style="width:132px" %)
15 |(% style="width:281px" %)12|(% style="width:135px" %)Power fan|(% style="width:157px" %) |(% style="width:132px" %)
16 |(% style="width:281px" %)(((
17 13
18 )))|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
19 |(% style="width:281px" %)14|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
20 |(% style="width:281px" %)15|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
21 |(% style="width:281px" %)16|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
22 |(% style="width:281px" %)17|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
23 |(% style="width:281px" %)18|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
24 |(% style="width:281px" %)19|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
25 |(% style="width:281px" %)20|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
26 |(% style="width:281px" %)21|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
27 |(% style="width:281px" %)22|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
28 |(% style="width:281px" %)23|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
29 |(% style="width:281px" %)24|(% style="width:135px" %)12V|(% style="width:157px" %) |(% style="width:132px" %)
30 |(% style="width:281px" %)25|(% style="width:135px" %)12V|(% style="width:157px" %) |(% style="width:132px" %)
31 |(% style="width:281px" %)26|(% style="width:135px" %)12V power pump1|(% style="width:157px" %) |(% style="width:132px" %)
32 |(% style="width:281px" %)27|(% style="width:135px" %)12V Power pump2|(% style="width:157px" %) |(% style="width:132px" %)
33 |(% style="width:281px" %)28|(% style="width:135px" %)GND|(% style="width:157px" %)Blob with tin|(% style="width:132px" %)
34 |(% style="width:281px" %)29|(% style="width:135px" %)GND|(% style="width:157px" %)Blob with tin|(% style="width:132px" %)
35 |(% style="width:281px" %)30|(% style="width:135px" %)GND|(% style="width:157px" %)Blob with tin|(% style="width:132px" %)
36 |(% style="width:281px" %)31|(% style="width:135px" %)Buzzer|(% style="width:157px" %)Is brake light in wiring harnes|(% style="width:132px" %)
37 |(% style="width:281px" %)32|(% style="width:135px" %)Brake light|(% style="width:157px" %)Is buzzer in wiring harnes|(% style="width:132px" %)
38 |(% style="width:281px" %)33|(% style="width:135px" %)24V|(% style="width:157px" %)reserve|(% style="width:132px" %)
39 |(% style="width:281px" %)34|(% style="width:135px" %)24V|(% style="width:157px" %)reserve|(% style="width:132px" %)
40 |(% style="width:281px" %)35|(% style="width:135px" %)24V|(% style="width:157px" %)sensor card|(% style="width:132px" %)
41
42
43
44 == Microcontroller Pinout ==
45
46 The power controller uses a microcontroller to control the pumps, fans, buzzer, and brake light. It also features current monitoring and LED indicators. The Microcontroller used in this system is STM32G431CBT6
47
48
49 |=Physical pin|=Electrical pin|=(((
50 Description
51 )))
52 |1|VBAT|Power source from a backup battery if a RTC would be used (Connected to +3V3 in this case)
53 |5|OSC_IN|Clock input (8MHz oscillator)
54 |7|NRST|Negative reset which can be connected to a button (Connected to +3V3)
55 |8|PA0|Analog signal: Current 6 Supply 24V resserve
56 |9|PA1|Analog signal: Current 7 Supply 24V resserve
57 |10|PA2|Analog signal: Current 5 Supply sensor card
58 |11|PA3|Analog signal: Current 4 Supply front
59 |12|PA4|Analog signal: Current 3 Supply accumulator
60 |13|PA5|Analog signal: Current 2 Supply fans
61 |14|PA6|Digital output LED 9
62 |15|PA7|Digital output LED 2
63 |16|PB0|Analog signal Current 8 Supply buzzer, brake light
64 |17|PB1|PWM: enable Fan 1
65 |18|PB2|Input: V-sense
66 |19|VSSA|Voltage source: Ground
67 |20|VREF|Voltage reference (Internal voltage refferance)
68 |21|VDDA|Voltage source: Power (+3V3)
69 |22|PB10|Digital output: LED 8
70 |23|VSS|Voltage source: Ground
71 |24|VDD|Voltage source: Power (+3V3)
72 |25|PB11|Current 1 Internal components
73 |26|PB12|Current 9 Supply 12 V Pumps inverter and datalogger 
74 |29|PB15|PWM: enable fan 2
75 |30|PA8|Digital output Enable buzzeer(On the car it is Brake light)
76 |31|PA9|(((
77 Digital output Enable brake light(On the car it is the buzzer)
78 )))
79 |32|PA10|Input ASMS signal
80 |33|PA11|CAN-BUS RXD
81 |34|PA12|CAN-BUS TXD
82 |35|VSS|Voltage source: Ground
83 |36|VDD|Voltage source: Power (+3V3)
84 |37|PA13|SWDIO
85 |38|PA14|SWCLK
86 |40|PB3|Digital output: LED 3
87 |41|PB4|Digital output: LED 4
88 |42|PB5|Digital output: LED 5
89 |43|PB6|Digital output: Enable Pump 1
90 |44|PB7|Digital output: Enable Pump 2
91 |45|PB8|Digital output: LED 6
92 |46|PB9|LED 7
93 |47|VSS|Voltage source: Ground
94 |48|VDD|Voltage source: Power (+3V3)
95
96 == Digital outputs ' ==
97
98 3v3
99
100 24V
101
102 == Current measurment ==
103
104 == Known issues ==
105
106 12 V did not work
107
108 Current measurement not tested
109
110
111 == Features to add ==
112
113 Add mosfets to cut power if the Lv battery is to low to save power
114
115 Add a power distrobution for Autonomus system
116
117
118 == BOM(bill of materials) ==
119 |=Part Number|=Type|=Description|=Qty|=Item ID
120 |STM32G431CBT6|b|Microcontroller|1|1288-LV-00056
121 |01550900DR|b|Fuseholder for nanofuse2|9|1288-LV-00057
122 |0466.125NR|b|In-line fuse 125 mA|1|1288-LV-00058
123 |776231-1|b|Ampseal 35 pin connector|1|1288-LV-00059
124 |76829-0002|b|Mega Fit 2 pin connector|1|1288-LV-00060
125 |44914-0401|b|Mini Fit 4 pin connector|1|1288-LV-00061
126 |1461247-3|b|24VDC relay|1|1288-LV-00062
127 |BSS123NH6327XTSA1|b|Mosfet N-channel SOT-23|6|1288-LV-00063
128 |BSS83PH6327XTSA1|b|Mosfet P-channel SOT-23|2|1288-LV-00064
129 |BSC084P03NS3GATMA1|b|P-channel mosfet PG-TDSON-8-1|2|1288-LV-00065
130 |NCV7344D13R2G|b|CAN FD transceiver|1|1288-LV-00066
131 |INA4180A4IPWR|b|Current sense amplifier, quad channel|3|1288-LV-00067
132 |AP64060WU-7|b|Synchronous step-down converter|1|1288-LV-00068
133 |AP2112K-3.3TRG1|b|3.3V LDO, PDS05|1|1288-LV-00069
134 |TPS56A37RPAR|b|10A synchronous buck converter|3|1288-LV-00070
135 |ASE-8.000MHz-E-T|b|8MHz Oscillator|1|1288-LV-00071
136 |824094024|b|TVS diode, SOT-23-3L|1|1288-LV-00072
137 |824500261|b|TVS diode, DO-214AC|1|1288-LV-00073
138 |150282M167310|b|LED red/blue/green|9|1288-LV-00074
139 |WSLF25122L000FEA|b|Res Metal Strip, 2mΩ, 2512|9|1288-LV-00077
140 |CR0603-FX-1002ELF|b|SMD chip resistor, 10KΩ, 0603|22|1288-LV-00078
141 |PCB|m|Self-designed PCB|1|1288-LV-00171
142 |CR0805-JW-472ELF|b|SMD chip resistor, 4K7Ω, 0603|9|1288-LV-00189
143 |CR0603-FX-1001ELF|m|SMD chip resistor, 1KΩ, 0603|7|1288-LV-00190
144 |CRCW060352K3FKEA|b|SMD chip resistor, 52K3Ω, 0603|3|1288-LV-00192
145 |CRCW060320K0FKEA|m|SMD chip resistor, 20KΩ, 0603|3|1288-LV-00193
146 |ERJ-6ENF3833V|m|SMD chip resistor, 383KΩ, 0603|3|1288-LV-00194
147 |CRCW0603100KFKEA|m|SMD chip resistor, 100KΩ, 0603|3|1288-LV-00195
148 |RC0603FR-105K1L|m|SMD chip resistor, 5K1Ω, 0603|1|1288-LV-00207
149 |CRGCQ0603F27K|b|SMD chip resistor, 27KΩ, 0603|1|1288-LV-00208
150 |CR0603-FX-3480ELF|b|SMD chip resistor, 348Ω, 0603|9|1288-LV-00216
151 |CC0603KRX5R6BB475|m|MLCC SMD, 4.7µF, 0603|1|1288-LV-00227
152 |CL10B104KA8NNNC|m|MLCC SMD, 100nF, 0603|9|1288-LV-00228
153 |CL10B105KA8NFNC|m|MLCC SMD, 1µF, 0603|2|1288-LV-00229
154 |CL10B103KB8NNNC|m|MLCC SMD, 10nF, 0603|10|1288-LV-00230
155 |885012206020|m|MLCC SMD, 100nF|2|1288-LV-00231
156 |885012006051|m|MLCC SMD, 10pF|2|1288-LV-00232
157 |885012208124|m|MLCC SMD, 2.2µF, 0603|2|1288-LV-00233
158 |885012108022|m|MLCC SMD, 10µF, 0603|1|1288-LV-00234
159 |885012206071R|m|MLCC SMD, 100nF, 0603|1|1288-LV-00235
160 |885012107014|m|MLCC SMD, 10µF, 0804|2|1288-LV-00236
161 |MBASU105SB5104KFNA01|m|MLCC SMD, 100nF, 0402|2|1288-LV-00237
162 |885012209073|m|MLCC SMD, 2.2µF, 1210|6|1288-LV-00238
163 |885012207098R|m|MLCC SMD, 100nF, 0805|3|1288-LV-00239
164 |885012206042|m|MLCC SMD, 22nF, 0603|3|1288-LV-00240
165 |885012206046|m|MLCC SMD, 100nF, 0603|3|1288-LV-00241
166 |C0603C300F3HACAUTO|b|MLCC SMD, 30pF, 0603|3|1288-LV-00242
167 |885012208069|m|MLCC SMD, 10µF, 1206|9|
168