Hallo Forum! Ich möchte einen Datenlogger für mein Motorrad bauen, um im Rennstreckenbetrieb diverse Daten mittels Sensorik zu loggen und später auswerten zu können. Ich habe bereits einige Threads im Forum zu diesem Thema gefunden, weiß allerdings nicht ganz wie ich anfangen soll. Mit Mikrocontrollern habe ich im Allgemeinen auch noch keine Erfahrung. Ich habe bereits einige Tutorials gefunden: Beitrag "STM32 Tutorial" (STM32) http://www.stefanfrings.de/mikrocontroller_buch/index.html (AVR) Auf der Suche nach einem passenden Buch bin ich allerdings gescheitert, ist das Folgende evtl. empfehlenswert? Über Ratschläge wäre ich sehr dankbar. http://www.amazon.de/ARM-Cortex-M3-Mikrocontroller-Einstieg-Professional/dp/3826694759/ref=sr_1_1?ie=UTF8&qid=1430428127&sr=8-1&keywords=arm+cortex Zum Logger: Dieser soll mit einer eigenen Batterie betrieben werden und die Daten alle ~10ms auf eine SD-Karte o.ä. loggen. Ein Auslesen über USB wäre wahrscheinlich sinnvoll, um die Elektronik in einem Gehäuse verpacken zu können. Ich dachte dabei an folgende Sensoren: - IMU mit 6 Achsen - GPS - Raddrehzahl (2x) - Bremsdruck (2x) - Federweg (2x) - Lenkwinkel Das Ganze wollte ich dann über CAN realisieren, damit das System erweiterbar ist und möglichst wenig Kabel benötigt werden. Ich dachte ebenfalls daran Daten vom Motorrad abzugreifen, u.a. Motordrehzahl, Drosselklappenwinkel, habe allerdings schon gelesen, dass dies teils problematisch ist. Daher könnte ich darauf auch verzichten oder es durch extra Sensoren bewerkstelligen. Als Anfänger stellt sich mir nun die Frage, welches Board dafür geeignet ist und welche Spezifikationen der Mikrocontroller mindestens aufweisen sollte, um diese Aufgabe verrichten zu können. Während der Suche bin ich auf das Olimexino STM32 Board gestoßen, das scheinbar alles nötige an Bord hat. Reichen hier z.B. die 72Mhz oder ist der Flaschenhals eher woanders zu sehen? https://www.olimex.com/Products/Duino/STM32/OLIMEXINO-STM32/open-source-hardware Ich habe ebenfalls schon eine IMU und ein GPS-Modul rausgesucht, bin aber unsicher ob alles miteinander kompatibel ist usw. Ich wäre über eine kleine Anleitung wie ich am besten vorgehen sollte, was zu beachten ist usw. sehr dankbar. Bzw. ist das ganze Vorhaben überhaupt realistisch? Gruß
Simon P. schrieb: > Bzw. ist das ganze Vorhaben > überhaupt realistisch? Ich sage mal nein. Investiere dein Geld und deine Zeit entweder in ein fertiges System oder (besser) in einen erfahrenen Instruktor/Freund/pers. Lehrer. Daten braucht man erst in der Nähe des Grenzbereichs. Bevor man dahin kommt, braucht man viel Talent und vor allem Arbeit, Trainingsstunden. Funktioniert das Popometer nicht, helfen alle Daten dieser Welt nicht weiter. Ich weiss nicht, auf welchem Fahrerlevel du bist (selbst bin ich ein lausiger Rennfahrer, dem jeder halbwegs talentierte Jungspund um die Ohren fährt, habe aber dennoch Spass dabei), aber unterschätze nicht den Aufwand für ein solches System und vor allem überschätze nicht den Nutzen, falls es denn funktioniert.
>Mit Mikrocontrollern habe ich im Allgemeinen auch noch keine Erfahrung. Na super. Wie viele Vollpfosten kommen hier noch vorbei und denken das sie von null auf hundert mit einem zweiseitigen Tutorial kommen? >Bzw. ist das ganze Vorhaben >überhaupt realistisch? Ja, das ist realistisch. Leider nicht für dich.
Grob überschlagen brauchst du 3KByte/Sec Aufzeichnungsgeschwindigkeit. Das ist per SPI auf die SD-Karte wohl kein Problem, und für den 72 MHz STM32 erst recht nicht. Technisch ist das System wohl so in der Art machbar, der Aufwand ist allerdings beträchtlich. Ich baue derzeit mit zwei Kommilitonen ein ähnliches System aber mit etwas höheren Anforderungen (1MByte/Sec, mehr Sensoren), habe viel Mikrocontroller-Erfahrung und werde wohl einige Monate (neben dem Studium) brauchen, so als Größenordnung zur Planung.
Hallo Simon, da du noch keine Erfahrung im Programmieren hast und ich annehme, dass es mit deinen Elektronik-Kenntnissen ähnlich aussieht, möchte ich dir abbraten so ein großes Thema anzugehen. Man braucht für ein solches Projekt sehr viel Grundwissen und Erfahrung. Mangels beidem wirst du dir wahrscheinlich auf dem Weg soviel Frust einfahren, dass du irgendwann genervt aufgibst. Versuche ein fertiges System zu kaufen. Alternativ kannst du vielleicht ein Projekt suchen, das z.B. auf einem Raspberry aufsetzt und quasi schon "fertig" ist. @holger: Deinen Ton, den du hier anschlägst finde ich ziemlich asozial. Bist wohl selber nie Anfänger gewesen?
Von ElmChan und hier im Forum gibt es ja schon fertige Projekte die zyklisch irgendwelche Daten auf die SD (FAT) schreiben. Allerdings kommt dann noch die ganze Sensordaten Erfassung und Abfrage der externen Daten über eine Schnittstelle (du wolltest CAN) dazu. Evtl musst du noch eigene Platinen designen. Zumindest aber Komponenten richtig auswählen und anschließen. Für jemand der jahrelang Erfahrung im Embedded Bereich hat mit Sicherheit kein Problem, für einen Anfänger ein sinnloses unterfangen. Das wissen aufzubauen dauert Jahre!
@ crazyhorse: Danke für deinen Ratschlag. Ein fertiges System kommt für mich aus Kostengründen nicht in Frage, da lediglich bereits der Logger meist unter 1000€ nicht zu bekommen ist. Um die Rundenzeit geht es mir primär nicht, sondern um die Analyse der Daten und der Verbesserung meiner Fähigkeiten darin. @ Programmierer: Danke für die Info! Ist das Board deiner Meinung nach für dieses Unterfangen empfehlenswert oder gibt es bessere Alternativen? Warum? Bevor ich etwas bestelle, möchte ich sicher sein, dass die Hardware auch tauglich dafür ist. Mir ist klar, dass so ein Projekt nicht von heute auf morgen zu realisieren ist. Darum geht es mir auch nicht. Ich will vielmehr auf dem Weg dahin lernen, wie das Ganze funktioniert. Dass dieses Unterfangen evtl. Jahre braucht, schreckt mich nicht ab - das habe ich erwartet. Mir ist ebenfalls bewusst, dass ich erstmal sehr viel Grundlagenwissen aufbauen muss, aber genau deswegen frage ich hier nach, wie und mit welchen Quellen ich WAS am besten lernen sollte? Da ich MB studiere, habe ich "Grundlagen Elektrotechnik" gehört, glaube allerdings, dass mir das dort Gelernte nicht viel hilft. Zunächst würde ich versuchen "nur" das GPS und die IMU ans Laufen zu bekommen. Anschließend würde ich mich schrittweise an die restlichen Sensoren, CAN usw. wagen.
:
Bearbeitet durch User
Dann fang erst einmal an, eine Datei auf die SD-Karte zu schreiben und wieder mit dem PC auszulesen. Alles weitere kommt dann. Schon mal mit der Stromversorgung beschäftigt (KFZ-Anforderungen!)?
Wie oben geschrieben, habe ich bis jetzt noch keinen Mikrocontroller bestellt, da ich nicht 2x kaufen möchte. Dementsprechend kann ich auch noch nicht herumprobieren. Der Logger soll später über eine separate Batterie betrieben werden, da das Motorrad keine eigene besitzt.
Na dann los. Falls du bei bei CAN bleiben willst (was sich in dem Fall eigentlich nicht lohnt), hätte ich sogar eine passende Platine. ATMega32, Micro-SD, CAN und serielle Schnittstelle.
Simon P. schrieb: > @ Programmierer: Danke für die Info! Ist das Board deiner Meinung nach > für dieses Unterfangen empfehlenswert oder gibt es bessere Alternativen? > Warum? Praktisch an dem Board ist halt dass es bereits Batterie-Management, CAN-Transceiver und microSD-Halter besitzt. Nachteilig ist dass nur ein STM32F1 drauf ist, der alt und weniger leistungsstark ist. Alternativ könntest du zB ein STM32F4 Discovery nehmen. Das hat mehr Leistung, und dieser Controller hat ein SDIO-Interface, an dem du die SD-Karte per "SD Bus" betreiben kannst (statt SPI), was größere Geschwindigkeiten ermöglicht. Allerdings musst du den microSD-Halter sowie den CAN-Transceiver selbst dran basteln. Siehe auch zB hier ( Beitrag "Bedarf an eigenbau STM32F429 Evaluation Board ?" ), ein ähnliches Board mit microSD-Karten-Halter und viel RAM (praktisch um sehr hohe Schreibgeschwindigkeiten > ~1 MByte/Sec zu erreichen, brauchst du aber wohl nicht). Wenn du dennoch SPI verwenden möchtest, achte auf DMA-fähige Controller, da diese parallel zur normalen Programmausführung aufzeichnen können. > Bevor ich etwas bestelle, möchte ich sicher sein, dass die Hardware auch > tauglich dafür ist. Du wirst bei SO einem Projekt ohnehin einige Mikrocontroller zu viel bestellen, da beim Löten garantiert welche drauf gehen, Layout-Fehler zum Neubestellen zwingen etc. Der Preis wird aber eh gering sein im Vergleich zum Oszilloskop und/oder Logic Analyzer, Programmieradapter etc. H.Joachim Seifert schrieb: > Falls du bei bei CAN bleiben willst (was sich in dem Fall eigentlich > nicht lohnt) Warum soll sich CAN nicht lohnen? CAN ist super einfach zu benutzen und dank seiner Störsicherheit perfekt für Automobil geeignet (Überraschung, wurde auch genau dafür entwickelt). H.Joachim Seifert schrieb: > ATMega32, Micro-SD, CAN und serielle Schnittstelle. * ATmega32 hat kein DMA - doof beim Loggen von Datenmengen * ATmega32 hat keinen internen CAN-Controller, externe anzusprechen ist immer so umständlich * Da er sowieso alles von 0 lernen muss, kann er auch gleich ARM lernen
Simon P. schrieb: > - Bremsdruck (2x) > - Federweg (2x) > - Lenkwinkel diese drei Messwerte sind nur mit relaitv großem Aufwand zu erfassen. Simon P. schrieb: > Motordrehzahl, > Drosselklappenwinkel Die Motordrehzahl greift man an der Spule der Lichtmaschine ab und den Drosselklappenwinkel misst man sinnvollerweise nicht. Der Saugrohrdruck ist einfacher zu messen und aussagekräftiger, da man mit diesen beiden Messwerten direkt die abgegebene Motorleistung berechnen kann.
Schreiber schrieb: > diese drei Messwerte sind nur mit relaitv großem Aufwand zu erfassen. Quatsch. Gibts überall fertige Sensoren für (Linear/Normale Potentiometer, Drucksensor), muss man nur am ADC vom Mikrocontroller ansteuern. Ist nicht schwer, nur teuer...
@ Programmierer: Vielen Dank für die vielen, nützlichen Infos! Ich lese demnach heraus, dass der Olimexino mit dem geplanten Umfang klar kommen sollte und höchstens die Übertragung zur SD-Karte nicht die schnellste ist, aber ausreichen sollte. DMA hat der Mikrocontroller laut www.st.com ja auch. Welchen Programmieradapter bräuchte ich denn?
:
Bearbeitet durch User
S. P. schrieb: > Welchen Programmieradapter bräuchte ich denn? Da gibts natürlich wieder verschiedene zur Auswahl... Der Olimexino kann sich per Bootloader selbst programmieren, aber damit kannst du nicht debuggen, was für komplexe Projekte wie deins nicht zu empfehlen ist. Hier ( https://www.mikrocontroller.net/articles/STM32#Programmieradapter ) gibts eine Aufzählung an Debug-Adaptern. Ich kann den J-Link empfehlen, ist zwar nicht der billigste, aber dafür schnell, stabil und funktioniert unter Linux. Mit dem ST-Link hab ich nur schlechte Erfahrungen gemacht (langsam, buggy, instabil). Da die nächste Frage nach der Entwicklungsumgebung sein wird: Schau ebenfalls in den Wiki-Artikel. Ich benutze eclipse+GNU ARM eclipse Plugin+GCC.
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.