Hallo Ich würde gerne einen Datenlogger bauen. Sinn sollte sein das die daten auch nach stromausfall noch vorhanden sind. Abgelegt sollen vier eingangs kanäle werden. Alle 4 sollen als impulseingänge behandelt werden (zahl summiert sich) (Alle vier sollen Impulszähler sein) Optimal währe ein Eintrag von uhrzeit, datum und Impulsanzahl) nur einen Speichereintrag machen wenn auch ein High pegel da ist. Ausglesen soll das ergebnis über RS232 werden. Ausgelesen wird es mindestens einmal die woche wobei maximal 800 impulse in der woche kommen würden. HILFE Gibt es Irgendwo schon so ein Projekt oder hat jemand eine Idee Wie man das beginnen sollte. Welcher AVR währe optimal ? P.S. Programieren kann ich nur mit Bascom Vielen dank Gruß Stefan
hallo reichen sollte ein mega8 speichern am besten in einem externen speicher flash rom.. oder in einer mmc karte, diese du dann auslesen kannst.. um die uhrzeit aktuell halten zu koennen ein dcf modul, oder uhrenquarz am TOSc1 / TOSc2 dann aber einen µC der die Pins nicht doppelt belegt hat oder einen externen taktgeber aufbauen Gruss Jens
Hallo Stefan, verstehe ich das richtig: Du brauchst einfach vier 16Bit-Zähler, die zusammen mit der Uhrzeit bei einem Stromausfall gespeichert werden? Wenn die Daten ausgelesen wurden, dann kann der Zähler wieder auf 0 gesetzt werden? Da würde ich einen Mega8 vorschlagen, Du brauchst aber keinen externen Speicher, dafür genügt das interne EEPROM. Die Uhr würde ich intern laufen lassen, Du brauchst allerdings dann eben eine Stromversorgung, die auch bei Stromausfall läuft. Als Quarz würde ich keinen Uhrenquarz nehmen, weil damit vermutlich die serielle Schnittstelle nicht mehr vernünftig läuft. Markus
Nachtrag: Das mit dem internen EEPROM ist doch keine gute Idee, weil die nur 100.000 Schreibzyklen abkönnen, d.h. es würde nur etwa 100 Wochen funktionieren. In diesem Fall würde ich ein externes EEPROM mit höherer Lebensdauer oder ein FRAM (z.B. FM24C16) empfehlen (beide per I2C angesteuert). Alternativ gibts auch Uhren-ICs, die internes RAM haben, z.B. der PCF8583 von Philips. Markus
Die 100000 Schreibzyklen stehen im Datenblatt. In der Praxis ist oft wesentlich mehr möglich. Außerdem könnte man nach jedem Auslesen eine andere Adresse im EEPROM verwenden. Für die 4 16bit-Zähler brauchst du 8 byte. Das passt 63x in das EEPROM eines atmega8 (Am Anfang des EEPROMS steht die aktuelle Adresse der Daten). Wenn man jetzt von 800 Schreibvorgängen/Woche ausgeht, dann hält das EEPROM mindestens 100000/800*63=7875 Wochen (ca. 150 Jahre). Durch geschikte Programmierung kann man also das Problem der begrenzten Lebensdauer des EEPROMS umgehen.
Hm - wenn du zu jedem Impuls aber Datum und Uhrzeit speichern willst, geht das mit deiner Rechnung nicht auf. Dann kriegst du das nicht mal mehr in den Speicher des AVR rein. Ich würde gleich auf MC gehen. Ist einfach und lässt sich dann auch gleich am PC einlesen. Kommt allerdings auf die Anwendung an (wenn das etwas ist, was nur ein paar Wochen zum testen läuft - dann würde ich den Aufwand natrülich nicht betreiben). Grüße Steffen
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.