Autor | Thema |
---|---|
mattgolt
Wasserträger Registriert seit: Jul 2013 Wohnort: nähe Hamburg Verein: Beiträge: 35 Status: Offline |
Beitrag 7626633
[30. Juli 2013 um 11:35]
Zitat: Nein ganz so weit wie du bin ich noch nicht. Mein Code ist für einen Prototyp fertig geschrieben. Testen konnte ich das ganze allerdings noch nicht da mir noch der BMP085 fehlt . Ich mache mir nur Sorgen ob mein "Sicherheitsmechanismus" richtig funktionieren wird mit der Abtastrate. Eigentlich wollte ich den Fallschirm erst dann ausstoßen lassen, wenn 'aktuelle Höhe niedriger als vorherige' mehrfach (20mal?) festgestellt wurde. Das soll verhindern, dass der vermeintliche Gipfelpunkt durch Messungenauigkeiten festgestellt wird. Zum Datenlogger hab ich noch garnichts gemacht. Wie ist deiner denn aufgebaut? In einem der Bilder sehe ich ein weiteres Breakoutboard -> SD Karte? Micro SD? Bei 'ner SD gibts auch meilenweite unterschiede in der Schreibgeschwindigkeit, allerdings bezweifle ich dass ein kleiner Arduino die Schreibgeschwindigkeit einer SD ausreizen wird. Eine Idee zum Datalogger wäre: eine if-Abfrage einbauen die erst dann mit dem logging beginnt, wenn die Rakete gelandet ist. Aber dafür wird der RAM wohl kaum reichen . Hierzu eine letzte Frage: Wie groß sind denn deine logging Dateien (Größe pro Aufzeichnungsminute)? Gruß, Geändert von mattgolt am 30. Juli 2013 um 11:37 |
Oliver Arend
Administrator
Registriert seit: Aug 2000 Wohnort: Great Falls, VA, USA Verein: RMV/Solaris/AGM/TRA L1/TCV/MDRA/NOVAAR Beiträge: 8350 Status: Offline |
Beitrag 7626639
[30. Juli 2013 um 13:22]
Um das Problem mit der Auslösung zu vermeiden, kannst Du die Daten ja entsprechend intern filtern, das kann man auch nicht besonders rechenintensiv gestalten. Louis Schreyer (lschreyer hier im Forum) hat das beim Altimax umgesetzt, und hatte dabei m.W. Unterstützung von Andreas Müller aus der Schweiz. Ich habe da auch mal ein Paper zu gesehen, die Seite ist zz. aber nicht erreichbar. Vielleicht kann Louis Dir weiterhelfen.
Oliver |
thomasm
Epoxy-Meister Registriert seit: Jun 2013 Wohnort: Mechernich Verein: AGM TRA Beiträge: 464 Status: Offline |
Beitrag 7626640
[30. Juli 2013 um 13:48]
Der BMP hat ein conversion time von >4ms, das reicht problemlos aus um die Daten auf SD zu schreiben.
Die Schreibraten der SDs sind nicht so wichtig, weil der Arduino sowieso den SPI modus nutzt. Entscheidend für das schreiben von kleinen Datenmengen ist vielmehr die Latency der SD Karte. Zum Thema Kalman Filter: KalmanApogee.pdf KalmanApogeeII.pdf Du kannst dir auch ansehen wie das beim Telemetrum realisiert ist, das ist ja open source. Geändert von thomasm am 30. Juli 2013 um 13:55 |
Oliver Arend
Administrator
Registriert seit: Aug 2000 Wohnort: Great Falls, VA, USA Verein: RMV/Solaris/AGM/TRA L1/TCV/MDRA/NOVAAR Beiträge: 8350 Status: Offline |
Beitrag 7626655
[30. Juli 2013 um 17:26]
Hier noch mehr zum Thema Kalman-Filter:
http://eurocketry.org/forum/german/viewtopic.php?t=814 (bin mir gerade nicht sicher, ob man das auch ohne Anmeldung anschauen kann) Oliver |
mattgolt
Wasserträger Registriert seit: Jul 2013 Wohnort: nähe Hamburg Verein: Beiträge: 35 Status: Offline |
Beitrag 7626656
[30. Juli 2013 um 17:46]
Zitat: geht nicht |
Philipp
Epoxy-Meister Registriert seit: Aug 2002 Wohnort: Hamburg Verein: / Beiträge: 276 Status: Offline |
Beitrag 7626658
[30. Juli 2013 um 20:22]
Danke für den Tipp den gleitenden Durchschnitt zu umgehen Oliver!
Ich habe die Aufnahmefrequenz nun erhöht, die Höhe über 13 Punkte hinweg gemittelt und dann nochmal mit dx/dt die Geschwindigkeit berechnet. Der Start heute war sehr gut und die höherfrequente Datenaufnahme hat dank einer neuen SD-Karte auch super geklappt. Zitat: Ich benutze eine SD-Karte für den jetzigen prototypen. Der nächste schritt wäre dann einen Altimeter für 25mm Raketen zu bauen, wo dann eine micro-SD eingebaut wird. Die loggingdateien sind im format *.csv und sind wenige Bytes groß. meine website: www.hh-raketen.npage.de Vielleicht gibt es tatsächlich nichts, was ein Mensch, wenn er nur all seine Kräfte auf ein einziges Ziel richtet, nicht fertigbrächte. (Ogai Mori Rintaro *1862 - 1922*) |
Leo_N
Epoxy-Meister Registriert seit: Jul 2003 Wohnort: Nähe Nürnberg Verein: ROSCO SC USA Beiträge: 270 Status: Offline |
Beitrag 7626659
[30. Juli 2013 um 20:50]
Glückwunsch. Das schaut schon mal ganz gut aus.
|
mattgolt
Wasserträger Registriert seit: Jul 2013 Wohnort: nähe Hamburg Verein: Beiträge: 35 Status: Offline |
Beitrag 7626660
[30. Juli 2013 um 22:21]
Zitat: Dann werden unsere Altimeter sich wohl sehr sehr ähnlich sehen , außer dass bei mir noch ein Servo mit dran hängt. Bei wenigen Bytes an Loggingdaten ließe sich doch auch der onboard EEPROM Speicher nutzen. Klar, dadurch wird zwar das Übertragen auf den Computer schwieriger. Aaaaaber es wird doch kompakter. *EEPROM auf to-do liste kritzel* Wie erstellst du die Graphen? Im Nachhinein mit einem Tabellenkalkulationsprogramm das zu machen erscheint mir ein wenig zu einfach. Total genial wär's natürlich wenn für jeden Flug eine logdatei Tabelle sowie ein Graph auf dem Speicher erzeugt wird |
Philipp
Epoxy-Meister Registriert seit: Aug 2002 Wohnort: Hamburg Verein: / Beiträge: 276 Status: Offline |
Beitrag 7626666
[31. Juli 2013 um 12:49]
Zitat: Meines Wissens nach speichert der EEPROM nur den zuletzt abgelegten wert, sodass dieser beim erneuten Anschalten des Arduinos wieder vorliegt. Ich habe aus Gewichtsgründen auch schon viel darüber nachgedacht die Daten direkt onboard abzulegen, dennoch bin ich eher für eine SD-Karte. Zitat: Es gibt die Möglichkeit ein Skript zu schreiben, das dir die Daten automatisch in eine Exceltabelle oder ein Ähnliches Datenverarbeitungsprogramm schreibt und den Graphen nach Wunsch formatiert. Das kannst du machen wie du willst. Zitat: Danke Leider sind die Motoren momentan noch zu schwach, aber mir den D9 von Klima im 18mm-gehäuse wird die 100m-Marke wohl endlich geknackt meine website: www.hh-raketen.npage.de Vielleicht gibt es tatsächlich nichts, was ein Mensch, wenn er nur all seine Kräfte auf ein einziges Ziel richtet, nicht fertigbrächte. (Ogai Mori Rintaro *1862 - 1922*) |
mattgolt
Wasserträger Registriert seit: Jul 2013 Wohnort: nähe Hamburg Verein: Beiträge: 35 Status: Offline |
Beitrag 7626671
[31. Juli 2013 um 15:34]
Zitat: Nein, den EEPROM kannst du selber ansprechen so wie du willst und somit daten da speichern wo du willst. Siehe http://arduino.cc/en/Tutorial/EEPROMWrite Mittlerweile bin ich von der EEPROM Idee aber schon wieder abgekommen weil: - 1024 Bytes ist nicht besonders viel - Pro Byte kann ein Messwert zwischen 0 und 255 gespeichert werden. D.h. man kann seine Höhe in ein Integer konvertieren und dann speichern. Dann ist aber bei einer Höhe von 255 schluss. Möchte man eine höhere Genauigkeit (Nachkommastellen) oder grössere Werte speichern muss man pro Messwert mehr Bytes opfern. Desweiteren habe ich mich nochmal zum thema SD geschwindigkeit schlau gemacht: Eine SD Karte kann Latenz von bis zu 250ms pro Byte haben . Der EEPROM hat beispielsweise eine Schreiblatenz von nur 3,3ms. Abhilfe würde ein Puffer schaffen: EEPROM mit 512 bytes (ein SD-Block ) beschreiben -> wenn EEPROM voll ->diesen Block im ganzen auf die SD schreiben. Dadurch sollte man höhere Schreibraten erreichen. Das ganze ist noch nicht ganz durchdacht und auch noch nicht getestet. Dafür ist mein Code (ohne Datalogger) gestern Abend fertig geworden . Inkl. Maximalhöhe beepen. Jetzt muss ich's nurnoch Testen, und dafür fehlt mir immernoch der BMP085. Ich werd bei Zeiten ein neues Thema zu meinem Projekt eröffnen da ich den code quelloffen machen möchte. Gruß, Geändert von mattgolt am 31. Juli 2013 um 15:36 |