mikrocontroller.net

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


Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Maik Werner (werner01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dann kann es wohl nur mit deiner externen beschaltung was zu tun haben?

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ???

Autor: Yob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.