www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC16F628A - Comparatorprobleme


Autor: Martin Matysiak (kaktus621) Benutzerseite Flattr this
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo !

Ich habe ein wenig Probleme mit dem Comparator des PIC 16F628A...

Ich möchte 2 Komparatoren mit gleicher Spannungsreferenz vom internen 
Vref Modul. Hab alles nach dem Datenblatt eingestellt, nur so wirklich 
Funktionieren tut es der Komparator nicht.

Egal wie groß ich den Widerstand R1 nehme (und damit die Spannung 
verkleinere), die LEDs leuchten so als ob die Spannung trotzem größer 
wäre als Vref.

Dabei müsste Vref = Vdd * 1/4 + 7/32 * Vdd == 2,34 Volt sein. Selbst 
wenn ich für R1 einen Widerstand von 1,5 MOhm nehme (dort müsste die 
Spannung ja winzig sein) leuchtet die LED an Port B.

Eine weitere auffälligkeit ist, auch obwohl ich den Widerstand wieder 
entferne (RA0 also nur noch über den C mit Masse verbunden), leuchtet 
die LED trotzdem weiter (Vin also immernoch größer als Vref). Erst, wenn 
ich RA0 mit GND direkt verbinde geht die LED wieder aus.

Habe ich bei der Konfiguration / Verschaltung irgendetwas falsch 
gemacht?

Eigentlich sollen an RA0 und RA1 später 2 LDRs die dann miteinander bzw. 
mit Vref verglichen werden sollen...

Im Anhang ist der Schaltplan, der Quellcode kommt gleich in die nächste 
Antwort.

Autor: Martin Matysiak (kaktus621) Benutzerseite Flattr this
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier der Quellcode

Autor: Michael F. (jiro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe nicht grade viel ahnung von pic´s aber die ausenbeschaltung 
kann ich beurteilen, im moment machst du damit nichts anderes als den c 
bis auf 5V aufzuladen nach der formel T=C*R und das einzige was du hier 
mit einem größeren wiederstand erreichst ist das das aufladen länger 
dauert aber irgendwann ist er halt auf 5V aufgeladen oder du must den 
wiederstand so groß machen das die leckströme des pic eingangs und des 
c´s eine rolle spielen aber das dürfte wohl nicht der sinn hier sein.
schalte noch einen wiederstand parallel zum c nach masse den must du 
natürlich noch ausrechnen :)

Autor: Frank Theumer (ftelektro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unter www.sprut.de werden alle deine Fragen beantwortet.

Autor: Martin Matysiak (kaktus621) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Von sprut.de hab ich die Sache mit dem Kondensator, dachte eher dass der 
nur alles ein wenig "glättet". Also ich habs davor ohne Kondensator 
versucht, da haben die LED's teilweise rumgeblinkt wie verrückt, als 
wären die Eingänge extrem empfindlich. Mit den Kondensatoren leuchten 
die Led's nur wenn eine positive Spannung angelegt wurde... weil sich ja 
dadruch der Kondensator aufgeladen hat.

Dieses Beispiel mit dem ADC wäre natürlich eine Möglichkeit, die Anzahl 
der Low-Takte zu Zählen um daraus auf die Spannung zu schließen.. aber 
kann man das nicht irgendwie ganz einfach vergleichen? Sprut hilft mir 
da auch nicht so sehr weiter...


Also praktisch :


+5V>----- LDR -----[ RA0 ]

und das was dann letztendlich an RA0 anliegt wird mit Vref verglichen.

Autor: Frank Theumer (ftelektro)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Versuch mal mit dieser dimensionierung.

Autor: Martin Matysiak (kaktus621) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
22pF hatte ich gerade nicht da, aber bei 18pF zeigt sich das gleiche 
Verhalten wie bei 100nF

Autor: ftelektro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In deiner Test.asm  ist für Port RA0 bzw RA1 ,Port RB0 bzw RB1 
eingetragen.

Autor: Martin Matysiak (kaktus621) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das soll doch auch so sein?

Je nach Zustand von CM1OUT bzw. CM2OUT sollen die Leuchtdioden an Port B 
an oder ausgeschaltet werden

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist doch alles Blödsinn !

Der einzelne Widerstand wird die Spannung nicht verringern.
Da braucht man 2 Widerstände, die man zu einen Spannungsteiler schaltet.
9 Posts ohne Inhalt.... tse tse tse

Autor: Martin Matysiak (kaktus621) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähem... vielen vielen Dank :-)

Du musst verstehen ich bin recht neu in der Elektronikwelt, jeder fängt 
mal klein an ;-)

Hab oben im Schaltbild jetzt anstatt des Kondensators einen 10kOhm 
Widerstand eingesetzt und es funktioniert! Ist es hell genug, leuchtet 
die LED an Port B, ansonsten ist sie aus.

Einen Schönen Abend noch,
 Martin M.

Autor: Michael F. (jiro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die antwort war eigendlich schon im 3ten post

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.