Hi, weis wer von euch, wie die großen Autofirmen bei ABS-Systemen die Radrehzahl der einzelenen Räder einlesen? Verwenden sie zur Drehzahlauswerteung mehrere µC´s, oder arbeiten sie nur dem Counter. Ich habe noch keine Idee wie ich dieses Problem angehen soll, ohne die anderen Abläufe zum behindern, ich brauche es nämlich für unser Abschlussprojekt. Schöne Grüße Alex
Wo liegt denn dein Problem? Ist doch egal ob mehrere oder einer?! Oder was brauchste genau?
Hallo Alexander, > Verwenden sie zur Drehzahlauswerteung mehrere µC´s, oder arbeiten sie > nur dem Counter. Welches Projekt - was hast Du vor ? Du darfst auf keinen Fall die Sensoren anzapfen ! Gruss Otto
Wir machen einen Versuchsaufbau und haben eine PKW-Achse mit zwei Radrehzahlgebern und einen ABS-Block ohne Steuerung zur Verfügung, unsere Aufgabe ist es mit diesen Mitteln ein funktionierendes ABS-System nachzubauen. Wir greifen natürlich in kein bestehendes System ein, sondern versuchen es im Rahmen unserer Ausbildung nachzubauen, das Problem ist nun, dass ich nicht weis wie man die Raddrehzahl einlesen soll ohne das "laufende" Programm zu behindern. Ein Gedanke wäre, dass die Drehzahl extra ausgewertet wird und die Daten über z.B. TWI in die Steuerung gelangen. Deswegen würde es mich interessieren wie es die "Großen" handhaben?
Hallo Alexander, sie nehmen im Allgemeinen EINEN Controller, der über z. B. "Window-Watchdog" überwacht wird. Meißt verwendet man dann die "capture compare"-Eingänge und ermittelt so die einzelnen Raddrehzahlen. Gruss Otto
> das Problem ist nun, dass ich nicht weis wie man die > Raddrehzahl einlesen soll ohne das "laufende" Programm > zu behindern Mach dir deswegen keinen Kopf. In der Zeit, die du dafür brauchst, legt dein 'PKW' bei 160 Sachen grade mal ein paar Millimeter zurück. Mehere Controller verkomplizieren das in der Regel gewaltig. Denn dann taucht das nächste Problem auf: Wie stellst du eine 100% sichere und vor allem schnelle Kommunikation sicher.
Hallo, danke für Euren Tipp, ich werde mich einmal in diese Richtung begeben. Gruß Alex
es gibt auch Lösungen, bei denen die Radsensor-Signale per CAN (Bosch Speedbox) übertragen werden. Normalerweise werden sie aber per Einzelkabel pro Sensor an das ABS-Steuergerät geführt. Das Motorsteuergerät bekommt dann die relevanten Informationen vom ABS-Steuergerät. So ist es zumindest bei den etwas höherpreisigen Autos, mit denen ich tun habe.
Ich glaube schon das da ein µC ausreichen dürfte. Das Programm wird ja nicht behindert solange die Int Funktion kurz genug ist. Ich würde einfach die 2 Externen Interrupt Pins benutzen. Und bei jeder änderung des Zustands einen Zähler erhöhen. Ist also nur eine Zeile in der Int-Funktion. Und dann alle 50ms die Werte vergleichen und bei einer gewissen Differenz für eine gewisse Zeit die Bremse lösen. Ich weis nicht ob die Lösung was taugt, ist mir jetzt grade nur so eingefallen. Ich weis auch nicht in wie weit es bei den Sensoren zu Prell-effekten kommt.
Naja - 4 Eingänge für 4 Räder wären für mich das Minimum..... Gruss Otto
Er schreibt doch dass er nur eine Achse hat. Wenn beide Räder blockieren ist ja der differenzwert 0, also müsste man noch mit einbeziehen dass sich die Sensoren nicht zu schnell ändern dürfen. Und die Räder dürfen auch nicht zu schnell beschleunigen, sonst drehen die Räder durch (ARS). Das kannst du auch gleich mit versuchen zu implementieren. Ist sicherlich ein sehr interessantes Thema. Ist das für eine Uni oder Berufschule etc?
OK - hast Recht ! - wer lesen kann, ist klar im Vorteil Gruss Otto
Hallo, normalerweise gehen die Radsensoren direkt in das passende Steuergerät (ASIC). Kurze Betrachtung: Bei 216km/h = 60m/sec und einem Radumfang von z.B. 2m erhält man 30 Radumdrehungen in der Sekunde. Dann hat so ein Sensor noch eine bestimmte Auflösung z.B. 48 Impulse / Umdrehung, das wären dann 1440 Impulse pro Rad und sekund also insgesamt 5760 Impulse. Im Schnitt hast Du dann ca alle 174µsec einen Impuls - sollte machbar sein. Ausserdem solltest Du noch klären, ob der Sensor 'nur' ein symetrisches Rechtecksignal ausgibt, oder z.B. über die Impulsdauer auch noch die Drehrichtung codiert. Gruß Ray
Für ein ABS System braucht man noch ein von der Raddrehzal unabhängiges Signal für die Geschwindigkeit. Unterhalb von ca. 3 bis 5 km/h muss das ABS abgeschaltet werden, sonst lässt sich das Fahrzeug nämlich nicht bis zum Stillstand abbremsen.
Hm, korrigiert mich wenn ich falsch liege, aber ein ABS Sensor liefert doch nur einen Sinus mit Freq. x. Die Ampltitude bestimmt die Drehzahl oder Ihre mich da?
meist wird ein Induktivsensor benutzt. Ausgewertet wird die Frequenz, Amplitude interessiert nicht.
Gude / Hallo Weiß jemand genaueres über die Geschwindikeitsmessung über die ABS-Sensoren? Ich muss ein "Referat" darüber halten aud der Fachoberschuler FAchbereich E-Tech, also bräuchte ich genaue Infos über die Elektronik. Wäre echt nett wenn einer mir helfen könnte, danke mfg Seb
Hallo Erst mal zu den Sensoren : (älteren ) passive Sensoren liefern ein Sinussignal dessen Frequenz der Raddrehzahl entspricht. Die Amplitude steigt mit der Drehzahl, dadurch ist bei niedrigen Geschwindigkeiten ( < 4 - 5 km/h) eine Auswertung der Geschwindigkeit nicht mehr möglich; Signalpegel zu klein. aktive Sensoren liefern ein Digitalsignal mit einem 50 % Dutycycle. Die Frequenz entspricht der Raddrehzahl. Der Signalpegel ist unabhängik von der Geschwindigkeit und beträgt zb 7 (low) und 14 (high) mA. STROMSCHNITTSTELLE http://www.kfztech.de/kfztechnik/elo/sensoren/drehzahlsensor.htm ABS /ESP Steuergerät. Hier werden die Signale der Drehzahlsensoren ausgewertet, und die einzelnen Radgeschwindigkeiten berechnet. Berechnugsgrundlage sind die Flanken pro Zeiteinheit, und / oder die Zeitabstände zwischen Flanken. Die berechneten Geschwindigkeiten sind in der Regel über CAN auslesbar, und / oder liegen als durchgeführte und gepufferte Signale auf dem Steckverbinder. Das Meßintervall, Aktualisierungsintervall auf dem Can liegt in der Größenordnung von < 20 ms. Ansonsten mal die Homepages der 3 großen Hersteller von ESP Systemen durchblättern, da düften noch einiges an Infos zu finden sein. - Bosch - Conti Teves - TRW
Alexander Rausch wrote: > Hi, > weis wer von euch, wie die großen Autofirmen bei ABS-Systemen die > Radrehzahl der einzelenen Räder einlesen? > Verwenden sie zur Drehzahlauswerteung mehrere µC´s, oder arbeiten sie > nur dem Counter. Es war einmal.... (damals, als Freescale noch Motorola hiess) , da gab es mal eine recht enge Zusammenarbeit mit Fahrzeugherstellern (u.a. den Berliner Motorrad Werken, abgek. BMW ;-)), wobei dann ein Prozessor für Motorsteuerungen und ABS-Systeme herauskam, der MC68332. Für Die Erzeugung und Auswertung von externen Timingsignalen bekam der eine eigene "Micro-Engine" mit die man TPU (Timing Processing Unit) nannte. Diese TPU fanden auch andere Anwender so toll, dass es die bis heute (als eTPU) in verschiedenen Controllerfamilien von Freescale (Power, ColdFire,...) gibt. Das Thema ist etwas umfangreich, aber wenn Du Zeit und Interesse hast, kannst Du ja mal ein (e)TPU Manual ansehen: (9,3MB): http://www.freescale.com/files/32bit/doc/ref_manual/ETPURM.pdf
Hmmm ziemlich viel Mist was da geschrieben wurde. Zunächst einmal gibt es ABS von Bosch und Continental Teves (ATE) und noch ein paar seltenere Exoten. Ohne das Ding erstmal genau zu identifizieren wird es sich schwer in Betrieb nehmen lassen. Es gibt aktive und passive Raddrehzahlsensoren. Alle haben gemeinsam, daß sie auf bestimmten Strompegeln (7,14,28mA) ihre Daten schicken, die billigen Sensoren schicken nur den Puls, die Digitalen schicken zusätzlich noch digitale Daten mit Luftspalt und Bremsbelagverschleiß. Referenzsensoren gibt es nicht beim ABS, genausowenig wie sich die Sensoren unterhalb 4 Kmh abschalten, alles Mist. Auf dem Rad sitzt eine Lochscheibe mit glaube 48 Löchern, darauf der Sensor, die Signale wertet das ABS aus. Normale Loopzeit eines ABS ist 7ms. Wenn in dieser Zeit keine Pulse kommen, kann natürlich nichts berechnet werden, deswegen unter 4 Kmh keine Radsignale.
Hallo! Bin neu hier und hab mich etwas durchgeschmökert wegen der ABS-Sensoren! da ich Newbie bin und meine Diplomarbeit drauf basiert, hab ich da noch ergänzende Fragen dazu! 1.) Das Umwandeln vom Sinus in Rechteck scheint mal einfach, mal schwierig zu sein laut den Antworten! ich dachte da an einen LM 339....da ich nur 3 Eingänge habe, passt der recht gut ins Konzept! es handelt sich um ein Go-Kart, bei dem die Radumdrehungen respektive die Geschwindigkeiten ermittelt werden sollen! (wird dann auf ein SainSmart 2560 mittels Arduino Software programmiert) die Sensoren sind Standard (2 Anschlüsse)aus einem Opel Corsa B....29 Zähne! muss ich dem LM339 was vorschalten, kommt da ein DC Anteil raus?! ich meine, ich habe mit dem Oszi gemessen....aber unter 0 kanns nicht gehen....Sinus ist schön zu sehen! 2.) Am Ausgang einen Schmitt-Trigger vorschalten, oder genügt es, damit direkt an den PWM Eingang zu gehen?! 3.) Frequenz gemäss Übersetzung, Ritzel und max. Geschwindigkeit bei Motorenhöchstdrehzahl ergibt pro Sensor etwa 1280 bzw. 1410Hz...also unkritisch, oder ?! 4.) mir ist aufgefallen, dass das Sinus Signal "eiert", also bei gleicher Drehzahl in der Amplitude regelmässig schwankt...wie bekommt man das in den Griff? 5.) mach ich mehr draus, als dahinter steckt ? 6.) wie ich gesehen habe, macht es einen Unterschied, wie man die Kabel an das Oszi schliesst...also ist im Sensorteil sicher mehr, als nur ein Induktivgeber?! vl sind das wirklich teilweise "einfache" Fragen, aber da ich in kurzer Zeit EINIGES bewerkstelligen muss, bitte ich hier um Hilfe! DANKE :)
Rene Trattner schrieb: > 1.) Das Umwandeln vom Sinus in Rechteck scheint mal einfach, mal > schwierig zu sein laut den Antworten! > ich dachte da an einen LM 339....da ich nur 3 Eingänge habe, passt der > recht gut ins Konzept! > Eher so was wie 3*LM1815. Das ganze scheint ein passiver Induktivgeber zu sein. > > 2.) Am Ausgang einen Schmitt-Trigger vorschalten, oder genügt es, damit > direkt an den PWM Eingang zu gehen?! s.o. > 3.) Frequenz gemäss Übersetzung, Ritzel und max. Geschwindigkeit bei > Motorenhöchstdrehzahl ergibt pro Sensor etwa 1280 bzw. 1410Hz...also > unkritisch, oder ?! klar > 4.) mir ist aufgefallen, dass das Sinus Signal "eiert", also bei > gleicher Drehzahl in der Amplitude regelmässig schwankt...wie bekommt > man das in den Griff? den Luftspalt Sensor/Zahnkranz konstant halten > 6.) wie ich gesehen habe, macht es einen Unterschied, wie man die Kabel > an das Oszi schliesst...also ist im Sensorteil sicher mehr, als nur ein > Induktivgeber?! Am Induktivgeber mit Differentiellem Tastkopf gemessen? Oder irgend eine Masseschleife produziert? Das Oszi ist geerdet. Die Schaltung möglicherweise auch (am Netzteil?). Gruß Anja
Rene Trattner schrieb: > hab ich da noch ergänzende Fragen dazu! Warum stellst du die nicht in einem neuen Thread und verlinkst den alten einfach? Dann müsste man nicht einen 7 Jahre alten Thread durchlesen um ganz hinten eine neue Frage zu finden... Rene Trattner schrieb: > muss ich dem LM339 was vorschalten, kommt da ein DC Anteil raus?! Datenblatt ansehen. Dort finden sich auch Anwendungsbeispiele. Anja schrieb: > Das ganze scheint ein passiver Induktivgeber zu sein. Es ist einfach eine Spule mit einem Magneten. Die 29 Zähne machen dann den erwähnten Sinus aus der Raddrehung... Rene Trattner schrieb: > Newbie ... und ... Diplomarbeit Warum verfalle ich da jetzt ins Grübeln? Oder ist das so eine HTL "Diplomarbeit"?
Also nach meiner Erfahrung wobbelt das Signal von einem Induktivgeber so gut wie immer rum. Ich habe vor 2 Jahren öfter Kurbelwellengeber oszilloskopiert. Selbst mit einem niegel nagel neuen Inkrementanrad ohne Getriebe dran... Ist eigentlich auch kein grosses Problem so lange sich das ganze im Rahmen hält und die Hysterese passend / adaptiv ist.
Das ganze entspricht doch nur der Abfrage eines Drehgebers der ein Impulssignal liefert, dessen Frequenz proportional zur Drehzahl steigt. Zum Bremsen ist es unerheblich wie das Signal aussieht nur die Frequenz (Drehzahl->Geschwindikkeit) ist wichtig. Auch die Drehrichtung ist egal. (Mein Auto kann erprobt ABS auch bei Rückwärtsfahrt.) Daher reicht es aus, einen Zähler zu verwenden der die Impulsfrequenz misst, indem er über eine konstante Torzeit die Impulse zählt. Folgender Aufbau allgemein: Sensor-> Verstärker -> Schmitt-Trigger -> Pegelwandler auf Logik -> Zähler Sensor liefert "Sinus" der zur Auswertung mit dem Schmitt-Trigger evtl. Versärkt werden muss, dann haben wir es ein Rechtecksignal (Impulse). Das wird evtl. über einen Pegelwandler auf den Zähler geschaltet. Der Zähler muss dann nur noch "gelegentlich" ausgelesen werden per Timer. Ob dein "Sinus" einen DC-Offset hat oder nicht, liegt an deiner Sensorschaltung. Grundsätzlich würde es genügen nur die obere Halbwelle zu untersuchen. Statt über einem klassischen Schmitt-Trigger den Pegel des Sinus abzufragen kann man auch den Nulldurchgang ermitteln (Zero crossing detector). Fragen 1. Woher soll man das wissen was da hin soll ? keine Schaltung und oszi Bild 2. PWM Eingang ? An den ZÄHLER ! 3. Zählen tut die Hardware, im Normalfall schnell und sicher genug -> Datenblatt deines AVR oder was auch immer. 4. Was interessiert die Sinusspitzen-Änderung ? Wir wollen die doch nicht auswerten. Nur der Pegel muss immer einen Mindestwert einhalten damit wir keinen IMPULS verpassen. 5. Ja eigentlich schon, was studierst du ? 6. Tastkopf ! Sonst brauchst nicht erst was zu messen versuchen.
gvs schrieb: > der Pegel muss immer einen Mindestwert einhalten Ich würde einfach die Nulldurchgänge der Wechselspannung mit ein paar mV Hysterese auswerten. Dann is nur ein kleines Mindestsignal nötig, das aber ab den bereits erwähnten 5km/h sicher vorliegt... > Ob dein "Sinus" einen DC-Offset hat oder nicht, liegt an deiner > Sensorschaltung. Den bekommt man zur Not mit einem Kondensator ganz leicht wieder weg. Und dann kann man leicht wieder einen draufgeben, wenn eine unipolare Versorgung gewünscht ist... gvs schrieb: > Fragen Warum plenkst du? Satzzeichen gehören direkt ans letze Wort des Satzes! Beim Punkt klappt's doch auch... gvs schrieb: > 5. Ja eigentlich schon, was studierst du ? Ich tippe auf Österreich und HTL. Das darfst du nicht mit einem deutschen Diplom einer Uni oder FH verwechseln. Im Niveau dürfte es ein Technisches Gymnasium sein...
:
Bearbeitet durch Moderator
Lothar Miller schrieb: > Ich würde einfach die Nulldurchgänge der Wechselspannung mit ein paar > mV Hysterese auswerten. Dann is nur ein kleines Mindestsignal nötig, das > aber ab den bereits erwähnten 5km/h sicher vorliegt... Es gibt da leider ein kleines Problem: Die Amplitude ist bei Induktivgebern drehzahlabhängig. -> die Hysterese sollte daran angepaßt werden. Gruß Anja
Anja schrieb: > -> die Hysterese sollte daran angepaßt werden. Das mit der adaptiven Hysterese hätte ich erst mal aussen vor gelassen. Und gesagt: wenn es mit der kleinsten Amplitude geht, dann geht es auch mit höheren...
ja vielen Dank vorerst! dass ich kompliziert denke....stimmt....NULLDURCHGANG messen macht mehr Sinn! zum Studium: es ist eine berufsbegleitende HTL, also ein Abendkolleg! in insgesamt 3 Jahren kann man unmöglich ALLES NÖTIGE zum Thema E-Technik, Elektronik und Mikroelektronik lernen, geschweige denn verstehen! ich greife mit der Abschlussarbeit sogar vor, weil wir noch nicht ein einziges Mal einen Microcontroller programmiert haben! Die Sensortypen haben wir zwar besprochen, aber nur "gobal", nicht im Detail! da der Aufbau des Go-Kart sowieso sehr umfangreich ist, will ich den Aufwand für diese Schaltung möglichst gering halten! Die Programmierung werde ich zu 90% mit der Arduino Software machen...vl auch mit labView...Visual Studio geht auch, wobei die Registerbezeichnungen mir derzeit noch Kopfzerbrechen bereiten (Timer z.B.)
Rene Trattner schrieb: > da der Aufbau des Go-Kart sowieso sehr umfangreich ist, will ich den > Aufwand für diese Schaltung möglichst gering halten! Der Sensor und die Auswerteschaltung müssen schon aneinander angepasst werden. Ansonsten ist es unmöglich eine vernünftige Auswertung zu machen. Wenn das nur ein Teilaspekt ist, dann Frag doch jemanden vor Ort, wie einen Laboringenieur (so was in der Art werdet ihr doch haben). Oder rück die Daten raus (Schaltung + Messung). Sonst kann dir nicht geholfen werden! Rene Trattner schrieb: > Die Programmierung werde ich zu 90% mit der Arduino Software machen...vl > auch mit labView...Visual Studio geht auch, wobei die > Registerbezeichnungen mir derzeit noch Kopfzerbrechen bereiten (Timer > z.B.) Nennt sich Timer/Counter (weil das Digital das gleiche ist, Timer = Counter = Frequenzteiler; nur die Interpretation des Ergebnisses entscheidet über den Namen; bei Extern-Counter ist auch die Eingangsstufe speziell) das sollte aber bekannt sein. Benötigte Timer/Counter: Du brauchst dann 2 externe Eingänge als Counter (zum Zählen der Zähne) und einen intern als Timer (Torzeit IRQ für Zähler), dann sind vermutlich schon alle belegt (bei Mega8 üblich 3, selten 4, noch seltener mehr als 4). Manchmal kann man sich noch einen zusätzlichen langsamen Timer "besorgen" indem man den Watchdog nimmt (sehr langsam).
der ATMega 2560 hat 2 8-bit und 4 16bit Timer/Counter...somit also ausreichend! im Moment hol ich mal Informationen zum Aufbau der ABS-Sensorik...das grössere Problem bereitet im Moment eine ganz andere Sache am Fahrzeug-> es gibt keine passende Kupplung mehr und eine Adaptierung für den alten Motor gibt es nicht...aber das wird schon! mein Betreuungslehrer wird mir sicher helfen, er meinte, man baut zuerst mal eine Versuchsschaltung mit dem LM339 auf, danach schaut man, wie man das mit der Hysterese hinbekommt...bin gespannt....
Schau mal was es alles schon gibt zum Thema: http://www.gutundfair.de/uploads/media/ABS.pdf Beitrag "Hallgeber Spannung für Interrupt verwenden?!" Beitrag "Abs-Sensor als Drehzahlgeber verwenden, wie anschließen?"
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.