Hanna
Sourcecode Batteriemanagementsystem
Funktionen
sdcard_bms.c-Dateireferenz

Datenmanagement für BMS-Daten mit SD Card Reader. Mehr ...

#include <stdlib.h>
#include <avr/io.h>
#include <stdio.h>
#include <stddef.h>
#include <string.h>
#include "macros.h"
#include "usartx.h"
#include "sdcard_driver.h"
#include "sdcard_bms.h"
#include "ds1388_rtc.h"
#include "BMS-Basic.h"
#include "ad7997.h"
#include "temp_mcp9843.h"
#include "sdcard/fat.h"
Include-Abhängigkeitsdiagramm für sdcard_bms.c:

gehe zum Quellcode dieser Datei

Funktionen

void sdcard_bms_daten_betrieb (void)
 Daten im Modus "Betrieb" werden auf die SD-Karte geschrieben. Mehr ...
 
void sdcard_bms_daten_laden (void)
 Daten im Modus "Laden" werden auf die SD-Karte geschrieben. Mehr ...
 
void sdcard_bms_read_base (void)
 Basisdaten der Batterien werden gelesen. Mehr ...
 
void sdcard_bms_read_state (void)
 Zustandsdaten der Batterien werden gelesen. Mehr ...
 
void sdcard_bms_write_base (void)
 Basisdaten der Batterien werden gespeichert. Mehr ...
 
void sdcard_bms_write_state (void)
 Zustandsdaten der Batterien werden gespeichert. Mehr ...
 

Ausführliche Beschreibung

Datenmanagement für BMS-Daten mit SD Card Reader.

Autoren
Hanna Burggraf
Datum
12.02.2016
            $Revision: 448 $
            $Date: 2016-04-01 19:38:34 +0200 (Fri, 01 Apr 2016) $

Definiert in Datei sdcard_bms.c.

Dokumentation der Funktionen

void sdcard_bms_daten_betrieb ( void  )

Daten im Modus "Betrieb" werden auf die SD-Karte geschrieben.

Alle Betriebsdaten werden in kurzen Zeitintervallen gespeichert, um über externe Programme (z.B. Excel) ausgewertet zu werden.
Das Datenformat ist csv mit Semikolon-separierten Spalten und kann direkt in Excel geöffnet werden.
Spaltenüberschriften werden einmalig nach einem Systemstart geschrieben.

Übertragene Daten:

  • timestamp - Datum und Zeit,
  • i - ZellenNr,
  • akku[i] - Vorhanden,
  • akku_an[i] - Aktiv,
  • current[i] - Strom,
  • voltage[i] - Spannung,
  • temp[i] - Temperatur,
  • charge[i] - Ladung,
  • SOC[i] - State of Charge (Ladezustand)


Der Dateiname ist festgelegt. Ist die Datei bereits vorhanden, werden neue Daten angehängt.

Definiert in Zeile 225 der Datei sdcard_bms.c.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

void sdcard_bms_daten_laden ( void  )

Daten im Modus "Laden" werden auf die SD-Karte geschrieben.

Alle Ladedaten werden in kurzen Zeitintervallen gespeichert, um über externe Programme (z.B. Excel) ausgewertet zu werden.
Das Datenformat ist csv mit Semikolon-separierten Spalten und kann direkt in Excel geöffnet werden.
Spaltenüberschriften werden einmalig nach einem Systemstart geschrieben.

Übertragene Daten:

  • timestamp - Datum und Zeit,
  • i - ZellenNr,
  • current[i] - Strom,
  • voltage[i] - Spannung,
  • temp[i] - Temperatur,
  • charge[i] - Ladung,
  • SOC[i] - State of Charge (Ladezustand)


Der Dateiname ist festgelegt. Ist die Datei bereits vorhanden, werden neue Daten angehängt.

Definiert in Zeile 298 der Datei sdcard_bms.c.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

void sdcard_bms_read_base ( void  )

Basisdaten der Batterien werden gelesen.

In dieser Funktion werden Zustandsdaten der Akkus

  • Nennkapazität in mAh
  • Datum der Inbetriebnahme

von der SD-Karte gelesen.
Die Daten werden als Startwerte bei einem Neustart des Systems ausgelesen und den entsprechenden Variablen des BMS zugewiesen.

Definiert in Zeile 168 der Datei sdcard_bms.c.

void sdcard_bms_read_state ( void  )

Zustandsdaten der Batterien werden gelesen.

In dieser Funktion werden Zustandsdaten der Akkus

  • SOC [%] - 3stellig
  • SOH [%] - 3stellig
  • Die letzte vollständig aufgeladene Kapazität c_max [mAh] - 3stellig
  • Aktuelle Ladung charge [mAh] - 3.0stellig, ohne Nachkommastellen
  • Betriebszeit [s] - 6stellig
  • Ladezeit [s] - 6stellig
  • Ladezyklen - 2.1stellig

von der SD-Karte gelesen.
Die Daten werden als Startwerte bei einem Neustart des Systems ausgelesen und den entsprechenden Variablen des BMS zugewiesen.

Definiert in Zeile 88 der Datei sdcard_bms.c.

void sdcard_bms_write_base ( void  )

Basisdaten der Batterien werden gespeichert.

In dieser Funktion werden Zustandsdaten der Akkus

  • Nennkapazität in mAh
  • Datum der Inbetriebnahme

auf der SD-Karte gespeichert.
Die Daten werden später als Startwerte bei einem Neustart des Systems ausgelesen.
Es wird ein einfaches zeilenorientiertes Datenformat für BMS verwendet. Die Semikolon sind nur zur besseren Lesbarkeit notwendig.

Definiert in Zeile 132 der Datei sdcard_bms.c.

void sdcard_bms_write_state ( void  )

Zustandsdaten der Batterien werden gespeichert.

In dieser Funktion werden Zustandsdaten der Akkus

  • SOC [%] - 3stellig
  • SOH [%] - 3stellig
  • Die letzte vollständig aufgeladene Kapazität c_max [mAh] - 3stellig
  • Aktuelle Ladung charge [mAh] - 3.0stellig, ohne Nachkommastellen
  • Betriebszeit [s] - 6stellig
  • Ladezeit [s] - 6stellig
  • Ladezyklen - 2.1stellig

auf der SD-Karte gespeichert.
Die Daten werden später als Startwerte bei einem Neustart des Systems ausgelesen.
Die Daten werden in kurzen Abständen erneuert, so dass auch bei einem Systemabsturz möglichst aktuelle Daten vorhanden sind.
Es wird ein einfaches zeilenorientiertes Datenformat für BMS verwendet. Die Semikolon sind nur zur besseren Lesbarkeit notwendig.

Definiert in Zeile 50 der Datei sdcard_bms.c.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft: