Forum: Mikrocontroller und Digitale Elektronik PIC16F18875 Schwellspannung Eingangssignal


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Fabian Ü. (ueker123)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.