Forum: Mikrocontroller und Digitale Elektronik PIC16F18875 Schwellspannung Eingangssignal


von Fabian Ü. (ueker123)


Lesenswert?

Ich habe als Neuling eine Frage zu einem PIC16F18875.

Ich habe ein analoges Eingangssignal, dass ich digital erfassen will.
Die Spannung schwankt zwischen 0,4 und 5V.
Gibt es die Möglichkeit für digital I/O die Schwellspannung(en) zu 
verändern?

Wenn ich das richtig verstehe, kann ich nur zwischen Schmitt Trigger und 
TTL mit entsprechend fest gesetzten Pegeln entscheiden? Die passen aber 
nicht.
Habe ich das richtig verstanden?

Muss ich per ADC das Signal wandeln oder gibt es eine intelligentere 
Lösung?
Das Comparator Modul klingt auch recht interessant.

Besten Dank :-)

ädit: Achso im Moment erfasse ich per Interrupt on change und es wäre 
super, wenn ich da einfach nur die Hysteres beeinflussen könnte...

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Fabian Ü. schrieb:
> Muss ich per ADC das Signal wandeln oder gibt es eine intelligentere
> Lösung?
> Das Comparator Modul klingt auch recht interessant.

Eben, um ein Analogsignal digital zu erfassen, braucht es keine größere 
Intelligenz. Arbeite die paar Seiten im Datenblatt durch und dann ran 
...

von Volker S. (vloki)


Lesenswert?

Fabian Ü. schrieb:
> Ich habe ein analoges Eingangssignal, dass ich digital erfassen will.
> Die Spannung schwankt zwischen 0,4 und 5V.

Was willst du genau erfassen?

Fabian Ü. schrieb:
> Gibt es die Möglichkeit für digital I/O die Schwellspannung(en) zu
> verändern?

Nein.

Fabian Ü. schrieb:
> Wenn ich das richtig verstehe, kann ich nur zwischen Schmitt Trigger und
> TTL mit entsprechend fest gesetzten Pegeln entscheiden?

Ist nur abhängig von der Funktion des Pins. Weitere 
Entscheidungsmöglichkeiten gibt es da nicht.

Fabian Ü. schrieb:
> Muss ich per ADC das Signal wandeln oder gibt es eine intelligentere
> Lösung?
> Das Comparator Modul klingt auch recht interessant.

Ich glaube es wird einfacher, wenn du uns sagst, was du mit dem Signal 
machen willst.

Fabian Ü. schrieb:
> Achso im Moment erfasse ich per Interrupt on change und es wäre
> super, wenn ich da einfach nur die Hysteres beeinflussen könnte...

Hast du geschaut, ob bei IOC überhaupt die Eingänge überhaupt ST 
Charakteristik haben? Die Schwellen sind dann nur abhängig von der 
Versorgungsspannung.

von Fabian Ü. (ueker123)


Lesenswert?

Ich habe 3 optische Sensoren die eine gewisse Ausgangsspannung abhängig 
vom einfallenden Licht liefern.
Ich möchte bei Über bzw. Unterschreiten einer gewissen Schwellspannung 
ein Interrupt auslösen.

(Genau das macht Interrupt on Change ja, nur wenn ich es richtig sehe 
ohne frei wählbare Hystere)

Volker S. schrieb:
> Hast du geschaut, ob bei IOC überhaupt die Eingänge überhaupt ST
> Charakteristik haben? Die Schwellen sind dann nur abhängig von der
> Versorgungsspannung.

Es steht zumindest nirgends, dass es da eine Einschränkung gäbe.
Klar die Eingänge müssen digitaler Logik folgen (ANSELA = 0x00), aber ob 
ich im inport level control register (INVLA) ST oder TTL Logik einstelle 
hat keine negativen Auswirkungen auf die Interrupts.

Ich glaube langsam, dass der ADC die sinnvollste Lösung ist.
Dachte es gäbe da einen Kniff, damit es mit dem IOC funktioniert.

: Bearbeitet durch User
von Dieter W. (dds5)


Lesenswert?

Fabian Ü. schrieb:
> Dachte es gäbe da einen Kniff, damit es mit dem IOC funktioniert.

Dann bräuchte man für jeden Kanal einen externen Komparator der mit der 
Spannungsschwelle vergleichen muss.

von HyperMario (Gast)


Lesenswert?

Fabian Ü. schrieb:
> Das Comparator Modul klingt auch recht interessant.

Damit kannst du das realisieren, bist aber von den vorgegebenen 
Schwellen abhängig. Das macht imo nur bei zeitkritischen Anwendungen 
Sinn und ist komplett asynchron vom Programm..


Der A/D Wandler hat auch einen Interrupt. Da kannst du in der 
Interruptroutine prüfen ob dein Signal getriggert hat, kannst es aber 
auch beliebig einstellen.

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.