Ignore:
Timestamp:
Sep 8, 2025, 6:57:30 PM (7 weeks ago)
Author:
f.jahn
Message:
  • Bug in ADC Kalibrierung (STM32 ADC Strom) behoben
  • DMA Buffer für ADC 1 und ADC wird vor Überschreibung während bearbeitung geschützt, indem Datenübertragung nur einmalig erfolgt und erst nach Auswertung wieder gestartet wird
  • RS485Modbus: Timeout Zeit wird für Baudraten >19200 korrekt berechnet
  • Hardware ID geändert
  • Separates Register für "Batterie Empty detection mode" auf Adresse 92 angelegt
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/firmware/Src/fast_current.c

    r6 r26  
    2020
    2121
    22   // Formel zur Berechnen der Eingangsspannung
    23   // Da ein Spannungteiler mit Offset genutzt wird muss die gemessene Spannung korrigiert werden
    24   // R14 bis R19 sind die Wiederstände auf der Platine die Formel findet sich unter folgendem Link:
    25   // https://www.mikrocontroller.net/articles/Spannungsteiler#Spannungsteiler_mit_Offset.2C_passiv
    26   // Widerstände auf der Platine sind um den Faktor 1000 größer
     22
    2723#define I_SENSE_GAIN    40.0
    2824
     
    8076  double diff;
    8177  diff = (int32_t) newvalP - (int32_t) newvalM;
    82   diff = (diff * sys_data.s.values.realVdd)  / 655350.0;
     78  diff = (diff * sys_data.s.values.realVdd)  / 65536;
    8379
    8480  //Umrechung auf Strom
    85   sys_data.s.values.fast_current = (diff / I_SENSE_GAIN) /  SHUNT_RESISTOR;
    86 
     81  double temp_current;
     82  temp_current = (diff / I_SENSE_GAIN) /  SHUNT_RESISTOR;
     83  sys_data.s.values.fast_current = temp_current * (sys_data.s.parameter.batteryCurrentGainCorrectionFaktor / 1000000.0);
    8784 
    8885}
Note: See TracChangeset for help on using the changeset viewer.