Hallo Lötkolbenschwinger, ich habe an einen Pin von meinem PIC 18f2550 ein RC Glied gehängt und will den Kondensator auf eine bestimmte Spannung laden indem ich den Pin zuerst für ein paar Instruktionen auf High schalte und ihn anschließend für analogen Input konfiguriere, um zu sehen wie weit ich gekommen bin. Das Laden ansich geht - also der Pin geht auf 5V - aber sobald ich mit TRIS auf Input schalte, fällt die Spannung auf knapp über 0V. Dabei macht es auch keinen Unterschied, ob ich den Pin vorher von Digital auf Analog schalte oder nicht. Im Datenblatt konnte ich leider keinen Wert für die Kapazität der Pins selbst bzw die Impedanz finden. Jetzt die Frage: was geht das nicht bzw geht das überhaupt ? Schonmal Danke !
Gehen tut das schon, so mache ich das bei der Kontrastregelung von Displays, allerdings mit einem AVR. Bist Du dir wirklich sicher, dass Du den Pin definitiv auf tristate geschaltet hast? Mach' doch mal folgedes: Schalte deinen Pin zuerst auf High. Dann schalte ihn auf Eingang mit Pullup. Dann schalte den Pullup aus. Messe dann die Spannung. Sinkt sie immernoch auf 0V? Gruß Jonathan
Ich habe folgendes kleines Program zum Testen benutzt:
switch(dest)
{
case 0:
ADCON1 = 0x0F; // alle Ports auf digital schalten
TRISBbits.RB4 = 0; // den vierten Port von Bank B auf output
LATBbits.LATB4 = 0; // das Output Latch auf low bringen
break;
case 1:
ADCON1 = 0x0F;
TRISBbits.RB4 = 0;
LATBbits.LATB4 = 1; // das Output Latch auf high bringen
break;
case 2:
ADCON1 = 0x00; // alle Ports auf analogen Input stellen
TRISBbits.TRISB4 = 1; // den vierten Port von Bank B auf input
break;
}
Wie erwartet :
Zustand 0 bringt B4 auf unter 100mV
Zustand 1 bringt hebt die Spannung auf 5V
aber :
Zustand 2 lässt die Spannung auf 100mV - 300mV fallen. Dran ändert sich
auch nichts, wenn man ihn auf digital lässt.
Ein 1k Wiederstand als Pullup bringt die Spannnung wieder auf 5V ... bis
man ihn entfernt, dann fällt sie augenblicklich auf den alten Zustand.
Also, wohin geht meine Ladung ?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.