BorgWarner EFR SpeedSensor

Whats currently going on / was gerade passiert
Post Reply
User avatar
bofh
Posts: 629
Joined: Tue 1. Jun 2010, 19:01
Location: Saarland
Contact:

BorgWarner EFR SpeedSensor

Post by bofh »

Servus,

da ich mir einen EFR Lader holen werd will ich natürlich auch den Speed-Sensor nutzen.

Das Teil liefert ein PWM Signal mit 50% duty cycle und variabler Frequenz (5V Pegel).
Z.B. sind 2,5KHz 100.000 RPM beim EFR 6758.

Will das ganze an einem InputCapture Port anschliessen und die Zeit zwischen 2 rising edges messen (per Interrupt). Damit kann ich dann die Drehzahl errechnen. :)
User avatar
designer2k2
Administrator
Posts: 721
Joined: Mon 31. May 2010, 20:13
Location: Innsbruck
Contact:

Re: BorgWarner EFR SpeedSensor

Post by designer2k2 »

Schwierig, weil das InputCapture den ganzen Code anhält, und die minimal zu messende Zeit nicht sehr klein ist :oops:

http://arduino.cc/en/Reference/pulseIn

geht ab 10ms. für 50% PWM heißt das 20ms Periodendauer = 50Hz höchste Frequenz zur Messung möglich.

Deswegen lesen wir die Geschwindigkeit und RPM über Frequenz -> Spannungswandler ein, das ist Timingneutral und sehr genau.

Du könntest zb an der V2 den RPM oder Speed Eingang dafür verwenden, es muss nur das R/C Glied angepasst werden das dein Frequenzband sauber abgedeckt wird.
itsmyfault...
User avatar
bofh
Posts: 629
Joined: Tue 1. Jun 2010, 19:01
Location: Saarland
Contact:

Re: BorgWarner EFR SpeedSensor

Post by bofh »

Die Arduino pulseIn() Funktion kannte ich noch garnet.
Will dafür die Hardware direkt anprogrammieren und nen Interrupt nutzen.
Der IRQ-Handler wird ziemlich kurz (nur Zeit sichern) so dass ich keine Auswirkungen auf das Laufzeitverhalten erwarte.

Habe mir die Implementierung von pulseIn() angeschaut: völlig ineffizient implementiert.
Gut, für 1 mal pro Sekunde den Puls zu messen würds noch ausreichen.
pulseIn() wäre generell auch schnell genug: 10 microseconds nicht milliseconds!
also 50KHz max.

Ok, ich könnte mir auch eine Zusatzplatine basteln mit der LM2907 Schaltung drauf und dann einfach die Spannung einlesen (RPM und Speed brauch ich ja). Hab ich auch schon dran gedacht.
User avatar
designer2k2
Administrator
Posts: 721
Joined: Mon 31. May 2010, 20:13
Location: Innsbruck
Contact:

Re: BorgWarner EFR SpeedSensor

Post by designer2k2 »

ah Micro gelesen und Mili gedacht...

Du willst doch öfters als nur mit 1Hz messen, so eine Turbo-Speed Kurve zusätzlich zu RPM/Ladedruck und AGT wär schon interessant :) Sieht man schön wie am Limit vom Turbo man fährt
itsmyfault...
User avatar
bofh
Posts: 629
Joined: Tue 1. Jun 2010, 19:01
Location: Saarland
Contact:

Re: AW: BorgWarner EFR SpeedSensor

Post by bofh »

Ja wills schon so oft einlesen wie die anderen Werte auch. Ich schreib mal in einer ruhigen Minute den Code und probiers mal aus. Wäre halt eleganter als eine zusätzliche Platine.
User avatar
designer2k2
Administrator
Posts: 721
Joined: Mon 31. May 2010, 20:13
Location: Innsbruck
Contact:

Re: BorgWarner EFR SpeedSensor

Post by designer2k2 »

der Input Pin wäre auch für andere Sachen interessant, es könnte zb die Einspritzdauer gemessen werden :)
itsmyfault...
User avatar
bofh
Posts: 629
Joined: Tue 1. Jun 2010, 19:01
Location: Saarland
Contact:

Re: BorgWarner EFR SpeedSensor

Post by bofh »

Code ist fertig.

Probiere jetzt mit einem Arduino das Signal des Speedsensors zu simulieren um am Schreibtisch testen zu können.
User avatar
bofh
Posts: 629
Joined: Tue 1. Jun 2010, 19:01
Location: Saarland
Contact:

Re: BorgWarner EFR SpeedSensor

Post by bofh »

Speedsensor fürn EFR ist bestellt. :)
User avatar
bofh
Posts: 629
Joined: Tue 1. Jun 2010, 19:01
Location: Saarland
Contact:

Re: AW: BorgWarner EFR SpeedSensor

Post by bofh »

Lesen per Input Capture funktioniert.
4kHz Signal (ungefähr 160.000 Rpm -> schon über der Redline drüber) lese ich ohne messbare Auswirkung auf die Geschwindigkeit aus. Datenausgabe läuft auch weiterhin mit 20Hz :)
Post Reply