Forum: Mikrocontroller und Digitale Elektronik Atmega positive and negative inputs


von Urs Müller (Gast)


Lesenswert?

Hi

Nun kann mir jemand erklären wie eine Wechselspannung mit dem Atmega32
gemessen werden kann. In dem Datenblatt steht:

selection of ADC input pins
can be selected as positive and negative inputs to the differential
gain amplifier. (Seite 200)

und weiter kann man dann die Einstellung auf der Seite 213 den MUX
einstellen. Wie ist das wenn ich jetzt den Mux so einstelle?

10001 ADC1 ADC1 1x

Kann man dann mit dieser Einstellung am Kannal ADC1 positive und
Negative Spannungen zu GND messen?

Und bei der Einstellung des MUX:

10010 N/A ADC2 ADC1 1x

Ist der ADC2 für Positive Spannung bezogen auf GND. Und ADC1 für
negative Spannungen bezagen auf GND.  ??????

Ich weiss das es nicht eine Einfache Frage ist und darum hoffe ich das
damit schon mahl einer gearbeitet hat.

Ich bedanke mich schon im voraus für eine Antwort.

Mit freundlichen Grüssen Urs Müller

von Läubi (Gast)


Lesenswert?

mußt du den beide Spannungen messen? Wenn es nur ne Wechselspannung ist
in einem Sinus und du diese Messen willst reicht ja eventuell auch ne
Diode vor dem ADC Pin, dann mißt du nur eine halbwelle, aber das
ergebnisder zweiten ist jagleich nur mit anderem Vorzeichen.

von johnny.m (Gast)


Lesenswert?

Der ADC misst bei der Benutzung der Differenzeingänge eine
Differenzspannung zwischen den beiden Eingängen. Wenn die Spannung an
ADC2 größer als die an ADC1 ist, dann gibts einen positiven Wert in
ADC, andersrum einen negativen. Wie beim normalen Operationsverstärker.

von Wolfram (Gast)


Lesenswert?

und die Spannung ADC1 und ADC2 (zwischen denen du differentiell mißt)
müssen auf GND bezogen, zwischen VCC und GND liegen!

von Urs Müller (Gast)


Lesenswert?

Danke für die Antworten die werden mir sicher helfen. Nun leider weiss
ich jetzt das ich keine Negative Spannung so einfach messen kann.
Vieleicht kann mir ja jemand sagen wie am besten eine Wechselspannung
und DC Spannung gemessen werden kann ?

--> ist mit einer Offsetspannung in der Mitte der Referenzspannung das
beste? Oder hat jemanden eine Andere jdeeeeee ?

Ich danke für eine Antwort.

Mit freundlichen Grüssen

Urs Müller

von phagsae (Gast)


Lesenswert?

Hallo Urs

Messen und messen sind halt 3 verschieden Dinge.

Als billigvariante  für AC:
Wenn die Quelle belastbar und symetrisch ist:
Die untere Halbwelle abtrennen zb mit vorgespannter Diodenklemme.
(0,7v muss du das signal richtung + ziehen ).
Die Obere Halbwelle Gleichrichten und somit hast du den halben
Gleichrichtmittelwert der Spannung.
! das ist nicht der effektivwert!.
Das kann für einfache "Überwachungen" reichen.



Besser für AC.
negative hilfspannung bereitstellen.
Mit OPV einen aktiven Gleichrichter aufbauen.
Da gibt es Schaltungsvarianten die den rms wert als Gleichspannung
ausgeben.
( Bei interesse melden hab ich irgendwo noch rumliegen.)

Die beste lösung ist wohl ein externer ADC.
der neg Spannungen verarbeiten kann.
Die gibts auch mit int. neg Spannungquelle.


Andere Varianten die möglich sind.
ja nach signalform und eigenschaft der Messquelle.

Signal per C einkoppeln.
-> Audio Verstärker mit einfacher Versorgung
nur sin.

Signal per lin. Optokoppler einspeisen.
Hier muss die Quelle belastbar sein.
Signalform unwichtig

Signal per Übertrager einspeisen.
für sin und f >50Hz <50Khz gar nicht sooo schlecht.

von Ole (Gast)


Lesenswert?

Moin!

Beschäftige mich auch grad mit der problematik eine Wechselspannung zu
messen und bin dann nach langem Hin und Her zu dem Schluss gekommen,
das es ja reichen würde im Moment zu messen, wo ber Scheitelwert der AC
anliegt. (Will im Bereich von mV messen, daher ist eine Verstärkung
mittels OP von Nöten. dieser besorgt gleich das Abschneiden der
negativen Halbwelle)
Da hier nur global von AC gerdet wird, denke ich mal das es sich um
eine sinusförmige AC handelt.
Mein Ansatz liegt darin, einen Nulldurchgang mit steigender Flanke zu
detektieren, dann einen Timer zu starten, der genau ein viertel
Periodendauer wartet und dann den ADC anhaut zu messen. (Sollte
netürlich alles per Int. geschehen, sonst ist der µC ja nur am warten
und man kann nix anderes machen)
Danach ist natrülich noch die Umrechnung von Scheitel- zu Effektivwert
zu machen, aber das sollte ja kein Problem darstellen.
Sollte es sich um die 50Hz Netzfrequenz handel, wären es also 50
Messungen pro sekunde, somit bleibt ausreichend Zeit um eine Umrechnung
und ausgabe evtl. via LCD vorzunehmen.

von Rahul (Gast)


Lesenswert?

Du könntest auch den AD-Wandler kontinuierlich messen lassen, und ein
Vorher-Nachher-Vergleich anstellen, um den höchsten Wert
herauszufinden; also solange der gemessene Wert grösser als der
vorherige ist, wird dieser durch den neuen ersetzt.
Werden die Werte wieder kleiner, hast du den Scheitelwert...
ISR dürfte ein 3-5 Zeiler werden:

newADC = ADC;
if (newADC > oldADC) oldADC = newADC
else //stop ADC, set scheitelflag.

AUswertung von scheitelflag in der Main...

von Ole (Gast)


Lesenswert?

Auch möglich, aber meinst du net, dass es etwas "verschenderisch" ist,
wenn man x Werte erfasst um sie dann wieder zu verwerfen?
(Mit welcher Samplerate würdest du wo was denn starten?)
Ausserdem könnte man die Zeit in der er die ganzen ADC´s macht, schön
andere Dinge laufen lassen.
Wie Soll denn die Ausgabe stattfinden, wenn er die ganze Zeit am Messen
und Vergleichen ist?
Das Einzige (was mir jetzt so einfällt) wozu das aufzeichnen von
diversen Werten wäre, ist die Auswertung der Phasenverschiebung, aber
dann reichts ja eh net nur die spannung zu messen, dann müsstest noch
den Strom erfassen. (kla ist auch nur spannung messen, aber eben noch
eine Zweite)

Was ir grad dazu noch einfällt, sollte ein kleiner Spike in der
Spannung ihn schon nach z.B. einer zehntel Periode dazu bringen
abzubrechen, ist die Messung fürn A****.
Dann sollte zumindest geprüft werden ob zwei aufeinanderfolgende
Messungen höhere Werte liefern als eine vorherige.

Grundlegend weiß ich jedoch nicht, wieso man dem µC so viel arbeit
zumuten sollte, denn die Netzfrequenz schwank nur minimal und somit
wäre eine Messung die Timergesteuert abläuft doch recht genau.
Und sagen wir mal, man trifft die 5ms (viertel Periode bei 50Hz) nicht
genau, dann hat man selbst beim Messun nach 4 bzw. 6ms (also 20% Fehler
im Zeitpunkt) grad mal 5% Messfehler.
Wenn man weiß das man zu einem "falschen" Teitpunkt misst, kann man
den Fehler ja auch rausrechnen. Natürlich bleibt dann noch die
Freq.abweichung des Netzes.

Hab grad mal geschaut und gesehen, das RWE eine Abweichung von max.
0,2Hz zulässt. Somit ist dann eine Periode zwischen 19,92ms und 20,08ms
lang. Und ÄÄÄHHHMMM das wirkt sich nun im Ergebnis so gut wie nicht aus!
Bei korrektem Messzeitpunkt (für 50Hz) wäre das eine Abweichung von
0,002%. Und auch wenn der Messzeitpunkt nicht exakt ist ergibt sich in
etwa die gleiche Abweichung wie oben angegeben.

Hui, langer Text!

von Rahul (Gast)


Lesenswert?

Das mit der Genauigkeit der Netzspannung war hier auch schon mal ein
Thema...
Natürlich ist mein Vorschlag nicht ganz komplett ausgereift, sollte ja
auch nur eine weitere Möglichkeit aufzeigen.
Man kann nebenbei auch noch die Zeit messen, und so dann Spikes
auffinden bzw. die Spannungsabweichung zum vorherigen Wert bestimmen.
Zeitlicher Aufwand:
Du möchtest nur eine Halbwelle vermessen: das sind 10ms.
In den nächsten 10ms (=10000µs) passiert gar nichts.
Ein AVR mit 4MHz hat dann ziemlich viel Zeit (~40.000 Instuktionen)...
Wenn man den ADC im kontinuierlchen Modus betreibt, springt er
gelegentlich in die ISR, überprüft den Wert, und die Hauptschleife
überprüft dann hin und wieder das Flag...
Solange da keine weiteren zeitkritischen Sachen passieren, ist doch
alles in Butter.
Man muß halt mal gucken, mit welcher Frequenz man den ADC
(Datenblatt)betreibt, und wie dann die zeitliche Teilung der Halbwelle
aussieht...

von Besserschisser (Gast)


Lesenswert?

Negative Spannung so einfach messen geht schon wenn ATMega GND und GND
der Messspannung galvanisch getrennt sind. Das ist der Fall bei
Batteriebetrieb wie auch bei den meisten modernen Transformatoren. Nur
wenn deine Schaltung auf einem wirklich geerdetem GND potenzial liegt
geht das nicht. Aber Vorsicht GND deiner Schaltung kann unter Umständen

zur Erde hin ein hohe Spannung führen. Bei Messung an Netzspannung kann
  das Lebensgefährlich sein auch wenn due einen Spannungsteiler davor
hast.

von Ole (Gast)


Lesenswert?

@Rahul

Stimme dir voll zu, dass der µC dann die meiste Zeit nur als
mini-Heizkörper dient, aber wenn man etwas misst, möchte man das auch
gerne angezeigt haben. Und besonders wenn man dazu ein LCD hernimmt,
dauert die ausgabe schon etwas. Auch die umrechnung nimmt ja etwas Zeit
in Anspruch.
Hab jetzt keinerlei betrachtungen angestellt, wie knapp es mit der Zeit
wird, aber denke nicht dass es da irgendwo probleme geben sollte. Auch
die von dir genannte möglichkeit wird sicher laufen! Zumal man da
eigentlich auf eine Nulldurchgangserkennung verzichten kann.

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
Noch kein Account? Hier anmelden.