Forum: Mikrocontroller und Digitale Elektronik passiver induktiver Sensor am Arduino


von Ronald W. (ronaldo)


Lesenswert?

Ja,ich habe die SUFU benutzt aber bin nicht fündig geworden.Ich muss 
auch vorrauschicken, dass ich kein Elektroniker bin. Daher frage ich 
hier Euch die Ihr Spezis seid, um Rat.

Ich habe einen alten Dieselmotor. Dieser hat an einer Stelle einen 
Induktiven  Geber (Näherungssensor von VDO) verbaut. Dieser Sensor ist 
noch von der alten Schule , also ohne interne verbaute Elektronik usw. 
Der Sensor hat nur zwei 6,3mm Flachsteckanschlüsse.

Ich habe mal diesen Sensor getestet. Wenn ich an den Anschlüssen einen 
Tastkopf und Masse des Tastkopfes anschließe erhalte ich ein Signal. 
Dabei handelt es sich um eine steil ansteigende Flanke die dann ebendso 
steil in den negativen Bereich abfällt.

Ich würde nun gerne diesen Sensor an einen Arduino anschließen um die 
Drehzahl dazustellen. Intern im Motor tastet dieser Sensor ein Zahnrad 
der Nockenwelle ab.

Mir geht es darum rauszufinden wie ich diesen passiven Sensor bzw dessen 
Signal einbinden muss, damit ein Verwertbares Signal für den Arduino 
entsteht.
Auch glaube ich gelesen zu haben, dass dabei hohe Spannungsspitzen den 
Arduino gefährlich werden könnten.

Leider kann ich nicht auf einen anderen Sensor ausweichen. Ich muss 
diesen VDO Sensor nutzen. (VDO 340-804-007-003C  )

Für Hinweise und Hilfe wäre ich Euch sehr dankbar !

Gruß ronald

von Einer K. (Gast)


Lesenswert?

Eine Seite des Sensors auf 1/2 Vcc hängen, also ca 2,5V bei einem UNO.
Die andere an einen Pin.

Da ein AVR einen Schmitttrigger Eingang hat, kannst du den Pegelwechsel 
sauber erkennen.

Natürlich können Verstärker, Dämpfungen und Schutzschaltungen nötig 
werden, aber da die (interessanten) Daten des Sensors geheim sind....
Im einfachsten Fall reichen 2 Widerstände und 2 Dioden.

von Stefan F. (Gast)


Lesenswert?

Arduino Fanboy D. schrieb:
> Im einfachsten Fall reichen 2 Widerstände und 2 Dioden.

Oder gar die Schutzdioden im innern des Mikrocontrollers.

von Wolfgang (Gast)


Lesenswert?

Ronald W. schrieb:
> Leider kann ich nicht auf einen anderen Sensor ausweichen. Ich muss
> diesen VDO Sensor nutzen. (VDO 340-804-007-003C  )

Von Maxim gibt es passende Wandler, z.B. den MAX9924 mit differentiellem 
Eingang und ein paar Features für Offset- und Schwellwertanpassung.

von Günni (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Oder gar die Schutzdioden im innern des Mikrocontrollers.

Diese induktiven Sensoren sind normalerweise recht niederohmig und die 
Spannung steigt bei steigender Drehzahl. Die internen Schutzdioden des 
Controllers zu verwenden ist ohnehin nicht ratsam, wenn dann aber noch 
durch eine niederohmige Quelle der Eingangsstrom einen gewissen Wert 
überschreitet, gibt es einen "Latch up", der das Ende des Prozessors 
bedeutet. Am besten das Signal über eine Transistorstufe - ich würde 
einen NPN-Transistor nehmen, Emitter an Ground, Kollektor über einen 
Widerstand von ca. 1 kOhm an die Versorgung des Controllers. Die Basis 
über einen Widerstand von etwa 10 kOhm mit dem Signal versorgen. Damit 
durch die negative Eingangsspannung die Durchbruchspannung der 
Basis-Emitterstrecke nicht überschritten wird, eine Diode 1N4148 oder 
ähnlich mit der Kathode an die Basis und mit der Anode an den Emitter 
legen. Diese leitet dann die negative Spannung ab.

von Stefan F. (Gast)


Lesenswert?

Günni schrieb:
> Diese induktiven Sensoren sind normalerweise recht niederohmig und die
> Spannung steigt bei steigender Drehzahl.

Deswegen kommt bleibt natürlich der von Arduino Fanboy genannte 
Vorwiderstand in der Schaltung. Laut einer Appnote von Atmel vertragen 
die ESD Schutzdioden etwa 1mA, ohne Fehlfunktionen auszulösen.

von bingo (Gast)


Lesenswert?

Günni schrieb:
> Diese induktiven Sensoren sind normalerweise recht niederohmig

Laut VDO Webshop Innenwiderstand 1.050 Ohm ± 100 Ohm

von Günter Lenz (Gast)


Lesenswert?

Mach eine Diodenklemmschaltung, die negative Halbwelle
wird dann Kurzgeschlossen und die positive Halbwelle
wird auf Betriebsspannung begrenzt.

Siehe hier:

https://www.elektronik-kompendium.de/public/schaerer/ovprot.htm

Wie hoch ist denn die Spannung die der Sensor liefert?
Ich weiß jetzt nicht ob der Arduino Schmitt-Trigger-Eingänge
hat, wenn nicht wäre es noch von Vorteil einen Schmitt-Trigger
vor zuschalten.

von Stefan F. (Gast)


Lesenswert?

Günter Lenz schrieb:
> Ich weiß jetzt nicht ob der Arduino Schmitt-Trigger-Eingänge hat

Hat er

von Wolfgang (Gast)


Lesenswert?

Günter Lenz schrieb:
> Wie hoch ist denn die Spannung die der Sensor liefert?

Die hängt natürlich von der Änderungsgeschwindigkeit, i.e. der Drehzahl 
ab - wie das bei Induktion so ist ...

von Günni (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Deswegen kommt bleibt natürlich der von Arduino Fanboy genannte
> Vorwiderstand in der Schaltung. Laut einer Appnote von Atmel vertragen
> die ESD Schutzdioden etwa 1mA, ohne Fehlfunktionen auszulösen.

Es war nicht meine Absicht, jemandem auf den Schlips zu treten. Der 
Sensor hat einen Widerstand von etwa 1 kOhm. Ohne weitere Schutzmaßnahme 
werden dann die 1 mA schon bei einer Ausgangsspannung von 1 V (Spitze) 
erreicht. Da die Sensorspannung von der Drehzahl abhängt, reicht 
entweder die Spannung bei niedrigen Geschwindigkeiten nicht für eine 
Messung aus oder bei höheren Spannungen wird der 1 mA Grenzwert 
überschritten. Leider haben diese Sensoren auch noch die Eigenschaft, 
dass ihre Induktivität und die Kapazität von Wicklung und Zuleitung 
einen Schwingkreis bilden und so zum "Klingeln" neigen. Und die 
Schutzdioden sind gegen höherfrequente Signale besonders empfindlich, da 
diese kapazitiv im IC überkoppeln können. Mein Vorschlag bestand aus 1 
Transistor, 1 Diode und 2 Widerständen.

Fanboy braucht 2 Widerstände für die Erzeugung der halben 
Versorgungsspannung. Wenn er diese hochohmig auslegt, können die auch 
als Strombegrenzung dienen. Aber dann muss Ronald W. schon gut rechnen, 
damit der Aufbau sicher funktioniert. Sonst braucht man noch weitere 
Bauteile und der Vorteil dieser einfachen Lösung ist weg.

Wie gesagt, ich wollte nicht meckern und auch nicht alles besser wissen. 
Meine Absicht war, dem Fragesteller einen einfachen Weg aufzuzeigen. 
Sorry, wenn das jemand in den falschen Hals bekommen hat.

von Stefan F. (Gast)


Lesenswert?

Günni schrieb:
> Es war nicht meine Absicht, jemandem auf den Schlips zu treten.

Hast du auch nicht, keine Sorge. Ich finde deinen Vorschlag auch nicht 
schlecht. Es gibt viele gute Wege zum Ziel.

von Ronald W. (ronaldo)


Lesenswert?

So, ich möchtre mich bei euch für die Anregungen ganz herzlich 
bedanken!!
Ich muss nun erst einmal in Ruhe verarbeiten was ihr mir hier mit auf 
den Weg gegeben habt. Es gibt sicherlich immer mehrere Wege.
Das was ich an Anregungen erhalten habe werde ich sorgfältigst 
überdenken.

Ggf. Werde ich noch mal auf diesen Thread zurückkommen. Die Drehzahl des 
Motors wird bei ca 3200 U/min seine oberste Grenze haben. Die niedrigste 
Drehzahl wird ca 650 U/min sein. Allerdings kommen die Signale von der 
Nockenwelle , die zwar mit der halben Motordrehzahl dreht aber viele 
Impulse liefert durch die Zahradflanken. Demzufolge wird die 
Signalfrequenz recht hoch liegen.

Ich werde mir wohl zunächst mal ein Zahrad vom Schrott beschaffen müssen 
um eine Testaufbau mit drehender Mechanik zu haben. Das wird dann die 
Grundlage werden um die Spannungen und Impulse zu messen.

Für mich nicht so einfach.

Dennoch vielen Dank für eure helfenden Antworten !

Ronald

von sid (Gast)


Lesenswert?

Ich vermute ein 60-2 Zahnrad oder ähnliches..
also ein oder zwei fehlende Zähne um die jeweilige Vollrotation zu 
markieren.

ich weiss nicht ob Du so einfach auf das geberzahnrad gucken kannst,
nur falls nicht und Du im Realaufbau plötzlich eine Lücke in der Ausgabe
der Zahnradflankenausgabe siehst;
nicht erschrecken, es ist nichts kaputt, das ist eher üblich :D

3200 rpm? klingt nach Industriemotor... Stromerzeuger? Wasserpumpe?
(nein, macht keinen Unterschied; ich bin nur Neugierig)

'sid

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.