Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:hardware_tricks:batterie_messungen:rc_glied_messung

Dies ist eine alte Version des Dokuments!


RC-Glied Batterie Spannungs Messung

Wichtig zu wissen, das ganze geht nur wegen der Vernachlässigung von Vc1! Diese Methode ist relativ ungenau, bietet aber einen groben Überblick ob eine Batterie fast leer ist.

Formeln

Schaltplan

Die 3.3V Spannungsquelle soll die „Referenzspannung“ der I/Os angeben. Im Falle des RaspberryPis ist das 3.3V. Im Falle eines 5V Arduinos 5V. Diese Spannungsquelle ist die Betriebsspannung des CPUs.

Code - Arduino

sketch.ino
#include <Arduino.h>
 
void setup() {
    // put your setup code here, to run once:
    Serial.begin(115200);
}
const int rcpin = 2;
const float vih_voltage = 2.85;
const float capacity = 100 * pow(10, -9);
const float resistor = 100000;
const int dischargeDelay = 200;
 
float meassureVoltage(){
  //Pin auf Low setzen zum entladen des Kondensators
  pinMode(2, OUTPUT);
  digitalWrite(rcpin, LOW);
  delay(dischargeDelay); //Warten bis Kondensator leer
  long startMicros = micros(); //Startzeit festlegen
  pinMode(2, INPUT); //Pin auf Input legen um zu detektieren wann Pin High
  while(!digitalRead(rcpin)){ //Warte solange Pin nicht High
 
  }
  long endMicros = micros(); //Neue Zeit speichern
  long finalMicros = endMicros - startMicros; //Dauer des Vorgangs berechnen
  //Serial.println(finalMicros);
 
  //Berechnen der Spannung
  float vbat = (vih_voltage * capacity * resistor) /((float)(finalMicros * pow(10, -6)));
  return vbat;
}
 
 
void loop() {
    Serial.println(meassureVoltage());
}
projekte/hardware_tricks/batterie_messungen/rc_glied_messung.1532550343.txt.gz · Zuletzt geändert: 2022-11-17 22:34 (Externe Bearbeitung)