Forum: Mikrocontroller und Digitale Elektronik PIC 16F876A - ADC0 & ADC1


von Marco (Gast)


Lesenswert?

Hallo,

Ich bin noch recht neu in der Materie PIC's, Programieren tu ich über 
MPLAP Assambler, und teste Virtuell über Proteus ISIS. Nun hab ich nen 
Problem:

Ich habe mit Hilfe. vom SPRUT Beispiel 5V messen und am LCD ausgeben mir 
das Programm auf 2 Analoge Eingänge erweitert und messe nun nacheinander 
den ADC0 --> Wandeln --> Ausgabe --> ADC1 --> Wandeln --> Ausgabe
Alle Variablen zum Umrechnen sind in 2facher Ausführung Vorhanden so das 
die beiden ADC's Werte separat gespeichert werden.

In der Simulation Funktioniert das für beide Kanäle einwandfrei.
Im Nachbau auf einer Testschaltung habe ich das Problem das sich

ADC0 & ADC1 gegenseitig beeinflussen, wenn ADC0 =0V und ADC1 =5V werden 
nur rund 1350 mV auf Anzeige1 und 0000 mV auf Anzeige 2 angezeigt. 
Werden beide ADC auf 5V gestellt dann werden auch 5000 mV beiden 
Anzeigen angezeigt. das gleiche gilt auch Andersherum.

das 2.Phänomen ist wenn nur ein Analoger Eingang angeschlossen ist und 
der andere "offen" dann werden auf beiden Anzeigen die Richtig"eren" 
Werte angezeigt

Die Ausgabe erfolgt über ein 2x16 Zeichen Display
    "XX      XX"      1.Zeile steht eine  Bezeichnung
"0000 mV   0000 mV"   2.Zeile werden die Werte ausgegeben

Habe ich irgendwo zu wenig Aquisitations zeit für den ADC oder etwas bei 
der Auswahl des ADC falsch gemacht ?

Prozessot Takt 20MhZ
Vref ist Vdd - Vss

Danke schon mal im Vorraus

von Maik W. (werner01)


Lesenswert?

dann kann es wohl nur mit deiner externen beschaltung was zu tun haben?

von Marco (Gast)


Lesenswert?

Versteh ich nicht?

kann doch nur das poti zwischen 0 und 5 V hängen und am schleifer 
abgreifen oder müssen da noch irgendwelche Pullups /Pulldown Widerstände 
rein ???

von Yob (Gast)


Lesenswert?

Hi Marco,

erhöhe mal deine Aquisitation-Time & setze eine große Pause zwischen dem 
ADC-Kanalwechsel. Hast du wirklich nur jeweils ein Potentiometer 
zwischen 5V, Masse & den Potiabgriff an dem jeweiligen ADC-Eingäng? 
Ansonsten könntest du höchstens noch deinen Code posten, damit man da 
mal drüber schauen kann. Ich selbst benutze den 16F876. Du solltest auch 
mal schauen was der Unterschied zw. 16F876 & 16F876(A) ist, falls 
größere & zusätzliche Pausen nicht helfen.

Gruß Yob.

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
Noch kein Account? Hier anmelden.