Forum: Analoge Elektronik und Schaltungstechnik Induktivsensor per Schmitt Trigger einlesen


von Thomas Leinert (Gast)


Lesenswert?

Nabend,

vorweg, ich bin ein ziemlicher Elektronik Laie der Analogtechnik. Bewege 
mich gerade bei meinen ersten Gehversuchen mit dem Mikrocontroller und 
möchte einen Induktivsensor einlesen eines Motors bzw. Kurbellwelle zur 
Drehzahlerfassung.

In der Forumssuche habe ich herausgefunden, dass man so etwas am besten 
mit einem Schmitt-Trigger macht bzw. einen Komparator.

Das Signal möchte ich auf meinen µC geben und somit die Drehzahl 
berechnen.

Die Spannung des Sensors liegt zwischen knapp +/-3V bei Start des Motors 
und ca. +/-20V bei Vollast.
Eingelesen werden sollten Drehzahlen von 0 bis 20000U/min also rund 
330Hz (Kart).

Da ich mich wirklich nicht auskenne, bin ich auf große Hilfe angewiesen, 
die da wäre:
1. Welcher IC kommt in Frage?
2. Wie dimensioniere ich die Widerstände für entsprechende 
Schaltschwellen ab 2,7-3V soll eingeschaltet werden, darunter aus.
3. Der IC soll den Eingang des µCs am besten auf Masse schalten, d.h. 
bei Ankunft eines positiven Signals invertierend wirken.
4. Die negativen Signale des Sensor sind für mich nicht interessant und 
diese schneide ich sowieso mit einer Diode weg.

Hat jemand einen Hilfreichen Link, Schaltplan oder am besten wäre sogar 
eine Erklärung bezüglich Auswahl und Dimensionierung, denn man möchte ja 
lernen.

Ein Datenblatt zum Sensor habe ich leider nicht.

Im Voraus schon einmal vielen Dank für alle, die sich die Mühe machen zu 
helfen.

Thomas

von Hubert G. (hubertg)


Lesenswert?

Das ist nicht ganz klar herübergekommen.
Willst du die Frequenz auswerten oder die Spannung?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Thomas Leinert schrieb:
> zur
> Drehzahlerfassung.

Offensichtlich Frequenz. Du bist mit einem Komparator schon auf dem 
richtigen Weg. Ein z.B. LM311 mit ein wenig Schutzbeschaltung an den 
Eingängen tut das richtige. Du schliesst die beiden Ausgänge des Sensors 
an die Differenzeingänge des Komparators an und am Ausgang erscheint ein 
Rechtecksignal. Sorge nur dafür, das die Eingänge des Komparators 
genügend geschützt sind, also Widerstände und evtl. Ableitdioden.

von Thomas Leinert (Gast)


Lesenswert?

Hallo,

ich möchte die Frequenz auswerten bzw. am Ausgang des Komparators eben 
TTL Pegel haben, um die Signale mit einem Mikrocontroller einzulesen und 
so die Frequenz zu berechnen.

Der Sensor hat nur eine Signalleitung an der zuerst ein negatives Signal 
kommt gefolgt von einem positiven. Das negative schneide ich wie schon 
eingangs erwähnt sowieso mit einer Diode weg. Bei Ankunft des positiven 
Signals am Komparator-Eingang (welches von ca. 3V bis 20V sein kann je 
nach Drehzahl) möchte ich am Komperator Ausgang ein low-Signal haben, 
welches mir den Pin des Mikrocontrollers auf Masse zieht.

Ich hoffe, dass ich das Problem nun etwas besser beschreiben konnte.

von Thomas Leinert (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich habe mal eine Schaltung gemacht, angelehnt an den Artikel hier:
http://www.mikrocontroller.net/articles/Schmitt-Trigger

Ich habe die gleichen Widerstände verwendet, da die Schaltschwellen ja 
bei mir durchaus ziemlich gut passen.
Da ich aber wie gesagt sehr wenig Ahnung habe, weiß ich nicht, ob die 
Schaltung so überhaupt Sinn macht oder gut ist oder ob noch etwas fehlt.
Ich hänge auch mal anbei die EAGLE Datei, evtl. möchte diese ja jemand 
verändern/modifizieren, wie es besser wäre.

Danke.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Thomas Leinert schrieb:
> Hallo,
>
> Ich habe mal eine Schaltung gemacht, angelehnt an den Artikel hier:
> http://www.mikrocontroller.net/articles/Schmitt-Trigger
>
> Ich habe die gleichen Widerstände verwendet, da die Schaltschwellen ja
> bei mir durchaus ziemlich gut passen.
> Da ich aber wie gesagt sehr wenig Ahnung habe, weiß ich nicht, ob die
> Schaltung so überhaupt Sinn macht oder gut ist oder ob noch etwas fehlt.
> Ich hänge auch mal anbei die EAGLE Datei, evtl. möchte diese ja jemand
> verändern/modifizieren, wie es besser wäre.
>
> Danke.

Das passt schon ganz gut, je grösser der 100k Widerstand ist, desto 
geringer wird die Umschalthysterese. Am Eingang fehlt jetzt noch die 
o.a. Schutzbeschaltung, denn 1. kommt dein Signal aus einer EMV 
verseuchten Umgebung (Motor) und 2. kann der Sensor ja bis zu 20 Volt 
liefern. Also einen Eingangswiderstand (10k-100k) und eine Ableitdiode 
nach +5 Volt sind da zu empfehlen.
In dieser Schaltung übrigens geht der Ausgang auf Low, wenn der Eingang 
(invertierender Eingang) positiver als die Referenz (am 
nichtinvertierenden Eingang) wird.
Zeichne jetzt noch mal alle Dioden usw. ein und frag dann nochmal hier 
an.

von Thomas Leinert (Gast)


Angehängte Dateien:

Lesenswert?

Ok, anbei ein neuer Versuch.
Ich habe jetzt mal vor den Eingang am Komparator einen 33K Widerstand. 
Wie dimensioniere ich diesen? Per Versuch?

Der Begriff Ableitdiode ist mir fremd (bin wie gesagt eigentlich Laie). 
Es wurde geschrieben nach 5V. Ist es nicht besser, diese nach 12V zu 
machen (wie gezeichnet), d.h. wenn die Spannung größer 12V ist fließt 
durch die Diode ein Strom richtig? Wäre es hier sinnvoll mit einer 
Z-Diode zu arbeiten, die die Spannung einfach begrenzt?

Dann ist mir noch nicht ganz klar: Pin8, lege ich diesen an 12V bzw. 
eben an das Zündungsplus des Motors (13,8V) oder an 5V?

Darf die Spannung am Eingang (Pin3) überhaupt größer als die Spannung an 
Pin8 sein?

Wie groß wählt man den nun eingezeichneten R5?
Der µC wird über den internen Pullup auf 5V hochgezogen und soll dann 
eben vom Komparator bei Ankunft eines positiven Signals aus Masse 
gezogen werden.

Danke.

von Thomas Leinert (Gast)


Lesenswert?

Darf ich nochmals höflichst um Unterstützung bitten, denn alleine 
bekomme ich das Problem mit meinen Kenntnissen leider nicht in den 
Griff.
Und bevor ich mir die Bauteile bestelle, wollte ich zumindest wissen, 
welche ich nun genau benötigen anhand des ersten Schaltentwurf. Nicht 
dass ich grundsätzlich falsch bin und ggf. nochmals bestellen müsste. 
Das Porto wäre für den Warenwert dann etwas ärgerlich.

Danke.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Thomas Leinert schrieb:
> Dann ist mir noch nicht ganz klar: Pin8, lege ich diesen an 12V bzw.
> eben an das Zündungsplus des Motors (13,8V) oder an 5V?

Generell gilt in Kfz immer, das du nicht einfach ans Bordnetz gehen 
kannst, sondern eine Entstörung vorsehen musst, um unerwünschte 
Spannungsspitzen von empfindlicher Elektronik fernzuhalten. Es ist also 
zu empfehlen, das du die ganze Schaltung inklusive LM311 und MC von 
einer sauber aufbereiteten 5 Volt Spannung versorgst.
http://www.mikrocontroller.net/articles/Kfz_Spannungsspitzenkiller_/_Transientenschutz
http://www.mikrocontroller.net/articles/KFZ

Thomas Leinert schrieb:
> Darf die Spannung am Eingang (Pin3) überhaupt größer als die Spannung an
> Pin8 sein?

Sollte möglich sein. Der LM339 kann das auf jeden Fall und der LM311 
würde über seine internen Schutzdioden Überspannungen ableiten, so wie 
die externe 1N4001 im Schaltbild.

Thomas Leinert schrieb:
> Wie groß wählt man den nun eingezeichneten R5?
> Der µC wird über den internen Pullup auf 5V hochgezogen und soll dann
> eben vom Komparator bei Ankunft eines positiven Signals aus Masse
> gezogen werden.

Der interne Pullup von AVRs liegt so zwischen 20k-50k. Um saubere Pegel 
zu bekommen, sollte R5 deutlich kleiner sein, irgendwas von 1k-4k7 sind 
da schon gut. Bei Speisung des LM311 aus den gleichen 5 Volt wie für den 
MC kannst du ihn dir ganz sparen. Es kann nicht schaden, dem LM311 einen 
kräftigeren Pullup zu spendieren, z.B. 1k von Pin 7 nach Pin 8.

von Thomas Leinert (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

erst einmal nochmals vielen Dank für die Mühe und Erläuterung.
Ich habe das nochmal versucht umzusetzen. Die 5V Spannung werde ich 
entsprechend aufbereiten. Den R5 habe ich nun zum Pullup unfuktioniert 
und Pin8 mit 5V versorgt.
Zusätzlich habe ich Pin8 noch einen 100nF Abblockkondensator spendiert.

Ist die Ableitdiode so richtig? Ich habe diese gegenüber der Schaltung 
zuvor gegen eine 1N4148 getauscht, da die schneller ist.

Müsste nach der Diode auch noch ein Widerstand hinein? Hier habe ich 
nämlich dies heute bei google im ELKO gefunden:
http://www.elektronik-kompendium.de/public/schaerer/ovprot.htm

Merci!

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Thomas Leinert schrieb:
> Müsste nach der Diode auch noch ein Widerstand hinein? Hier habe ich
> nämlich dies heute bei google im ELKO gefunden:

Nö, kannst du dir sparen. Ich denke, in der zitierten Schaltung macht er 
das nur, damit er die Verstärkung der OpAmps einstellen kann, das ist 
bei dir unnötig. Ansonsten sieht das doch schon gut aus. Seine Schaltung 
ist aber insofern noch interessant, weil du hier die untere Ableitdiode 
siehst, die du statt deiner Eingangsdiode D1 einbauen kannst.
Es kann später notwendig werden, den Eingang zu filtern, weil evtl. der 
Sensor auch Sachen in der Nähe des Umschaltpunktes einfängt, die die 
Drehzahlmessung verfälschen. Dazu musst du dann einen kleineren C 
vorsehen, der vom Eingang hinter R4 gegen Masse geht. Rechne so mit 220p 
bis 3n3 und sieh einen Platz für ihn vor, bestücke ihn aber noch nicht.
Ansonsten ist der LM311 eigentlich recht robust. Erst einmal in meiner 
langen Reparaturkarriere habe ich einen defekten erlebt, und das war in 
einem Hallgerät(!) Alesis Midiverb III.

von Thomas Leinert (Gast)


Angehängte Dateien:

Lesenswert?

Guten morgen,

nochmals besten Dank an alle und vorallem Matze für die tolle 
Unterstützung.
Habe das Schaltbild nochmal entsprechnd geändert und hoffe, dass ich mit 
der Schaltung nun mal ins Rennen gehen kann. Ich werde ein paar 
Widerstandswerte und Kondensatorwerte nehmen, um das dann experimentell 
noch "fein einzustellen".

Die Schaltung sieht nun ok aus, oder?

Einen herzlichen Dank nochmal.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Jo -für mich sieht das sehr gut aus. Ach, hat der Sensor ein 
abgeschirmtes Kabel? Benötigt der noch eine Speisespannung? Falls ja, 
denke dran, das in deiner Schaltung vorzusehen.
Wenn er kein abgeschirmtes Kabel hat, führe es möglichst weit weg von 
anderen Kabeln im Motorraum, damit es sich von benachbarten Leitungen 
nichts einfängt.
Allerdings kannst du im auswertenden MC Programm ja auch sowas wie eine 
Plausibilitätsprüfung einbauen - ein Signal, das meilenweit weg ist von 
der vorhergehenden Messzyklen muss ja ein Artifakt sein.

von Thomas Leinert (Gast)


Lesenswert?

Matthias Sch. schrieb:
> Allerdings kannst du im auswertenden MC Programm ja auch sowas wie eine
> Plausibilitätsprüfung einbauen - ein Signal, das meilenweit weg ist von
> der vorhergehenden Messzyklen muss ja ein Artifakt sein.

Eine Plausiblitätsprüfung softwareseitig hatte ich sowieso vor.

Der Sensor benötigt keine Speisespannung, trotzdem danke für's 
"weiterdenken". Das Kabel ist standardmäßig nicht geschrimt. Ich werde 
es mal versuchen, ob es dann so funktioniert und heute die Bauteile + 
ein paar Widerstands- und Kondensatorwerte zum Anpassen mitbestellen.

Nochmals danke für die Untersützung. Ich werde berichten, wenn die 
Schaltung aufgebaut ist, ob es so funktioniert.

von Thomas Leinert (Gast)


Lesenswert?

Guten Abend,

heute kamen meine Bauteile an und ich habe mich gleich an den Aufbau der 
Schaltung gemacht und ausprobiert.
Sie macht allerdings noch Probleme.
Der Trigger funktioniert irgendwie nicht. Der Motor läuft damit nicht 
rund. Habe mit dem µC mal die gemessene Frequenz auf einem LCD ausgeben 
lassen, diese "springt" förmlich bis hoch auf ca. 1400Hz unter anderem.

Gemacht habe ich folgendes:
Die Schaltschwelle mit einem 10K Poti versucht einzustellen, den 
Schleifer dazu an den + Eingang (2).
Die Rückkopplung von 100k auf 10k reduziert, um so eine großere 
Hysterese zu erhalten.

Auch mit den Kondensatoren habe ich versucht zu spielen, um eine 
Tiefpassfilterung zu erreichen.

Sind die 33k evtl. zu hochomig, dass der Komparator schwingt? Oder hat 
jemand Erfahrung, wie man die Schaltschwellen am besten einstellt? Unter 
3,5V bekomm ich den Motor im Stand überhaupt nicht an. D.h. bei 
niedriger Drehzahl (Startdrehzahl) ist die induzierte Spannung gerade so 
an dieser Grenze.

Danke.

Thomas

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Thomas Leinert schrieb:
> Der Motor läuft damit nicht
> rund.

Was für ein Motor? Davon war bisher nicht die Rede. Du willst den Sensor 
als Drehzahlmesser nehmen und damit einen Motor regeln? Wenn ein 
Elekromotor im Spiel ist, ist die erste Vermutung, das der Sensor durch 
Magnetfelder und Störungen auf der Versorgungsspannung aus dem Tritt 
kommt.

Ok, mach schrittweise weiter: Erstmal mit einem Poti am Eingang des 
Komparators die Schaltschwellen überprüfen. Ehe ein LM311 schwingt, muss 
nämlich schon ganz schön was passieren. Wahrscheinlicher ist, das nahe 
der Umschaltpunkte mehrere Spitzen sind, dazu müssten wir aber 
vermutlich auch deine Programmierstrategie (Sourcecode) mal sehen. Teste 
dein MC Programm mit einem Rechteckgenerator.
Ein Oszilloskop hast du nicht? Schade, damit würdest du der Sache 
schnell auf die Spur kommen.

von Thomas Leinert (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

also das ganze ist für eine Yamaha XT 400 4T gedacht.
Derzeit lese ich einfach im ICP meines Atmega8 das Signal ein und gebe 
es 1:1 weiter. Vor der Weitergabe habe ich einen Filter, dass das neue 
Signal dem alten +/- dem Viertel des alten entsprechen muss. Bsp. das 
Signal kommt bei 4000UPM, dann muss das folge Signal zwischen 3000 und 
5000 liegen, sonst wird es verworfen.

Ich habe gestern den LM311 mit dem Poti abgetastet, er schaltet durch 
wie er soll. Bei low am ICP des Atemga habe ich eine LED aufleuchten 
lassen und und bei high geht diese aus. Das funktioniert auch soweit.

Aber die Drehzahl "springt" förmlich auf 2000, dann auf 40000, dann auf 
50000 usw., im Prinzip willlkürlich, wobei ich das Display zur 
Drehzahlausgabe nur 1s aktualisiere, allerdings sind ja Drehzahlen von 
40000 nicht realistisch.

Ich habe mal die Schaltung mit einer Z-Diode + Vorwiderstand ergänzt, um 
am Komparator Eingang nur 2,7V anliegen zu haben (siehe Anhang).

So läuft das ganze, die Signale sind sauber bzw. die Drehzahl auf dem 
Display entspricht dem Drehzahlmesser.

Einziges Manko: Die Maschine läuft nicht mit dem Elektro-Starter an, nur 
mit dem Kickstarter. Die Spannung mit dem E-Starter scheint hier nicht 
drüber zu kommen.

Allerdings kann ich mir noch nicht erklären, wieso es mit Z-Diode 
(halbwegs) läuft, der Komparator macht ja auch nichts anderes, als erst 
ab 2,7V zu schalten. Kann das was mit dem Eigenkapazitäten zu tun haben? 
Sollte ich vielleicht den Kondensator für den Tiefpass vergrößern?

Ach ja, am Komparator habe ich wie bereits erwähnt ein 10k Poti als 
Spannungsteiler und klappere bei den Tests auch immer den gesamten 
Bereich ab und versuche eine gute Einstellung zu finden. In der 
Rückkopplung habe ich einen 10k um die Hysterese etwas zu vergrößern.

von Anja (Gast)


Lesenswert?

Thomas Leinert schrieb:
> Die Spannung des Sensors liegt zwischen knapp +/-3V bei Start des Motors
> und ca. +/-20V bei Vollast.
> Eingelesen werden sollten Drehzahlen von 0 bis 20000U/min also rund
> 330Hz (Kart).

Da passt irgendwas von den Werten her nicht zusammen. es sei denn dein 
Anlasser schafft 3000 U/min. (üblich wären so ca 200 U/min und daher 
Faktor 100 weniger Spannung als bei 20.000 U/min)
Die Spannung ist direkt proportional zur Drehzahl.

Üblicherweise verwendet man Schmitt Trigger mit nachgeführter Hysterese.
(Dann klappts auch mit dem Start). Siehe LM1815, CY30, MAX9924. Außerdem 
werden teilweise Zündimpulse per Software herausgefiltert um ein 
brauchbares Signal zu erhalten.

Gruß Anja

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.