Forum: Mikrocontroller und Digitale Elektronik Datenlogger für Motorrad


von S. P. (sp100)


Lesenswert?

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ß

von H.Joachim S. (crazyhorse)


Lesenswert?

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.

von holger (Gast)


Lesenswert?

>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.

von Programmierer (Gast)


Lesenswert?

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.

von Epoxyd H. (fr4)


Lesenswert?

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 Frank (Gast)


Lesenswert?

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!

von S. P. (sp100)


Lesenswert?

@ 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
von Pete K. (pete77)


Lesenswert?

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!)?

von S. P. (sp100)


Lesenswert?

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.

von H.Joachim S. (crazyhorse)


Angehängte Dateien:

Lesenswert?

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.

von Programmierer (Gast)


Lesenswert?

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

von Schreiber (Gast)


Lesenswert?

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.

von Programmierer (Gast)


Lesenswert?

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...

von S. P. (sp100)


Lesenswert?

@ 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
von Programmierer (Gast)


Lesenswert?

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