Hallo, wir suchen ein paar Anregungen, Hilfestellungen, Adressen um bei einer Programmierung weiterzukommen. Ich stelle mal 2 Versionen "online" die Kurzinformation und die längere Geschichte. Lange Version: Wir sind eine Projektlaborgruppe im Studienfach Physik, die soweit es ihre freizeit zulässt neben den "standardversuchen" ein gesammtprojekt verfolgen will: Bau einer Wasserrakete. Ziel ist es mittels eines Microkontrollers (Attinity 85) eine Flugbahn aufzuzeichnen. Das "Herzstück" der Rakete, 2 Beschleunigungsensoren sind schon fertig und funktionieren (ADXL 321 in einem Furchtbaren SMD Format). Diese geben von 0 bis 3,3v die Beschleunigung aus. Das ungedachte Problem ist allerdings die Programmierung. Ich der diesen Beitrag schreibe habe leider noch überhaupt keine tiefergehende ahnung, nur von ein paar Versuchen mit einem Asuro. In unserer Gruppe sind allerdings ein paar fittere Programmierer die (kann man sie dann noch fit nennen?) noch nicht mit C bzw den Atmegas gearbeitet haben. Jedenfalls haben wir uns die Problematik viel viel einfacher Vorgestellt (vielleicht eine Arbeit von 12h sich so weit in die Materie einzulesen wie nötig ist). Allerdings sind die bisherigen Versuche ziemlich missglückt, und ich vermute auch, dass es keinen Sinn macht, das von uns bisher vorhandene Programm solange zu debuggen, bis es "irgendwie" funktioniert. Wir wollen eigentlich nichts mehr, als den Analogen Spannungswert des Sensors in den ROM (oder noch besser in den Programmflashbereich zu schreiben) Nun wäre es toll ein paar Beispielsprogramme zu bekommen. Denn dieses Einsatzgebiet ist doch sicher nicht neu. Kurzversion: Wir wollen probieren mit einem ATinity85 als Logger des analogen Eingangs zu verwenden und suchen (da wir nicht sehr erfahren sind) nach Beispielsprogrammen, bzw. hilfreiche Links. (Ja ich weiß, mit 512Byte bekommt man nicht wirklich viele Werte gespeichert, aber die Raketenbrenndauer liegt unter 1sec) Ich hoffe die Fragen sind für euch nicht viel zu ungenau, jeder Anfang ist schwer und wenn ein "gesammtes" Projekt dahintersteht ist der Ansporn umso größer dies zu schaffen.
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC http://www.mikrocontroller.net/articles/AVR-Tutorial:_Speicher http://www.mikrocontroller.net/articles/AVR-Tutorial:UART:GCC Beitrag "Datenrekorder auf SD-Karte mit mega88"
Hi Stefan, deine Beschleunigungssensoren kannst du mit dem internen ADC quantisieren. 8Bit sollten vielleicht zu Beginn reichen. Diese schreibst du in den RAM. Warum nicht ROM? Weil dieser sehr Begrenzt ist (RAM kann durch externen RAM erweitert werden) und dieser sehr Begrenzte Schreibzyklen zulässt. Der Nachteil ist, das die Daten ausgelesen werden müssen, bevor die Spannungsversorgung unterbrochen wird. Das ist vielleicht nicht unbedingt praktisch in eurem Fall. Hier würde ich eher zu einem externen Flash-Speicher mit SPI-Interface gehen und die Daten ablegen. Das Programm an sich ist dann eher simpel. 0:Initialisierung(PORTS/ADC/Startspeicheradresse laden) 1: ADC1 auslesen -> Wert an Adresse schreiben 2: ADC2 auslesen -> Wert an Adresse+1 schreiben 3: Delayzeit 4: Adresse+1 5: Beginne wieder bei 1. Gruß Alexander
>Zeitstempel unbedingt mit wegschreiben!
Ist nicht nötig. Wenn mit einem Timer gearbeitet wird, kann der Zeitwert
jedes Samples bestimmt werden.
Hey, schon mal gut, dass sich ein paar dafür interessieren. Also das Problem ist an sich auch nicht die Idee (also in welche Reihenfolge was etwa geschehen muss), sondern die Sprache an sich. Daher auch die Suche nach den Beispielprogrammen. Ich bin durch Zufall einer "quick and dirty" lösung etwas näher gekommen, mein Mitbewohner hat ein Arduino board, dass mit einem Beispielsprogramm (das allerdings schon eine riesige Bilbliothek von Befehlen mit sich brachte). Damit bekomme ich es hin, werte in den ROM zu schreiben und anschließend mit einem anderen Beispielsprogramm wieder auszulesen. Was mir daran nicht gefällt, ist dass das Board sehr groß ist und das Auslesen ewig dauert, ich keinen überblick habe wo ich die Interne Referenzspannung auf 3,3V umschalte usw. (d.h. die Software läuft, ich weiß aber nicht ganz wie sie funktioniert.). Toll ist, dass das Board mit festem Takt läuft, sodass man Zeiten in ms im Programmcode angeben kann. Im Projektlabor Programmieren wir mit Win AVR und einem STK 500 board. Das Problem ist gerade, dass ich wie schon erwähnt nicht der kompetenteste in den Angelegenheiten ist und sich sicherlich noch Pavel hier im laufe des Tages melden wird. Eine Skizze: Die Rakete ist noch nicht fertig gebaut, morgen wollen wir erstmal Fesselflugübungen machen. Letztendlich ist es nichts weiter als eine mit 500ml Wasser gefüllte Colaflasche die mittels Luftpumpe auf 6-10bar gebracht wird. Es werden Kurzzeitig sicherlich fast über 18G erreicht werden. Ich weiß, dass es nicht schön ist den Chip so "abnutzen" zu lassen, aber im RAM ist die Sache schon zu heikel und genauso rätzelhaft wie wir die Daten dann rausbekommen sollen? (was passiert wenn beim Aufprall die Stromversorgung kurzzeitig weg ist usw...) Ihr seht, wir sind absolute Anfänger. Und um die Links die oben genannt werden richtig zu verstehen wird es wohl noch Wochen dauern. Ich kenne es leider sehr gut wie oft man in einem Forum gegen das "Hey ich hab zwar keine Ahnung, aber was ihr macht ist klasse und könnt ihr mir mal was basteln, danach werdet ihr mich nicht wiedersehen" kämpft. Aber vielleicht hat jemand noch auf seinem Rechner solche Programme, die er einfach mal vergeben kann. Das mit der SD Karte, wie ich es mal in der CT gesehen habe ist ja ein totaler overkill ;-(. Eigentlich wären schon 512 Sinnvolle bytes etwas. Ein Bild kannst du hier finden: http://upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Wasserrakete.jpg/100px-Wasserrakete.jpg
Die Beschleunigung ist für den Chip Pippifax, problematisch sind eventuelle Steckverbindungen u.ä. so zum Beispiel die Anbindung der Batterie. Auf jeden Fall sollte die Elektronik möglichst klein sein und alle Verbindungen gelötet. Habt Ihr mal nachgesehen was die Modellraketenleute so verwenden? Da gibt es diverse Bausätze u.ä. für solche Anwendungen.
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.