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
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.
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.
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...
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?
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.
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.
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.
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.
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.
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.
007 schrieb: > Kann ich mir da nicht pull-Ups sparen? Die liegen je immerhin parallel. Musst du sogar, sonst ist dein Pullup zu niederohmig.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.