Ich habe anhand des Beispieles (http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC) die Schaltung mit einem Atmega8 incl Kondensator AREF zu GND 100nF aufgebaut. An PC0 ist ein 10k Potentiometer angeschlossen.(Vcc,PC0,GND) Anfangs erhielt ich andauernd nur den Wert 1023 nach umstellen von: ldi temp1, 0 ; Kanal 0 out ADMUX, temp1 auf: ldi temp1, 0x81 <<<<----- out ADMUX, temp1 bekomme ich Werte die in etwa so aussehen: 00348 00598 00336 00331 00582 00579 00322 00320 00321 00577 00318 00573 00318 00573 00317 00571 00573 00575 00320 00321 00321 muss ADMUX wirklich auf 0 stehen? das bedeutet ja PC0 und externe referenz. Oder liege ich da Falsch?
00 = externe Referenz. Da ist keine, also falsch. 81 = "reserved" als Referenz und falcher Kanal. 40 wäre wohl erfolgversprechender. Merke: Fehler in Tutorials sind Absicht, damit man nicht sklavisch nachäfft sondern zum Mitdenken angeregt wird.
Hallo, ADMUX muß so gesetzt werden, wie Du es haben willst, also Referenzspannungsquelle mit REFS1, REFS0 (da Du ein Poti zwischen Vcc und GND hast, nacht nur AVcc wirklich Sinn, also REFS1 = 0, REFS0 =1. ADLAR ändert die Ausrichtung des Ergebnisses in ADCH und ADCL als 10Bit-Wert, mit 0 rechtsbündig. MUXX3...MUXX0 muß auf 0000 wenn Du Pin0 des Ports benutzt. Macht also 0b0100000 = 0x40 bei mir. 0x81 = 0b10000010 ist bei mir Referenzsspannung auf Reserved, also von Atmel nicht definierter Zustand, ADLAR = 0, also rechtsbündig und MUXX 0001 Eingang Pin1 wird benutzt. Das kann nur nutzlose Ergebnisse liefern. Die 1023 in Deinem ersten Versuch sind auch logisch, externe Referenzspannung ist eingestellt, dran ist nichts, also 0, jeder Eingangswert > 0 muß 1023 liefern. Zumindest theoretisch, die minimale Referenzspanung, für die Atmel die Funktion garantiert, liegt höher. Gruß aus Berlin Michael
Tatsache du :) Danke erstmal fuer die Antwort. Gugt besser aus aber immernoch kleine ausreisser drinne, uhm... 00767 00767 00767 01022 00767 00767 00767 00767 00767 00767 00767 00767 00767
Hallo Michi, manchmal hilft auch ein 47nF oder 100nF vom Analogeingang zu Masse. Gruss Otto
Lassen sich derartige sachen auch errechnen oder sind das Versuchswerte? Liegt das Problem in einer unsauberen Versorgungsspannung?
Schau mal nach, was das Datenblatt zum Thema Rauschunterdrückung (noise canceler) weiß. Könnte sein, dass das hilft. Und nochwas: Die Bits in den I/O-Registern haben Namen. Diese Namen werden im Datenblatt genannt und dem Assembler per Include-Datei bekannt gemacht. Das Verwenden dieser (vereinbarten und verbindlichen) Namen erleichtert das Lesen des Codes. ...
Michi wrote: > > Lassen sich derartige Sachen auch errechnen oder sind das Versuchswerte? > > Liegt das Problem in einer unsauberen Versorgungsspannung? A/D Wandlung ist ein Thema für sich, das sind schon ganze Bücher drüber geschrieben worden. Wenn Du einen Messwert mit 10Bit ADC auch wirklich auf +/-0LSB genau haben willst, wirst Du um diese Bücher nicht herum kommen. Danach kommen dann noch die Bücher über EMV... Also ganz profan, ich rate mal, dass Deine Lötstation noch an ist und irgendwo im Umkreis von 3m um Deinen Aufbau herum steht, oder sogar in der gleichen Steckdose steckt, wie die Versorgung Deiner Testschaltung. Meine alte Wella von 197x ist da ein zuverlässiger Tester bzgl. EMP/EMV. Aber die Kollegen haben schon recht, lies bitte unbedingt den kompletten ADC Abschnitt im Datenblatt und lies bitte auch die Application Note zum ADC von Atmel. Eine abgekoppelte Massefläche rund um den ADC Port wirkt wunder. Sternmasse ist auch besser als Tannenbaum. Errechnen kann man die Dämpfung der Schwingungen auch, denn ein C am ADC Eingang bildet mit dem Innenwiderstand des ADC-Eingangs und der S/H-Stufe ein simples R-C Filter, ein Deinem Fall spielt auch das Poti in die Berechnung mit rein. Es gibt einige Tricks bzgl. der Leiterbahnverlegung bzw. es helfen oft kleine Widerstände an digitalen Signalen möglichst dicht am Pin ihres Erzeugers. Das ermöglicht es einem z.B. auch einen 60MHz Microcontroller direkt neben einem qualitativ hochwertigen Tuner auf einer Platine zu betreiben. Gruß, Ulrich
>Meine alte Wella von 197x ist da ein zuverlässiger Tester bzgl. EMP/EMV.
EMP? Läuft die mit Plutonium? ;-)
MFG
Falk
Falk wrote: >>Meine alte Wella von 197x ist da ein zuverlässiger Tester bzgl. EMP/EMV. > > EMP? Läuft die mit Plutonium? ;-) > Elektro-Magnetischer-Puls. Da die olle aber zuverlässige Wella einen dicken Trafo und einen simplen Magnetschalter hat, erzeugt sie einen ordentlichen Schaltfunken und einen entsprechenden EM-Impuls. Das ganze dann Magnetisch noch mal über den Trafo und elektrisch rückwirkend über die Steckdose in alles, was an der gleichen Steckerleiste hängt. Wenn man also eine schöne Schaltung aufgebaut hat und wissen will, wie gut das ganze gegen äußere Störeinflüsse gewappnet ist, dann klemmt man sie zwischen Handy und die Lötstation uns lässt sie eine Zeit lang laufen. Stürtzt sie nicht ab, kann man davon ausgehen, dass die Bastelei den üblichen im Haushalt vorkommenden Störungen widerstehen wird. Ist keine wirkliche EMV Messung, zugegeben, aber für nicht kommerzielle Dinge vollkommen ausreichend. Gruß, Ulrich
@ Ulrich P. > EMP? Läuft die mit Plutonium? ;-) > Elektro-Magnetischer-Puls. Da die olle aber zuverlässige Wella einen Naja, ich kannte EMP eigentlich nur bei Atombombenexplosionen. Ala "Broken Arrow" ;-) MFG Falk
Falk wrote: > @ Ulrich P. > >> EMP? Läuft die mit Plutonium? ;-) >> > Elektro-Magnetischer-Puls. Da die olle aber zuverlässige Wella einen > > Naja, ich kannte EMP eigentlich nur bei Atombombenexplosionen. Ala > "Broken Arrow" ;-) > Naja, wenn die Schaltung auch das funktionierend übersteht hat man seine Abschirmung sicherlich ordentlich ausgeführt... Gruß, Ulrich
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.