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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.