Forum: Mikrocontroller und Digitale Elektronik 9 Signale "verodern" für Mikrocontroller


von 007 (Gast)


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

von Eumel (Gast)


Lesenswert?

Über Dioden alle Kabel zusammen schalten, fertig.

von ich (Gast)


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.

von H.Joachim S. (crazyhorse)


Lesenswert?

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.

von 007 (Gast)


Lesenswert?

Hört sich gut an. Ihr meint so, oder:

http://www.elektronik-kompendium.de/sites/dig/schalt/02060221.gif

Sieht sehr elegant aus. Super hinweis! Ich hätte jetzt verzweifelt etwas 
mit Logik ICs gebastelt...

von 007 (Gast)


Lesenswert?

Was bedeutet OC?

von Max H. (hartl192)


Lesenswert?

007 schrieb:
> Was bedeutet OC?

Open Collector

von 007 (Gast)


Lesenswert?

Habe ich nicht einen Spannungsabfall von 0,7 V an den Dioden? Also kämen 
von logisch 5 Volt nur 4,3V an, oder bin ich da auf dem Holzweg?

von Bjoern B. (per)


Lesenswert?

Hallo,

OC bedeutet open collector

gruß,
Björn

von Max H. (hartl192)


Lesenswert?

007 schrieb:
> Also kämen
> von logisch 5 Volt nur 4,3V an, oder bin ich da auf dem Holzweg?
Ja, aber CMOS erkennt ab 2/3*Ub (3.333V @Ub=5V) sicher als High.

von MWS (Gast)


Lesenswert?

007 schrieb:
> Sieht sehr elegant aus. Super hinweis! Ich hätte jetzt verzweifelt etwas
> mit Logik ICs gebastelt...

Schau' halt das Datenblatt an, durch den Open Collector kann man alle 
zusammenschalten, da braucht's nur einen PullUp und kein Diodengrab.

von Rico S. (donricone)


Lesenswert?

4,3V werden immer noch als High anerkannt.

von ich (Gast)


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.

von 007 (Gast)


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.

von H.Joachim S. (crazyhorse)


Lesenswert?

Aber bitte nicht nur mit dem internen pullup, der ist zu gross dafür.
Wahrscheinlich hast du auch etwas an Leitungslänge, da gibts schnell 
Störungen. Nimm einen externen dazu, 1k oder 2k2.

von 007 (Gast)


Angehängte Dateien:

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.

von ghl (Gast)


Lesenswert?

007 schrieb:
> Kann ich mir da nicht pull-Ups sparen? Die liegen je immerhin parallel.

Musst du sogar, sonst ist dein Pullup zu niederohmig.

von HildeK (Gast)


Lesenswert?

007 schrieb:
> Ihr meint so,

007 schrieb:
> Kann ich mir da nicht pull-Ups sparen? Die liegen je immerhin parallel.

Einer reicht, am Besten am Eingang des µC platzieren.

von ich (Gast)


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.

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.