9 Signale "verodern" für Mikrocontroller

Gast #3562534
Lesenswert?

Hi Leute,

ich habe 9 Leitungen von je einem Hall Sensor. Wenn einer der Sensoren 
ein Magnetfeld detektiert, soll mein Atmega2560 reagieren. Dabei ist es 
ganz egal, welcher Sensor etwas detektiert.

Um Ports zu sparen, kann ich die neun Sensorsignale doch sicherlich 
"Oder"-verschalten. Wie mache ich das am elegantesten? Gibt es dafür ein 
spezielles IC?

Als Hall Sensor kommt ein TLE4905 mit integriertem Schmitttrigger zum 
Einsatz. Sollte also saubere 0V (kein Magnet da) bzw 5V (Magnet ist da) 
auf den Leitungen haben.


Grüße, 007
Gast #3562543
Lesenswert?

An jeden Sensor-Ausgang die Anode einer Diode anschließen.
Alle Katoden parallelschalten und über einen Schutzwiderstand (z.B. 1k) 
auf den Eingang des µC geben. Den µC-Eingang über 100k gegen GND 
schalten (Pulldown).

Funktion: Der Eingang wird über den Pulldown auf LOW gehalten. Wenn 
einer (oder mehrere) Sensoren ein HIGH ausgeben, wird der µC-Eingang 
über die Diode auf HIGH gezogen.
Gast #3562570
Lesenswert?

H.Joachim Seifert schrieb:
> Normalerweise haben Hall-Sensoren OC-Ausgänge (das muss nicht so
> sein,
> ist aber bei allen, die ich kenne so)
> Falls ja: alle zusammenschalten, gemeinsamen pull-up, fertig.

Richtig, du hast recht. Ich habe mir gerade mal das Datenblatt 
angesehen. Die Ausgänge sind OC.
Also alle Ausgänge parallel und an den µC-Eingang. Der Pullup sollte 
auch problemlos mit dem internen Pullup des µC funktionieren.

Ich hatte mich nur auf die Aussage von 007 verlassen, daß da 0 und 5V 
rauskommen.

@007: Also nochmals zur Erklärung:
Kein Magnet: 5V über den Pullup liegen an
Magnet erkannt: Ausgang schaltet gegen GND, also LOW.
Gast #3562584
Lesenswert?

ich schrieb:
> Kein Magnet: 5V über den Pullup liegen an
> Magnet erkannt: Ausgang schaltet gegen GND, also LOW.

Vielen Dank, dass wäre natürlich die einfachste Beschaltung. Werde es so 
realisieren. Also alle Signale an einen Eingang des Mikrocontrollers. 
Den entsprechenden Pin schalte ich auf Eingang.
Gast #3563920
Lesenswert?

Meint ihr das klappt so wie im Anhang zu sehen?

Oder muss ich die Beschaltung ändern, da ich ja 9 Sensoren an einander 
schalte.

Die Hall-Sensoren liefern, wenn kein Magnetfeld wirkt 5V.
Erkennt einer oder mehrere der Sensoren ein Magnetfeld so zieht er die 
gemeinsame Leitung auf 0V.

Kann ich mir da nicht pull-Ups sparen? Die liegen je immerhin parallel.
Angehängte Dateien:
Gast #3564066
Lesenswert?

007 schrieb:
> Die Hall-Sensoren liefern, wenn kein Magnetfeld wirkt 5V.

Fast richtig :-)
Die 5V kommen nicht vom Hallsensor, sondern vom Pullup. Und zwar so 
lange, bis mindestens einer der Hallsensoren diese Leitung gegen GND 
zieht.
Und den Pullup brauchst du nur einmal am Eingang des µC.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren