Archiv verlassen und diese Seite im Standarddesign anzeigen : AVR Analog Digital Converter (ADC) Werte sind Falsch
Hi Leute,
ich habe gerade denn ADC eines Mega 32 inbetrieb genommen.
mein Prog sieht so aus ADC 0 wird abgefragt und das ergebnis wird in volt umgewandelt und über den uart zum pc gesendet. jedoch bekomme ich irgend welche werte die garnicht sein können. mein mcu sitzt auf dem stk 500 bei 4 MHz. ich bekomme werte die irgend wie kommisch sind sie liegen bei ca. 1-2 V aber ich habe garkeine Spannung am Pina.0 = ADC0
angesclossen was mache ich denn da falsch. wenn ich eine spannung daranlege (+4V) kommt auch nur dinge die nicht sein können wenn ich (0V) anlege ist der wert auch 0. ](*,) ](*,) 8-[
meine frage mag vieleicht etwas unverständlich sein aber ich weiss irgend wie nicht so recht was ich da falsch mache. 8-[
mfg
hallo,
kannst du den code posten? das ist für die fehlersuche einfacher!
Ruppi
@avrboy: Wäre es fü den Anfang nicht etwas einfacher den Wert unverändert an den PC zu schicken?!?!? Das grenzt die Fehler stark ein!!
Zudem solltest du immer ein Signal am ADC anliegen haben, da sonst nichts Sinnvolles bei der Wandlung rauskommt.
Gruß,
SIGINT
ich habe ja eine spannung von ca. 4V anliegen gehabt (direkt) aber bekamm nur irgend welche scheisse rein. das mit der umrechnung ist kein hexenwerk das ist das einfachste an dem ganzen. nun habe ich einmal noch die counts des adc mitgesendet (schwanke doch sehr stark oder):
409
406
402
832
823
654
die liegen alle in dem bereich bis max. 800
Der datentyp der die werte aufnimmt ist WORD.
$regfile = "m32def.dat"
$crystal = 400000
$baud = 19200
Dim Result As Word
Dim Sresult As Single
Config Porta = Input
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Do
Result = Getadc(0)
Print " Count:" ; Result;
Sresult = Result * 5
Sresult = Sresult / 1024
Print " Volt: " ; Fusing(sresult , "#.###")
Wait 1
Loop
End
das ist mein prog ein wenig seltsam vielleicht.
mfg
teslanikola
10.10.2006, 20:14
deine $Crystal stimmt nicht, oder hast du ein 400kHz Quarz?
oh ja aber das ist leider trotzdem nicht der fehler auf nach der änderung geht es nich .
mfg
wie ist der AVCC-Pin beschaltet? Direkt an ne unsaubere Versorgungsspannung, gemeinsam mit dem VCC-Pin, ohne jeglichen Kondensator dabei? Oder über LC-Tiefpass gefiltert, saubere Versorgung, reichlich Abblockkondensatoren?
OH das weiss ich nicht ich betreibe die schaltung testweise auf meinem stk 500 ich denke aber schon das dort alles richtig beschalten ist atmel wird sich doch nicht selber plamieren.
mfg
wie ist der Jumper für die Referenz gesetzt?
der jumper befindet sich auf dem board. ich werde das ganze morgen einaml extern aufbauen vielleicht geht es ja dann und ich mache an irgend eoner stelle etwas falsch.
mfg
Wenn der Juper gesetzt ist, wird am AREF-Pin die externe Referenzspannung vom STK angelegt. Gleichzeitig wird aber durch dein Programm der AREF-Pin intern im AVR mit AVCC verbunden. Und wenn beide Spannungen nicht genau gleich sind, gibts nen Kurzschluss! Die Regelung der Referenz auf dem STK scheint duch die vom AVR aus eingekoppelte Spannung nicht mehr sauber zu regeln, wodurch die Referenzspannung und damit letztendlich auch die Messwerte so stark schwanken.
Also: Jumper öffnen!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.