Forum: Mikrocontroller und Digitale Elektronik ADC und STK500


von Gerhard Pauus (Gast)


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

von Lanius (Gast)


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.

von Gerhard Paulus (Gast)


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" :-)

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.