Ich habe hier einen STM32F3 der mit den ADC Werten ziemlich daneben liegt. Über eine akkuraten Spannungsteiler (1% Widerstände) 1/10 versuche ich die Eingangsspannung zu messen, welche 8.2V beträgt. Die Gemessene Spannung am ADC Eingang stimmt mit der berechnet von 745mV überein, doch der ADC gibt mir nach Berechnung 690mV (ohne die Multiplikation mit 11 unten im Code) aus. Ich verwende die HAL Libraries mit den Einstellungen im Anhang. Mit über 600 cycles sollte die Genauigkeit eigentlich ziemlich gut sein. Die Spannungquelle mit 3.3V is sehr genau und es liegen auch stabile 3.3V am VRef Eingang des uC an. Zum auslesen des ADC wertes und zur Rekonstruktion der Spannung verwende ich folgenden Teilcode:
1 | HAL_ADC_Start(&hadc1); |
2 | while(HAL_ADC_PollForConversion(&hadc1,0) != HAL_OK); |
3 | input_voltage=HAL_ADC_GetValue(&hadc1); |
4 | input_voltage=(input_voltage/4095)*VOLTAGE_REF*11; //Voltage_ref 3300mV |
5 | HAL_ADC_Stop(&hadc1); |
Jemand eine Idee was ich da falsch mache?



