Hallo! möchte eine Spannung im Bereich von 0 bis etwa 4 Volt über den internen AD Wandler des Atmega16 messen. Habe mir hierzu gerade das Datenblatt angesehen. Möchte hierzu gerne ein paar Fragen stellen. als Referenzspannung möchte ich AVCC nehmen. Wenn ich das richtig verstanden habe, muss ich hierzu AVCC nicht direkt an AREF anschliessen, sondern das wird über das setzen der BITS REFS1 auf 0 und REFS0 auf 1 intern gemacht?? Wenn ich das so mache, steht dort etwas von einem external capacitor zwischen AREF und GND (richtig?). Habe über den Wert der Kapazität nichts gefunden. Hoffe, ihr könnt mir da helfen. Dann ist noch die Rede von Prescaling: Hierbei wird eine ADC Clock gerneriert (Frequenz im Bereich von 50 bis 200 khz). Ich möchte einen 16MHz quarz anschliessen, also 16000000/128=125000, (bei eingestelltem Teiler auf 128, richtig?). Jetzt noch etwas ganz wichtiges. Möchte eine Spannung über ein Potentiometer messen (1kOhm), also werde ich bei angelegter Spannung von rund 4V am Potentiometer eine Spannung zwischen 0 und etwa 4V messen. Kann ich den Art Schleifer, der die Spannung am Potentiometer abgreift einfach so an den Messkanal des AD-Wandlers anlegen, oder brauche ich eine spezielle Messschaltung? Im Datenblatt gibt es unter Analog Input Circuit eine Schaltung, kann wenig damit anfangen, habe das mit den Eingangswiderständen nicht so verstanden in dem Kapitel. Wie ihr sehen könnt, habe ich schon selbs fleissig gesucht, hoffe, ihr helft mir noch ein bischen. Viele Grüsse, Maria
als Referenzspannung möchte ich AVCC nehmen. Wenn ich das richtig verstanden habe, muss ich hierzu AVCC nicht direkt an AREF anschliessen, sondern das wird über das setzen der BITS REFS1 auf 0 und REFS0 auf 1 intern gemacht?? Genau. Wenn ich das so mache, steht dort etwas von einem external capacitor zwischen AREF und GND (richtig?). Habe über den Wert der Kapazität nichts gefunden. 100nF sind i.O. Hoffe, ihr könnt mir da helfen. Dann ist noch die Rede von Prescaling: Hierbei wird eine ADC Clock gerneriert (Frequenz im Bereich von 50 bis 200 khz). Ich möchte einen 16MHz quarz anschliessen, also 16000000/128=125000, (bei eingestelltem Teiler auf 128, richtig?). ja Jetzt noch etwas ganz wichtiges. Möchte eine Spannung über ein Potentiometer messen (1kOhm), also werde ich bei angelegter Spannung von rund 4V am Potentiometer eine Spannung zwischen 0 und etwa 4V messen. Kann ich den Art Schleifer, der die Spannung am Potentiometer abgreift einfach so an den Messkanal des AD-Wandlers anlegen, oder brauche ich eine spezielle Messschaltung? nein Im Datenblatt gibt es unter Analog Input Circuit eine Schaltung, kann wenig damit anfangen, habe das mit den Eingangswiderständen nicht so verstanden in dem Kapitel. Da ist eigentlich nur wichtig, dass die Ausgangs-Impedanz deiner Quelle kleiner als 10kOhm sein sollte.
Habe ein 12V Steckernetzteil, dann so einen Wandler(?, aber sehr einfach, so ein Dreihbein), der daraus 5V macht. Mit den 5V betreibe ich den Mikrocontroller und eben das Potentiometer. Wie kann ich die Ausgangsimpedanz messen? Spannung und Strom messen, daraus den Widertsand? Mit dem Spannungsmessgerät gleich den Widerstand zu messen geht ja nicht, oder kannst du mir aus deiner Erfahrung sagen, dass das funktionieren müsste, mit den 10kohm? Maria
@Rahul: Wieso nur 10kOhm Ausgangsimpedanz? Der ATMega hat ca. 100MOhm Eingangswiderstand. Oder meinst du das wegen der Eingangskapazität des AVR. Die dürfte wohl eher im höheren Frequenzbereich zum Tragen kommen und im Pico Bereich liegen. Dann hast natürlich Recht. Bei Gleichspannung und niederfrequenten Spannungen kann die Ausgangsimpedanz auch hoch sein. @Maria: Folgendes würde ich noch ergänzen: ab Potischleifer, 1Widerstand ca. 1..10k in Serie(Strombegrenzung, Schutz), 1Kondensator 1..10nF zwischen ADEingang und Gnd (dämpft den "Schmutz" und das Messergebnis bleibt konstanter). Viel Glück lg Ralf
Maria, vergiss das mit der Ausgangsimpedanz einfach erstmal. Wichtiger ist, dass die Abblockkondensatoren nicht vergisst. 100nF beim AVR +Ub-Gnd und vor und hinter dem Dreibein, sonst hast nen Frequenzgenerator ;-) lg Ralf
Hallo,
>1Kondensator 1..10nF zwischen ADEingang und Gnd (dämpft >den
"Schmutz" und das Messergebnis bleibt konstanter).
Persönlich halte nicht sehr viel davon. Ein Programmierer versucht in
erster Linie Hardware einzusparen und diese Probleme mittels Software
zuloesen.
Eine Mittelwertbildung aus z.B. 10 Messungen sollte das Problem auch
loesen.
Gruß,
Dirk
@Dirk: meine Erfahrung spricht dagegen ;-) Kommt natürlich auf die Anwendung an. Bei meinen Temperaturmessungen mache ich das so, insbesondere wenn der Fühler an einer ungeschirmten 10m Leitung hängt. Sporadisch gibt es dermassen krasse Ausreisser, dass die Mittelwertbildung den Fehler auch nicht eliminiert. War so am einfachsten (10nF). Natürlich kann Maria den AD Eingang auch erstmal "nackt" ans Poti hängen. Hoffe, du bist dann zugegen um Maria zu erklären warum der Messwert schwankt oder warum der ADEingang abgeraucht ist, weil mal versehentlich 12V drauf lagen (schnell passiert beim Basteln). lg Ralf
@Togger: Seite 210 des Mega16-Datenblattes. "Analog Input Circuitry", 2. Absatz: "The ADC is optimized for analog signals with an output impedance of appoximately 10kOhm or less." Bei 10k und weniger hat meinen einen so kleinen Innenwiderstand, dass die Belastung durch den ADC nicht ins Gewicht fällt. Man will ja nicht, dass die Messung durch den ADC verfälscht wird. Miß doch mal mit dem ADC einen Spannungsteiler im Mega-Ohm-Bereich! Für Temperatur-Messungen in grösserer Entferung benutze ich lieber digitale Sensoren, oder präge der Schaltung einen vernünftigen Strom ein. Ungeschirmte Kabel sind bei mir verdrillt... Man kann eine Menge Störungen schon durch entsprechende Aufbauten verhindern...
>Hoffe, du bist dann zugegen um Maria zu erklären warum der Messwert >schwankt oder warum der ADEingang abgeraucht ist, weil mal >versehentlich 12V drauf lagen (schnell passiert beim Basteln). Bei 10 Bit Auflösung schwankt der Messwert bei einem Poti ein wenig. Der Kondensator und 1kOhm werden bei 12V am Eingang auch nicht wirklich viel bringen...
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.