Verwenden digitale Arduino Pins einen Komparator um analoge Signale einzulesen

Hi,
Ich hätte eine Verständnisfrage:
Die digitalen Pins des Arduinos können analoge Signale einlesen, und am einem gewissen Spannungswert wird das Signal als HIGH und ab einem gewissen Signal ab LOW angenommen, wie lesen die digitalen Pins allerdings das Signal ein? Funktioniert das mit einem Komparator?? Ich hab gelesen, dass es bei dem digitalen Pin 6 einen Komparator gibt, wie ist es allerdings mit den anderen Pins?

I'm pretty sure this isn't any kind of tutorial.

This is not a tutorial. It is a beginner question. You can move it there.

Absolutely correct: It's a question regarding comparators and HIGH/LOW detection of pins :wink:

Hallo, wo hast du das mit dem Pin6 gelesen?
Ich bin selbst nicht so mit den Internal vom board vertraut, allerdings weiß ich, dass das Arduino Board zwei Arten von Pins hat. Analoge und digitale. Auf den Analogen kannst du nur lesen (da gibt es wohl Ausnahmen, um andere Dinge damit zu treiben, was ich in diesm Beispiel gesehen habe).

Bei den Digitalen kann nur lesen und schreiben. Lesen kannst du aber nur HIGH und LOW.
Bei den analogen Pins kommt ein Analog-Digital-Wandler ins Spiel, der die analoge Spannung in die Werte 0 bis 1023 umwandelt.
Aus dem Video (deutsch) habe ich da was mitgenommen (habe es aber auch nur beiläufig gesehen, vielleicht erklärt das ja auch deine Frage)

Falls du analogWrite benutzt, kannst du das IMHO nur auf digitalen Pins verwenden. Du schreibst dann auch keine analoge Spannung, sondern ein Interval, in dem der Wert für eine bestimmte Zeit HIGH und dann wieder LOW ist.

Leider ist Deine Anfrage in der falschen Kategorie (Einführungen) gelandet ... Wahrscheinlich wird ein Moderator den Thread noch verschieben; beim nächsten Mal darauf achten, wo Dein Post "landet" :wink:

@vanzahl hat bereits viele Infos gegeben; Du kannst Dich aber auch hier weiter informieren:
https://www.hobbyelektroniker.ch/roboter/arduinoprogrammierung/

In Kürze:

  • Alle digitalen Eingänge verfügen über Komparatoren um aus der anliegenden Spannung ein HIGH oder LOW abzuleiten.
  • Analoge Eingänge vergleichen die Spannung am Pin mit einer Referenzspannung und geben einen Teilerwert (bei einem 10 Bit Analog-Digitalwandler sind das dann eben Werte von 0 bis 1023, bei einem 12 Bit Wandler von 0 bis 4095) aus.
  • "Analoge" Ausgänge beim Arduino erzeugen PWM, eine Pulsfolge, aber nicht uneterschiedliche Spannungen, wie man meinen könnte ...
  • DACs (Digital Analog Converter), von denen es z.B. zwei beim ESP32 gibt, können hingegen tatsächlich Spannungsverläufe erzeugen, die allerdings dann auch nicht beliebig sind, sondern in bestimmten Stufen geschaltet werden können. Damit kann man z.B. Sinus- oder Sägezahnsignale erzeugen.

Das spezielle Ding nennt sich "Schmitt Trigger"
Jeder Digitale Pin hat einen solchen.

Der z.B. UNO hat auch noch einen analogen Komparator.
Dieser hat im Gegensatz zum "Schmitt Trigger" keine Hysterese.

Tipp:
Das Datenblatt gibt gerne Auskunft.

Reden wir mal konkret vom ATmega328 im DIL Gehäuse.
Alle Pin sind digitale Ein und Ausgänge. Diese haben noch zusätzlich dazu Mehfachfunktionen.
Die digitalen Eingänge haben eine Schnitt-Trigger funktion. Ein Schmitttriger ist ein Comparatorschaltung mit Hysterese. Der Einschalt-Punkt ist höher als der Ausschaltpunkt. Dadurch entsteht eine Lücke zwischen Einschalt und Ausschaltpotential und somit eine erhöhte Störsicherheit.
Ein Comparator hat keine Hysterese.
Man kann Schmitttrigger mit Transistoren oder auch mit Operationsverstärkern aufbauen.
Schmitt-Trigger mit Transistoren und
Schmitt-Trigger – Mikrocontroller.net

Die analogen Eingänge werden über einen Multiplexer auf den A/D Wandler geschalten und die Spannung in einen Wert gewandelt.

Grüße Uwe

image

@ combie
Daran hab ich schon gedacht aber der To schreibt von digitalen Eingängen und meint meiner Meinung die Schaltschwellen die HIGH bzw LOW entsprechen

Daß der ATmega auch enien Analogcomparator hat weiß meiner Meinung der TO gar nicht.

Grüße Uwe

Ich habe da keine Meinung.
Drum hat ihm einen Link zum Datenblatt bekommen.
Da kann ihm dann rauslesen was ihm möchte.

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