Forum: Mikrocontroller und Digitale Elektronik Hallsensor


von Ralf (Gast)


Lesenswert?

Hallo zusammen!

Ich möchte mittels eines Hallsensors die Umlaufdauer eines Rotors
ermitteln. Ich habe dazu einen UGN 3503U Hallseonsor. Dieser liefert
mir leider kein TTL Signal zurück, sondern ohne Magnetfeld 2,5 V. Bei
Nordpol eines Magneten geht die Spannung runter, bei Südpol steigt sie
(oder andersherum g).

Da sich die Schaltung auf dem sich drehenden Rotor befindet, habe ich
keinen Platz etwas aufwändiges mit OPAMPs zu bauen.
Am liebsten wäre es mir, wenn der Hallsensor beim Magneten
vorbeistreift und dann einen Interrupt auslöst.

Hat jemand vielleicht eine Idee, wie sich das am einfachsten
realisieren lassen würde?

Evtl. könnte ich das Signal auch mit dem AD Wandler einlesen. Ich muss
nur erst nachschauen, ob der AD Wandler schnell genug ist ...

Oder vielleicht kann ich das Signal an den Analog Comparator legen und
sobald die Spannung 2,6V oder so übersteigt einen Interrupt auslösen.

Was meint ihr ist die beste Lösung?

Danke!
Grüße
Ralf

von crazy horse (Gast)


Lesenswert?

Analog-Komperator ist schon der richtige Weg. Der kann auch direkt ein
ICP-Ereignis auslösen, so dass die Messung unabhängig von
Softwarelaufzeiten ist.
Ansonsten: es gibt massenhaft Hallsensoren mit open-collector-Ausgang,
die könnte man auch direkt an einen Int-Eingang anschliessen.

von Ralf (Gast)


Lesenswert?

Hallo!
Danke für deine Antwort
Leider habe ich keinen zu Hause :-)
Deshalb muss der hier hinhalten.

Seh ich das richtig:
An AIN0 muss ich die 2.6V (mittels Spannungsteiler anlegen)
An AIN1 muss dann die Hallspannung.

Den Interrupt aktivieren, den Analogcomparatoer anschalten und das
Triggerevent auf fallende Flanke und dann sollte das ganze
funktionieren, oder?

Viele Grüße
Ralf

von Ralf (Gast)


Lesenswert?

Hallo!

ich habs jetzt hingekriegt und dern Hallsensor an den Komparator
angeschlossen.

Bei 2.7 V AIN0 läuft das ganze auch, solange ich mit der Hand andrehe
(auch wenn ich nicht ganz verstehe, warum der Interrupt zweimal
zeitlich versetzt aufgerufen wird, da ich eigentlich fallende Flanke
eingestellt habe.

Schalte ich nun den Motor an, der das ganze antriebt, sind zwar die
beiden Interrupts noch richtig zu erkennen, allerdings schleichen sich
dauern noch irgendwelche anderen Interrupts mit ein. Also zum
Zeitmessen eigentlich unmöglich ...

Woher können die kommen? Kann es sein, dass das Magnetfeld des Motors
so stark einstreut? (ist ein einfacher DC Motor der mit 3V betrieben
wird. - er hat ein seperates Netzteil!).

Grüße
Ralf

von Ralf (Gast)


Lesenswert?

hab nochmal nachgeschaut.

in konstanten Abständen zur Umdrehungsgeschwindigkeit gibt es diese
Störungen 6 x pro Umdrehung.

Durch hochsetzen der positiven Spannung am Komparator kann ich diese
Störungen völlig ausblenden. Leider ist nun auch mein Magnet zu
schwach, um den Comparator Interrupt auszulösen.

Kann es sein, dass das die Ablösefunken des Motors sind, die hier so
sehr stören? Kann ich die durch externe Beschaltung irgendwie kleiner /
weg kriegen?

Grüße
Ralf

von Ralf (Gast)


Lesenswert?

Jetzt hab ich nochmals versuch neben dran einen anderen Motor laufen zu
lassen - und tatsächlich - die LED begann zu flackern. Obwohl das ganze
über ein extra Netzteil lief ...

Wie kann ich den Motor entstören ?!? Gibt es da keine Möglichkeit oder
ist der MOtor einfach nicht geeignet?

Viele Grüße
Ralf

von TobyTetzi (Gast)


Lesenswert?

Hallo,

ich teste auch mit einem Hall-Geber rum.

Mit einem TLE4905L geht eine Drehzahlerfassung wunderbar.

Gruß Toby

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.