Forum: Mikrocontroller und Digitale Elektronik Hardwareumgebung für automotive ECU


von Steffen H. (steffenh)


Lesenswert?

Hallo zusammen,

ich bin auf der Suche nach einer Hardwarelösung, die einer ECU (in 
meinem Fall ein Getriebesteuergerät) eine Fahrzeugumgebung vorspielt.

Die Umgebung sollte ungefähr folgendes können:
-8x Analog in + out (15V, Auflösung ca. 100 mV, sekundenbereich)
-8x Digital in + out (15V, sekundenbereich)
-4x Frequenz in + out (15V, Rechteck, bis ca. 20 kHz)


Gibt es da etwas Fertiges für Bastler? Bitte nicht mit dSpace, ETAS und 
Konsorten kommen. Ich habe nur ein Budget von ein paar Hundert Euro. 
Ideal wäre eine Bastellösung, vielleicht a la Arduino o.ä. (kenne mich 
da nicht so aus).

Habt ihr eine Idee?

Grüße
Steffen

von MaWin (Gast)


Lesenswert?

Normalwerise ein Job für National Instruments LabView,

da muss man sich nicht mit Arduinos auskennen sondern bloss 
Funktionsblocke auf dem PC zusammenschieben, die können Analoge Ein- und 
Ausgänge und Impulse.

Aber dein Preisbudget reicht nicht.

Kein Geld haben und nichts selber machen wollen/können/lernen passt halt 
einfach nicht zusammen.

Natürlich lässt sich das alles mit einem Arduino (weil du ihn schon 
genannt hast) und ein par LM324 aufbauen, aber dazu muss man bereit 
sein, das zu erlernen.

von Steffen H. (steffenh)


Lesenswert?

MaWin schrieb:
> Natürlich lässt sich das alles mit einem Arduino (weil du ihn schon
> genannt hast) und ein par LM324 aufbauen, aber dazu muss man bereit
> sein, das zu erlernen.

Oh, aber wie kommst Du darauf, dass ich nichts lernen will? Im 
Gegenteil, ich habe in der Vergangenheit bereits eine solche Umgebung 
für eine Motorsteuerung gebaut. Genau deshalb weiß ich ja, wie viel 
Aufwand das am Ende ist und frage nach einer fertigen Lösung. Es heißt 
doch hier im Forum so oft "Du kannst das auch selber bauen, aber das 
wird weder besser noch billiger". Deshalb frage ich nach.

LabView kam mir ebenfalls in den Sinn, aber wie Du schon schreibst, 
übersteigt es meine finanziellen Möglichkeiten. Im Prinzip brauche ich 
einen mehrkanaligen, programmierbaren Funktionsgenerator. Es gibt doch 
bspw. ICs, die sowas bereitstellen. Kennt jemand dafür Projekte? Es muss 
ja auch nicht automotive sein.

Ich hätte erwartet, dass das ein Standard-Problem in der Entwicklung ist 
und es auch (günstige) Lösungen dafür gibt.

von MaWin (Gast)


Lesenswert?

Steffen H. schrieb:
> Ich hätte erwartet, dass das ein Standard-Problem in der
> Entwicklung ist und es auch (günstige) Lösungen dafür gibt.

Die Spanne zwischen dem 10 EUR Aufbau mit ATmega und LM324,
bis hin zur 1000 EUR LabView Lösung,

ist gefüllt, dadrunter beispielsweise bei eBay ergatterte
Arbitrary Function Generatoren oder eben alte Rechner
komplett mit LabView und Interface-Karten, auch SPS oder
http://microsps.com/

Es kostet Zeit und damit Geld das billigste zum Problem
passende zu finden, da steht die Arduino-Lösung nicht so
schlecht da. Zeit zum Lernen wie man A/D-Ein/Ausgänge
baut und Programmiert. Etwas fragwürdig ist die
Bedienbarkeit, die kann problemangemessen genial werden
oder eben hingehackter Schrott (per PC reprogrammieren).

von Amin (Gast)


Lesenswert?

dSPACE MicroAutoBox

von Steffen Hausinger (Gast)


Lesenswert?

Ich bin inzwischen weiter gekommen: Das was ich suche, nennt sich "I/O 
Modul". Die Produkte der Firma "LabJack" schauen bspw. ganz interessant 
aus. Leider gibt es sie nur im 10V analog in und sogar nur 5V analog 
out. Es wäre also noch eine einfache Pegelanpassung notwendig, aber 
immerhin geht es schonmal in die richtige Richtung.

Danke für Eure Antworten!

Grüße
Steffen

von Thomas W. (Gast)


Lesenswert?

Steffen Hausinger schrieb:
> Die Produkte der Firma "LabJack" schauen bspw. ganz interessant
> aus.

Da sehe ich überall nur 2 Analog out.

von Steffen H. (steffenh)


Lesenswert?

Thomas W. schrieb:
> Steffen Hausinger schrieb:
>> Die Produkte der Firma "LabJack" schauen bspw. ganz interessant
>> aus.
>
> Da sehe ich überall nur 2 Analog out.

Ja stimmt. Noch eine Abweichung. Ich hoffe, man kann mehrere parallel 
schalten.

von Martin L. (maveric00)


Lesenswert?

Hallo,

Steffen H. schrieb:
> -8x Analog in + out (15V, Auflösung ca. 100 mV, sekundenbereich)
> -8x Digital in + out (15V, sekundenbereich)
> -4x Frequenz in + out (15V, Rechteck, bis ca. 20 kHz)

darf man fragen, welcher Getriebesteuerung ein Fahrzeug vorgespielt 
werden soll? In der Regel gibt es nämlich kaum etwas, was in solchen 
Steuerungen im Sekundenbereich verarbeitet wird (wenn da über 100 ms 
digital gefiltert wird, ist das schon viel; sich über hunderte 
Millisekunden nicht verändernde Signale können da durchaus zum Auslösen 
von A/D-Wandler-Diagnosen führen...)

Schöne Grüße,
Martin

von Tom (Gast)


Lesenswert?

Steffen H. schrieb:
> Ich habe nur ein Budget von ein paar Hundert Euro.

Amin schrieb:
> dSPACE MicroAutoBox

Damit ist Steffens Budget schon erschöpft, wenn er die passenden 
Steckverbinder gekauft hat ;)

von Steffen H. (steffenh)


Lesenswert?

@Martin:

Es geht um ein automatisiertes Schaltgetriebe mit Sensoren für 
Schaltpaddel, Rückfahrschalter, Fahrerwunsch Automatikmodus / niedere 
Haftreibung, Tür, Motorhaube etc. Die einzig "schnellen" Eingangssignale 
sind Motordrehzahl, Ganganzeige und Diagnoseleitung.

Natürlich werden auch Drücke etc. gemessen, aber letztendlich möchte ich 
einen statischen Betriebszustand nachstellen.


Ich kenne die MicroAutoBox als System zum Rapid Prototyping. Bspw., um 
Algorithmen in der frühen Phase zu testen, in der es ggf. noch gar kein 
Steuergerät gibt. Zu teuer ist es natürlich sowieso.

von Martin L. (maveric00)


Lesenswert?

Hallo,

sorry, heute erst die Antwort gesehen:

Die genannten digitalen Eingänge haben tatsächlich in der Regel 
Diagnosezeiten, die >> 1 Sekunde sind. da reichen langsame Ansteuerungen 
also aus (am einfachsten mit z.B. einem RasPi mit Relais (ggf. über 
einen Treiber) an den GPIO; Arduino geht natürlich genauso).

Leider gibst Du kein Beispiel für die Analog-Ein- und Ausgänge, daher 
fällt eine Abschätzung, wie am Besten die Signale zu generieren sind 
schwierig. Die wenigsten modernen Steuergeräte haben aber tatsächlich 
analoge Ein- und Ausgänge, da die Störanfälligkeit im Fahrzeugnetz 
erheblich ist. Häufiger werden inzwischen PWM-Übertragungen eingesetzt. 
Ebenso hängt die Möglichkeit der Stimulierung von der 
Eingangsbeschaltung des Steuergerätes ab; analoge Ausgänge (extrem 
selten, normalerweise tiefpassgefilterte PWM) kann man z.B. mit den 
Analogeingängen von einem Arduino einlesen. Bei analogen Eingängen hängt 
es von dem Eingangsfilter ab, ob man mit einer tiefpassgefilterten PWM 
auskommt, oder ob man tatsächlich Digital-Analog-Konverter braucht.

Allerdings: Wenn es sich um ein modernes ASM handelt (also in aktuellen 
Fahrzeugen verbaut ist), dann muss ziemlich sicher der CAN-Bus simuliert 
werden, da die Getriebe alle mit zumindest der Motorsteuerung 
kommunizieren. Allerdings wird das ohne genaue Kenntnisse schwierig, da 
diese Kommunikation mindestens ASIL B (ISO 26262) entsprechen muss und 
deswegen in der Regel zusätzlich abgesichert ist (checksum/counter oder 
checksum/alife-toggle o.ä.). Sonst geht das Steuergerät in Diagnose bzw. 
läuft überhaupt nicht erst an.

Oder hast Du da ein ganz altes "Schätzchen", dass tatsächlich die OBD 
über die K-Line macht, die Ganganzeige diskret hat und keine 
CAN-Anbindung hat? Dann könnten ein oder zwei Arduinos zur 
Restfahrzeugsimulation tatsächlich ausreichen.

Schöne Grüße,
Martin

von Steffen H. (steffenh)


Lesenswert?

Hallo Martin,

die Getriebesteuerung besitzt zwar einen CAN, allerdings nur für 
Komfortzwecke (Schaltvorgänge). Es stammt aus Ende der 90er, also weit 
vor der ISO26262, die ja erst 2011 kam (2009 im Draft). K-Line ist 
tatsächlich noch vorhanden.

Die (meisten) Ausgänge (Ansteuerung der Hydraulikventile) werden über 
die Timer/Counter Einheit des Prozessors bedient, deshalb ist es wohl 
tatsächlich PWM. Dann hast Du vermutlich recht, dass ich mit einem A/D 
Wandler gar nicht weiter komme. Danke für den Hinweis!

Analoge Eingänge sind bspw. Fahrpedalwinkel oder Kupplungsposition. 
Zumindest Ersterer sollte also wirklich analog sein.


Am Ende denke ich, dass ich den schaltungstechnischen Teil schon 
hinbekomme. Viel mehr Sorgen bereitet mir die PC-Seite. Denn ich muss 
die Hardware irgendwie steuern. Und für LabView, Vee und Konsorten muss 
man bei eigener Hardware sicher noch einen passenden Treiber schreiben. 
Und schon ist man in der Entwicklung einer Umgebung drin (inkl. 
Bugfixing), was ich gerne vermeiden möchte. Deshalb die Frage nach etwas 
Fertigem.

von Martin L. (maveric00)


Lesenswert?

Hallo,

Ende 90-er, hydraulische Ansteuerung - wenn es kein LKW-Getriebe ist, 
würde ich auf ein Transit MTX75 EST tippen; alle anderen aus der Zeit 
die ich kenne sind elektromechanisch. Der könnte eventuell tatsächlich 
ohne CAN laufen, allerdings im Notlauf. Bin mir aber nicht ganz sicher, 
da z.B. die Starterfreigabe an den Motor über CAN gesendet wird und ich 
nicht weiss, ob der Motor ebenfalls einen CAN-Off-Notlauf hat.
Auch gibt es in der Regel Anforderungen, dass bei ABS/Traction assist 
nicht geschaltet werden darf, die Kommunikation erfolgt normalerweise 
auch über CAN bzw. mit PWM-Signalen, die entsprechend generiert werden 
müssten.

Bei den hydraulisch aktuierten Systemen wird in der Regel der 
Ventilstrom von dem Steuergerät zurückgemessen, ggf. bietet es sich also 
an, ebenfalls den Strom zu messen und einzulesen. Der ist aber auch bei 
"konstanter" Ansteuerung nicht konstant, sondern zittert, um ein Klemmen 
der Ventile zu vermeiden.

Wenn Du aber sowieso die Daten in den PC bekommen musst, würde es 
eventuell sinnvoll sein, eine Mess- und Regelkarte wie z.B. die  von 
hier: http://www.meilhaus.de/io-module/analog-io/ (erster Google-Fund, 
nicht weiter gesucht) zu verwenden. Labjack U3 liegt hier z.B. bei 180€ 
mit 16 konfigurierbaren I/O (Digital I/O oder Analog In) und 2 Analog 
Out. Bei denen müsstest Du nur die Eingangs/Ausgangsbeschaltung anpassen 
(Digital-Out z.B. Relais mit Treiber, Eingang über Spannungsteiler, 
Analog-Ausgang über Verstärkerschaltung).

Schöne Grüße,
Martin

von Steffen H. (steffenh)


Lesenswert?

Hallo Martin,

es ist ein Magneti Marelli CFC, ähnlich, wie es Alfa Romeo verwendet. 
Besonders interessant an dem Gerät ist, dass fast alle Leiterbahnen ein 
Testpad besitzen, es drei unbestückte 2x4 Header zur Diagnose gibt und 
selbst auf dem Steckverbinder undokumentierte Pins vorhanden sind. Es 
war damals eines der ersten Systeme mit dieser Technologie auf dem 
Markt. Von meinem Steuergerät wurden zudem auch nur wenige 100 gebaut.

Die Starterfreigabe hat eine dedizierte Leitung und das ABS keinen CAN. 
Ich müsste den Steckverbinder fürs CAN mal abziehen und schauen, was 
passiert. Allerdings hatte ich die Kommunikation früher einmal 
mitgemessen und damals nichts Relevantes gefunden.

Kennst Du das Steuergerät? Du kommst ja scheinbar aus der Branche.

Grüße
Steffen

von Martin L. (maveric00)


Lesenswert?

Hallo,

klingt interessant; ja, ich komme aus der Branche, Magneti Marelli sagt 
mir was, aber nein, dieses spezielle kenne ich nicht (bin ein gutes 
Stück weiter, aber nicht ganz nördlich angesiedelt ;-)

Wenn ich mir aber die Beschreibung auf Selespeed.org anschaue, dann 
wirst Du vermutlich Deine Anforderungen an die Rest-Fahrzeugsimulation 
doch etwas erhöhen müssen (z.B. wird zumindest beim CFC208F die 
Gaspedalstellung Hardwired (als Widerstand) und über CAN übertragen - 
solche Redundanzen sind durchaus zur Absicherung üblich, es kann daher 
sein, dass das Steuergerät ohne CAN die Arbeit verweigert). Wenn Du nur 
das Fahrzeug simulieren möchtest, war es das in etwa und zwei der oben 
genannten Messboxen könnten ausreichen. Du solltest Dir aber noch einmal 
die Fahrzeugverkabelung genauer ansehen, die Potis der 
Gangpositionssensoren werden z.B. mit 5V versorgt, so dass der 
entsprechende Eingang natürlich auch nur zwischen 0V und 5V beaufschlagt 
werden sollte.

Wenn auch die Getriebehardware hinzukommt, dann müssen die 
Analog-Ausgänge Deiner Simulation deutlich hochfrequenter werden 
(Gang-Positionssensor, Kupplungspositionssensor, Drucksensor - diese 
werden in der Regel mit Zykluszeiten zwischen 2ms und 10ms abgefragt). 
Könnte aber auch mit den Messboxen machbar sein, wenn der PC halbwegs 
echtzeitfähig ist und Dir der USB keinen Strich durch die Rechnung macht 
(hab' ich keine echte Erfahrung mit).

Auch muss dann natürlich ein Rechenmodell hinterlegt werden, welches die 
mechanische Hardware genau genug simuliert (um z.B. Einlern- und 
Adaptionsroutinen ablaufen lassen zu können, ohne dass diese in die 
Diagnose gehen).

Ansonsten klingt das nach einem spannenden Projekt, ich wünsche Dir viel 
Spaß!

Schöne Grüße,
Martin

von Steffen H. (steffenh)


Lesenswert?

Hallo Martin,

ich werd es mit den Infos, die ich jetzt hab, einfach ausprobieren. An 
die Wichtigkeit des CANs glaube ich noch nicht ganz. Ich denke nach wie 
vor, dass er nur aus Komfortgründen da ist. Aber da ich es nicht weiß, 
hast Du am Ende vielleicht doch recht.

Vielen Dank für Deine kompetente Hilfe!

Grüße
Steffen

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.