www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ADC und Schmitt-Trigger


Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe folgendes Problem: ich lese bei einem ATTiny2313 über den ADC
eine Spannung ein. Wenn diese größer wie 2,5 V wird, wird eine LED
eingeschaltet und ein Befehl über UART abgesetzt. Diese Spannung wird
mit einem LDR erzeugt.

Jetzt habe ich das Problem, dass wenn die Lichtverhältnisse gerade so
sind, dass +/- 2,5V entstehen, die LED flackert und der Zustand immer
hin und her springt.

Jetzt habe ich mir überlegt, ob ich einen Schmitt-Trigger dazu
verwenden kann, dass der Zustand stabil bleibt, sobald die
Schaltschwelle einmal überschritten wurde.

Leider habe ich noch keinerlei praktische Erfahrung mit
Schmitt-Trigger-Bauteilen. Hat mir vielleicht jemand einen Tip, welcher
zu meinem Problem passen würde? Habe im Forum schon gesucht und auch
einen gefunden, aber ich weiß nicht, ob Schmitt-Trigger mir bei meinem
Problem generell überhaupt helfen.

Bin für jeden Tip dankbar.

Danke und Gruß
Markus

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mach es einfach so das wenn 2,5V erreicht sind die LED an geht und erst
wieder aus wenn ein bestimmter Wert unterschritten wird. Also einen
Schmitt Trigger per Software.

Autor: THM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch 'Hysterese' genannt. Könntest Du nicht den Analog-Comparator
benutzen, oder brauchst Du den Analogwert noch für andere Zwecke? Ist
einfacher als ADC zu handhaben.

Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Analog-Comparator habe ich auch schon probiert, aber da geht es auch
nicht. Wie könnte ich das ganze mit dem Comparator realisieren?

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Seit wann hat der Tiny2313 ADC? Im Datenblatt steht nichts davon. Da
gibt es nur einen Analogcomparator.

Autor: Detlev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Markus Reichert

Also Schmitt-Trigger ist schon der richtige Ansatz. Den sollte man aber
mit einem OpAmp realisieren, um die Schaltschwellen im Griff zu haben.
Alternativ kann man dazu auch den internen Komparator verwenden. Da der
Ausgang aber nicht direkt nach außen geführt wird, muss man das noch in
Software nachbilden. Also nach dem Auslesen des Komparatorausganges
dieses Bit auf einem anderen Port ausgeben und so die Rückkopplung
realisieren.

Autor: THM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei AC-Interrupt-Auslösung einen Timer (immer wieder von vorne) starten
und eine erneute Ausführung der Aktion (LED schalten usw.) erst nach
ablauf einer bestimmten Zeit freigeben.

Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hubert.G

sorry, falsche Bezeichnung erwischt: ist ein Mega8


@Detlev

wie würde denn eine Schaltung so grob mit einem OpAmp aussehen? Ich
habe noch nie so etwas in der Richtung auch nur ansatzweise realisiert
und wäre für ein paar Tips für den Einstieg sehr dankbar. :-)


@THM
Diese Lösung kommt leider nicht in Frage. Trotzdem danke. :-)

Autor: Detlev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich wäre ja jetzt sowas von gemein... ;)
Wenn ich noch einen freien Portpin hätte: Reihenwiderstand von 1..10k
zwischen ankommender Spannung und ADC.Eingang.
Zwischen dem freien Portpin und dem ADC-Eingang hochohmigen Widerstand
(keine Lust jetzt zu rechnen, vermutlich 1M).
Portbit auf L. Wenn jetzt die Spannung das erste mal über 2,5V steigt,
den Portpin auf H. Jetzt ist die Spannung durch den 1M über der alten
Schaltschelle. Beim ersten unterschreiten Portpin wieder auf L.
Ist ein Schmidt-Trigger in Software...
Das Widerstandsverhältnis bestimmt die Hysterese, der Quellwiderstand
der Spannung geht da aber mit ein.

Gruß aus Berlin
Michael

Autor: Sonic (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi nochmal, hab die OP-Grundschaltungen mal zusammengeschmiert. Für
genaueres kannst Du Googeln, gibt's jede Menge Stoff drüber!

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verstehe nicht warum du die Hysterese nicht SW-mäßig einstellst,
warum diesen zusätzlichen Hardwareaufwand?

Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sonic

vielen Dank fürs "zusammenschieren"... ;-)


@Hubert.G

wie kann man die Hysterese SW-mäßig einstellen? Davon habe ich noch gar
nichts gehört, dass das geht...

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dafür muss man die Spannung kontinuierlich messen und den Grenzwert
entsprechend auslösen (max oder min). Der Rückschaltwert wird nach
Abzug/Addition der entsprechenden Hysterese ausgelöst.

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie @Sonic schon geschrieben hat. Du misst ja jetzt auch die Spannung am
ADC-eingang. Weiss nicht mit was du programmierst aber es müsste so etwa
aussehen
if(ADC-Wert >=135) schalte LED ein

If(ADC-Wert <=125) schalte LED aus

Wenn der Wert >135 ist wird eingeschaltet und wenn er dann kleiner als
125 wird wieder ausgeschaltet. Eine Hysterese von 10.

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.