PIC 16F876A - ADC0 & ADC1

Gast #1027370
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
Gast
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 ???
Gast
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.