Hallo, Ich habe einen PIC16F870 mit einem eingebauten 10-Bit ADC. Ich habe daran ein Poti(mit 1K) und ein 1K-Widerstand als Spannungsteiler, so dass ich zwischen 0 und 2,5V variieren kann. Jetzt sollte mir doch eigentlich bei voll aufgedrehtem Poti (habs gemessen, es liegen wirklich 2,5V an) mein PIC mir einen Wert von ungefähr 512 anzeigen?!? In wahrheit bekomme ich jedoch nur einen Wert von 382 raus! Woran liegt das? PS: Hab einen Spannungsteiler und keinerlei Spannungsschwankungen....
Hab ich schon aber die Spannung fängt beim einlesen der Werte an mit schwanken...
Ich hab jetzt mal ne Diode mit einer Durchlassspannung von gemessenen 0,67V! Der Integerwert, den mir der PIC rausgibt ist 56. Wenn ich das auf den Maximalwert von 1024 hochreche, dann würde er aber als maximum 12,8V erwarten; Der PIC selbst läuft aber nur mit 5V?!?
Vielleicht wartet das Programm nicht lange genug um das Messergebnis abzufragen. Bei 16Mhz Takt muss man z.B. mindestens 80us nach der Triggerung des ADC auf das Ergebnis warten. Ich verwende in den meisten meiner Programme einen Interrupt den der ADC ausloest wenn das Messergebniss fertig ist. Poste mal Dein Programm. Ist ja sonst nur eine Raterei. MFG, Gerhard
Danke! Das wars! Wusste ich leider nicht dass man in meinem C-Compiler ne extra Delay_routine einbauen muss! Stand nichts in der Hilfe...! Also nochmals Danke!
Gut;-) Welchen Compiler nimmst Du her? Ich verwende schon seit Jahren den CCS Compiler.
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.