Forum: Analoge Elektronik und Schaltungstechnik Induktivgeber Signal verarbeiten


von Daniel B. (daniel10)


Lesenswert?

Hallo :-)

Bitte steinigt mich jetzt nicht, nur ich komme momentan nicht so recht 
weiter mit meiner Schaltung.

Ich möchte gerne das Signal von dem Induktivgebers meines Rollers 
auswerten, um damit einen Drehzahlmesser auf Basis eines ATmega88A, 
später auf ATmega8 zu bauen.
Die entsprechende Software läuft soweit, nur eben meine Signalauswertung 
nicht.

Erstmal mein Schaltungsaufbau:
Nachdem ich mich von der Schaltung mit Optokoppler getrennt hab, habe 
ich mich hier im Forum ein wenig Schlau gelesen und bin auf einen 
ähnlichen Thread gestoßen, mit einer Application Note AN2159 von 
Freescale.
Dort wird ein MC34072 als Komparator verwendet. Da ich selber einen 
LM358 liegen hatte, habe ich mit dem herumexperimentiert und habe nun 
folgende Schaltung:
Es handelt sich um einen nicht-invertierenden Komparator.
Spannungsversorgung beträgt 5V. Am - Eingang des OP´s lege ich meine 
Referenzspannung von 0,9V an, welche ich mit einem Spannungsteiler 
realisiere. Dies funktioniert soweit ganz gut. Am Pluseingang kommt über 
eine 1N4007-Diode mein Induktivgebersignal an, heißt, ich muss 1,45V 
(0,9V Referenz + Spannungsabfall Diode 0,55V) als Mindestpegel haben, 
damit der OP schaltet.
Zusätzlich habe ich am + Eingang ein 10k Widerstand nach Masse und ein 
10nF Kondensator zum Entstören.
Vorher habe ich die Schaltung mit Batterien getestet, ein 1,2V Akku 
recht nicht um zu schalten, eine 1,5V Batterie schaltet Problemlos. 
Prinzipiell also funktionell.

Mein Signal hat eine positve Spitzenspannung von 2,46V und eine negative 
von 2,7V im Leerlauf, gemessen mit Oszilloskop.
Bei ca. 5000-6000 Umdrehungen steigt die positive Spitzenspannung auf 
4,2V an, ebenso die negative. Zwischen den Spannungsspitzen von 4,2V 
tummeln sich viele kleine 1V Spitzen.
Heißt ich muss bei ca. 1,5V triggern, um die kleinen Spitzen zu filtern.
Kann auch wenn es gewünscht wird, ein Scan meiner Messungen hochladen, 
allerdings schwer lesbar wahrscheinlich.

Jedenfalls habe ich nun die Vermutung, das der LM358 zu langsam ist.
der MC34072 hat 4,5MHz Bandbreite, der LM358 0,7MHz. Ehrlich gesagt kann 
ich jetzt nicht sagen, ob das etwas damit zu tun hat. Deswegen frage ich 
euch jetzt mal ganz lieb.
Selbst wenn ich das Signal ohne 10K Widerstand, Kondensator und Diode 
direkt an den + Eingang des LM358 anlege, schaltet dieser nicht.
Deswegen meine Vermutung mit zu langsam...

Wenn ich das Signal über die Diode direkt an den Eingang des ATmegas 
lege, funktioniert alles einwandfrei. Nur kann das ja nicht im Sinne des 
erfinders sein, ein ungefiltertes Signal an einen Prozessor zu legen...

Evtl. kann mir jemand einen Wink geben, wenn nötig mit Zaunpfahl ;-)

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Daniel B. schrieb:
> Heißt ich muss bei ca. 1,5V triggern, um die kleinen Spitzen zu filtern.

Wie wäre es, einfach einen BC547 mit einen 1:1 Basisspannungsteiler an 
das Sensorsignal zu hängen? Evtl. noch ein paar nF gegen Masse, um 
Störungen loszuwerden. Den Emitter an Masse und den Kollektor an den 
Mega Eingang mit aktiviertem Pullup, der den Arbeitswiderstand für die 
Emitterschaltung darstellt.
Man kann auch ein Trimmpoti als Basisspannungsteiler verwenden, um den 
Trigger genauer einzustellen, aber vermutlich braucht man das nicht.

von Daniel B. (daniel10)


Lesenswert?

Das hatte ich bereits schonmal gemacht gehabt, allerdings in 
abgewandelter Form.
Das hatte auch soweit funktioniert, nur angeregt durch die AppNote 
wollte ich es mal so machen.
Ich war sogar am überlegen, den internen Komparator im ATmega zu nehmen, 
aber mit dem lässt sich ja im Fall der Fälle keine Mitkopplung, also 
Schmitt-Trigger aufbauen, falls dadurch das Signal besser ausgewertet 
werden kann.
Das war auch der Grundgedanke, überhaupt einen OPamp zu nutzen.

von Anja (Gast)


Lesenswert?

Daniel B. schrieb:
> Mein Signal hat eine positve Spitzenspannung von 2,46V und eine negative
> von 2,7V im Leerlauf, gemessen mit Oszilloskop.
> Bei ca. 5000-6000 Umdrehungen steigt die positive Spitzenspannung auf
> 4,2V an, ebenso die negative. Zwischen den Spannungsspitzen von 4,2V
> tummeln sich viele kleine 1V Spitzen.

Hallo,

irgendwas stimmt hier nicht: nach dem Induktionsgesetz muß die Spannung 
streng proportional zur Drehzahl sein.
Ich vermute daß das Signal irgendwie abgeschnitten wird. (Schutzdioden?)

Normalerweise erfolgt die Auswertung des Signals im Nulldurchgang 
mittels nachgeführter Komparatorschwelle und adaptiver Hysterese.

Schau dir mal das Datenblatt zum LM1815 an.

Gruß Anja

von hinz (Gast)


Lesenswert?

Anja schrieb:
> Schau dir mal das Datenblatt zum LM1815 an.

Oder das hier:

https://datasheets.maximintegrated.com/en/ds/MAX9924-MAX9927.pdf

von Zeno (Gast)


Lesenswert?

Daniel B. schrieb:
> Jedenfalls habe ich nun die Vermutung, das der LM358 zu langsam ist.
> der MC34072 hat 4,5MHz Bandbreite, der LM358 0,7MHz.

Was misst Du eigentlich Impulse oder Spannung? Ich denke mal Impulse - 
sonst bräuchtest Du ja keinen Komperator.
Wieviel Impulse pro Umdrehung gibt denn Dein Geber ab 1, 2 oder mehr.

Jetzt kannst Du mal durchrechnen. 6000 Umdrehungen pro Minute sind 100 
Umdrehungen pro Sekunde (6000 / 60). Wenn Dein Geber nun pro Umdrehung 1 
Impuls abgibt wären das gerade mal 100Hz. Das macht Dein LM358 locker. 
Selbst wenn der Geber 100 Impulse pro Umdrehung abgeben würde wären wir 
erst mal bei 10kHz - ist für den LM358 auch kein Thema.

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


Lesenswert?

Anja schrieb:
> irgendwas stimmt hier nicht: nach dem Induktionsgesetz muß die Spannung
> streng proportional zur Drehzahl sein.

Wenns ein China Roller ist - die haben nur eine winzige Sensorspule, die 
in der Lima einem noch winzigeren Magneten am Rotor der Lima 
gegenübersteht. Da kommt schon recht wenig raus und das wird wegen der 
Kürze des Signals auch nicht viel grösser, wenn man die Schüssel 
hochdreht.

> Ich vermute daß das Signal irgendwie abgeschnitten wird. (Schutzdioden?)
Da hängt ja die Transistorzündung dran, die das Signal vermutlich noch 
begrenzt.
Ich habe hier nur noch die Reste eines Schrottrollers, deswegen kann ich 
nichts mehr im laufenden Betrieb messen.

von Daniel B. (daniel10)


Lesenswert?

Ja genau, ich messe die Impulse und es handelt sich tatsächlich um einen 
Chinaroller. Der Induktivgeber ist auch außerhalb angebracht, also nicht 
mit im Generator mit integriert. Bin mit dem roller aber ganz zufrieden, 
mal nebenbei.

Das Datenblatt vom Lm1815 hatte ich mir mal angesehen gehabt, habs aber 
nicht weiter verfolgt, da das Ding doch recht teuer ist und für eine 
einfache Drehzahlerfassung evtl. Übertrieben wäre.
Denke euch geht es eher um die prinzipielle Vorgehensweise, was in 
diesem IC vor sich geht.

In diesem IC werden ja auch, ich sag mal "nur" Komparatoren verwendet, 
allerdings mit adaptiver Hysterese. Das bräuchte ich womöglich garnicht 
mal zwingend denke ich mal.

: Bearbeitet durch User
von Thomas F. (igel)


Lesenswert?

Daniel B. schrieb:
> Zusätzlich habe ich am + Eingang ein 10k Widerstand nach Masse und ein
> 10nF Kondensator zum Entstören.

Versuch doch mal wie in dieser Schaltung:
Beitrag "Kann mir einer diese Schaltung erklären?"

mit einem Kondensator die Gleichspannung rauszufiltern und dann einen 
Spannungsteile am Eingang des Komparators, also links von Pin 8.

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


Lesenswert?

Daniel B. schrieb:
> Das bräuchte ich womöglich garnicht
> mal zwingend denke ich mal.

Vermutlich nicht, die Transistorzündung hat mit Sicherheit auch keine 
adaptive Hysterese. In schwierigen Fällen ist der LM1815 eine gute Wahl, 
aber hier eher Overkill.

Ich denke auch eher, das eine Stufe zwischen Sensorspule und MC den Sinn 
hat, den MC vor irgendwelchen Über-Sproddlern im (zumindest bei meinem 
Roller hier) grauenhaft gemanschten Kabelbaum zu schützen, als zur 
Signalaufbereitung. Machs einfach mit dem Transistor und gut is' :-P

von Daniel B. (daniel10)


Lesenswert?

Hallo :-)

Ich wollte mich kurz zu meinem Problem melden.
Ich habe nun mit einem LM393 einen invertierenden Schmitt-Trigger 
aufgebaut, welcher den Eingang meines Atmega auf Masse zieht, wenn ein 
Signal zwischen 1,4 und 1,15V anliegt.
Funktioniert einwandfrei. Nur meine erste Schaltung mit dem LM358 hätte 
wohl auch funktioniert... der Fehler lag an dem Messkabel, welches ich 
zum anschließen am Roller benutzt habe... Kabelbruch. Sowas ärgerliches 
:-(

Da ich gestern nun mein EA DIP204 zerstört habe und der Nachfolger 
DIP203 nur noch 3,3V hat, kennt jemand zufällig einen bidirektionalen 
Pegelwandler?
Muss ja jetzt die 5V vom ATmega auf 3,3V, und bei Busyflag abfrage von 
3,3V auf 5V hoch.
ATmega auf 3,3V laufen lassen ist keine Alternative, da ich meine 
kompletten Schaltungen auf 5V-Basis aufbaue.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Daniel B. schrieb:
> Muss ja jetzt die 5V vom ATmega auf 3,3V,

Den ATmega mit 3,5V laufen zu lassen, ist keine Option?

von Anja (Gast)


Lesenswert?

Hallo,

Daniel B. schrieb:
> kennt jemand zufällig einen bidirektionalen
> Pegelwandler?

Man könnte einen Logic Level FET (z.B. BSS138) für so was verwenden.
Beschaltung siehe z.B. hier:

https://github.com/watterott/BME280-Breakout/blob/master/hardware/BME280-Breakout_v10.pdf

Gruß Anja

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


Lesenswert?

Oder du verwendest ein DOGM-163 (3 Zeilen). Spart Pins (SPI oder 
parallel) und läuft mit 3,3 - 5V. Hat allerdings eine Zeile weniger.

von Daniel B. (daniel10)


Lesenswert?

Hallo Anja :-)

Schon viel von dir hier im Forum gelesen. Das sieht sehr interessant aus 
mit dem BSS138.
Verstehen tue ich es aber nicht so ganz. Man kann damit wirklich von der 
5V Seite aus 3,3V schalten und auch umgekehrt?
Und das ganz unkompliziert? Wäre ja super :-)

Habe schon beide DOGM´s im Einsatz, also 162 und 163. Laufen alle mit 
SPI und 5V :-) Hab das DIP204 aber lieb gewonnen, wegen Busyflag-Abfrage 
auch im SPI-Modus. Und nun muss ich es zu Grabe tragen :-(

: Bearbeitet durch User
von Anja (Gast)


Lesenswert?

Hallo,

der Trick ist eigentlich der daß nur das Masse-Signal (Spannungen 
unterhalb ca 2V) durchgelassen wird, da das Gate auf 3.3V festgeklemmt 
ist.
Deshalb sind auch die pull-up Widerstände an 5V/3.3V notwendig.

Natürlich ist die Schaltung wegen der pull-ups nicht mehr ganz so 
schnell falls Leitungs/Eingangskapazitäten aufgeladen werden müssen.

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.