mikrocontroller.net

Forum: Fahrzeugelektronik "Aktiver" geschwindigkeitssensor


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Hannes H. (hannesf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich habe eine bzw. zwei Fragen.
Die Situation ist folgende: Ich habe mir für ein Mopped (da das Original 
kaputt war) einen neuen zugelassenen digitalen Tacho besorgt. Das ding 
heist Koso XR-SRN. Dazu gab es einen "Aktiven" geschwindigkeitssensor.

Leider kann man an dem Tacho keine Gesamtkilometerzahl einstellen. Meine 
Idee war nun einen kleinen Mikrocontroller zu nehmen und ihn für eine 
weile anstatt des Sensors an den Tacho zu hängen und mit ihm sozusagen 
Geschwindigkeit vor zu gaukeln.

Über den Sensor finde ich leider nichts heraus. Das einzige was ich weis 
ist, dass er mit 3 Kabeln angeschlossen wird, eine kleine blaue LED in 
ihm verbaut ist, und er nicht auf Magnete, sondern scheinbar auf 
unterschiede im Metall reagiert (in meinem Fall 6 Schrauben die die 
Bremsscheibe halten).

Ich würde gern einen Arduino nehmen und ihm beibringen pulse pro minute 
zu generieren.

Nur:
- was kann das für ein Sensor sein den ich da nachahmen muss
- wie kann ich diese Pulse nachahmen?

Vielleicht hat ja wer schonmal sowas gemacht...

Gruß und Dank schonmal für Hilfe!!

Autor: Alexander S. (alex998)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hannes H. schrieb:
> Über den Sensor finde ich leider nichts heraus. Das einzige was ich weis
> ist, dass er mit 3 Kabeln angeschlossen wird, eine kleine blaue LED in
> ihm verbaut ist, und er nicht auf Magnete, sondern scheinbar auf
> unterschiede im Metall reagiert (in meinem Fall 6 Schrauben die die
> Bremsscheibe halten).

Schau mal in die Bedienungsanleitung, da seh als optionales Zubehör eine 
"Scheibenmagnetschraube", passend zum Drehzahlsensor.

https://drive.google.com/file/d/1r2wPnlGLIv1CUGMS6LGChdrFq_5k60J2/view

: Bearbeitet durch User
Autor: Jens M. (schuchkleisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist entweder eine Spule, dann reicht ein kleines AC-Signal.
Oder ein Hallsensor, das wäre noch einfacher, weil einfach Pulse.

Wenn du ein Messgerät (oder besser noch ein Ossi) hast, versuch mal am 
Sensor die Signalleitung zu finden und schau was passiert wenn eine 
Schraube vor dem Sensor ist bzw. nicht, respektive was passiert wenn sie 
vorbeigeführt wird.

Autor: Hannes H. (hannesf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Alexander S. schrieb:
> Schau mal in die Bedienungsanleitung, da seh als optionales Zubehör eine
> "Scheibenmagnetschraube", passend zum Drehzahlsensor.
>
> https://drive.google.com/file/d/1r2wPnlGLIv1CUGMS6LGChdrFq_5k60J2/view

Ja, das stimmt, allerdings habe ich 100% keinen Magnet am Mopped verbaut 
und die geschwindigkeit wird korrekt ausgelesen.
Der Sensor müsste dieser hier sein:

https://www.kosoeurope.com/zubehoer/sensoren-geschwindigkeit-aktiv/778/geschwindigkeitssensor-2000mm-aktiv-schwarzer-stecker?c=3305

Jens M. schrieb:
> Oder ein Hallsensor, das wäre noch einfacher, weil einfach Pulse.
>
> Wenn du ein Messgerät (oder besser noch ein Ossi) hast, versuch mal am
> Sensor die Signalleitung zu finden und schau was passiert wenn eine
> Schraube vor dem Sensor ist bzw. nicht, respektive was passiert wenn sie
> vorbeigeführt wird.

Ich denke es ist ein Hallsensor.
Bedeutet das dann, dass ich sozusagen ein 12V PWM signal bräuchte um dem 
Tacho einen input vorzugaukeln?
Dann habe ich mit einem Arduino sicher keine Chance - denn der läuft ja 
auf 5/3.3 Volt?!

Gruß und Dank!

Autor: Jens M. (schuchkleisser)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Wenn das tatsächlich ein Hall ist, ist die Spannungsversorgung im 
Bereich <5V und das Signal normalerweise einfach nur Open Collector mit 
Pullup im Steuergerät.

Dann reicht ein Transistor am Arduino und ein Script das ein paar 
hundert Hertz erzeugt und der Tacho glüht.

Du solltest in diesem Fall am Sensor einen Pin ausmessen können, der 
dauerhaft die Existenz einer Schraube anzeigt.

Der Magnet in der Zeichung bringt mich aber drauf das es eine Spule sein 
könnte, deren Kern/Magnetkreis vom Metallteil geschlossen wird, dann 
siehst du am Ossi eine kleine Wechselspannung.
Der 3-polige Stecker spricht aber dagegen.
Evtl. ist der Magnet nur zur Arbeitspunktverschiebung des Hallsensors...

Autor: soul e. (souleye)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Halt mal den Sensor gegen ein Stück Blech. Wahrscheinlich steckt da 
schon ein Magnet drin, und zwar hinter dem Sensorelement. Dessen 
Feldlinien gehen da symmetrisch durch und werden von vorbeiziehendem 
Eisen abgelenkt. Den externen Magnet brauchst Du dann nur für 
Härtefälle.

Wenn Dein Sensor dreipolig angeschlossen wird, hast Du Batteriespannung, 
Masse, und einen Schaltausgang. An dem müssten bei drehendem Rad Pulse 
zu sehen sein. Bei langsam drehendem Rad auch mit dem Multimeter.

In diesem Fall kannst Du den Sensor durch einen Transistor (Relais, 
Schalter, ...) vom Pulsausgang nach Masse ersetzen und so die Pulse 
extern ins Steuergerät einspeisen.


Zweipolige Sensoren ändern ihren Stromverbrauch, das wertet dann das 
Steuergerät aus. Für Zahn bzw Lücke zieht der Sensor dann 7 oder 14 mA 
(Conti/Philips) bzw 5 oder 10 mA (Bosch/Infineon). In diesem Fall 
müsstest Du zwei Widerstände vorsehen, von denen einer durch den 
Transistor überbrückt wird. Die Werte werden so gewählt, dass die 
passenden Ströme fließen.

Autor: Harald W. (wilhelms)
Datum:

Bewertung
-3 lesenswert
nicht lesenswert
Jens M. schrieb:

> Wenn du ein Messgerät (oder besser noch ein Ossi) hast,

...und mit Wessis geht das nicht? :-)

Autor: Hannes H. (hannesf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jens M. schrieb:
> Dann reicht ein Transistor am Arduino und ein Script das ein paar
> hundert Hertz erzeugt und der Tacho glüht.

Hi,

so inetwa hatte ich gehofft. Aber warum brauche ich einen Transistor? 
könnte ich das nicht direkt über einen PWM port am Arduino machen - like 
so:

>void setup()
>{
>  pinMode(13, OUTPUT);
>}
>void loop()
>{
>  digitalWrite(13, HIGH);
>  delayMicroseconds(100); // Approximately 10% duty cycle @ 1KHz
>  digitalWrite(13, LOW);
>  delayMicroseconds(1000 - 100);
>}
(C)https://www.arduino.cc/en/Tutorial/SecretsOfArduinoPWM


Gruß

Autor: soul e. (souleye)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hannes H. schrieb:

> so inetwa hatte ich gehofft. Aber warum brauche ich einen Transistor?
> könnte ich das nicht direkt über einen PWM port am Arduino machen

Der Arduino wird die 12 V Ruhepegel an der PWM-Leitung nicht mögen. Du 
brauchst schon was spannungsfestes mit open-collector-Ausgang. 74LS07, 
ULN2803 oder halt einen Einzeltransistor.

Autor: Jens M. (schuchkleisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn da zufälligerweise 0V/5V anliegen, geht der Arduino auch so.
Aber wenn es 3,3 oder 12V sind eben nicht.
Ein Transistor geht auf jeden Fall egal welche Spannung da anliegt von 
"2 bis 20V", und wenn etwas falsch läuft, knallt normal nur der 
Transistor ab (10ct) und nicht der Arduino (10€).

Alles natürlich unter der Annahme das der Sensortyp ein Hallsensor mit 
Open Collector ist. Weiß ja keiner.

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also der Sensor hat 3 Pins und sitzt vor einer Metallscheibe mit Lücken:
Mir käme da als allererstes induktiver Sensor NPN oder PNP in den Sinn, 
warum in aller Welt sollte man das als Hallsensor oder Spule auslegen?

Autor: Jens M. (schuchkleisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weils billiger ist?
In allen Industrien außer dem Maschinenbau sind Drehzahl- oder 
Metallanwesenheitssensoren entweder Hall (simples digitales Signal 
straight für den Microcontroller) oder Spule (nicht ganz so straight 
aber schneller, speziell für Drehzahlen oder Zahnräder).
Nur der Maschinenbau benutzt die unsagbar teuren aktiven Kap- oder 
Ind-Fühler.

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hannes H. schrieb:
> Ja, das stimmt, allerdings habe ich 100% keinen Magnet am Mopped verbaut
> ...
> Ich denke es ist ein Hallsensor.

Das passt nicht zusammen. Ein Hallsensor braucht ein sich änderndes 
Magnetfeld. Das ist das Grundprinzip so eines Sensors.

Autor: Jens M. (schuchkleisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann auch von einem internen Magenten sein, dessen Feld in einem 
offenen Kern vom zu sensenden Metall verändert wird.
Der Unterschied zum ind. Industriesensor wäre dann eben, das der Hall 
leicht magnetisch ist (also z.B. kleine Metallteile hält) und nur auf 
magnetisches Material reagiert (z.B. Eisen) während der Ind.-Sensor 
Metall im allgemeinen spürt, aber keine Teile anzieht, weder aus noch 
an.

Das Sensorprinzip tut aber auch nix zur Sache, bei beiden gäbe es einen 
Pin, der dauerhaft High oder Low ist, wenn passendes Metall vor der Nase 
ist oder eben nicht.
Ein Spulensensor hingegen erzeugt AC und ist schwieriger zu simulieren.

Autor: soul e. (souleye)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Wolfgang schrieb:

> Das passt nicht zusammen. Ein Hallsensor braucht ein sich änderndes
> Magnetfeld. Das ist das Grundprinzip so eines Sensors.

Wenn ein Hall- oder AMR-basierter Sensor Metall detektieren soll, dann 
baut man einen Magneten hinter das Sensorelement. Dessen Feldlinien 
gehen dann symmetrisch durch das Sensorelement und werden vom 
vorbeiziehendem Eisen abgelenkt. Im Datenblatt des KMI22 ist dazu eine 
schöne Zeichnung drin
http://pdf.datasheetcatalog.com/datasheet/philips/KMI22_1_1.pdf

: Bearbeitet durch User
Autor: Stefan L. (stefan_l134)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum einfach, wenn's auch kompliziert geht? Ich würde einfach ein paar 
kleine Muttern auf einen Ventilator/PC-Lüfter kleben und den Sensor 
davor montieren. Ein paar Tage laufen lassen (die genaue Zeit muss man 
natürlich ausrechnen) und schon hast du deine Kilometer.

Autor: Hannes H. (hannesf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt! Eigentlich die beste Lösung ;) !

Ich werd mir mal was basteln...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.