Raspberry Pi zur Spannungsüberwachung einsetzen, aber wie und ist es möglich?

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Oh man, ist das peinlich, DANKE!

    Nun wo ich weiß dass die entsprechende Bibliothek fehlte und das die Fehlerquelle war, habe ich einfach in der Bibliothekverwartung in der Suche "DS3231" eingegeben und gleich die erste Bibliothek installiert.

    Nun läuft das RTC-Modul :)

    OK! Jetzt gehe ich bei den RTC-Sketch mit dem Speicher+Spannungs-Sketch zu vereinen, mal sehen wie ich da weiter komme :)

    DANKE EUCH!

  • Raspberry Pi zur Spannungsüberwachung einsetzen, aber wie und ist es möglich?? Schau mal ob du hier fündig wirst!

  • und was hat das jetzt mit der Fehlermeldung zu tun, die die Arduino IDE wirft und dem TO zu schaffen macht?

    LIB nicht installiert und da ich mich nicht zu unbekannten LIBs äussere schrieb ich DS1307new LIB

    das gilt dann auch installieren denn da kann ich helfen ;)

    bekanntermaßen ist nicht jede LIB gut und gleich brauchbar.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Hi,

    naja ... es braucht aber schon mehr als nur Kreativität um eine Beziehung zwischen

    ... DS1307new LIB ...
    ... AVR Studio 4.18 ...

    und dem Fehler

    Zitat

    C:\Users\Matej\Desktop\DS3231_TEST\Examples\DS3231_TEST\DS3231_TEST.ino:13:20: fatal error: DS3231.h: No such file or directory

    in der IDE

    Zitat

    Arduino: 1.8.3 (Windows 10), Board: "Arduino/Genuino Uno"

    herzustellen ;)

    cu,

    -ds-

  • Also ich habe bißchen rumgespielt und stelle fest dass der RTC doch noch nicht bereit ist um mit dem rest des Projektes verbunden zu werden.

    Nachdem ich den Sketch angepasst habe wollte ich eigentlich mmit dem verbinden der Sketches anfangen.

    Dabei habe ich festgestellt dass wenn der Strom vom Arduino genomen wird oder der per Taste resetet wird, die Urzeit nach dem einschalten wieder von der programmierten Uhrzeit startet.

    (Ja die Batterie im RTC ist drin und hat auch Spannung die aktuell bei 3,8Volt liegt,gemessen mit Multimeter)

    Hier ist der Code für den RTC den ich an meine bedürfnisse anpassen möchte:

  • was setup() auch brav tut, jedesmal beim Neustart ;)

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • JAAAAA :) Mal wieder ein Anfängerfehler, hier muss man ja alles aufßer kraft setzen nach dem Setup sonst läuft es ja im Loop weiter ^^

    Nun habe ich das schon mal verstanden :D

    Nun bin ich fast zufrieden mit dem Sketch für den RTC3231.


    Ich habe ein Sketch im inet gefunden und den fast perfekt für meine Bedürfnisse angepasst.

    Die Ausgabe im seriellen Monitor seht schon mal so aus:

    Zitat

    2017,01,12 17:17:45

    2017,01,12 17:17:50

    2017,01,12 17:17:55

    2017,01,12 17:18:00

    Leider bekomme ich es nicht hin, dass er die Temperatur hinter dem Datum & Uhrzeit anzeigt.

    Das ist aber erstmal Nebensächlich denn ich stehe mal wieder vor einer riesen sauerei die nicht laufen möchte:

    Ich habe nun versucht 2 Sketches zusammenzuführen (Sketch der Spannungssensordaten auf Speicherkarte schreibt + Zeit,Datum und Temperatur-Sketch)

    Falls Ihr keine Übersicht habt, hier die Skatches einzeln:


    Spannungmessung+schreiben auf Speicherkarte (funktioniert Einwandfrei):

    RTC DS3231 Sketch :

    (Betrieben mit der Bibliothek hier: DS3231_Master

    Am Ende soll die gemessene Spannung folgendermaßen in der .txt abgespeichert werden:

    2017,01,12 17:52:22 24 4,9


    Also:

    Datum + Zeit + Temperatur vom RTC (24°c) + Spannung (4,9Volt)


    Ich weiß mal wieder nicht weiter... :(

    2 Mal editiert, zuletzt von Matej (12. Januar 2018 um 18:04)

  • Ich weiß mal wieder nicht weiter...

    ich bin ja gerne behilflich, aber was ist an

    float wert

    uint16_t volt_von_adc

    volt_von_adc=analogRead(1); // Annahme analogRead(1); ist deine Spannung als int

    // nun rechnen wir passend die Volt um, hattest du doch schon

    sprintf(textzeile, "%d.%dV\r\n", val1, val2); entweder vorkomma, nachkomma getrennt als int mit %d 2 Werte

    oder

    wie ich es mache

    mit


    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Ja, die Spannungsmessung und das abspeichern der Messwerte in Datei funktioniert ja dank deiner Hilfe problemlos ;)

    Nur das ist noch nicht alles was ein Projekt braucht um alttagstauglich zu sein, mir geht es jetzt darum, den Arduino so zu Programieren dass er alle 5min die Spannung misst,den gemessenen Spannungswert zusammmen mit Datum+Uhrzeit+Temperatur (die vom RTC kommt) in einer Zeile in die Datei geschrieben werden. :)

  • dann lese doch die Uhr, nur die Minuten und mit Minute % 5 == 0 misst du den ADC und speicherst bei Minute 0 - 5 - 10 - 15 - 20 - 25 - 30 ........ usw.

    denn modulo 5 von minute ergibt alle 5 Minuten NULL

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • in deinem Starterset ist auch ein LCD, damit kannst du auch erst mal die Uhrzeit ausgeben, erweitere auf Ausgabe alle 5 Minuten (geht auch mit Serial.println())

    setze vor die Ausgabe alle 5 Minuten ADC Messung usw.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Irgendetwas mache ich komplett falsch...

    Funktioniert einfach nicht...

    Lässt sich Hochladen, zeigt aber trotztdem nur wie vorher die Messwerte an die er auf die Speicherkarte schreibt.

    Keine Spur vom Datum,Zeit und Temperaturwerten.

  • Irgendetwas mache ich komplett falsch...

    ja wenn du das Programm nicht mal erweiterst,

    alle 5 Minuten messen und schreiben

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • im zuletzt gezeigten hoffentlich funktionierenden Sketch


    das delay auf 300000 setzen = 5 Minuten

    alternativ

    am Anfang der loop

    uint8_t minute=Clock.getMinute();

    if(minute%5==0)

    {

    val=analogRead(1);

    temp=val/4.092;

    val=(int)temp;//

    val1=((val%1000)/10);

    val2=val%10;

    sprintf(textzeile, "%d.%dV\r\n", val1, val2);

    createFile("spannung.txt");

    writeToFile(textzeile);

    closeFile();

    }


    etwas programmieren und verstehen muss man lernen

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • So wie du das geschrieben hast verstehe ich es zu 100%

    Mir fehlen nur die Befehle als begriff oder als Lösung für mein Vorhaben wie z.B uint8_t minute=Clock.getMinute();

    Mir ist klar was der bedeutet und was er bewirkt wenn ich den sehe.

    Aber wie man den richtig schreibt und und wo man den hinsetzen soll ist für mich noch schwierig zu entziffern.

    Manchmal ist der Befehl richtig aber klein oder Großschreibung ist verhauen oder Komma verschoben, da verzweifelt man manchmal :)

    Die Befehle fehlen mir halt noch weitgehend daher schlage ich die teilweise nach,teilweise Google und co.

    Laut dem Befehl wird er jetzt alle 5min die Messung durchführen jedoch nicht das Datum,Zeit und Temperatur mit in die Zeile in der .txt Datei schreiben, dazu fehlen noch die Befehle richtig?

    Danke für deine Geduld mit mir :D

    Ich probiere es morgen nochmal aus, bin heute nicht mehr am pc.

  • Laut dem Befehl wird er jetzt alle 5min die Messung durchführen jedoch nicht das Datum,Zeit und Temperatur mit in die Zeile in der .txt Datei schreiben, dazu fehlen noch die Befehle richtig?

    richtig, aber alles ist in den bis jetzt gezeigten Quelltesten schon vorhanden, nun gilt es das richtig zusammen zu setzen, dabei die Zusammenhänge lernen wäre toll.

    Du kannst es dir auch leichter und übersichtlicher machen, in der Arduino IDE nennst du dein Hauptprogramm bzw. eröffnest

    messwerte_speichern_1

    das wird als messwerte_speichern_1.ino gespeichert

    dann erweiterst du ein setup dazu, ein read_rtc dazu usw. lagerst aus was klappt dann wird dein Hauptprogramm übersichtlicher, das andere was läuft, wie setup nur einmal beim Start muss du nicht immer auf dem Schirm haben

  • update

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • update2

    habe mal meinen nano aufs Steckbrett mit der RTC gesteckt und aufgeräumt!

    mit deiner RTC LIB kam ich nicht zurecht

    deswegen eine andere gewählt

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!