Wiki source code of Power controller

Version 31.6 by Mathias Larsen on 2026/09/23 15:01

Hide last authors
Mathias Larsen 31.2 1 {{wikibox title="Power controller" image="https://wiki.alignracing.no/bin/download/Electrical/Power%20controller/WebHome/Screenshot%202026-09-22%20211347.png?rev=1.1" caption="3D model of the Power controller from Altium Designer" width="30" labelWidth="50"}}
2 Linjene må se nøyaktig slik ut i Content-feltet:
3
4 Supply voltage=12–24 V DC
5 Fused circuits=9 (5 × 24 V outputs, fan outputs, digital outputs, 12 V circuit, internal electronics)
6 24 V outputs=5
7 24 V fan outputs=2 (shared fuse)
8 12 V outputs=2
9 Digital outputs (shared fuse)=2 × 12 V switched (5 A), 2 × 24 V switched (330 mA), 2 × PWM
10 Communication interface=CAN FD
11 Maximum data rate=1 MbpsD
Mathias Larsen 30.1 12 |Maximum data rate|1 Mbps
Mathias Larsen 28.1 13 {{/wikibox}}
14
Mathias Larsen 22.1 15 == Tables of contents ==
16
Mathias Larsen 24.3 17 ----
18
Mathias Larsen 22.1 19 {{toc/}}
20
Mathias Larsen 31.2 21 == ==
22
23 == ==
24
25 == ==
26
27 == ==
28
Mathias Larsen 28.1 29 == Pinout ==
Mathias Larsen 6.2 30
Mathias Larsen 28.1 31 === Connector pinout ===
32
Mathias Larsen 14.6 33 |=(% style="width: 281px;" %)Pin|=(% style="width: 135px;" %) |=(% style="width: 157px;" %)comment|=(% style="width: 132px;" %)
Mathias Larsen 14.9 34 |(% style="width:281px" %)1|(% style="width:135px" %)CANH|(% style="width:157px" %) |(% style="width:132px" %)
Mathias Larsen 14.6 35 |(% style="width:281px" %)2|(% style="width:135px" %)CANL|(% style="width:157px" %) |(% style="width:132px" %)
36 |(% style="width:281px" %)3|(% style="width:135px" %)FAN 1 PWM|(% style="width:157px" %) |(% style="width:132px" %)
37 |(% style="width:281px" %)4|(% style="width:135px" %)FAN 2 PWM|(% style="width:157px" %) |(% style="width:132px" %)
38 |(% style="width:281px" %)5|(% style="width:135px" %)GND|(% style="width:157px" %)Blob with tin|(% style="width:132px" %)
39 |(% style="width:281px" %)6|(% style="width:135px" %)GND|(% style="width:157px" %)Blob with tin|(% style="width:132px" %)
40 |(% style="width:281px" %)7|(% style="width:135px" %)GND|(% style="width:157px" %)Blob with tin|(% style="width:132px" %)
41 |(% style="width:281px" %)8|(% style="width:135px" %)GND|(% style="width:157px" %)Blob with tin|(% style="width:132px" %)
Mathias Larsen 14.7 42 |(% style="width:281px" %)9|(% style="width:135px" %)Accumulator|(% style="width:157px" %) |(% style="width:132px" %)
Mathias Larsen 14.6 43 |(% style="width:281px" %)10|(% style="width:135px" %)Front|(% style="width:157px" %) |(% style="width:132px" %)
Mathias Larsen 14.7 44 |(% style="width:281px" %)11|(% style="width:135px" %)Power fan|(% style="width:157px" %) |(% style="width:132px" %)
45 |(% style="width:281px" %)12|(% style="width:135px" %)Power fan|(% style="width:157px" %) |(% style="width:132px" %)
Mathias Larsen 14.6 46 |(% style="width:281px" %)(((
Mathias Larsen 14.2 47 13
Mathias Larsen 14.7 48 )))|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
49 |(% style="width:281px" %)14|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
50 |(% style="width:281px" %)15|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
51 |(% style="width:281px" %)16|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
52 |(% style="width:281px" %)17|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
53 |(% style="width:281px" %)18|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
54 |(% style="width:281px" %)19|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
55 |(% style="width:281px" %)20|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
56 |(% style="width:281px" %)21|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
57 |(% style="width:281px" %)22|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
58 |(% style="width:281px" %)23|(% style="width:135px" %)GND|(% style="width:157px" %) |(% style="width:132px" %)
59 |(% style="width:281px" %)24|(% style="width:135px" %)12V|(% style="width:157px" %) |(% style="width:132px" %)
60 |(% style="width:281px" %)25|(% style="width:135px" %)12V|(% style="width:157px" %) |(% style="width:132px" %)
Mathias Larsen 14.9 61 |(% style="width:281px" %)26|(% style="width:135px" %)12V power pump1|(% style="width:157px" %) |(% style="width:132px" %)
62 |(% style="width:281px" %)27|(% style="width:135px" %)12V Power pump2|(% style="width:157px" %) |(% style="width:132px" %)
Mathias Larsen 14.7 63 |(% style="width:281px" %)28|(% style="width:135px" %)GND|(% style="width:157px" %)Blob with tin|(% style="width:132px" %)
64 |(% style="width:281px" %)29|(% style="width:135px" %)GND|(% style="width:157px" %)Blob with tin|(% style="width:132px" %)
65 |(% style="width:281px" %)30|(% style="width:135px" %)GND|(% style="width:157px" %)Blob with tin|(% style="width:132px" %)
Mathias Larsen 14.8 66 |(% style="width:281px" %)31|(% style="width:135px" %)Buzzer|(% style="width:157px" %)Is brake light in wiring harnes|(% style="width:132px" %)
Mathias Larsen 14.9 67 |(% style="width:281px" %)32|(% style="width:135px" %)Brake light|(% style="width:157px" %)Is buzzer in wiring harnes|(% style="width:132px" %)
68 |(% style="width:281px" %)33|(% style="width:135px" %)24V|(% style="width:157px" %)reserve|(% style="width:132px" %)
69 |(% style="width:281px" %)34|(% style="width:135px" %)24V|(% style="width:157px" %)reserve|(% style="width:132px" %)
70 |(% style="width:281px" %)35|(% style="width:135px" %)24V|(% style="width:157px" %)sensor card|(% style="width:132px" %)
Mathias Larsen 14.2 71
72
73
Mathias Larsen 28.1 74 === Microcontroller Pinout ===
Mathias Larsen 6.2 75
Mathias Larsen 11.1 76 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
Mathias Larsen 7.1 77
78
Mathias Larsen 2.4 79 |=Physical pin|=Electrical pin|=(((
80 Description
81 )))
Mathias Larsen 4.2 82 |1|VBAT|Power source from a backup battery if a RTC would be used (Connected to +3V3 in this case)
83 |5|OSC_IN|Clock input (8MHz oscillator)
84 |7|NRST|Negative reset which can be connected to a button (Connected to +3V3)
Mathias Larsen 7.2 85 |8|PA0|Analog signal: Current 6 Supply 24V resserve
86 |9|PA1|Analog signal: Current 7 Supply 24V resserve
87 |10|PA2|Analog signal: Current 5 Supply sensor card
88 |11|PA3|Analog signal: Current 4 Supply front
89 |12|PA4|Analog signal: Current 3 Supply accumulator
90 |13|PA5|Analog signal: Current 2 Supply fans
Mathias Larsen 7.3 91 |14|PA6|Digital output LED 9
92 |15|PA7|Digital output LED 2
93 |16|PB0|Analog signal Current 8 Supply buzzer, brake light
Mathias Larsen 8.1 94 |17|PB1|PWM: enable Fan 1
Mathias Larsen 7.4 95 |18|PB2|Input: V-sense
Mathias Larsen 5.1 96 |19|VSSA|Voltage source: Ground
Mathias Larsen 9.1 97 |20|VREF|Voltage reference (Internal voltage refferance)
Mathias Larsen 5.1 98 |21|VDDA|Voltage source: Power (+3V3)
Mathias Larsen 7.4 99 |22|PB10|Digital output: LED 8
Mathias Larsen 5.1 100 |23|VSS|Voltage source: Ground
101 |24|VDD|Voltage source: Power (+3V3)
Mathias Larsen 7.1 102 |25|PB11|Current 1 Internal components
103 |26|PB12|Current 9 Supply 12 V Pumps inverter and datalogger 
Mathias Larsen 8.1 104 |29|PB15|PWM: enable fan 2
Mathias Larsen 13.1 105 |30|PA8|Digital output Enable buzzeer(On the car it is Brake light)
106 |31|PA9|(((
107 Digital output Enable brake light(On the car it is the buzzer)
108 )))
Mathias Larsen 7.4 109 |32|PA10|Input ASMS signal
Mathias Larsen 12.1 110 |33|PA11|CAN-BUS RXD
111 |34|PA12|CAN-BUS TXD
Mathias Larsen 5.1 112 |35|VSS|Voltage source: Ground
113 |36|VDD|Voltage source: Power (+3V3)
114 |37|PA13|SWDIO
115 |38|PA14|SWCLK
Mathias Larsen 9.2 116 |40|PB3|Digital output: LED 3
117 |41|PB4|Digital output: LED 4
118 |42|PB5|Digital output: LED 5
Mathias Larsen 10.1 119 |43|PB6|Digital output: Enable Pump 1
Mathias Larsen 9.2 120 |44|PB7|Digital output: Enable Pump 2
121 |45|PB8|Digital output: LED 6
Mathias Larsen 5.1 122 |46|PB9|LED 7
123 |47|VSS|Voltage source: Ground
124 |48|VDD|Voltage source: Power (+3V3)
Mathias Larsen 2.1 125
Mathias Larsen 23.7 126 == Distribution circuit ==
Mathias Larsen 23.4 127
Mathias Larsen 23.8 128 [[image:1790100104451-169.png]]
129
Mathias Larsen 23.7 130 === Green LED ===
Mathias Larsen 23.4 131
Mathias Larsen 23.7 132 The green LED is used to see if the fuse is ok
Mathias Larsen 23.5 133
Mathias Larsen 23.4 134 [[image:1790098808447-123.png]]
135
Mathias Larsen 23.7 136 === Current sense ===
137
Mathias Larsen 23.8 138 [[image:1790100157872-786.png]]
139
Mathias Larsen 23.9 140 === Power Amplifier ===
141
142 [[image:1790101431805-672.png]]
143
Mathias Larsen 23.7 144 === Voltage measurement ===
145
Mathias Larsen 23.9 146 [[image:1790101449150-901.png]]
147
Mathias Larsen 23.11 148 === 12V supply(Did not work) ===
Mathias Larsen 23.10 149
Mathias Larsen 24.1 150 The buck converter overheated under
151
Mathias Larsen 23.11 152 [[image:1790102044737-969.png||height="368" width="925"]]
153
Mathias Larsen 24.1 154 Mateksys PM20S-2 Power Module was used as a quick fix to ensure that it had 12V for the competion.
Mathias Larsen 23.11 155
Mathias Larsen 23.12 156
Mathias Larsen 23.11 157 === 5V and 3V3 supply ===
158
159 Is
160
Mathias Larsen 23.1 161 == Controll logic ==
Mathias Larsen 14.20 162
Mathias Larsen 22.2 163 === LED light ===
Mathias Larsen 14.22 164
Mathias Larsen 23.3 165 The programable red light is in the same RGB LED Diode
Mathias Larsen 23.1 166
Mathias Larsen 23.3 167 Direct sourcing of current from the microcontroller with a 350 ohm ressistor in series.
168
169 [[image:1790098512666-432.png]]
170
Mathias Larsen 22.2 171 === Buzzer/Brake light ===
Mathias Larsen 14.22 172
Mathias Larsen 23.1 173 PUMPS
Mathias Larsen 22.2 174
Mathias Larsen 14.21 175
Mathias Larsen 29.1 176 == ==
Mathias Larsen 22.1 177
Mathias Larsen 29.1 178 == ==
Mathias Larsen 23.1 179
Mathias Larsen 17.1 180 == Known issues ==
Mathias Larsen 14.20 181
182 12 V did not work
183
Mathias Larsen 16.1 184 Current measurement not tested
185
186
Mathias Larsen 14.1 187 == Features to add ==
188
189 Add mosfets to cut power if the Lv battery is to low to save power
Mathias Larsen 16.1 190
191 Add a power distrobution for Autonomus system
Mathias Larsen 17.1 192
193
194 == BOM(bill of materials) ==
Mathias Larsen 20.2 195
Mathias Larsen 21.1 196 |=Part Number|=Description|=Ref Des|=Qty|=Manufacturer|=MPN
197 |CC0603KRX5R6BB475|Chip Capacitor, 4.7µF +/-20%, 10V, 0603|C1|1|Yageo Group|CC0603KRX5R6BB475
198 |CL10B104KA8NNNC|MLCC, 0.1 uF, 25V, ±10%, X7R, 0603|C2, C3, C4, C8, C9, C10, C14, C15, C16|9|Samsung Electro-Mechanics|CL10B104KA8NNNC
199 |CL10B105KA8NFNC|MLCC, 1uF, 25V, 10%, X7R, 0603|C5, C7|2|Samsung Electro-Mechanics|CL10B105KA8NFNC
200 |CL10B103KB8NNNC|MLCC, 10nF, 50V, +125C, X7R, ±10%, 0603|C6, C101, C201, C301, C401, C501, C601, C701, C801, C901|10|(( fatal error – no data ))| |
201 |885012206020|MLCC, General Purpose, 0603, 100nF, 10V|C11|1|Wurth Elektronik|885012206020
202 |885012006051|MLCC, General Purpose, 0603, 10pF, 50V|C12, C13|2|Wurth Elektronik|885012006051
203 |885012208124|MLCC, General Purpose, 1206, 2.2µF, 100V|C17, C19|2|Wurth Elektronik|885012208124
204 |885012108022|MLCC, General Purpose, 1206, 10µF, 50V|C18|1|Wurth Elektronik|885012108022
205 |885012206071R|MLCC, General Purpose, 0603, 100nF, 25V|C20|1|Wurth Elektronik|885012206071R
206 |885012107014|MLCC, General Purpose, 0805, 10µF, 16V|C21, C22|2|Wurth Elektronik|885012107014
207 |MBASU105SB5104KFNA01|MLCC, 50V, 10%, X5R, 0.1uF, 0402|C23, C24|2|TAIYO YUDEN|MBASU105SB5104KFNA01
208 |GRM32ER71H475KA88L|MLCC, 1210, 4.7uF, 50V, ±10%, X7R|C902, C903|2|Murata|GRM32ER71H475KA88L
209 |GRM188R71A225KE15D|MLCC, 0603, 2.2uF, X7R, 10V|C904|1|Murata|GRM188R71A225KE15D
210 |CC0402KRX7R6BB104|Chip Capacitor, 100nF +/-20%, 10V, 0402|C905, C908|2|Yageo Group|CC0402KRX7R6BB104
211 |GRM1555C1H102JA01J|MLCC, 0402, 1nF, 50V, ±5%, C0G|C906|1|Murata|GRM1555C1H102JA01J
212 |GRM1555C1H4R3CA01D|MLCC, 0402, 4.3pF, 50V, C0G, ±0.25pF|C907|1|Murata|GRM1555C1H4R3CA01D
213 |GRM32ER61E226KE15L|MLCC, 1210, 22uF, 25V, X5R|C909, C910, C911, C912|4|Murata|GRM32ER61E226KE15L
214 |824094024|WE-TVS TVS Diode, SOT23-3L, 2 Channel, 24V, 38pF|D1|1|Wurth Elektronik|824094024
215 |824500261|WE-TVSP SMT Power TVS Diode, DO-214AC, 400W, 26VDC|D2|1|Wurth Elektronik|824500261
216 |150282M167310|WL-SFTD Full-color Top LED, 2828, R/G/B, 70°|D101, D201, D301, D402, D501, D601, D701, D801, D901|9|Wurth Elektronik|150282M167310
217 |01550900DR|Fuseholder - Acs Nano|F101, F201, F301, F401, F501, F601, F701, F801, F901, F902, F903, F904|12|Littelfuse|01550900DR
218 |0466.125NR|Electric Fuse, Very Fast Blow, 0.125A, 125VAC/VDC, 1206|F102|1|Littelfuse|0466.125NR
219 |776231-1|Conn Shrouded Header, HDR 35 POS, 4mm, Thru-Hole|J1|1|TE Connectivity|776231-1
220 |76829-0002|Mega-Fit Straight Male Header, 2x2, 5.7mm Pitch|J2|1|Molex|76829-0002
221 |(4 pin header)|2.54mm pitch 1x4 vertical header|J3|1|(( fatal error – no data ))| |
222 |44914-0401|Conn Header Vert 4POS 3mm|J4|1|Molex|44914-0401
223 |1461247-3|Relay, Gen Purpose, SPST, 8A, 24V|K1|1|TE Connectivity|OJ-SH-124LMH,000
224 |784234510|WE-CNSA Common Mode Line Filter, 1210, 7850Ω, 200mA|L1|1|(( fatal error – no data ))| |
225 |74438323100|WE-MAPI SMT Power Inductor, 2510, 10µH, 0.9A, 733mΩ|L2, L3|2|Wurth Elektronik|74438323100
226 |XAL7070-651MEB|General Purpose Inductor, 0.65uH, 20%, 3028|L901|1|Coilcraft|XAL7070-651MEB|
227 |BSS123NH6327XTSA1|MOSFET N-CH 100V 0.19A SOT-23|Q201, Q202, Q803, Q804, Q905, Q906|6|Infineon|BSS123NH6327XTSA1
228 |BSS83PH6327XTSA1|SIPMOS Small-Signal Transistor, -0.33A, -60V, SOT-23|Q801, Q802|2|Infineon|BSS83PH6327XTSA1
229 |IAUCN04S7L028ATMA1|Mosfet, N-ch, 40V, 100A|Q901, Q902|2|Infineon|IAUCN04S7L028ATMA1
230 |BSC084P03NS3GATMA1|P-Channel OptiMOS P3, -30V VDS, -78.6A ID, PG-TDSON-8-1|Q903, Q904|2|Infineon|BSC084P03NS3GATMA1
231 |(( TBD ))|Generic Resistor, 350Ω, 0603|R104, R204, R304, R404, R504, R606, R704, R804, R904|9|(( TBD ))| |
232 |(( TBD ))|Generic Resistor, 1KΩ, 0603|R205, R206, R807, R808, R913, R914|6|(( TBD ))| |
233 |(( TBD ))|Generic Resistor, 10KΩ, 0603|R1, R207, R208, R805, R806, R809, R810, R811, R812, R911, R912, R915, R916|13|(( TBD ))| |
234 |(( TBD ))|Generic Resistor, 1.6KΩ, 0603|R2|1|(( TBD ))| |
235 |(( TBD ))|Generic Resistor, 2.2Ω, 0603|R3|1|(( TBD ))| |
236 |(( TBD ))|Generic Resistor, 27KΩ, 0603|R4|1|(( TBD ))| |
237 |(( TBD ))|Generic Resistor, 5.1KΩ, 0603|R5|1|(( TBD ))| |
238 |WSLF25122L000FEA|Res Metal Strip 2512, 0.002Ω, 1%, 5W|R101, R201, R301, R401, R501, R601, R701, R801, R901|9|Vishay|WSLF25122L000FEA
239 |CR0603-FX-1002ELF|SMD Resistor, 10kΩ, ±1%, 100mW, 0603|R102, R105, R202, R302, R402, R502, R602, R702, R802, R902|10|Bourns|CR0603-FX-1002ELF
240 |CR0805-JW-472ELF|SMD Resistor, 4.7kΩ, ±5%, 125mW, 0805|R103, R203, R303, R403, R503, R603, R703, R803, R903|9|Bourns|CR0805-JW-472ELF
241 |CR0603-FX-1001ELF|RES SMD 1K Ohm, 1%, 1/10W, 0603|R106|1|Bourns|CR0603-FX-1001ELF
242 |CRCW060347K5FKEA|Res Thick Film 0603, 47.5KΩ, 1%, 1/10W|R905|1|Vishay|CRCW060347K5FKEA
243 |RC0603FR-13100KL|Chip Resistor, 100KΩ, ±1%, 0.1W, 0603|R906|1|Yageo Group|RC0603FR-13100KL
244 |AC0402FR-0712K1L|Res Thick Film 0402, 12.1KΩ, 1%, 1/16W|R907|1|Yageo Group|AC0402FR-0712K1L
245 |CRCW060340K2FKEA|Res Thick Film 0603, 40.2KΩ, 1%, 1/10W|R908|1|Vishay|CRCW060340K2FKEA
246 |CRCW06039K53FKEA|Res Thick Film 0603, 9.53KΩ, 1%, 1/10W|R909|1|Vishay|CRCW06039K53FKEA
247 |WSR33L000FEA|Res Metal Strip 4527, 0.003Ω, 1%, 3W|R910|1|Vishay|WSR33L000FEA
248 |STM32G431CBT6|MCU 32-bit ARM Cortex M4, 128KB Flash, 48-Pin LQFP|U1|1|STMicroelectronics|STM32G431CBT6
249 |NCV7344D13R2G|CAN FD Transceiver, ISO 11898-2, 5Mbps, SOIC-8|U2|1|onsemi|NCV7344D13R2G
250 |INA4180A4IPWR|26V Quad Channel Current Sense Amplifier, 14-TSSOP|U3, U4, U5|3|Texas Instruments|INA4180A4IPWR
251 |AP64060WU-7|DC-DC Synchronous Step Down, 4.5-40V to 0.8-26V, 0.6A, TSOT-26|U6|1|Diodes Inc.|AP64060WU-7
252 |AP2112K-3.3TRG1|Fixed Positive LDO, 3.3V, 0.4V Dropout, PDSO5|U7|1|Diodes Inc.|AP2112K-3.3TRG1
253 |LM5148RGYR|3.5-80V Current Mode Synchronous Buck Controller, 24-VQFN|U801|1|Texas Instruments|LM5148RGYR
254 |ASE-8.000MHz-E-T|Crystal Oscillator, 8MHz, 3.3V, 15pF, 4-Pin SMD|Y1|1|Abracon|ASE-8.000MHZ-E-T
Mathias Larsen 30.2 255
256
257
Mathias Larsen 31.2 258 = AR27 plan =
Mathias Larsen 30.2 259
260 Here is the documentaion for AR27
261
Mathias Larsen 31.1 262 == Changes ==
Mathias Larsen 30.2 263
Mathias Larsen 31.3 264 === More circuits ===
Mathias Larsen 31.2 265
Mathias Larsen 31.3 266 === Autonomus supplied by ASMS ===
267
Mathias Larsen 31.4 268 == Supply circuit table ==
Mathias Larsen 31.1 269
Mathias Larsen 31.4 270
Mathias Larsen 31.1 271 === ===
272
Mathias Larsen 30.2 273