HILFE!!! LM335 + 90S8535 8MHz

Gast #15835
Lesenswert?

Hallo, ich hab ein eigenartiges Problem :(
Ich habe einen LM335 mit Vorwiderstand ein meinen AVR angeschlossen 
PA0(ADC0) als Ergebnis bekomme ich aber nach der ADC-Messung immer 0, 
lege ich aber 5V direkt an den Pin dann bekomme ich 1023 (was ja auch 
richtig ist.
Wenn der LM335 Tem-Fühler dran ist lieg eine Spannung von 2,93V am Pin 
an, so soll es ja auch sein, aber ich bekomme keinen anderen Wert als 0 
raus, egal was für einen Vorwiderstand ich verwende :(
http://www.windarts.de/ADCMist.jpg
dort ist die hoch-komplexe Schaltung zu sehen ;)

Ich würde mich freuen wenn mir da jemand einen Tipp geben könnte ?
Gast #15838
Lesenswert?

Normalerweise sind bei STK500 die Pins 30,32 AVcc AGnd korrekt 
beschaltet, Aref kann entweder OnBoard erzeugt und eingestellt werden 
(JP Aref gesteckt) bzw. ist an PortE herausgeführt. Hardwareseitig sehe 
ich auch keinen offensichtlichen Fehler sehen, absehen von dem etwas 
hochohmigen R hier solltest du mal 1,8-2,2 kOhm einsetzen. Da der 
internen Muxer mit S/H Schaltung des 8535 auch eine kapazitve Last 
während der Umschaltvorgänge darstellt. Hilft evtl ein C von etwa 1nF 
von PA0 nach Masse.
Gast #15839
Lesenswert?

Ich habe noch vergessen AREF zu erwähnen - das muß (im "Normalfall") 
auch an VCC angeschlossen werden.

Das STK500 kenne ich nicht, könnte mir aber vorstellen, das Problem 
durch Setzen eines Jumpers gelöst werden kann??

Schmittchen.
Gast #15840
Lesenswert?

Jetzt mit 2K und 1nF, aber immer noch das gleiche...:(
Wenn ich die 5AVCC nehme und an die Port halte kommt 1023 raus, klasse 
und sonst immer 0
egal was ich verbinde und nicht verbinde (aarrgggg)

Kann am Programm was falsch sein ???

ldi temp1, 0b00000000
out DDRA, temp1
ldi temp1,0
out PORTA, temp1

; --------------------------
;  ADC init
; --------------------------
ldi temp0,0b00000111
out ADCSR,temp0
cbi ADCSR,ADIE
sbi ADCSR,ADEN
; --------------------------
sei ; Interrupts zulassen
ldi temp0,0b00000000  ; Multiplex (ADMUX)
out ADMUX,temp0
sbi ADCSR,ADFR  ;Free Run einschalten
sbi ADCSR,ADSC  ;Start Wandlung

Bei mir läuft auchnoch ein Timer der alle 1Sec. einen Interrupt 
ausslöst, jedesmal dann Lese ich die ADC-Werte aus, wie gesagt mit 0 u. 
1023 (0 u. 5V) funzt das aber nicht dazwischen

P.S. benutze STK 500
Gast #15841
Lesenswert?

Kann sein das ich auch einen Fehler übersehe, im Moment kann ich bei dem 
Codefragment auch keinen entdecken. Ich hoffe der Jumper Aref ist auf 
dem STK500 gesteckt und Aref im AVR-Studio korrekt eingestellt.
Gast #15842
Lesenswert?

Ich glaub ich spinne, funktioniert bei irgendjemanden der ADC im 8535, 
jetzt hab ich hier noch einen wenn ich den reinstecke dann bekomme ich 0 
oder 15 rausegal was ich mache, da kann doch irgednwas überhaupt nicht 
stimmen.....
Liegt es am timer das der jede Sekunde einen Interrupt auslöst oder was 
....:(

in temp1,ADCL
mov LO1,temp1
in temp1,ADCH
mov HI1,temp1

das kann doch auch nicht falsch sein oder ... ich weiss es wirklich 
nicht mehr...

Danke schonmal für jeden Tipp, wirklich jeden, egal wie unwichtig er 
scheint....
Gast #15843
Lesenswert?

Hi!
Mit welchem Takt betreibst du den ADC? Im Datenblatt steht 50-200KHz. 
Einzustellen über ADPS0-2 in ADCSR.
In deinem Code sehe ich nichts, kenne aber auch deinen Quarz nicht. Ich 
habe mit dem 8535 jedenfalls schon Temp. gemessen, kein Problem.
Gruss Uwe
Gast #15847
Lesenswert?

Hi!
Die 3 1sen hatte ich glatt übersehen.
Also wenn AVCC,Aref,AGND an deinem Chip ankommen kann ich es mir erstmal 
nicht erklären. Versuche doch mal Singelumsetzung. Wie verarbeitest du 
die Werte? (Man sieht manchmal den Wald vor lauter Bäumen nicht)
Gruss Uwe
Gast #15848
Lesenswert?

Ich hab mir eine Funktion geschrieben die 2 8Bit-Werte HI,LO(16Bit-Zahl) 
auf dem Display darstellen kann, das funzt auch perfekt, und schon oft 
verwendet. Darüber lasse ich mir die Werte des ADC ausgeben...

Singleumsetzung werd ich dann mal versuchen... danke

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