Hallo Jungs, ich experimentiere gerade noch mit meiner RGSs herum und stellte dabei folgende Phänomen fest: Ich habe einen 10K Poti and Adc0 eines Atmega8 angeschlossen. Ein Pin von Poti ist an 5V das andere an GND. Der ADC Wert Adc0 = Getadc(0) gebe ich an einem LCD aus ( Kontrolle ) Nun wenn ich am Poti drehe steigt der ADC Wert langsam an. ca bei einem drehung von 30% habe ich einen Wert von ca 100 bis 200 danach steigt der Wert rapide an, das heisst richtung ende (letzte paar Millimeter ) habe ich eine ADC Wert vonn 700 bis 1024. Also die Regelung ist nicht linear oder sagen wir so nicht "gleichmässig". Der Poti hat 10K - Linear ( habe schon andere Potis versucht das gleiche Ergebnis ) Den ADC habe ich so deklariert : Config Adc = Single , Prescaler = Auto , Reference = Avcc Start Adc Der Adc Pin AREF ist mit dem PIn AVCC verbunden und hängt an +5V und ein Kondensator von 100nF gegen Masse ist an dran. Wenn ich die Spannung an ADC0 pin messe ist auch nicht linear, also habe das gleiche Ergebnis wie der ADC Wert !! Was ist falsch hier ?
Definitiv nicht, Habe sogar mit einem Trimm Poti auch versucht : http://www.reichelt.de/?ACTION=3;ARTICLE=14982;GROUPID=;SID=12Tjaf2H8AAAIAAAryMfI5264e84f046c0f26a864eaa7907ee893 und mit dem hier http://www.reichelt.de/?ACTION=3;ARTICLE=88207;GROUPID=;SID=12Tjaf2H8AAAIAAAryMfI5264e84f046c0f26a864eaa7907ee893
Du kannst ja mal über einen 1:1 Spannungsteiler AVCC/2 an ADC0 anlegen, wenn dann etwas um die 512 rauskommt, is der ADC in Ordnung und der Poti wird log. sein LG
Hallo, einfach einmal mit einem Voltmeter die Spannung am ADC-Eingang messen!
Markus Oberle schrieb: > Du kannst ja mal über einen 1:1 Spannungsteiler AVCC/2 an ADC0 anlegen, > wenn dann etwas um die 512 rauskommt, is der ADC in Ordnung und der Poti > wird log. sein > > LG Das ist eine gute Idee, probiere dann Nachmittag aus.
Tester schrieb: > einfach einmal mit einem Voltmeter die Spannung am ADC-Eingang messen! Schon gemacht, bereits darüber geschrieben : "Wenn ich die Spannung an ADC0 pin messe ist auch nicht linear, also habe das gleiche Ergebnis wie der ADC Wert !!"
Schließe mal ein anderen ADC Eingang an. Eventuell ist der Pin kaputt. Aber ich vermute .log Poti.
Miss mal nur am Poti, ohne den Schleifer am Controller anzuschließen, wie sieht es dann aus?
Evtl. ist das Poti zu hochohmig, und der Eingangswiderstand des ADC "verbiegt" dir das Ergebnis. Schalt mal einen Impedanzwandler (Operationsverstärker) dazwischen ....
Nobody schrieb: > Miss mal nur am Poti, ohne den Schleifer am Controller anzuschließen, > wie sieht es dann aus? Das ist auch ein spannender Ansatz ! ich habe nämlich die Spannung am Schleifer gemessen war aber an ADC angeschlossen.Werde auch noch einen anderen PIN bzw. AVR nehmen. Danke erstmal !!! HAbe nun einige neue Anhaltspunkte.
Mario Richter schrieb: > Evtl. ist das Poti zu hochohmig, und der Eingangswiderstand des ADC > "verbiegt" dir das Ergebnis. Schalt mal einen Impedanzwandler > (Operationsverstärker) dazwischen .... Er benutzt ein 10k Poti. Das ist nicht zu Hochohmig. Eingangswiderstand des Pins ~1MOhm
Sorry habe mich verguckt ! Bei mir ist pin 21-22 gebrückt, direkt auf GND Ist es hier die richtige Beschaltung ? http://halvar.at/elektronik/kleiner_bascom_avr_kurs/adc_mit_getadc/ Was passiert wenn AREF direkt an +5V wäre ?
Hi
>Danke erstmal !!! HAbe nun einige neue Anhaltspunkte.
Dann wäre noch die Frage nach der Taktfrequenz des ADC.
MfG Spess
Der Schaltplan ist richtig. Zwischen Pin 21-22 muss(!) der ~100nF Kondensator. AREF direkt auf +5V habe ich noch nie gemacht. Dafür gibt es ja die Option ihn mit Versorgungsspannung intern zu beschalten. Aber ich denke du wirst Hausnummern messen. Ich kann dir, wenn du was neues ausprobierst das Tutorial hier nur empfehlen. Auch wenn es Assembler ist, die Grundlagen sind die gleichen. http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC Lies einfach mal bis zum Beispiel Program und du hättest den Fehler selber gefunden.
Also was ich gelesen habe, der ADC Frequenz sollte zwischen 50-200Khz liegen (Prescaler-Faktor.) Nun was macht es bei sowas ? Config Adc = Single , Prescaler = Auto , Reference = Avcc Der AVR läuft mit einem 16Mhz Quarz
Chris schrieb: > Zwischen Pin 21-22 muss(!) der ~100nF Kondensator. Upsss....habe übersehen !!!! habe die Tut von Halvar angeschaut und fing dann mit der Experimenten an. ( PWM geht schon sehr gut, RGB Wechsler, dimmen mit Tasten, wollte nun weitermachen mit einem Poti ) Danke !!
Hi
>Nun was macht es bei sowas ?
Wenn dein Compiler die richtige Taktfrequenz deines Controllers kennt,
sollte sich das mit
Prescaler = Auto
erledigt haben.
MfG Spess
spess53 schrieb: > Wenn dein Compiler die richtige Taktfrequenz deines Controllers kennt, Dieses gemeint ? : $regfile = "m8def.dat" $crystal = 16000000
Ich vermute ( muss ich erst messen wenn ich zu Hause bin ) das Problem könnte daher kommen, daß der AREF nicht sauber beschaltet ist. Ich denke, weil ich schon mehrere Potis ausprobiert habe, daß die Spannung am Schleifer ohne an AVR angeschlossen zu sein, linear verlaufen wird.
So etwas besser aber nicht gut. Habe nochmal mein Steckbrett kontrolliert , AREF war offen...Habe mit einem 100nF mit GND verbunden. Ich habe am Schleifer des Poti die Spannung gemessen, wenn ich den Poti langsam drehe. Die Verbindung zu AVR habe unterbrochen. Am Schleifer ist die Spannung schön gleichmässig. Danach habe ich es wieder mit Adc0 verbunden und die Spannung am PIN beobachtet, erstmal steigen die Werte Spannung und ADC Wert sauber. Ab ca 3,4 - 3.7V bei der kleinste Drehung messe ich gleich 4,99V und der ADCO Wert spring auf 1020 hoch. An was kann es liegen ? Die Beschaltung ist wie bei Halvar.at, mehrmals kontrolliert. passt alles.Eine Spule habe ich auch noch spendiert.
Bastler schrieb: > Ich habe einen 10K Poti and Adc0 eines Atmega8 angeschlossen. Ein Pin > von Poti ist an 5V das andere an GND. Der ADC Wert >Ab ca 3,4 - 3.7V bei der kleinste Drehung >messe ich gleich 4,99V und der ADCO Wert spring auf 1020 hoch. .. und dein Mega läuft auch mit 5V ? oder mit 3,3V ?
Netzteil ist ganz normal ( habe mehrere ) Trafo Gleichrichter, Kondis, 78S05.
Bastler schrieb: > Niemand eine Idee ? Nee eigentlich nicht, da das eigentlich ein absurder Fehler ist. VCC und AVCC muss auf +5. alle GND , also GND und AGND müssen auf GND. Aref ist lediglich mit 100nF gegen GND zu legen und sonst nichts. wenn alles so gemacht ist und es geht nicht, würde ich mal den uC tauschen. vielleicht hast du diesen durch die Verbindung von Aref zu Avcc schon gehimmelt. Gruss Klaus
Fehler habe ich gefunden, erstmal Danke an alle ! Der AVR war Schrott. Spannend war, habe ich einen nagelneuen genommen, (Pony ) Read all dann Write All hat auch angefangen zu spinnen sobald am Poti gedreht habe. Danach habe ich einen anderen genommen, komplette Prozedur, funzt perfekt !!! Schöner ADC Wert, keine Flatterei..usw Kann es sein daß auch Schrott ICs auch hergestellt werden ? ( Herkunft weiss ich nicht mehr genau. Habe viele AVRs auf Lager, einige von Reichelt, einige aus der Bucht, vom Kessler...usw...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.