Hallo zusammen
Ich möchte gleich eines vorweg nehmen ja die Suchfunktion hab ich schon
gequält nur gefunden habe ich dabei nix...
Also zum thema :-)
ich möchte für den "semi-Professionellen" Motorsport einen Datenlogger
bauen der nicht am Can-Bus hängt sondern vollständig autark mit eigenen
Sensoren läuft.
die Messwerte sollen alle 10ms aufgezeichnet werden wobei es mir hier
nicht um geschwindigkeitswerte oder die suche nachdem "optimalen"
bremspunkt geht.
sondern um Performance werte vom Auto selber.
z.B. wie hat sich die Öltemperatur verhalten ... war der Öldruck
konstant ... was waren die Peak werte vom ladedruck ... wie hoch war die
Bremsen Temperatur... USW...
der Logger muss kein LCD besitzen und ein Live-Monitoring System ist
auch nicht angedacht.
was den Programmiercode angeht bin ich relativ flexibel. am liebsten
währe mir allerdings C oder Basic...
die auswerte Software wird auf XML aufbauen ... da ich hier schon etwas
Ähnliches geschrieben habe...
das Problem für mich ist eher der Hardware Sektor die Auswahl an
vorgefertigten Boards ist echt erschlagend ... ich bin mit
Microcontrollern nicht wirklich sehr vertraut muss ich gleich
vorwegschicken...
es werden insgesamt ca. 17 Sensoren sein und ich hab noch kein Board
gesehen was diese Menge an Sensoren packt … es handelt sich hierbei um
Analoge Sensoren …
1x Wassertemp.
1x Öltemp.
1x Öldruck
1x Abgastemp.
2xAnsaugluft Temp.
4xBremsen Temp.
1x Lambda (Breitbandlambda)
1x Klopfsensor
1xLadedruck
4x Einspritzdüsen (Duty Cycle > Auslastung)
Die Daten werden nach jedem lauf ausgelesen und dann erst ausgewertet …
also wie gesagt nix on the run…
Hat jemand eine Idee welche Hardware ich hier am besten verwenden könnte
Mir war eine Micro SPS im sinne da die am meisten Eingänge besitzt …
nach dem ich relativ viele Sensoren auswerten möchte würde mir das
entgegen kommen.
Was noch wichtig ist eine speicher Funktion auf SD oder ähnliches muss
nicht sein währe aber toll weil da am meisten Speicher Kapazität
vorhanden ist. (bin nicht so der EEPROM speicher Fan)
Währe schön wenn mir jemand Empfehlungen oder Tipps geben kann welche
Hardware da am sinnvollsten währe
gruß
philipp
Ich spiele auch mit dem Gedanken für den gleichen Einsatzzweck nen
Logger zu bauen. Allerdings genau für die Daten, die du nicht messen
willst, sprich die optimale Linie und die optimalen Bremspunkte :-)
Nach langem überlegen bin ich mir noch nicht sicher ob ich jetzt
tatsächlich Bock drauf hab so ein Ding zu bauen. Du hast da nen ganzen
Berg an Sensoren. Viele analog, manche digital, manche ganz was anderes,
welche ganz vorne im Auto, welche ganz hinten. Wenn man das
zusammenfasst gibts ein dickes Bündel Kabel.
Da stellt sich dann erst mal die Frage: Will ich jetzt die Werte vom
Drosseklappenpoti von 0-3V mit 12 Bit abtasten und dann quer durchs Auto
übertragen? Oder bau ich vor Ort nen Verstärker hin? Oder doch lieber
mit nem Bus? Was für ein Signal liefert überhaupt die Einspritzdüse und
wie messe ich das? ...
Lange Rede kurzer Sinn: Ich glaube am wichtigsten ist sich erst mal über
das Umfeld klar zu werden, was die Sensoren liefern, wie ich das messe
und wie ich das zum Logger bringe. Dann kann man anfangen, die ganzen
Sachen versuchsweise zu messen. Wenn das aufnehmen der Werte
funktioniert kann man anfangen sich zu überlegen, wie denn der
eigentliche Logger beschaffen sein soll.
Ich bin bis jetzt noch nicht über den ersten Punkt hinausgekommen. Je
länger ich mir das überlege, umso mehr fürchte ich dass das ganze System
auf ein CAN Netzwerk mit dezentralen Sensoren rausläuft. Jedenfalls wenn
man eine vernünftige und flexible Lösung haben will. An dem Punkt bin
ich mir nicht ganz sicher, ob ich mir so eine komplexe Entwicklung als
Feierabendbetätigung ans Bein binden will...
So, viel geschrieben aber deine Frage nicht beantwortet. Ohne die oben
beschriebenen grundlegenden Entscheidungen und Erkenntnisse denke ich
dass es an dieser Stelle noch nicht möglich ist, eine sinnvolle
Empfehlung abzugeben. Ich habe mir zwar ein paar Gedanken gemacht was
für ein System ich benutzen will, die sind aber mittlerweile alle über
den Haufen geworfen. Mittlerweile überlege ich, einen günstigen CAN
Logger zu kaufen und die ganze Sensorik drumrum selbst zu entwickeln.
Womit dann nur noch das Problem "günstiger CAN Logger" zu lösen wäre...
Interessantes Projekt.
Ich entwickle in meiner Freizeit an etwas ähnlichem.
Wie Gast (Gast) bereits geschrieben hat, ist das allerdings sehr
komplex.
Es steht und fällt alles mit einem geeigneten Konzept.
Als Schwierigkeit kommt das ebenfalls von ihm erwähnte Problem der
Datenübertragung hinzu.
Alle proffesionellen Systeme, von denen ich bisher gelesen habe, setzen
dabei auf den CAN Bus um die Daten zum Logger zu schaufeln.
Mein Konzept geht noch ein wenig weiter: Ich entwerfe für jede mögliche
Aufgabe (z.B. GPS, ODB2, IMU, CAN, ...) ersteinmal ein USB-Gerät. Dieses
wird dann am PC entwickelt und getestet. Wenns fertig ist ( was sehr,
sehr lange dauern kann) kann ich das Gerät dann entweder auf meinem
Arbeitstisch, mit nem Netbook von Unterwegs oder mit nem robusten
embedded System fest im Auto verbaut betreiben.
Um dir ein Gefühl für die Komlexität zu geben:
Ich habe vor nem dreiviertel Jahr mit einem CAN Gerät und einem
differentiellem GPS System angefangen und habe bisher gerade mal die
erste Version der Platinen sowie ganz schlimm gefrickelte Test Software
fertig.
Konkret für dein Projekt würde ich dir empfehlen ein verteiltes System
aufzubauen. Sprich z.B. ein ARM7 oder ARM9 als zentrale Logging Einheit
und verschiedene über CAN oder RS232 oder RS458 angeschlossene µCs, die
die eingentlichen Messaufgaben erledigen.
Als Speichermedium würde ich dir SD-Karte oder USB Stick empfehlen.
Falls du kein Betriebssystem auf der Loggingeinheit verwenden möchtest
könntest du z.B. den Vinculum USB Host chip nehmen um USB-Sticks
anzusprechen.
Ich würde auch die einzelnen Sensoren je nah am Sensor mit einem kleinen
µC erfassen. Der Presi von etwa 1€/Controller wird gegenüber den
Sensoren wohl nicht soooo ins Gewicht fallen und man kann dann danach
auf was Serielles gehen. Spart Leitungen und falls ein Sensor ausfällt
legt der nicht das ganze System lahm. Wenn ein Sensor dann doch mal
Ausgetauscht werden muß braucht auch nicht das komplete System
umgestellt oder angepaßt werden.
Danke erstmal für die vielen antworten :-)
das ist echt ein super Forum muss man gleich mal dazu sagen...
Über die Komplexität bin ich mir wohl bewusst aber daran sollte es nicht
scheitern.
wie anfangs schon gesagt möchte erstmal auf ein CAN Bus System
verzichten ... nachträglich ist alles möglich.
Mich beschäftigt eigentlich nur die Frage WIE ich das ganze angehe
momentan bin ich erstmal mit der Sensorauswahl beschäftigt:
da steht immer noch die Frage im raum
Digital oder Analog
persönlich tendiere ich zu analog wobei digitale Sensoren auch ihre
Vorteile haben und nicht so störanfällig sind
allerdings muss ich mir auch Gedanken machen wo ich die Sachen her
bekomme
momentan sieht’s so aus das ich entweder bei BOSCH oder VDO meine
Sensoren bestelle liegt daran das dies die verbreitetsten Sensoren im
automobil Bereich sind und auch die robustesten...
die zweite ungeklärte Frage ist
wie ich das Board auf baue
ob ich was vorgefertigtes nehmen kann (was zeit sparen würde)
oder ob ich selber rann muss also ne eigene Platine mache
kann ja für den anfang ne stink normale Lochplatte sein zum Testen
sollte das eigentlich genügen...
die nächste Frage die im Raum steht welchen Controller nehm ich am
besten
ich denke mit nem ATmega kann ich nix falsch machen gerade weil er sich
einfach programmieren lässt und weil es schon Haufen weise Codes dafür
gibt...
jedoch weis ich nicht wie ich das ganze mit der SD Karte und dem USB
Anschluss realisieren kann ... (da währe mir was vorgefertigtes wieder
recht > hält den Verschleiß an nerven geringer :-) )
was auch ne Möglichkeit währe ist das ich ein Board für die Messwert
Erfassung mache und ein anderes dann für die Speicherung auf die SD
karte verwende...
ich hoffe ihr könnt mir ein wenig weiter helfen. und mir ein paar Tipps
geben
Gruß
philipp
@peterguy:
Das Konzept hört sich auch sehr interessant an. Da könnte man dann
einfach ein kleines Linux-Board nehmen und nen USB Hub dranhängen. Hast
du Erfahrungswerte, wie gut USB im Auto funktioniert? Hast du Interesse
daran, die Arbeit eventuell aufzuteilen? Dein Ansatz wäre ja sehr gut
dafür geeignet.
Für mich wäre am Anfang erst mal ein GPS und eine IMU interessant,
zusammen mit einer kleinen Anzahl analoger Sensoren (Drosselklappe, evtl
Bremsdruck und Drehzahl).
Wie hast du denn DGPS implementiert, machst du das mit nem
Echtzeit-Datenlink für die Korrekturdaten oder im Postprocessing?
@Philipp
Das Problem der Sensoren wird sich so nicht stellen. Wenn du z.B. den
Ladedruck oder die Öltemp messen willst, bleibt dir vermutlich nichts
anderes übrig als die Sensoren zu nehmen die du kriegst. Für die Öltemp
ist das einfach ein NTC. Wenn der nur für dein System da ist, kannst du
einfach genügend Strom drüberwuchten und das Signal glätten, damit
solltest du recht gute Werte kriegen. Schwieriger wird es wenn du schon
vorhandene Signale hochohmig abgreifen willst, z.B. die Spannung am
Drosselklappenpoti, das ja erst mal fürs Motorsteuergerät wichtig ist
und somit auch nicht geändert werden sollte. Da wird dir vermutlich
nicht viel anderes übrig bleiben als das vor Ort aufzubereiten und dann
entweder niederohmig analog oder digital zu übertragen.
Daher mein Vorschlag: Erst schauen was du für Sensoren kriegst (Am
kompliziertesten werden vermutlich die Einsprizdüsen und der Klopfsensor
sein, nur mal so geraten), und schauen was du damit für Signale kriegst.
Am einfachsten wird sein wenn dein Logger völlig autark vom Fahrzeug
ist, d.h. alle Sensoren nur für den Logger da sind.
Wenn du das geklärt hast, kannst du dir über die Spezifikation des
nötigen Controllers Gedanken machen.
Nun zu deiner eigentlichen Frage: Ich finde zum experimentieren die
Arduino Boards sehr praktisch. Da ist ein Mega328 drauf, ein USB-Seriell
Wandler, laufen direkt über die Stromversorgung des USB (oder von
extern) und wem die Arduino-Programmiersprache und Software
unsympathisch ist (mir zum Beispiel), der kann die einfach mit WINAVR
und avrdude programmieren. Du könntest dir also erstmal ein kleines
Arduino holen, oben drauf eine Lochraster stecken und anfangen zu
experimentieren (ich benutze das:
http://www.seeedstudio.com/depot/seeeduino-v328-fully-assembledatmega-328-p-439.html).
PC dran, die empfangenen Daten seriell rausschicken und am PC
visualisieren. Hält die Komplexität niedrig und erprobt alles was du
wissen musst um ein komplettes System zu implementieren. Wenn das
funktioniert, kannst du immer noch auf ein grösseres Board umsteigen.
Nur eines muss dir klar sein: Eine Lösung mit einem zentralen Controller
und haufenweise quer durchs Auto verlegten Leitungen wird
störungsanfällig sein und unflexibel falls das auch mal in ein anderes
Auto soll. Also eher als Hobbybastelei anzusehen als semi-professionell.
Danke für die infos :-)
Die sensoren die ich hernehmen möchte werden bosch sensoren sein . die
datenblätter habe ich mittlerweile bei mir auf dem schreibtisch liegen.
somit ist der punkt schonmal geklärt .
Diese hier werden für die temperatur messungen hergenommen:
http://www.bosch-motorsport.de/pdf/sensors/temperature/NTC_M12-H.pdf
Und für den druck werde ich wohl auf einen aus dieser sparte
zurückgreifen
:http://www.bosch-motorsport.de/pdf/sensors/fluid_pressure/PSS-10.pdf
Wie ich am anfang schon erwähnt hatte wird es definitiv ein autarkes
system werden mit eigenen sensoren OHNE verbindung zur ECU.
meine anfängliche idee alles über eine controller laufen zu lassen hab
ich schon verworfen.
Der ideeen ansatz mit dem anduino board gefällt mir schon ziehmlich gut
danke an dieser stelle.
Meine momentane idee ist das ganze auf zu teilen
1.möglichkeit währe jeden kanal mit einem eigenem controller. (mega8
oder 16) abzutasten und die daten ins eeprom zu schieben dieser wird
dann von einem mega256 ausgelesen und auf ne sd karte geschrieben der
mega256 greift quasi nur den speicher ab und stellt die verbindung zum
usb bzw zur sd karte her.
Die 2. möglichkeit währe ähnlich der ersten allerdings würde ich nicht
jeden kanal mit einen eigenen controller ausrüsten sonden alle über
einen laufen lassen
Die frage ist was macht mehr sinn ?
Das system sollte schon flexibel sein also portabel.
Gruss philipp
Hi,
die Frage bei sowas ist immer welche Art von Sensoren willst Du denn
alles messen. Wenn es nur Temperatur, Drücke, Dk-Position oder
Einspritzlänge sind, ist das nicht so wild dann würde ich alles über
eien Controller erledigen. Falls Du aber z.B. Klopfsensoren,
Breitbandlambda oder Zündzeitpunkt messen willst wird es schon
aufwendiger. Lässt sich aber alles noch mit einem Controller bewegen, da
die Datenraten nicht sehr hoch sein müssen, allerdings braucht es dann
aufwendigere Signalaufbereitung. Nicht zu unterschätzen ist auch die
parallele Drehzahlaufnahme, wenn sie direkt von der Kurbelwelle mit dem
selben Sensor wie für das Hauptsteuergerät erfolgen soll. Ist
elektronisch sehr anspruchsvoll. Man muss sicher unterscheiden, ob es
sich um motorspezifische Sensoren und Daten handelt (würde ich immer mit
einem Controller auswerten) oder um fahrzeugspezifische Sachen, die u.U.
dezentral besser aufgehoben sind.
Lange Rede kurzer Sinn, ist z.B. alles probelmlos mit nur einem
Controller z.B. mega2560 gut zu erledigen. Die dezentrale Lösung treibt
dann doch den Preis ganz schön in die Höhe und wirft Probleme auf, falls
Du motorspezifische Signale Kurbelwinkelsynchron auswerten willst, da
dann immer noch die Kommunikationslatenz dazwischen liegt.
Üblicherweise werten solche Systeme alles fahrzeugspezifische zentral
mit einem Controller aus und die motorspezifischen Daten werden über ein
Bussystem direkt aus dem Motorsteuergerät geholt.
Gruss
tmo
@ Gast (gast):
Die DGPS Berechnungen geschehen im Postprocessing. Bzw. sollen im
Postprocessing geschehen, da ich erst seit ein paar Tagen alle
benötigten Komponenten zusammenhabe. Softwareseitig kommt die RTKLIB zum
Einsatz, Hardwareseitig die neuesten Skytraq Module (S1315F) mit 20Hz
Rohdatenausgabe.
Ich habe eigentlich nicht vor, USB Leitungen im Auto zu verlegen. Würde
für verteilte Sensoren eher auf CAN setzten um sicher zu gehen, daß
weder Störausstrahlung noch Störempfindlichkeit gefährlich werden. Für
diese Aufgabe würde sich z.B. mein USB-CAN Adapter eignen.
Klar, mein Projekt kann man sehr gut aufteilen. Ich wäre zum Beispiel
sehr interessiert an einer IMU oder einem ODB2-Reader!
Es sind lediglich ein paar wenige Randbedingungen zu erfüllen, um
Kompatibilität zu gewährleisten.
Hier mal eine kleine Übersicht:
- Platinenmaße 100 x 48mm
- USB Typ B Stecker an definierter Position
- ERNI SMC ML 12W Stecker an definierter Position
- Montagelöcher an best. Positionen
- FTDI 232RL (Für Seriell <-> USB) oder 245RL (Für Parallel <-> USB)
chips als USB Interface
- Falls der FT245RL zum Einsatz kommt sollte das bereits implementierte
Protokoll unterstützt werden.
Ich layoute im Moment an einer Prototyping Platine, die bereits alle
notwendigen Steckverbinder + FT232RL + 3.3V Spannungsregler enthält und
eine große 2,54mm Lochraster Prototyping Fläche bietet. Die Boards waren
ursprünglich für eigene Zwecke bestimmt, würden sich aber natürlich
prima anbieten um auch Anderen die Mitarbeit zu ermöglichen.
@Phillip:
Der beste Weg zum Ziel ist vermutlich einfach anzufangen. Die bereits
genannten Arduino / Seeeduino Boards sind hierfür hervorragend geeignet.
Für den Anfang würde ich ein paar Temperaturen (Öl, Wasser) und Drücke
(Öl, Ladedruck falls vorhanden) einlesen und der Einfachheit halber in
einem EEPROM ablegen. Du muss dich ja nicht auf eine
entweder-alles-zentral-oder-alles-verteilt-Lösung versteifen. Wenn du
mit der zentralen Lösung nicht weiterkommst kannst du immer noch über
die RS232 Schnittstelle oder über SPI / I2C ausgelagerte Messmodule
anschliessen.
Vorweg: Gast (Gast) != Gast (Gast) tmo :-)
@Philipp:
Wenn du eine verteilte Lösung bauen willst (also unterschiedliche
Controller für unterschiedliche Signale), dann führt meiner Meinung nach
nichts dran vorbei, das ganze vernünftig zu machen. Sprich CAN oder
mindestens RS485, sonst fürchte ich dass du dir zuviele undefinierbare
Probleme durch die Automobil-Umgebung einfängst.
Wenn du eine möglichst einfach Lösung suchst, denke ich dass der einzige
Weg ist, das in einem einzelnen Controller zu machen. Ob jetzt ein 8bit
AVR Mega schnell genug ist, 20*16bit Werte zu sammeln und auf SD Card zu
schreiben weiss ich nicht, aber würde mal vermuten dass es gut
funktionieren sollte.
Ich würde mir an deiner Stelle ein Arduino mit dem Mega328 besorgen und
erst mal mit einer reduzierten Instrumentierung (z.B. nur Motor: Wasser,
Öl, Druck, Lambda) experimentieren. Am einfachsten die Daten über den
UART rausschicken und mit dem PC entgegennehmen, dann brauchst du dich
erst mal nicht ums Speichern kümmern. Wenn du siehst dass das
funktioniert, kannst du dir ein Arduino Mega (Mega1280) holen, die
zusätzlichen Sensoren implementieren und dich um die Speicherung auf
SD-Karte kümmern.
@peterguy:
Das ganze hört sich sehr interessant an. Ich muss allerdings gleich
vorweg sagen, dass ich noch ca. 2 Monate brauche bis ich anfangen kann,
da ich vorher noch ein anderes Projekt fertig machen muss. Bei mir steht
allerdings die IMU auf der Prioritätenliste ganz oben, gefolgt von DGPS.
OBD2 ist für mich erst mal nicht interessant, da mein Fahrzeug noch aus
der prähistorischen Zeit stammt :-)