ADC und STK500

Gast #11031
Lesenswert?

Hallo,

ich versuche mich an einer Temperatur-Regelung mit dem AVR 4433 und dem 
STK500. Gesteuert wird über UART von einem PC aus. Alles was ich dazu 
brauche funktioniert mittlerweile - bis auf den ADC. Bei dem 
Temperaturfühler weiß ich nicht mehr weiter, vielleicht kann jemand 
einen Tip geben.

Ich benutze ein "jungfräuliches" STK500 bei dem ich nur den Controller 
getauscht habe gegen einen 4433. Irgendwas mit externer analoger 
Referenzspannung ist nicht  eingerichtet.

Im Programm wird der Wert des Sensors abgefragt, der an Pin PC0 
angeschlossen ist.

Wenn ich gar keinen Sensor schalte dann erhalte ich bei Programmablauf 
den Wert 0  (Hex 0 in ADCH und ADCL) Das kann ich ja noch 
nachvollziehen. Manchmal ist aber auch  15 im unteren Byte, und das 
versteh ich schon weniger.

Dann habe ich an dem Expansion Connector 0 einen  NTC Heißleiter mit 2.2 
KOhm angeschlossen zwischen Pin 30 (PC0) und Pin 14 (REF). Worauf ADCL 
und ADCH zusammen sofort Maximalwert ergeben (also dezimal 1023). Diesen 
Maximalwert bekomme ich auch, wenn ich einen 6kOhm Widerstand zwischen 
PCß und REF schalte.

Offensichtlich mache ich da irgendwas falsch und ich vermute, das man 
den Widerstand anders schalten muß.  Der ADC Programmteil orientiert 
sich an dem Beispielprogramm, das ich hier in der Codesammlung gefunden 
habe, das scheint zu funktionieren.

Wie verbindet man einen Sensor richtig mit den Pins ? :-)

Gerhard
Gast #11032
Lesenswert?

eigentlich über einen Operationsverstärker oder so,
du kannst natürlich auch einen Spannungsteiler bauen, dann wirst du aber 
den AD-Wandler nicht ausnutzen weil sich der Widerstand des NTC nicht so 
extrem ändert.
Gast #11033
Lesenswert?

vielen Dank für den Hinweis mit dem Spannungsteiler.  Ich hab mich mal 
schlau gemacht in Sachen Spannungsteiler und Sensoren und jetzt kapier 
ich endlich das Prinzip hinter ADC.

Ich bin ja so froh, daß jetzt endlich mal andere Werte gemessen werden 
als immer nur 0 oder 1023.  Funktioniert echt :-)

Allerdings hat es noch einige Stunden gedauert, bis ich auf die Idee 
kam, mal einen neuen AVR in das board zu setzen. ´Beim alten hatte ich 
wohl irgendwann den ADC-Teil kurzgeschlossen oder so.  Seltsamerweise 
funktionierten die digitalen Ein- und Ausgänge  und UART usw. tadellos 
...

Das war wohl "learning by grilling" :-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren