Forum: Mikrocontroller und Digitale Elektronik Externes EEPROM auslesen Tiny 25-40


von Rico S. (donricone)


Lesenswert?

Hallo zusammen, möchte nun an mein erstes Microkontrollerprojekt gehen 
:)

Also bitte nicht zu böse :D, Aller Anfang ist schwer und Ich gebe mir 
Mühe alles nachzulesen und selber zu suchen, daher falls Standartfragen 
auftauchen doch einfach, sagen wonach ich suchen muss, oder besser einen 
Link :)

Erstmal die aktuelle Frage:

Kann ich an einem Tiny 25-40 ein externes EEPROM überhaubt über ISP 
auslesen, da sie sich ja SPI/ISP die Leitungen teilen? Vermutlich nicht. 
Geht das überhaubt?

Falls das nicht geht, welchen Controller würdet ihr Empfehlen?

Mehrere ADC Ports wären gut, zwecks Ausbaufähigkeit des Loggers
Besser großes internes EEPROM oder lieber was externes(EEPROM/SD)?

Stromverbauch spielt eingentlich keine große Rolle, bitte kein SMD, 
Platz ist da.



Das Projekt,

Ich möchte über Linearpotis Seilzugstellungen messen, ca 25x pro 
Sekunde.
Die Position ändert sich nicht 25mal pro Sekunde, aber wenn sie sich 
verändert ist entscheident wann genau im Vergleich zu den anderen 
Stellungen/Messwerten!

Ziel ist es eine Aufnahmezeit von 1 Stunde aufwärts zu realisieren.
Und die Messdaten danach am PC auswerten zu können.

Perfekt wäre das ganze natürlich gleich auf einer SD in auswertbarem 
Format, aber für den Anfang muss es das nicht unbedingt sein.

von Max H. (hartl192)


Lesenswert?

Wie viele Potis willst du messen und mit welcher Auflösung willst du die 
Messwerte speichern.

Rico S. schrieb:
> Perfekt wäre das ganze natürlich gleich auf einer SD in auswertbarem
> Format, aber für den Anfang muss es das nicht unbedingt sein.
Eine SD-Karte wäre natürlich die eleganteste Lösung, es ist aber 
kompliziert so ein File System zu verwalten, wenn du dafür Lib findest.

Nur als Beispiel zur Datenmenge 2 Potis mit 8bit:
2*25Sampel/s*8bit/Sample=400bit/s
400bit/s*3600s/h=1.44Mbit/h
Mit dem internen EEPROM hast du keine Chance, auch mit einem externen 
wird schwierig werden. Das Größte dass ich kenne ist das 25LC1024 mit 
1Mbit. Dann bleibt dir als Möglichkeit nur ein externes Flash (z.B. 
SST25VF080B mit 8Mbit im DIP-8) oder eine SD-Karte, geht beides über 
SPI. Das Flash und die SD-Karte vertragen aber nur 3.3V, du musst deinen 
µC also mit 3.3V betreiben oder einen Pegelwandler einbauen.

Edit: Man könnte die Daten auch "komprimieren", indem man sie nur in den 
Speicher schreibt wenn sie sich ändern. Dazu müsste dann noch ein 
timestamp kommen. Dann könnte man auch mit einem SPI EEPROM auskommen.

Um die Daten dann auf den PC zu übertragen sehe ich 3 Möglichkeiten:
- Auf eine SD-Karte mit File System wird z.B. ein *.txt Datei
  gespeichert
- Auf eine SD-Karte ohne File System werden die Rohdaten binär abgelegt.
  Keine Ahnung, wie man diese dann am PC ausliest, sollte aber möglich
  sein.
- Wenn du die Daten auf ein externes Flash/EEPROM schreibst würde ich
  sie dann über die serielle Schnittstelle oder mit USB-UART Adapter
  an den PC übertragen und die empfangenen Daten dann mit einem kurzen
  C-Programm in *.txt Datei Schreiben.

Hier habe ich ein Dokument zur Benutzung einer SD-Karte ohne File 
System: http://www.uni-koblenz.de/~physik/informatik/ECC/sd.pdf

Zum µC kann ich dir nichts sagen, da ich bis jetzt nur PICs verwendet 
habe.

Rico S. schrieb:
> möchte nun an mein erstes Microkontrollerprojekt gehen :)
Ist es dein erstes Projekt oder das erste Mal, dass du einen µC in der 
Hand hast. Wie sieht es mit deinem Wissen/Erfahrung mit µCs aus?

: Bearbeitet durch User
von Rico S. (donricone)


Lesenswert?

Max H. schrieb:
> Rico S. schrieb:
>> möchte nun an mein erstes Microkontrollerprojekt gehen :)
> Ist es dein erstes Projekt oder das erste Mal, dass du einen µC in der
> Hand hast. Wie sieht es mit deinem Wissen/Erfahrung mit µCs aus?

Also ist nciht der erste Kontakt mit einem AVR aber habe noch nie 
Programmiert nur gelötet und jede Menge gelesenw ie man selber 
programmiert und so, ist halt jede Menge Stoff aber so langsam wirds 
klarer, der Anfang war schwer.

Möchte auch nciht beim ersten Versuch en fertigen Logger haben, dachte 
nur ich kann ja die Bauteile die ich schlussendlich brauche auch 
bestellen. Evtl den AVR vorher schon kennen lernen bei einfacheren 
Sachen.

Denke das der Mega 168 passen würde :)

Ich bin auf die selben Datenmengen gekommen wie du, habe aber die EEPROM 
Angaben als kByte interpretiert, so geht es natürlich nicht.

von Max H. (hartl192)


Lesenswert?

Keine Ahnung wie oft sich die Werte ändern, aber wenn du nur die 
Änderungen mit Timestamp speicherst, wird das die Datenmenge deutlich 
reduzieren. Dan  wird das 1Mbit EEPROM vermutlich reichen.
Ich würde mich langsam herantasten. z.B. so: Als erstes versuchst du den 
ADC auszulesen. Wenn das klappt kannst du die Daten in Echtzeit an den 
PC übertragen und danach über SPI ins das EEPROM/Flash/SD schreiben.

Zur kommunikation mit den PC würde ich einen FT232RL empfehlen. Ist in 
SMD, aber auf eBay findet man viele fertig Aufgebaute USB-Uart Adater 
mit diesem Chip.
Bei meinem vorletzten Projekt habe ich den FT232 verwendet um Daten vom 
PC and den uC zu senden und der uC hat es dann in einem 25LC128 
gespeichert, da das interne EEPROM zu klein war.

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.