Analoges Signal an Digitalpin des Arduinos

Hi,
ich bin auf ein Verstädnisproblem gestoßen, ich benutze einen Hallsensor der ein analoges Signal ausgibt, allerdings benutze ich den Signalpin des Sensors an einem digitalen Pin des Arduinos (Pin 4). Letztens wurde ich dazu gefragt, allerdings habe ich keine Ahnung dazu.
Weiß jemand warum das so ist, bzw wie es möglich ist ein analoges Signal, an einen digitalpin des Arduinos anzustecken?

If you are going to post in the English forum, maybe you could use Google translate and post in English.

You have not specified an Arduino board so I will assume a board with the ATmega328 processor (Uno, Nano, etc.).

Connect the sensor output to a digital pin. The digital pin will switch from high to low when the input voltage to the digital pin is less than Vcc * 0.3 and will switch from low to high when the input voltage is greater than Vcc * 0.6. See the data sheet (page 258) See the specs for Vih and Vil.

You can interface it to one of the analog pins and get a range.

Poste doch mal den Link zum Hallsensor.
Es gibt durchaus Sensoren, die digital gelesen werden.

Die digitalen IO-Pins vertragen die gleiche Spannung wie die Spannungsversorgung des ganzen Microcontrollers.
Wenn das ein 5V µC it dann Spannungen zwischen 0,0V und 5,0V
Wenn das ein 3,3V µC it dann Spannungen zwischen 0,0V und 3,3V

Am Beispiel des 5V-µC:
In der Regel ist es so, dass an einem digitalen IO-pin Spannungen die 0,0V bis 2,5V als "LOW" intepretiert werden
und Spannungen 2,5V bis 5,0V als "HIGH"
Wenn du genau 2,5V hast dann wird der µC abwechselnd LOW / HIGH ausgeben weil er sich nicht entscheiden kann wie er das nun interpretieren soll.
Standard bei digitalen Signalen wäre ja 0,0V und 5,0V.
Bei 0,0V und 5,0V sind die Verhältnisse eindeutig.

Jetzt kommt es darauf an was du denn als Information brauchst.
Reicht es wenn der Sensor meldet "kein Magnetfeld" "Magnetfeld stark"?
Dann könnte man spätestens mit einem Komparator mit Hysterese ein entsprechend sauberes digitales Signal aus dem analogen Signal erzeugen.

Wenn du mit einem digitalen Multimeter die Spannungen an dem HALL-Sensor-pin misst. Was werden da für Messwerte angezeigt?

vgs

Das hört sich nach nem PWM an.
Siehe auch DRV5057 - dann wäre das ok.
Gelesen wird entweder mit einer Torzeit und die Impulse gezählt, oder es wird der zeitliche Abstand der Flanken ausgewertet.

Das ist eher ein unzulässiger, undefinierter Bereich. Kann auch sein, dass da eine gewisse Hysterese wirkt, er also einen vorigen Zustand beibehält, bis wieder eindeutig HIGH (>0,7 * Vcc) oder LOW (<0,3 * Vcc) herrscht, aber das ist eben formal undefiniert und damit dein Problem.

Das stimmt bei Digitalen Eingängen mal überhaupt nicht.
Digitale Eingänge haben eine Spannung über desie HIGH erkennen und eine andere, tiefere Spannung unter der sie LOW erkennen. Das ergibt eine Hysterese und darum gibt es keine Spannung wo hin und her oszilliert wird.

Grüße Uwe

Sensoren können analoge Werte ausgeben. Wenn Du aber zB nur ein Vorhanden und ein Nicht -vorhanden detektieren willst kannst Du das mit einem Digitalen Eingang machen. Unter einer gewissen Schwelle ergibt das LOW , oberhalb HIGH. Wenn Der Hallsensor zB einen Abstand zum Magneten mißt Du aber nur Nahe und Weg dedektieren willst dann hat das Sinn weil ein Digitaler Eingang viel schneller ist als ein analoger.
ZB Du hast einen Fotowiderstand. Du willst nicht messen wieviel Sonne da ist sondern nur Ob sonne oder Schatten dann kann das mit einem Digitalen Eingeng funktionieren. Du mußt nur den Widerstand, mit dem Du einen Fotowiderstand so Wählen daß die Spannung des Spannungsteilers genau in die LOW bzw HIGH erkennung fällt.

Grüße Uwe

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.