-
-
Erfahrener Benutzer
Robotik Einstein
Hallo Daniel,
wenn ein Poti zwischen +5V und GND liegt und der Schleifer zum A/D-Wandler-Eingang geführt wird, dann wird aus 0...5V im µC bei einer 8 Bit-Auflösung (10 Bit geht auch, ist aber hier nicht interessant) 0...255, also 256 Stufen.
Die Zeit ist im µC ebenfalls ein Binär-Wert, meistens 8 Bit = 1 Byte (0...255). Wenn 256 Schritte nicht ausreichen, werden 16 Bit = 2 Byte (0...65.535) genommen.
Dieser 'Zeit-Wert' / Timer-Wert wird von einem internen Taktgenerator in dem durch das Programm initialisierten Intervall inkrementiert, bis es zu einem Überlauf kommt: ...254...255...0. Bei diesem Überlauf kann z.B. ein Interrupt ausgelöst werden, in dessen Interupt-Service-Routine (ISR) der Timer wieder für den nächsten Überlauf auf einen neuen Wert gesetzt wird.
Der 'Zeit-Wert' kann mit dem A/D-Wert (Poti) verknüpft werden; da gibt es die tollsten Möglichkeiten.
Mit einem Timer kann auch der Abstand zwischen zwei Impulsen gemessen werden, indem dieser beim ersten Impuls auf 0 gesetzt wird und beim zweiten Impuls der Timer-Wert ausgelesen wird. Da die Inkrement-Zeit bekannt sind, kann der Zeitabstand aus Timer-Wert * Inkrement-Zeit genau bestimmt werden.
Alle internen Takt-Zeiten werden vom Quarz des µC abgeleitet: Quarz-Frequenz/2... /4... /8.../16... sind somit quarz-genau.
Das Poti kann sicher mit einer Skala versehen werden oder man hat in etwa im Gefühl, wo es stehen sollte.
Aber, unbekannte Daten aus der Ferne einzulesen, ohne kontrollieren zu können, wie die denn aussehen, wäre mir zu 'waghalsig'.
Außerdem würde ich den µC die Daten nicht jedesmal neu 'erlernen' lassen, sondern diese 1 mal einlesen, evtl. korrigieren und im internen Eeprom ablegen; dort sind sie sicher, auch wenn die Spannung weg ist.
Macht Spaß, nicht ? Wenn das hier so weiter geht, baust Du das Ding noch selber
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen