Hi Leute, folgendes Problem. Ich hab hier ein ESP Steuergerät, welches ich am Schreibtisch betreiben will. Das ESP soll denken, dass Radsensoren angeschlossen sind und sich das "Auto" bewegt. Deshalb habe ich einen Radsensor gekauft und alles verkabelt. Wenn ich einen Magnet vor den Sensor halte, "bewegt" sich das Auto im Diagnosejob vorwärts. Dieser Radsensor und alle drei zusätzlichen sollen durch einen Microcontroller simuliert werden. Der Sensor ist zweipolig ausgeführt. Pin1 bekommt 12V vom ESP Steuergerät, Pin2 liefert ein PWM Signal abhängig von den Betriebszuständen (Stillstand, vorwärts, rückwärts, Luftspalt zum Magnet zu groß) zum Steuergerät. Ich beschreibe einfach mal den Fahryeug-Stillstand, der ist einfach und reicht mir eigentlich für mein Problem erstmal. Der Sensor scheint den Strom zu beeinflussen, dieser wechselt von 7mA auf 14mA, für 1,6ms, alle 740ms. Dann erkennt das ESP Steuergerät, dass der Sensor in Ordnung ist und das Fahrzeug steht. Genau das soll jetzt ein Microcontroller erledigen. Ich dachte zuerst an ein Reedrelais und entsprechende Widerstaende, aber das kanns nicht sein. Viel eleganter waere es doch, den 7mA Zustand per Widerstand zu machen und dann mit einem Treiber einen weiteren Widerstand parallel zu schalten, so dass der Strom auf 14mA steigen kann. Allerdings ist mein Problem, ich weiss nicht wie ich einen FET in dem Fall als Schalter verwende, weil er ja kein Lowside-Treiber sein kann, weil ich nicht gegen Masse schalte. Kann ich den einfach als Highsider in der Parallelschaltung verwenden? Oder gibt es noch eine elegantere Methode um das zu realisieren? Prozessor soll ein Pic18f26k80 sein. Die Frage ist aber glaub recht unabhaengig vom Prozessor, wobei der Pic iirc 20mA treiben oder senken kann. Vg Phreak
Nur die Radsensoren reichen nicht aus zum simulieren ! Ein ESP hat daneben auch noch Lenkwinkel sensor und Beschleunigungsensoren. Und ist dan auch noch mit CAN verbunden an die andere Systemen in Fahrzeug. Wen du das alles simulieren wollen, sind Systemkentnissen (Software) unbedingt notwendig. Da sind tig "Plausibilitats testen" in solche systemen, wen irgend etwas nicht stimmt geht das System gleich in Notlauf : Rote ESP Warnlampe geht an (ueber CAN), und da werd nicht mehr geregelt. Fangen sie mal an mit ein alteres ABS-system ATE MK20 von 2004, da macht du noch eine Chance um das fucntionieren zu lassen. Wir haben mal ein so ein System simuliert mit zwei Achsen, angetrieben ueber eine Rolle. Die Hinterachsen werden simuliert ueber die Rolle. Das functionierte recht gut !
das Sensorelement in deine Radsensor ist dieses hier: Infineon TLE4942-1C Datasheet: http://www.google.de/url?url=http://media.digikey.com/pdf/Data%2520Sheets/Infineon%2520PDFs/TLE4942-1,1C.pdf&rct=j&q=&esrc=s&sa=U&ei=0LQeVLP2CIrd7QaJtYD4Cw&ved=0CBQQFjAA&usg=AFQjCNHTS6fdznYKuN_0YqQ4x0SlQQWodw Da steht die Stromshcnittstellenbeschreibung drin und ebenfalls die Protokollbeschreibung der Fahrtrichtung.... Die extern zu simulieren ist kein großes Thema. Reicht dir bei genau 12 Volt, oder willst du auch etwas mit der Versorgungsspannung spielen, also so wie die im auto auch schwankt ? Bei 12Volt fest: Ein Widerstand R = 12 V/7mA von SensorPlus nach Sensorminus Dazu parallel ein Transistor mit einem 2 identischen Widerstand. highside treiber brauchst du nicht, der Sensor hat eine 2 Drahtschnittstelle. Als Bezugspunkt kannst du Masse Der ECU Versorgung nehmen. Bei wechselnden Spannungen bekommst du ein Problem da der Strom ja von der Spannung abhängt. Kommst mit Festwiederständen also schnell in den Fehlerbereich. Hier geht zb ein 7805 zusätzlich. also Vin vom 7805 an SensorPlus. GND vom 7805 an SensorMinus Vout vom Sensor an die Widerstand / Transistor kombi von vorher. Allerdings sind jetzt die Widerstände unterschiedlich. Der 7mA Grundstrom setz sich jetzt aus dem Basisstrom des 7805 ~2mA ( musst du aus dem Datenblatt dees ausgewählten 7805 raussuchen) und zusätzlich einem widerstand zusammen R = 5V/~5 mA. Der andere Zweig aus Transistor und Widerstand R = 5 V/7mA liefert die 2. 7mA. Die Basis des Transistors kannst du dann mit einem Rechtecksignal ansteuern. Damit bekommst du schon mal die Radgeschwindigkeiten in die ECU. Um die ECU "Fehlerfrei" zu bekommen fehlt da aber viel mehr. RP6conrad schrieb: > Nur die Radsensoren reichen nicht aus zum simulieren ! Ein ESP hat > daneben auch noch Lenkwinkel sensor und Beschleunigungsensoren. Und ist > dan auch noch mit CAN verbunden an die andere Systemen in Fahrzeug. Wen > du das alles simulieren wollen, sind Systemkentnissen (Software) > unbedingt notwendig. Da sind tig "Plausibilitats testen" in solche > systemen, wen irgend etwas nicht stimmt geht das System gleich in > Notlauf : Rote ESP Warnlampe geht an (ueber CAN), und da werd nicht mehr > geregelt. Dem ist leider so. Du wirst die vollständige CAN Kommunikationsspezifikation aus dem Fahrzeug brauchen. Damit kannst du dann die Can Simulation erstellen. Deine Chance diese Daten zu bekommen geht gegen NULL. Dazu brauchst du noch einiges an Systemwissen. Zum Fahrzeug und auch zu ECU internas. Deine Chance diese Daten zu bekommen sind in etwa vergleichbar wie für die CAN Spezifikation. Aber fang schon mal mit den Radsensoren an. Ein Schritt nach dem anderen.
Danke für eure Antworten, die natürlich ihrerseits weitere Fragen erzeugen :) Aber der Reihe nach: @RP6conrad: Ja, das ist mir bewusst dass da noch Lenkwinkel und Gyro reinspielen, um ein komplettes ESP zu simulieren. Beide Steuergeräte liegen auch neben mir am Schreibtisch, ebay ist herrlich wenn man Steuergeräte braucht und Zeit hat. Die sind auch sehr kompakt und machen daher kein Problem. Radsensoren machen aber Probleme, weil ich mir ungern vier Achsschenkel samt Rädern auf den Tisch stellen will. Wenn die ganze Geschichte über CAN laufen würde, wär das viel einfacher. Leider sind die Steuergeräte nicht über CAN, sondern über Flexray vernetzt. Ich fand es deswegen einfacher, die komplette Kette zum ESP aufzubauen und die Radsensoren zu faken, als einen Flexray an einen Microcontroller anzubinden, from scratch und ohne Doku :) Plausibilisierungen könnten ein Problem werden, aber bisher scheint das System mit einem Radsensor und nem Magneten davor recht glücklich zu sein. Wenn ich vor dem Sensor mit dem Magneten wedel, seh ich auf den cm wie sich das "Rad" bewegt. @Ralph: Unabhängigkeit von der Versorgungsspannung wäre schon toll. Das vorgeschlagene Modell funktioniert aber doch nur, wenn das ESP den Strom auf der High-Seite misst, also das was aus der ECU zum Sensor fließt? Im ausgeschalteten Zustand messe ich 100kOhm von Sensor- nach ECU Versorgungsmasse. Wenn die den reinfließenden Strom misst, kriegt die ECU vom 7805 ja nichts mit? In dem verlinkten Dokument (das wird mir später beim eigentlich Protokoll helfen, thx) wird aber beim Testaufbau auf der "falschen" Seite gemessen. Das kann ich doch mit dem 7805 nicht realisieren? Vg Phreak
Stefan Mayer schrieb: > In dem verlinkten Dokument (das wird mir später beim eigentlich > Protokoll helfen, thx) wird aber beim Testaufbau auf der "falschen" > Seite gemessen. Das kann ich doch mit dem 7805 nicht realisieren? Doch kannst du. Die ECU liefert Plus und Minus Seite des Sensors. Das Signal ist Stromkodiert. ==>Stromschnittstelle. Daher ist es völlig egal ob die ECU an der Plus oder Minus Seite das Signal misst. Der Strom ist an beiden Seiten der gleiche. Zu beachten vieleicht noch das Plus des Sensors nah an der ECU Versorgungsspannung liegt,aber nicht 100% diese ist, da ist ein Schalter( FET) dazwischen. Das gleiche gilt auf für die minus Seite mit ECU Masse. Außerdem wirst du von außen niemals feststellen können ob die ECU den Strom an Plus oder Minus Seite einliest. Vergiss eine Widerstandsmessung an den Pins, du misst gegen einen gesperrten FET der erst nach eine Systemprüfung innerhalb der ECU durchgeschaltet wird.
Ralph schrieb: > Die ECU liefert Plus und Minus Seite des Sensors. > Das Signal ist Stromkodiert. ==>Stromschnittstelle. > > Daher ist es völlig egal ob die ECU an der Plus oder Minus Seite das > Signal misst. > Der Strom ist an beiden Seiten der gleiche. Aber wenn S+ auf einen 7805 führt, und S- an Masse des 7805, und der Strom durch die Widerstände am Ausgang des 7805, dann fließt doch kein Strom in den S-, dh es ist aus Sicht der ECU nicht in beiden Fällen der gleiche Strom. Was ich so an Infos im Netz gefunden habe meine ich, dass das ESP auf der Minusseite misst. Wie würd ichs dann anstellen?
Stefan schrub: >Ich hab hier ein ESP Steuergerät, welches ich am Schreibtisch betreiben >will. Na, dann mußt Du doch ohnehin Räder an die Tischbeine montieren, da ist es mit den Radsensoren dann auch erledigt... Flücht ;-) MfG Paul
Radsensoren ohne Drehrichtungserkennung hat auch NXP (KMI)produziert. In ATE ESP gerate wird eine Reihenwiederstand van 115 ohm an Masse genutzt um diese 7/14 mA Pegel zu erkennen. Eine Encoder hat normal ca 48 Polparen, damit konnen sie auch mal die Frequenz ausrechnen. Welches ESP verwendet du ?
So wie in dem Bild ist das gedacht. Es gibt 2 Messvarianten. 1. Nach dem Beispiel im Datenblatt, ein Lastwiderstand von Sensor - nach GND. ==> Wandlung des Signals in Spannung typischerweise ~100 Ohm ergibt dann 0.7 und 1.4 Volt. 2. direkte Strommessung über zb Stromspiegel, was dann an High und Low Seite machbar ist
Argh, wie eine Zeichnung doch helfen kann. Ich dachte ich soll mit U_aus über die Widerstände nach Masse gehen, und quasi Strom abzweigen. So wie es die Zeichnung zeigt, fließt überall der gleiche Strom. Werd ich die Tage gleich mal austesten. Danke. @RP6conrad: Ich verwende das ESP aus einem aktuellen BMW. DSC nennt man das bei BMW, und die ärgern mich mit ihrem Flexray, über den ist das DSC ans ICM angebunden welches die Beschleunigungssensoren enthält.
Na da hast du dir so ziemlich das schwierigste ausgesucht was du finden konntest. Muss es unbedingt das Flexray Teil aus dem BMW sein ?
Hehe, ja muss es. Ich fahre einen Volvo, dem ich das Navi aus einem BMW F02 Facelift verpasst habe. Problem ist, BMW nutzt das GPS Signal nur zum Positionsabgleich alle 30s, der Rest wird normal über die Radsensoren gerechnet. Das geht auf der Autobahn grade noch so gut, in der Stadt ist es ziemlich nutzlos. Mein erster Ansatz war eine Umrechnung von Volvos Radsensoren auf den BMW Standard, aber irgendwie geht das daneben. Der Volvo liefert mir die Radgeschwindigkeit, BMW erwartet aber Wegstrecke absolut. Irgendwo beim Integrieren mach ich Unfug, aber ich finde den Fehler nicht. Da das DSC und vor allem das ICM mit neueren Versionen der BMW Headunit besser zusammenarbeitet, hab ich mich entschieden beide Geräte mit anzubinden. Da mein Volvo auch ein variables Fahrwerk hat, ergänzt sich das gut mit BMWs Fahrerlebnisschalter und der Anzeige in der Headunit. Nachdem ich nun also zwei CANs und einen MOST nachgerüstet habe, kommts jetzt auf den Flexray auch nicht mehr an :)
Vergiss das mal ganz schnell. Das wirst du nie sauber und stabil zum laufen bekommen. 1. Die Radsensoren kannst du nicht parallel mit beiden Steuergeräten abgreifen. Da werden beide feststellen das die Werte nicht stimmen und abschalten. 2. Das Volvo ESP durch das BMW ersetzen wird auch nicht funktionieren. Da passt die gesamte Fahrzeugarchitektur nicht zusammen. Dazu müsstest du alles neu Programmieren, und glaub mir das bekommst du nicht hin. Abgesehen davon wirst du niemals die Einstellungen / Parametersätze passend zum Volvo hinbekommen. 3. Wenn du so tief in die Elektronik des Autos eingreifst verfällt die ABE des Autos. Das heißt du fährst dann ohne Versicherungschutz mit einem nicht zugelassene Fahrzeug. Alternative. Nimm eine einzelnes Navi von Garmin, TomTom und so weiter und bau dir das ins Auto. Achja, der Hauptgrund warum das Navi so bescheiden geht liegt nicht an den Radesensoren. Das liegt daran das das Navi merkt, das es nicht in dem Auto ist in dem es sein sollte. ==> Das Teil, wie auch die anderen Steuergeräte funktioniere nur in dem Auto korrekt und in vollem Umfang in dem sie eingebaut und kodiert waren. In einem neuen Auto müssen sie wieder neu kodiert werden. Das wird allerdings im Volvo nicht funktionieren. Stefan M. schrieb: > BMW erwartet aber Wegstrecke absolut. Irgendwo beim > Integrieren mach ich Unfug, aber ich finde den Fehler nicht. Schon möglich das du Unfug machst. Hast du die BMW Diagnosetools mit den zugehörigen Kryptoschlüssel ? Wenn ja, na vielleicht bekommst du eine winzige Chance. Wenn nein, naja ein Lottojackpot ist auch möglich,....... Woher weißt du ob BMW navi die Wegstrecke absolut brauch? Oder ist das eine Annahme ?
1. Da hast du mich falsch verstanden. Der Volvo hat ein CEM, welches die Radgeschwindigkeiten bereitstellt. Dank mühsamem Reverse Engineering hab ich das Protokoll fertig, ich kriege also vier Radgeschwindigkeiten aufm Volvo-CAN. 2. und 3. Das ist nicht der Plan. Der Plan ist, den Volvo serienmäßig zu betreiben, bis auf die Headunit. Die kriegt ihre Infos von DSC und ICM, über das ZGW. Ich lese also vom Volvo Bus die Radgeschwindigkeiten, rechne die in Radimpulse um und füttere diese Info ins DSC. Alle Teile sind Serienbauteile, der Volvo fährt serienmäßig. Das Navi denkt es ist in einem BMW, das funktioniert korrekt. Dem fehlt nur die Information der Radsensoren, das ist der einzige Grund warum es nicht tut. Es ist korrekt codiert und ich hab eh schon das halbe BMW Bordnetz nachgerüstet. Der Unfug war aufs Umrechnen der Daten bezogen. Ich hab da irgendwo einen Bug im Code und finde ihn nicht, so wars gemeint. Evtl ist der kleine Pic18 auch überfordert, wobei ich das weniger glaub. Das System an sich ist schon im Auto und seit nem Jahr in Betrieb. Freisprechen, Spracherkennung, Musik, DAB+, Dimmung vom Lichtsensor, Multifunktionslenkrad, alles da. Nur das Navi fehlt noch. Dass die Headunit die Wegstrecke absolut braucht, weiß ich ebenfalls aus mühsamem Reverse Engineering. CAN-Trace aufgezeichnet, mit Filter an das Navi am Schreibtisch abgespielt und so lange den Filter verändert, bis ich die Nachrichten hatte. Auf die Betriebserlaubnis dürfte diese Geschichte keinen Einfluss haben. Alle Teile sind Serienteile mit E-Zulassung, das Geräusch- und Lichtverhalten des Fahrzeuges wird nicht verändert, ebenso wenig wie Leistung, Hubraum und Außenmaße. Die ganzen CarHifi und CarPC Einbauten sind da ähnlich, im Prinzip bau ich nurn verdammt aufwändiges Navi ein. Alle Basteleien finden ja am BMW Bus statt, und der hat mit meinem Fahrzeug nix zu tun. Wie du schon sagtest, die sind inkompatibel.
:
Bearbeitet durch User
Kurzes Update: Ich hab eine kleine Testplatine gebaut mit µC, einem Optokoppler und zwei 1,5k Widerständen. Der Optokoppler schaltet bei Bedarf den zweiten Widerstand parallel zu ersten, so dass der Strom sich verdoppeln kann. Bei ~63% Tastverhältnis zeigt mir das Steuergerät eine Geschwindigkeit von ~83km/h. Jetzt muss ich nur noch das Protokoll nachbauen und dann kanns losgehen :D
Hatte ganz vergessen hier zu posten: Vom letzten Update mit dem rudimentären proof of concept bin ich noch einen Schritt weiter gegangen. Das System funktioniert, allerdings ist die Abweichung nach 30min ohne GPS fix schon recht groß. Bis 10min ohne fix deckt sich meine Position noch perfekt mit der tatsächlichen.
Stefan M. schrieb: > Das System funktioniert Gratulation! > allerdings ist die Abweichung nach 30min ohne GPS fix schon recht groß. > Bis 10min ohne fix deckt sich meine Position noch perfekt mit der > tatsächlichen. Ich finde das erstaunlich gut, schließlich haben die Reifen Schlupf und in Kurven gibt es immer einen gewissen Drift.
Ich glaube das liegt vor allem daran, dass die Headunit einen gewissen Toleranzbereich hat und wenn die Radsignale da noch drin liegen, platziert er einen direkt auf der plausibelsten Straße. Soll mir recht sein, dass ja das was ich wollte.
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.