Forum: Mikrocontroller und Digitale Elektronik 2 ADC-Kanäle nacheinander auslesen?


von H. G. (ledi)


Lesenswert?

Hallo!

Für eine Temperaturmessung möchte ich 2 ADC-Kanäle alle 5 Sekunden 
wandeln.

ADC-Kanal 1 = Innentemperatursensor
ADC-Kanal 2 = Aussentemperatursensor

Mit einem ADC-Kanal funktioniert alles. Wenn ich den 2.Kanal auslese, 
erhalte ich falsche Werte am Display. Ich denke, meine Vorgehensweise 
ist falsch und bitte um eure Unterstützung.

Meine Vorgehensweise:

ADC Initialisierung
ADC-Messung (Dummy read out)

while(1)
{
  ADMUX = ADC Kanal 1
  (warte 5 sek.)
  ADC-Messung
  Ausgabe am Display

  ADMUX = ADC Kanal 2
  (warte 5 sek.)
  ADC-Messung
  Ausgabe am Display
}

von H. G. (ledi)


Lesenswert?

keiner eine Idee?

von Sascha (Gast)


Lesenswert?

Sicher dass beide Messwertumformer korrekt funktionieren?
Ansonsten vielleicht nochmal im µC-Datenblatt nachlesen, wie der ADC 
behandelt werden will.

von Lowtzow .. (lowtzow)


Lesenswert?

bau noch ein dummyredout vor der eigentlichen adcmessung ein

von Walter (Gast)


Lesenswert?

Ist das dein Ernst?
ich denke du solltest einen AVR statt eines PIC nehmen!

von Spess53 (Gast)


Lesenswert?

Hi

>bau noch ein dummyredout vor der eigentlichen adcmessung ein

Wozu?

>  ADMUX = ADC Kanal 1
>  ADMUX = ADC Kanal 2

Könnte es sein, das du hierbei die Einstellung der Referenzspannung 
überschreibst?

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

Heimo G. schrieb:
> keiner eine Idee?


Doch.
Sogar 2

* Zeig dein Programm und nicht nur eine Skizze.
  Als Skizze kann ich dir auch ein Fusionskraftwerk aufzeichnen.
  Nur funktioniert es in der Praxis dann nicht.

* Benutze die ADC Routinen aus dem AVR-GCC-Tutorial.
  Die sind getestet und funktionieren.

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.