Hallo zusammen, nach einigen Recherchen im World Wide Web habe ich rausgefunden,dass man Spannungen einfach mit einem Mikrocontroller und einen Spannungsteiler messen kann. Das hört sich wirklich unkompliziert und einfach an. Mein Problem lautet: Ich möchte Gleichspannungen im Bereich von 0-50V messen.Das wäre dann mit einem ATmega8 und einem 1/20 Spannungsteiler realisierbar.was ist dann wenn eine Spannung von 0.1V zu messen wäre,kann dann der AD-Wandler mit dem 5mV was anfangen?oder braucht er in diesem Fall einen Verstärker? Ich hab mir überlegt das Problem mit einer automatischen Bereichsumschaltung zu lösen,weiss leider nicht wie ich das machen könnte. (einen Verstärker(x2.5) für den Bereich 0V-0.99V,einen Spannungsteiler(1/4) für den Bereich 1V-9.99V und einen 2.Spannungsteiler(1/25) für den Bereich 10V-50V, wie schalte ich aber automatisch zwischen diesen Bereichen?) Außerdem wie siehts allgemein mit der Genauigkeit bei so einer einfach Schaltung (mit einem Spannungsteiler)? Vielen Dank im Vorraus Gruß
Der Atmega hat doch schon einen Mux, einfach an einen Eingang den Spannungsteiler an den anderen ohne. Außerdem kann er auch das Eingangssignal verstärker, siehe Datenblatt.
Samuel K. schrieb: > Der Atmega hat doch schon einen Mux, einfach an einen Eingang den > Spannungsteiler an den anderen ohne. Außerdem kann er auch das > Eingangssignal verstärker, siehe Datenblatt. /!\ ich wage es zu bezweifeln dass der AVR es mag wenn man ihm 50V an einen Pin legt !!! wenn du einen mit 12bit ADC hast: 5V/4096=1.2mV Auflösung auf die 5V mit einem Spannungsteiler von 1/20: 1.2mV*20=ca.0.025V Auflösung auf deinen kompletten 0-50V Bereich
Samuel K. schrieb: > einfach an einen Eingang den > Spannungsteiler an den anderen ohne Aber eine Schutzbeschaltung des Eingangs nicht vergessen! > Außerdem kann er auch das > Eingangssignal verstärker, siehe Datenblatt. Nicht der ATmega8. Da müsste er schon einen anderen nehmen. Gruß Dietrich
steffen schrieb: > /!\ > ich wage es zu bezweifeln dass der AVR es mag wenn man ihm 50V an einen > Pin legt !! Natürlich muss ein entsprechend großer Widerstand + Kondensator davor. Dietrich L. schrieb: > Nicht der ATmega8. Da müsste er schon einen anderen nehmen. Atmega88 müsste es können. Als Spannungsteiler wäre übrigens 1/10 besser geeignet (50V->5V).
Danke für eure Antworten, Samuel K. schrieb: > Der Atmega hat doch schon einen Mux, einfach an einen Eingang den > Spannungsteiler an den anderen ohne. Außerdem kann er auch das > Eingangssignal verstärker, siehe Datenblatt. In meinem Fall wäre das dann so: Direkt (0V-0.99V) ---- ADC3 ---- Mux ---- Verstärker Spannungsteiler 1 1V-9.99V ---- ADC1 ---- Mux Spannungsteiler 2 10V-50V ---- ADC2 ---- Mux natürlich mit Schutzschaltung :) Welche Eingangsspannung an den ADCs ist die "Richtige" kann man per Software realisieren,wie groß ist der Aufwand bei dieser Variante? steffen schrieb: > wenn du einen mit 12bit ADC hast: > 5V/4096=1.2mV Auflösung auf die 5V > > mit einem Spannungsteiler von 1/20: > 1.2mV*20=ca.0.025V Auflösung auf deinen kompletten 0-50V Bereich wie bist du auf 4096 gekommen? Das Problem liegt daran,dass die meisten 8-Bit AVRs haben nur 10-Bit ADCs.kennst du vlt einen der 12-Bit oder mehr hat?
Im Mega gibts nur einen ADC, also so: Direkt (0V-0.99V) ADC -- Mux -- Verstärker -- Schutz -- Teiler -- In1 Spannungsteiler 1 1V-9.99V |----------------- Schutz -- Teiler -- In2 Spannungsteiler 2 10V-50V |--------------------------- Teiler -- In3 Ein Mega88 spart dir den Verstärker und du brauchst zusätzlich weniger Eingänge, da der interne Verstärker umschaltbar ist. > natürlich mit Schutzschaltung :) > > Welche Eingangsspannung an den ADCs ist die "Richtige" kann man per > Software realisieren,wie groß ist der Aufwand bei dieser Variante? Man kann den zu Messenden Eingang einfach auswählen. > steffen schrieb: > >> wenn du einen mit 12bit ADC hast: >> 5V/4096=1.2mV Auflösung auf die 5V >> >> mit einem Spannungsteiler von 1/20: >> 1.2mV*20=ca.0.025V Auflösung auf deinen kompletten 0-50V Bereich > > wie bist du auf 4096 gekommen? 2^12 > > Das Problem liegt daran,dass die meisten 8-Bit AVRs haben nur 10-Bit > ADCs.kennst du vlt einen der 12-Bit oder mehr hat? 12bit bekommst du auch noch mit einem Mega hin (Oversampling) Einfach das Signal mehrmals abtasten und addieren. Für 12bit sollte man es (glaube ich) 16mal abtasten und dann 2 mal nach rechts schieben.
Samuel K. schrieb: > Im Mega gibts nur einen ADC, also so: > Direkt (0V-0.99V) ADC -- Mux -- Verstärker -- Schutz -- Teiler -- In1 > Spannungsteiler 1 1V-9.99V |----------------- Schutz -- Teiler -- In2 > Spannungsteiler 2 10V-50V |--------------------------- Teiler -- In3 > > Ein Mega88 spart dir den Verstärker und du brauchst zusätzlich weniger > Eingänge, da der interne Verstärker umschaltbar ist. > >> natürlich mit Schutzschaltung :) >> >> Welche Eingangsspannung an den ADCs ist die "Richtige" kann man per >> Software realisieren,wie groß ist der Aufwand bei dieser Variante? > > Man kann den zu Messenden Eingang einfach auswählen. > kann man das automatisch machen? welche der beiden Varianten wäre dann besser, effizienter? 3 Bereiche oder mit dem 12-Bit ADC und 5V Referenzpannung? Danke Samuel für deine Hilfe :)
Samuel K. schrieb: > 12bit bekommst du auch noch mit einem Mega hin (Oversampling) Einfach > das Signal mehrmals abtasten und addieren. Für 12bit sollte man es > (glaube ich) 16mal abtasten und dann 2 mal nach rechts schieben. Mit Oversampling kannst Du zwar die Auflösung steigern, nicht aber die Genauigkeit. Ich denke, die Entwickler der uPs wissen schon, warum sie sich mit 10 Bit zufrieden gegeben haben... Gruss Harald
Harald Wilhelms schrieb: > Mit Oversampling kannst Du zwar die Auflösung steigern, nicht aber die > Genauigkeit. Ich denke, die Entwickler der uPs wissen schon, warum sie > sich mit 10 Bit zufrieden gegeben haben... Kalibrieren muss man das ganze, aber es ist gut möglich 12-13bits sowohl Auflösung als auch Genauigkeit zu erhalten. Zumindest funktionieren 13bit bei meinem Logger (auch Genauigkeit).
Meiner Meinung nach gehts am einfachsten so: Spannungsteiler 10/1, um die Eingangsspannung auf 0-5V zu reduzieren. Jetzt kann mit Referenzspannung 5V (AVcc) der Bereich 0-50V mit 10bit gemessen werden (ca 50 mV Auflösung). Falls es im unteren Bereich noch genauer sein soll, kann man dann die Referenz auf die internen 2,56 Volt umschalten. So erhöht sich die Auflösung auf ca 25 mV. Je nach Prozessor kannste möglicherweise auch noch die interne Bandgap als Referenz nehmen (1.1V), damit wär die Auflösung noch besser (im Spannungsbereich 0-10V). :-)
Shark schrieb: > kann man das automatisch machen? Programmieren muss man es schon, sonst weiß der µC ja nicht was er tun soll ;) http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC Shark schrieb: > welche der beiden Varianten wäre dann besser, effizienter? 3 Bereiche > oder mit dem 12-Bit ADC und 5V Referenzpannung? Ich würde den bis 10V Bereich auch rauslassen, sollte die Auflösung nicht reichen -> Oversampling. Von den internen Referenzen würde ich allerdings ohne Kalibrierung abraten: Sie können um +-10% von der nominalen RefSpannung abweichen (ohne Kal.).
Shark schrieb: > kennst du vlt einen der 12-Bit oder mehr hat? Nimm einfach einen PIC da gibt es genügend mit 12 Bit A/D-Wandler. z.B. dsPIC30F4013 oder einen aus der PIC24F(V)32KA304-Familie. Gruß Anja
> Außerdem wie siehts allgemein mit der Genauigkeit bei > so einer einfach Schaltung (mit einem Spannungsteiler)? Erst mal hängt die Genauigkeit von der (Vergleichs-)referenz ab. Die 5V aus einem 7805 sind nicht nur 5% ungenau, sondern auch nicht stabil. Die interne Vref von 2.5V oder 1.1V eiens AVR ist ziemlich ungenau (+/-10%), aber 1000 mal stabiler als die 5V. Extern an AREF angeschlossenen Spannungsreferenzen wie LM4120 können fast beliebig genau sein. Dann geht es um die Auflösung, wenn du 50V aus 2.5V runterteilst, teilst du 0,1V auf 5mV, das geht nah an die Auflösungsgrenze des 10 bit und 1024 Stufen A/D-Wandlers. Du kannst also 50V in 0.1V Schritten anzeigen, aber nicht erwarten, daß ein 0.1V Messbereich existiert in dem du noch 100uV messbar wären. Professionelle Multimeter machen es tatsächlich durch unterschiedliche Spannungsteiler (und eventuell verstärkende OpAmps), aber auch im kleinsten Messbereich muß ein hochohmiger Widerstand in Reihe zum Eingang liegen, damit bei Überspannung nicht der uC kaputt geht.
Samuel K. schrieb: > Harald Wilhelms schrieb: >> Mit Oversampling kannst Du zwar die Auflösung steigern, nicht aber die >> Genauigkeit. Ich denke, die Entwickler der uPs wissen schon, warum sie >> sich mit 10 Bit zufrieden gegeben haben... > > Kalibrieren muss man das ganze, aber es ist gut möglich 12-13bits sowohl > Auflösung als auch Genauigkeit zu erhalten. Zumindest funktionieren > 13bit bei meinem Logger (auch Genauigkeit). ...und wie hast Du das ganze kalibriert? Mit einem 8-stelligen Voltmeter? Gruss Harald
Shark schrieb: > Außerdem wie siehts allgemein mit der Genauigkeit bei so einer einfach > Schaltung (mit einem Spannungsteiler)? Bei einem Spannungsteiler für 10-bit Genauigkeit müssen die Spannungsteilerwiderstände von der Genauigkeit (Stabilität) deutlich besser als 0.1% sein. Das gilt genauso, wenn die Schaltung komplizierter ist, solange die Impedanz des Spannungsteilers nicht stört.
Martin schrieb: > Bei einem Spannungsteiler für 10-bit Genauigkeit müssen die > Spannungsteilerwiderstände von der Genauigkeit (Stabilität) deutlich > besser als 0.1% sein. Das gilt genauso, wenn die Schaltung komplizierter > ist, solange die Impedanz des Spannungsteilers nicht stört. Ich denke, bei 0,1% Auflösung sollten auch Spannungsteilerwiderstände mit 0,1% Genauigkeit reichen (gibts bei Reichelt für 19ct). Es glaubt doch wohl keiner ernsthaft, mit einem uP-AD-Wandler eine höhere Genauigkeit als mit den meisten Multimeter zu erzielen. Gruss Harald
>> Kalibrieren muss man das ganze, aber es ist gut möglich 12-13bits sowohl >> Auflösung als auch Genauigkeit zu erhalten. Zumindest funktionieren >> 13bit bei meinem Logger (auch Genauigkeit). > > ...und wie hast Du das ganze kalibriert? Mit einem 8-stelligen > Voltmeter? 5 Stellig reicht schon, Widerstände kann man selektieren. Für den Spannungsteiler sollte man gleich hochohmige Widerstände nehmen, ein Kondensator (10nF) dahinter und man spart sich die Schutzschaltung.
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.