Du schliesst den C kurz, er entlädt sich also sofort.
Der C müsste über einen R entladen werden, etwa so:
http://freenet-homepage.de/gjl/pub/index.html#c-meter
Hallo. Ich halte es kurz:
Schaltung:
Code in BasicCode:___ RA3 -----|___|----- RA0 | | --- --- | | | Masse
Ergebnis ist immer Null bei sich änderndem R. Woran liegt es ?Code:Wert: ADCWert = 0 ;Wert auf 0 setzen PORTA.3 = 1 ;Aufladen Pause 20 ;Warten bis aufgeladen PORTA.3 = 0 ;Kurzschließen CMCON = %01000010 ;Komp. an, NI-Eingang = Vref, I-Eingang = RA0.DB Seite 62, CM2:CM0 = 010 WHILE CMCON.6 = 1 ;Solange Schwelle nicht erreicht ADCWert = ADCWert + 1 WEND Pause 20 ;Entladen CMCON = %00000111 ;RA3 kann hohen Pegel ausgeben, Komp. aus RETURN
Ich frage die, die bei Fragen nach dem Wie mit Warum antworten folgendes: Fragt euch euer Bäcker, warum ihr zwei Brötchen haben wollt ?
Bild hier
Du schliesst den C kurz, er entlädt sich also sofort.
Der C müsste über einen R entladen werden, etwa so:
http://freenet-homepage.de/gjl/pub/index.html#c-meter
Disclaimer: none. Sue me.
Ist es nicht einfacher eine externe (vom uC) Schaltung aufzubauen?
Konkret:
1. uC gibt Kommando zum Aufladen
2. uC gibt Kommando zum Entladen
3. uC misst verstrichene Zeit
4. über die Schaltung wird eine Logische 1 oder 0 an einen digitalen Port gegeben, sobald der Kondensator entladen ist.
5. Berechnung der Kapazität
Dasselbe könntest du ja auch beim Ladevorgang machen...
Anmerkung: Ist RA3 wirklich 0 wenn du ihn auf 0 setzt? Oder ist er nur Hochohmig?
MfG Benji
Zu C messen, speziell für grössere, wird oft ein 7555 eingesetzt, der µC misst dann die Taktzeit und kann auf die Kapazität zurückrechnen.
Hier ist ein Beispiel nur mit einem PIC: http://www.sprut.de/electronic/pic/p...koc/elkoc.html
Hubert
Danke für die Antworten, es geht um die Zeitmessung. Habe es inzwischen gelöst.
Ich frage die, die bei Fragen nach dem Wie mit Warum antworten folgendes: Fragt euch euer Bäcker, warum ihr zwei Brötchen haben wollt ?
Bild hier
Lesezeichen