Changes for page Sensor Module
Last modified by Heimir Thordarson on 2026/07/05 12:56
From version 64.6
edited by Heimir Thordarson
on 2026/03/23 18:48
on 2026/03/23 18:48
Change comment:
There is no comment for this version
To version 58.2
edited by Heimir Thordarson
on 2026/02/09 20:01
on 2026/02/09 20:01
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -24,7 +24,7 @@ 24 24 25 25 The Sensor module is designed to measure any extra analog signals rear of the firewall. For AR26, the module is designed to measure two suspension displacement sensors, two oil temperature, four water pressure, four water temperature, and one air temperature sensor. All of the measurements are then transmitted to a CAN network, which there are two of. 26 26 27 -= D esign=27 += Wiring Diagram = 28 28 29 29 In the following section, how the sensor module is connected will be covered. The connector for the sensor module is a [[High-Density d'sub-44>>https://www.te.com/en/product-2311770-1.html]] which is directly solderen onto the circuit board. The plug needed for this system is the [[204517-3>>doc:Sandbox.TestPage3]], which uses crimps instead of solder cups which is common for the dsub connectors 30 30 ... ... @@ -66,49 +66,6 @@ 66 66 |(% style="width:71px" %)14|(% style="width:164px" %)CAN High 1|(% style="width:124px" %)CAN|(% style="width:70px" %)29|(% style="width:218px" %)CAN Low 2|(% style="width:58px" %)CAN|(% style="width:32px" %)44|(% style="width:192px" %)Main Power|(% style="width:90px" %)+24V 67 67 |(% style="width:71px" %)15|(% style="width:164px" %)CAN Low 1|(% style="width:124px" %)CAN|(% style="width:70px" %)30|(% style="width:218px" %)CAN High 2|(% style="width:58px" %)CAN|(% style="width:32px" %) |(% style="width:192px" %) |(% style="width:90px" %) 68 68 69 -== Microcontroller Pinout == 70 - 71 -The sensor module uses a microcontroller to measure and calculate the values for the analog signals. The microcontroller used in this system is the [[STM32G491RET6>>doc:.https\:www\.st\.comenmicrocontrollers-microprocessorsstm32g491re\.html.WebHome]] 72 - 73 -(% style="width:793.6px" %) 74 -|=(% style="width: 96px;" %)Physical Pin|=(% style="width: 102px;" %)Electrical Pin|=(% style="width: 593px;" %)Description 75 -|(% style="width:96px" %)1|(% style="width:102px" %)VBAT|(% style="width:593px" %)Power source from a backup battery if a RTC would be used (Connected to +3V3 in this case) 76 -|(% style="width:96px" %)5|(% style="width:102px" %)OSC_IN|(% style="width:593px" %)Clock input (8MHz oscillator) 77 -|(% style="width:96px" %)7|(% style="width:102px" %)NRST|(% style="width:593px" %)Negative reset which can be connected to a button (Connected to +3V3) 78 -|(% style="width:96px" %)9|(% style="width:102px" %)PC1|(% style="width:593px" %)Analog signal: Cooling pressure sensor number 2 79 -|(% style="width:96px" %)10|(% style="width:102px" %)PC2|(% style="width:593px" %)Analog signal: Cooling temperature sensor number 2 80 -|(% style="width:96px" %)11|(% style="width:102px" %)PC3|(% style="width:593px" %)Analog signal: Cooling pressure sensor number 4 81 -|(% style="width:96px" %)12|(% style="width:102px" %)PA0|(% style="width:593px" %)Analog signal: Cooling temperature sensor number 4 82 -|(% style="width:96px" %)13|(% style="width:102px" %)PA1|(% style="width:593px" %)Analog signal: Oil temperature sensor right 83 -|(% style="width:96px" %)14|(% style="width:102px" %)PA2|(% style="width:593px" %)Analog signal: Air temperature sensor 84 -|(% style="width:96px" %)15|(% style="width:102px" %)VSS|(% style="width:593px" %)Voltage source: Ground 85 -|(% style="width:96px" %)16|(% style="width:102px" %)VDD|(% style="width:593px" %)Voltage source: Power (+3V3) 86 -|(% style="width:96px" %)17|(% style="width:102px" %)PA3|(% style="width:593px" %)Analog signal: Cooling pressure sensor number 1 87 -|(% style="width:96px" %)18|(% style="width:102px" %)PA4|(% style="width:593px" %)Analog signal: Cooling temperature sensor number 1 88 -|(% style="width:96px" %)19|(% style="width:102px" %)PA5|(% style="width:593px" %)Analog signal: Cooling pressure sensor number 3 89 -|(% style="width:96px" %)20|(% style="width:102px" %)PA6|(% style="width:593px" %)Analog signal: Cooling temperature sensor number 3 90 -|(% style="width:96px" %)21|(% style="width:102px" %)PA7|(% style="width:593px" %)Analog signal: Oil temperature sensor left 91 -|(% style="width:96px" %)22|(% style="width:102px" %)PC4|(% style="width:593px" %)Analog signal: Suspension displacement sensor right 92 -|(% style="width:96px" %)23|(% style="width:102px" %)PC5|(% style="width:593px" %)Analog signal: Suspension displacement sensor left 93 -|(% style="width:96px" %)27|(% style="width:102px" %)VSSA|(% style="width:593px" %)Voltage source: Ground 94 -|(% style="width:96px" %)28|(% style="width:102px" %)VREF+|(% style="width:593px" %)Voltage reference (connected to +3V3) 95 -|(% style="width:96px" %)29|(% style="width:102px" %)VDDA|(% style="width:593px" %)Voltage source: Power (+3V3) 96 -|(% style="width:96px" %)31|(% style="width:102px" %)VSS|(% style="width:593px" %)Voltage source: Ground 97 -|(% style="width:96px" %)32|(% style="width:102px" %)VDD|(% style="width:593px" %)Voltage source: Power (+3V3) 98 -|(% style="width:96px" %)34|(% style="width:102px" %)PB12|(% style="width:593px" %)CAN-BUS 2: Rxd 99 -|(% style="width:96px" %)35|(% style="width:102px" %)PB13|(% style="width:593px" %)CAN-BUS 2: Txd 100 -|(% style="width:96px" %)38|(% style="width:102px" %)PC6|(% style="width:593px" %)Signal Output: Blue status LED 101 -|(% style="width:96px" %)45|(% style="width:102px" %)PA11|(% style="width:593px" %)CAN-BUS 2: Rxd 102 -|(% style="width:96px" %)46|(% style="width:102px" %)PA12|(% style="width:593px" %)CAN-BUS 2: Txd 103 -|(% style="width:96px" %)47|(% style="width:102px" %)VSS|(% style="width:593px" %)Voltage source: Ground 104 -|(% style="width:96px" %)48|(% style="width:102px" %)VDD|(% style="width:593px" %)Voltage source: Power (+3V3) 105 -|(% style="width:96px" %)49|(% style="width:102px" %)PA13|(% style="width:593px" %)Programming Pins: SWDIO 106 -|(% style="width:96px" %)50|(% style="width:102px" %)PA14|(% style="width:593px" %)Programming Pins: SWCLK 107 -|(% style="width:96px" %)63|(% style="width:102px" %)VSS|(% style="width:593px" %)Voltage source: Ground 108 -|(% style="width:96px" %)64|(% style="width:102px" %)VDD|(% style="width:593px" %)Voltage source: Power (+3V3) 109 - 110 - 111 - 112 112 == Air Temperature Sensor == 113 113 114 114 The air temperature sensor will be used to have a dynamic reference setpoint for the cooling system. This could reduce the current draw from the low voltage system compared to having a fixed reference point. This is because the regulator will not try to cool the water to a temperature lower than the ambient temperature. The sensor works as a resistor which varies depending on its temperature. Where in this case, the resistance lowers when the temperature increases (NTC). To make the microcontroller able to measure the changes in resistance, the thermistor is put into a voltage divider circuit. ... ... @@ -129,10 +129,10 @@ 129 129 130 130 Where: 131 131 132 -* {{mathjax}}\(R_f\){{/mathjax}}= The upper resistor in the voltage divider which stays fixed, which in this case is 4.7k {{mathjax}}\(\Omega\){{/mathjax}} 133 -* {{mathjax}}\(V_{out}\){{/mathjax}}= The voltage over the thermistor, and the voltage that the microcontroller will measure. 134 -* {{mathjax}}\(V_{in}\){{/mathjax}}= The supply voltage of the voltage divider, which in this case is a constant 3.3 {{mathjax}}\(V\){{/mathjax}} 135 -* {{mathjax}}\(R_T\){{/mathjax}}= Resistance of the thermistor 89 +* {{mathjax}}\(R_f\){{/mathjax}} = The upper resistor in the voltage divider which stays fixed, which in this case is 4.7k {{mathjax}}\(\Omega\){{/mathjax}} 90 +* {{mathjax}}\(V_{out}\){{/mathjax}} = The voltage over the thermistor, and the voltage that the microcontroller will measure. 91 +* {{mathjax}}\(V_{in}\){{/mathjax}} = The supply voltage of the voltage divider, which in this case is a constant 3.3 {{mathjax}}\(V\){{/mathjax}} 92 +* {{mathjax}}\(R_T\){{/mathjax}} = Resistance of the thermistor 136 136 137 137 Knowing this, the resistance of the thermistor can be added into the following equation. This will determine the temperature of the thermistor based on the known resistance and the beta value of the thermistor. 138 138 ... ... @@ -147,10 +147,10 @@ 147 147 148 148 where: 149 149 150 -* {{mathjax}}\(\beta\){{/mathjax}}= material constant that defines the steepness of its resistance-temperature curve between two temperature points, usually 25/85 degrees celsius. In this case it is 3694 //**K.**// 151 -* {{mathjax}}\(T_0\){{/mathjax}}= The test temperature at which the thermistor is 10k {{mathjax}}\(\Omega\){{/mathjax}}, which in this case is 25 degrees celsius. 152 -* {{mathjax}}\(R_0\){{/mathjax}}= The resistance of the thermistor when it is 25 degrees celsius. 153 -* {{mathjax}}\(R_T\){{/mathjax}}= The live resistance of the thermistor. 107 +* {{mathjax}}\(\beta\){{/mathjax}} = material constant that defines the steepness of its resistance-temperature curve between two temperature points, usually 25/85 degrees celsius. In this case it is 3694 //**K.**// 108 +* {{mathjax}}\(T_0\){{/mathjax}} = The test temperature at which the thermistor is 10k {{mathjax}}\(\Omega\){{/mathjax}}, which in this case is 25 degrees celsius. 109 +* {{mathjax}}\(R_0\){{/mathjax}} = The resistance of the thermistor when it is 25 degrees celsius. 110 +* {{mathjax}}\(R_T\){{/mathjax}} = The live resistance of the thermistor. 154 154 155 155 === Filtering === 156 156 ... ... @@ -167,9 +167,9 @@ 167 167 168 168 Where: 169 169 170 -* {{mathjax}}\(F_c\){{/mathjax}}= Cut-off frequency of the filter. Any noise with a frequency above this will be filtered out. 171 -* {{mathjax}}\(R\){{/mathjax}}= Resistance of the resistor in low-pass filter. 172 -* {{mathjax}}\(C\){{/mathjax}}= Capacitance of the capacitor in the low-pass filter. 127 +* {{mathjax}}\(F_c\){{/mathjax}} = Cut-off frequency of the filter. Any noise with a frequency above this will be filtered out. 128 +* {{mathjax}}\(R\){{/mathjax}} = Resistance of the resistor in low-pass filter. 129 +* {{mathjax}}\(C\){{/mathjax}} = Capacitance of the capacitor in the low-pass filter. 173 173 174 174 Using a resistor with 1k {{mathjax}}\(\Omega\){{/mathjax}} and a capacitor with 100 **nF **in capacitance, the cut-off frequency will be 1592 **Hz.** 175 175 ... ... @@ -196,9 +196,9 @@ 196 196 197 197 where: 198 198 199 -* {{mathjax}}\(x\){{/mathjax}}= The mechanical placement excluding the dead length (178mm). 200 -* {{mathjax}}\(V_s\){{/mathjax}}= The supply voltage of the linear potentiometer, in this case it is 3.3 {{mathjax}}\(V\){{/mathjax}}. 201 -* {{mathjax}}\(V_{out}\){{/mathjax}}= The output voltage of the linear potentiometer. ranging from 0.033{{mathjax}}\(V\){{/mathjax}} to 3.267{{mathjax}}\(V\){{/mathjax}}. 156 +* {{mathjax}}\(x\){{/mathjax}} = The mechanical placement excluding the dead length (178mm). 157 +* {{mathjax}}\(V_s\){{/mathjax}} = The supply voltage of the linear potentiometer, in this case it is 3.3 {{mathjax}}\(V\){{/mathjax}}. 158 +* {{mathjax}}\(V_{out}\){{/mathjax}} = The output voltage of the linear potentiometer. ranging from 0.033{{mathjax}}\(V\){{/mathjax}} to 3.267{{mathjax}}\(V\){{/mathjax}}. 202 202 203 203 === Filtering === 204 204 ... ... @@ -208,7 +208,7 @@ 208 208 209 209 The gearbox Temperature Sensor for AR26 will be the [[GAG10K3976B1>>https://www.te.com/en/product-GAG10K3976B1.html]], a NTC temperature probe which will be installed into a generic M5 bolt which is mounted on the upright in the wheel assembly. The thermistor will be connected in a voltage divider configuration where the thermistor is in the lower position so that the voltage lowers when the temperature increases. 210 210 211 -[[image:Oil_Temp_schematic.png||height="2 08" width="486"]]168 +[[image:Oil_Temp_schematic.png||height="271" width="632"]] 212 212 213 213 Knowing the beta constant of the thermistor, the equation for the temperature based on the voltage measured by the ADC inside microcontroller can be derived. 214 214 ... ... @@ -223,10 +223,10 @@ 223 223 224 224 Where: 225 225 226 -* {{mathjax}}\(R_f\){{/mathjax}}= The upper resistor in the voltage divider which stays fixed, which in this case is 1k {{mathjax}}\(\Omega\){{/mathjax}} 227 -* {{mathjax}}\(V_{out}\){{/mathjax}}= The voltage over the thermistor, and the voltage that the microcontroller will measure. 228 -* {{mathjax}}\(V_{in}\){{/mathjax}}= The supply voltage of the voltage divider, which in this case is a constant 3.3 {{mathjax}}\(V\){{/mathjax}} 229 -* {{mathjax}}\(R_T\){{/mathjax}}= Resistance of the thermistor 183 +* {{mathjax}}\(R_f\){{/mathjax}} = The upper resistor in the voltage divider which stays fixed, which in this case is 1k {{mathjax}}\(\Omega\){{/mathjax}} 184 +* {{mathjax}}\(V_{out}\){{/mathjax}} = The voltage over the thermistor, and the voltage that the microcontroller will measure. 185 +* {{mathjax}}\(V_{in}\){{/mathjax}} = The supply voltage of the voltage divider, which in this case is a constant 3.3 {{mathjax}}\(V\){{/mathjax}} 186 +* {{mathjax}}\(R_T\){{/mathjax}} = Resistance of the thermistor 230 230 231 231 Knowing this, the resistance of the thermistor can be added into the following equation. This will determine the temperature of the thermistor based on the known resistance and the beta value of the thermistor. 232 232 ... ... @@ -241,25 +241,11 @@ 241 241 242 242 where: 243 243 244 -* {{mathjax}}\(\beta\){{/mathjax}}= material constant that defines the steepness of its resistance-temperature curve between two temperature points, usually 25/85 degrees celsius. In this case it is 3976 //**K.**// 245 -* {{mathjax}}\(T_0\){{/mathjax}}= The test temperature at which the thermistor is 10k {{mathjax}}\(\Omega\){{/mathjax}}, which in this case is 25 degrees celsius. 246 -* {{mathjax}}\(R_0\){{/mathjax}}= The resistance of the thermistor when it is 25 degrees celsius. 247 -* {{mathjax}}\(R_T\){{/mathjax}}= The live resistance of the thermistor. 201 +* {{mathjax}}\(\beta\){{/mathjax}} = material constant that defines the steepness of its resistance-temperature curve between two temperature points, usually 25/85 degrees celsius. In this case it is 3976 //**K.**// 202 +* {{mathjax}}\(T_0\){{/mathjax}} = The test temperature at which the thermistor is 10k {{mathjax}}\(\Omega\){{/mathjax}}, which in this case is 25 degrees celsius. 203 +* {{mathjax}}\(R_0\){{/mathjax}} = The resistance of the thermistor when it is 25 degrees celsius. 204 +* {{mathjax}}\(R_T\){{/mathjax}} = The live resistance of the thermistor. 248 248 249 249 === Filtering === 250 250 251 -The sensors output latency can be expected to be a lot shorter than the oil temperature sensor as the sensor is just a variable sensor based on placement. The limiting factor for the system which uses this information is the CAN-BUS messages from the inverters which send the information each 6.25 milliseconds. This means that the cut-off frequency cannot be any lower than 160 Hz, which will make the same type of low pass filter from the oil temperature sensor acceptable with a cut-off frequency of 1591 Hz. 252 - 253 -== Air Temperature Sensor == 254 - 255 -The main goal of the air temperature sensor is to have an onboard knowledge of the ambient temperature for datalogging and cooling system control system. The sensor is a [[GA10K4D25>>doc:.GA10K4D25.WebHome]] from TE connectivity, which is a NTC thermistor which requires some extra circuitry to ensure that the microcontroller can measure the change in resistance of the thermistor. 256 - 257 -= Bill of Materials = 258 - 259 -== Circuit Board == 260 - 261 -== Wiring Harness == 262 - 263 -== Sensors == 264 - 265 265