PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datenerfassung



Philipp83
19.05.2006, 13:49
Hallo Leute! Endlich Wochenende :-)

Habe unser altes quitschendes Hamsterrad mittels Kugellager modernisiert,
ist nun fast lautlos und man kann nebenbei wieder fernseh gucken :-).
Dann habe ich noch mittels atmega16 + Sensor + Lcd einen Tacho gebaut,
der die momentane Geschwindigkeit des Hamster`s (auf 0.01km/h genau)
und die gesamt gelaufenen Meter auf dem Lcd ausgibt.

Hätte vorher nie gedacht das ein Hamster 6513m (sein bisheriger rekord)
in einer Nacht läuft.
Die Höchstgeschwindigkeit beträgt 4430 m/Std. Aber das nur bei kurzen Sprints.

So, jetzt hätte ich noch gern eine Statistik über das Laufverhalten :-)

Frage : Sind die 16kb beim atmega16 nur für`s Programm selbst,
oder kann ich den restlichen Platz für diese "Messdaten " nehmen?
Oder kann ich nur die 512Bytes EEPROM dafür nutzen?


mfg, Philipp

BiGF00T
19.05.2006, 13:51
Gibts davon Bilder und Videos? (Sorry, zum wirklichen Thema kann ich leider nichts beitragen...)

ogni42
19.05.2006, 13:52
Theoretisch kannst Du das restliche Flash auch benutzen, musst aber dabei bedenken, dass das Flash wesentlich weniger Schreibzyklen verträgt als ein EEPROM.

Besser wäre es sicherlich ein externe I2C EEPROM (gibts ja bis 64k) anzuschliessen.

Philipp83
19.05.2006, 14:11
Hmm...

Das mit dem externen EEPROM ist keine schlechte Idee, vorallem brauche
ich ja ne menge Platz wenn ich jede Stunde einen Wert abspeichere und
nicht jede Woche die Daten auf den PC übertragen möchte.
Das ganze übertragen auf das EEPROM sollte den Ablauf nach möglichkeit nicht
länger als 1-10ms stören. Wie lange dauert es denn zwei Byte`s auf`s EEPROM
zu schreiben?



Bilder gibts derzeit noch keine davon, aber wenn ich das Endgültige Gehäuse
dafür gebaut habe, poste ich diese gern.

ogni42
19.05.2006, 15:03
Das sind zwei I2C Transfers. Müsste (hab nicht nachgeschaut) im Datenblatt herauszufinden sein.

EDIT: I2C kann 100kbit/s im Standard-Modus. Daumen-Rechnung: 2*16Bit Adressen, 2*8bit Daten geht dann in <500us.

RHS
19.05.2006, 19:26
@Philipp83,

welchen Sensor benutzt Du denn für das Hamsterrad?

Ich könnte mir zumindest vorstellen, das durch das Prellen eines
Kontaktes mehr Umdrehungen gemessen werden, als der Hamster
wirklich rennt.

Philipp83
19.05.2006, 20:08
:-) Ne ne, also das Prellen des Reedkontaktes wird schon berücksichtigt.
Die Entprellroutine ist zusätzlich so konzipiert, das sie die Messung
der Zeit pro Umdrehung (es wird jede verstrichene ms gemessen) nicht verfälscht.
Habe das ganze natürlich auch durch drehen am Rad getestet.
Es funktioniert super: Es wird wirklich nur jeder Meter gezählt.
Wäre das Prellen nicht mit einbezogen, würde der aktuelle Speed
auch nur falsche Werte ausgeben.

Hätte auch nicht gedacht das er 6513m (rekord) in einer Nacht rennt.
Heute Nacht waren es auch "nur" 4987m.
Wenn ich das in einem Thread gelesen hätte, würde ich wahrscheinlich
auch erstmal auf verschiedene Dinge aufmerksam machen und auf
einen Programmfehler tippen.


mfg, Philipp

stochri
19.05.2006, 20:25
Hätte auch nicht gedacht das er 6513m (rekord) in einer Nacht rennt.
Heute Nacht waren es auch "nur" 4987m.

Der Hamster wollte am Anfang bestimmt nur die neue Elektronik ausprobieren. =P~

Da fällt mir ein: Für Leute ohne MC-Erfahrung würde sich ja vielleicht auch ein Fahrradtacho vom Aldi für 3.99€ Anbieten.

Ansonsten:
Wenn Du Dir ein AVR-Butterfly besorgen würdest, wäre das Probelm gelöst: Das Board hat ein Zusatzflash mit 256kB.

Gruss,
stochri

stochri
19.05.2006, 20:26
Hätte auch nicht gedacht das er 6513m (rekord) in einer Nacht rennt.
Heute Nacht waren es auch "nur" 4987m.

Der Hamster wollte am Anfang bestimmt nur die neue Elektronik ausprobieren. =P~

Da fällt mir ein: Für Leute ohne MC-Erfahrung würde sich ja vielleicht auch ein Fahrradtacho vom Aldi für 3.99€ Anbieten.

Ansonsten:
Wenn Du Dir ein AVR-Butterfly besorgen würdest, wäre das Probelm gelöst: Das Board hat ein Zusatzflash mit 256kB.

Gruss,
stochri

izaseba
19.05.2006, 20:29
Hallo Philipp,

Respekt !
Ich hab mich gerade fast weggeschmissen, eine super Idee mit dem Tacho!
Du könntest auch einen SD-Karte für die Daten benutzen, schau mal bei www.ulrichradig.de vorbei, dort sind ein paar brauchbare Beispiele zu finden ( vorausgesetzt Du Programmiert in C )

Gruß Sebastian

Philipp83
19.05.2006, 20:34
Kann man bei einem Fahrradtacho denn auch so kleine Durchmesser einstellen?


Aber nochmal zum Thema:

Gibt es gute Lösungen für die Fall- und Rise Zeiten der SCL und SDA Signale?
Oder muss ich mir dafür wieder selbst was "zusammenschustern" :-)


Wie ist denn das mit der Ansteuerung von Sd karten?
Kennt sich damit jemand aus oder kennt eine gute Seite (ausser der oben angegebenen)?
Ich finde im Netz immer nur fertige lib`s zum einbinden, wodurch ich
aber erstens nix lerne und zweitens mein progg nicht mehr genau kenne.
Wäre mal interessant zu wissen wie die dinger so Schritt für Schritt
angesteuert werden.
Nicht zu vergessen ist der enorme Platz den diese bieten.
Ausserdem könnte ich nen Slot an den Tacho bauen um zum auslesen
nicht immer das Gerät bewegen und anschliessen zu müssen.
Ich denke es wäre die Optimale Lösung!


PS: Ich programmiere in Assembler