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!

Formeln

Schaltplan

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.1532550076.txt.gz · Zuletzt geändert: 2022-11-17 22:34 (Externe Bearbeitung)