Show Posts
Pages: [1]
1  International / Deutsch / Re: Datenlogger bauen, aber wie? on: October 04, 2012, 01:53:13 pm
So, habe mir aus einer Lochrasterplatine und ein paar Bauteilen eine Art aufsteckbaren Prototyp gebastelt.
Diesen immer wieder um eine Funktion erweitert, bis jetzt fast alles funktioniert. Eine gute Hilfe war der
Pap-Designer, um mir eine Programmstruktur vorzubereiten.

Leider verzweifle ich an zwei Problemen:

1.

Habe eine RTC mit Batterie verbaut, doch wenn man den Arduino vom Netzteil nimmt und wieder ansteckt,
fängt er wieder von der Uhrzeit und Datum der Programm-Übertragung an zu zählen.

Ich habe gedacht, wenn ich die RTC mit

Code:
    RTC.begin(DateTime(__DATE__, __TIME__));

stelle, läuft die Uhr über die Batterie weiter!?, auch wenn ich den Arduino vom Netzteil trenne und später wieder
anstöpsel.

2.

Mein Zweites Problem ist die Log-Schleife. Ich möchte ja im Fehlerfall ein Log auf die SD schreiben. Leider funktioniert
das nur beim ersten Durchlauf.

Ich benutze folgrnden Code in der void loop():

Code:
   if (!SD.begin(chipSelect))
   {
    Serial.println("Card failed, or not present");
    return;
   }
    Serial.println("card initialized.");

    File dataFile = SD.open("datalog.txt", FILE_WRITE);

    if (dataFile)
   {
      DateTime now = RTC.now();
      dataFile.println("");
      dataFile.print("*Ein* - ");
      dataFile.print(now.year(), DEC);
      dataFile.print('/');
      dataFile.print(now.month(), DEC);
      dataFile.print('/');
      dataFile.print(now.day(), DEC);
      dataFile.print(' ');
      dataFile.print(now.hour(), DEC);
      dataFile.print(':');
      dataFile.print(now.minute(), DEC);
      dataFile.print(':');
      dataFile.print(now.second(), DEC);
      dataFile.println();
      dataFile.close();
    } 
    else
    {
     Serial.println("error opening datalog.txt");
    }


Nätürlich mit ein paar Funktionen noch dazwischen. Die Schleife läuft ein mal durch logged die simulierten Fehler,
wartet dann 20 Sekunden und läuft erneut an. Bleibt aber immer in "Card failed, or not present" im 2. Anlauf hängen.

2  International / Deutsch / Re: Datenlogger bauen, aber wie? on: September 20, 2012, 01:54:36 am
Es sind ja nicht nur die Relais, die ab und zu zicken machen, manchmal spiennen auch die Regler.

Einen zusätzlichen PC würde ich ungern verwenden, da das Gerät auch in Schalträumen von nicht so versierten Mitarbeitern benutzt werden soll.  smiley-grin

--

Das "Wie" in meiner Frage bezieht sich auf die Programmierung. Um ehrlich zu sein, habe ich bis jetzt mal eine LED über einen Mikrocontroller angesteuert.

Dieses hier soll mein erstes, großes Projekt werden.

Die Karte würde ich so einbinden und dann weis ich nicht mehr so richtig weiter...

Code:
// SD-Karte vorbereiten
#include <SdFat.h>
#include <Wire.h>
Sd2Card card;
SdVolume volume;
SdFile root;
SdFile file;
void setup(void)
{
card.init();
volume.init(card);
root.openRoot(volume);
char name[] = "LOGGER00.CSV"; // Neue csv-Datei erzeugen
for (uint8_t i = 0; i < 100; i++) {
name[6] = i/10 + '0';
name[7] = i%10 + '0';
if (file.open(root, name, O_CREAT | O_EXCL | O_WRITE)) break;
}
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
}
3  International / Deutsch / Re: Datenlogger bauen, aber wie? on: September 19, 2012, 06:23:28 am
Als RTC-Clock wollte ich diese nehmen:

http://www.ebay.de/itm/180874695555?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649

Ist mit dem Board kompatiebel, da gleicher Hersteller.

---

Das SD-Kartenmodul soll dieses werden:

http://www.komputer.de/zen/index.php?main_page=product_info&products_id=122

--

Das Datalogger-Shield sollte aber auch drauf passen, die Pinne sind gleich (soweit ich das gesehen habe).



4  International / Deutsch / Re: Datenlogger bauen, aber wie? on: September 19, 2012, 02:29:31 am
Die Relais sind in digitale 2-Punktregler eingebaut, den Typ der Relais kenne ich nicht. Es geht auch nicht darum die maximale Schaltzahl in 11 Tagen zu erreichen. Ich möchte einen Test von 6-12 Stunden fahren können und 250-400 mal schalten lassen. Das Ganze am besten über Nacht und morgens dann gucken ob ein Reglerausgang eine Macke hat. 
5  International / Deutsch / Datenlogger bauen, aber wie? on: September 18, 2012, 05:26:16 pm
Ich muss einen Datenlogger bauen und weiß ehrlich gesagt gar nicht wie ich anfangen soll.

Das Ziel ist es, 20 Relais einem Dauertest zu unterziehen, wobei in einem Fehlerfall ein Log auf eine SD-Karte geschrieben werden soll.
Die Relais werden in gewissen Zeitabständen mit einer Siemens Logo ein und ausgeschaltet. Spannung an den Kontakten soll 5V sein.

Ich habe mir gedacht, ich besorge mir dieses fertige Atmega-Board:

http://www.ebay.de/itm/Arduino-compatible-Mega-2560-ATmega2560-16AU-Board-Free-USB-Cable-/230827575561?_trksid=p5197.m1992&_trkparms=aid%3D111000%26algo%3DREC.CURRENT%26ao%3D1%26asc%3D14%26meid%3D2141060091196537560%26pid%3D100015%26prg%3D1006%26rk%3D2%26

Meine 20 Signale (5V) lege ich dann z.B. an Pin 22-44 als Eingang. Ein zusätzlicher Eingang soll Signal von der Logo bekommen (z.B. Pin 45), der übermittelt,
wann die Relais ein- oder ausgeschaltet sein sollen.

Jetzt soll in gewissen Abständen verglichen werden. Pin 45 gibt das Signal vor und Pin 22-44 sollen gleich sein. Bleibt ein Relais kleben oder zieht nicht an,
soll diese Information mit Uhrzeit und Nummer des Eingangs auf eine SD-Karte hinterlegt werden.

Das Ganze soll zur stichprobenartigen Wahren-Eiganskontrolle von unseren Relais verwendet werden.

Ich hoffe, mir kann jemand ein wenig unter die Arme greifen. Fange gerade erst mit Mikrocontrollern an smiley-cry
Pages: [1]