Skip to content

[≈≈≈] Verbesserung der BATT-Funktionen #951

@karamo

Description

@karamo

FW 4.35p.05.13 beginnend schrittweiser Umbau auf verbesserte BATT-Funktionen.

1. Schritt

• variants ... configuration.h

  • Hier werden die Board-spezifischen Parameter definiert, hier exemplarisch für BOARD_T_DECK.
  • Alle Parameter beginnen mit BAT_ :
#define USE_BATT
#ifdef USE_BATT
  #define BATTERY_PIN             4
  #define BAT_VOLT_PIN            BATTERY_PIN
  // voltage divider connected here to measure battery voltage
  #define BAT_ADC_PULLUP_RES      100000.0  //intern verbaut
  #define BAT_ADC_PULLDOWN_RES    100000.0  //intern verbaut
  #define BAT_MULTIPLIER (BAT_ADC_PULLUP_RES+BAT_ADC_PULLDOWN_RES)/BAT_ADC_PULLDOWN_RES
  #define BAT_MAX_VOLTAGE         4.125     //für Volt => Proz Umrechnung, definiert durch Akku
  #define BAT_MIN_VOLTAGE         3.3       //für Volt => Proz Umrechnung, definiert durch LDO
  #define BAT_VOLT_COMPENSATION   0         //offset
  #define BAT_VOLT_CORR           1.08      //factor
  #define BAT_ATTEN               ADC_11db
  #define BAT_WIDTH               12
  //#define S3_VREF                 (1.1)     // 1.0 - 1.2 V
  //hier ev. noch spezielle Board spezifische Parameter, GPIO, ...
  //...
#endif

• main: setup()

  • die Idee ist, die Board-Abfrage in der batt_functions.cpp zu machen und in setup() unangetastet zu lassen:
    init_batt();

• main: loop()

  • durch den Einbau einer Glättungsfunktion muss die Messung periodisch erfolgen, hier z.B. im 1s-Raster:
  // === Periodische Messungen (1s Raster)
  if (lastSec != timeinfo.tm_sec)   {
    lastSec = timeinfo.tm_sec;
    #ifdef USE_BATT
      read_batt();
    #endif
  }  // 1s Periode
  • Die Ausgabe der BAT-Spannung erfolgt wie bisher im definierten 30"-Raster.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions