www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ADC berechnung falsch?


Autor: Thorsten2605 (Gast)
Datum:

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

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Miß doch mal die Spannung am ADC-Eingang mit einem Multimeter nach.

Autor: Thorsten2605 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab ich schon aber die Spannung fängt beim einlesen der Werte an mit 
schwanken...

Autor: Thorsten2605 (Gast)
Datum:

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

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie sieht denn das Programm aus ?

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was passiert wenn du 5V auf den Port gibst? 1023?

Thomas

Autor: Gerhard. (Gast)
Datum:

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

Autor: Thorsten2605 (Gast)
Datum:

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

Autor: Gerhard. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gut;-)

Welchen Compiler nimmst Du her? Ich verwende schon seit Jahren den CCS 
Compiler.

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.