Archiv verlassen und diese Seite im Standarddesign anzeigen : int. Analog/Digital-Wandler
Hi,
habe einen AVR ATmega8. Der Wandler funktioniert im unteren millivolt-bereich eher mäßig. Hat einer eine Idee, wie ich ihn verbessern könnte?
Je niedriger die Referenzspannung, desto größer die Auflösung. Es müssen aber minimal 2V sein, damit hat man 1,9mV Auflösung. Wenn du mehr brauchst, musst du nen externen Verstärker verwenden.
Beim pinkompaktiblen Mega48/88 kann man die Referenz auf 1V runterschrauben. Das gibt dann 0,97mv Auslösung.
hallo,
Atmel appnotes:
AVR042 kapitel 2.2 (2.1)
AVR121
AVR040
lg
Ja, einen Verstärker möchte ich vielleicht benutzen. Die Referenzspannung beträgt 2V.. über einen spannungsteiler. Aber trotzdem, gibt es außer dem verstärker noch andere Wege, den ADC zu verbessern?
Da der Bereich den ich mit verstärker messen kann dann schon sehr begrenzt ist.
Besserwessi
22.09.2008, 17:15
Wenn mehr Auflösung und trotzdem den vollen bereich haben will braucht man irgendwann einen externen AD mit mehr Bits. Wenn es relativ langsam (z.B. 60 Hz) sein darf, wäre der MCP3421 eine interessante Möglichkeit.
Puh, ne so ein ext. anzuschließen ist mir zu kompliziert. Dann muss wohl doch der interne hinhalten
Lemonsquash
23.09.2008, 09:43
Nixda, kompliziert :P Der hat nen i2c - interface. Demzufolge ist er einfach anzuschließen und auch anzusprechen...
Oder wie meintest du das?
Hubert.G
23.09.2008, 10:58
Wenn du dich auf den internen AD-Wandler versteifst, dann wirst du auf einen Mega16 oder höher umsteigen müssen. Der hat einen internen Verstärker, einstellbar auf x10 und x200. Das geht allerdings auch zu Lasten der Auflösung.
"Nixda, kompliziert Razz Der hat nen i2c - interface. Demzufolge ist er einfach anzuschließen und auch anzusprechen...
Oder wie meintest du das?"
Ja, mit I²C hab ich noch nie was gemacht. Und ansprechen stell ich mir eben sehr schwer vor! Oder gibts hierzu auch irgendwelche Tutorials? Das wär nämlich super...
Lemonsquash
23.09.2008, 16:34
Gibts. Momentchen..... Ahja, da:
https://www.roboternetz.de/wissen/index.php/I2C
Mit welcher Programmiersprache arbeitest du denn? Für Bascom ist ein Beispiel in dem Link oben, da ist das echt sehr simpel...
Besserwessi
23.09.2008, 17:57
Ich hatte vergessen zu erwähnen das zumindestens der MC3421 eine ziehmlich kleines SMD-gehäuse hat. Läßt sich aber wegen der nur 6 Pins noch gut löten.
Beim internen AD kann man gerade bei kleinen Spannungen nioch etwas gewinnen, indem man viele Messungen mittelt, das kann einem auch noch 1-2 extra BIts geben.
Hmm, also ich arbeite mit Assembler. Ich werd' den I²C-Bus mal durcharbeiten, vielleicht finde ich ja auch ein bisschen was zu Assembler...
Welchen ext. ADC würdet ihr denn empfehlen? Er sollte nicht in SMD sein, und ... naja eben gut kleine Spannungen messen *g*- ich stell mir so 12bit vor
Besserwessi
23.09.2008, 22:35
Da das Ganze nicht zeitkrietisch zu sein scheint, sollte man überlegen besser in C oder auch Basic zu programmieren, da werden Rechenungen und vieles andere deutlich überschtlicher. Für I2C gibt es da vorgefertigte Libraries oder Funktionen. Rein in ASM ist I2C nicht gerade einfach, besonders wenn man Fehlerfälle mit berücksichtigen will.
Uff, nochmal umlernen wäre natürlich schwierig - dann ist es vielleicht einfacher, wenn ich die Übertragung seriell oder so mache? Gibts ja mehrere Ansprechmöglichkeiten..
Besserwessi
24.09.2008, 20:08
AD Wandler gibts im Wesentlich mit I2C , SPI oder Parallel Interface. Bei den eher langsamen vor allem I2C oder SPI. Eine direkte UART wäre da die ablolute Ausnahme, es sei denn man zählt eine Controller mit passendem Programm dazu.
Es hängt natürlich vom Vorwissen ab, aber so viel ist das Umlernen von Assembler nach C auch nicht, zumindestens wenn man schon irgendeine Hochsprache kann.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.