Forum: Mikrocontroller und Digitale Elektronik AC in DC umwandeln und umgekehrt - Gibt es passende IC's?


von M*** L. (b2b)


Lesenswert?

Hallo,

ich möchte beispielsweise eine Sinus-Spannung von 10V Spitze-Spitze (-5V 
bis +5V) mit dem AVR einlesen.
Da der AVR nur eine Spannung von 0 bis 5V am ADC verträgt, benötige ich 
ein Bauteil, das mir die 10V Spitze-Spitze in 0 bis 5V wandelt.

Es wäre aber vielleicht besser, wenn es ein IC geben würde, das mir den 
eingelesen AC-Wert z.B. als 8Bit-Wert (oder höher) ausgibt. Dann brauche 
ich nicht den ADC vom AVR benutzen, belege aber viele Portpins, die 
aber sowieso noch frei sind.
Ich brauche auch ein passendes Gegenstück, das mir den DC-Wert wieder in 
den AC-Wert umwandelt, am besten auch als Byte (oder mehr).

Ich weiß nicht, nach welchen IC's ich suchen muss, darum frage ich hier 
nach.
Wäre nett, wenn mir jemand mitteilen könnte, wonach ich suchen muss!

Vielen Dank!

von Michael U. (amiga)


Lesenswert?

Hallo,

Spannungsteiler 1:1, dann sind es 5V Spitze-Spitze. ADC-Eingang mit 
Spannungsteiler 1:1 auf 2,5V legen (bei 6V Ub des AVR).
5V Spitze-Spitze mit Kondensator an den ADC-Eingang, fertig.

-5V sind dann 0V am ADC, 0V sind 2,5V und +5V sind dann +5V am ADC.

Widerstandswerte nach zulässiger Last der Quelle, 47k z.B.
Kondensator nach vorhandener Frequenz, im NF-Bereich sollten 470n gehen 
(nicht nachgerechnet...).

Unklar sind mir 2 Sachen: was willst Du eigentlich einlesen? Die 
Spannung hast Du mit sinusförmig 10Vss angegen, welchen Parameter willst 
Du also auswerten und wie und wofür.

Was ist bei Dir "das Gegenstück"? Rechnen kann der AVR selber, 
programmieren muß Du vermutlich selber... ;)

Gruß aus Berlin
Michael

von Gast (Gast)


Lesenswert?

Nur mal eine von vielen Möglichkeiten:

Eingang:
Präzisionsgleichrichter, TP, ADC-Eingang
Ausgang:
PWM und OP

Hängt davon ab was Du machen willst (Genauigkeit, Kosten, ...)

von M*** L. (b2b)


Lesenswert?

Vielen Dank für die bis dahin geschriebenen Anworten!

Michael U. wrote:
> Unklar sind mir 2 Sachen: was willst Du eigentlich einlesen? Die
> Spannung hast Du mit sinusförmig 10Vss angegen, welchen Parameter willst
> Du also auswerten und wie und wofür.
>
> Was ist bei Dir "das Gegenstück"? Rechnen kann der AVR selber,
> programmieren muß Du vermutlich selber... ;)

Gast wrote:
> Hängt davon ab was Du machen willst (Genauigkeit, Kosten, ...)

Ich möchte für ein Projekt eine Spannung (kann im ungünstigsten Fall 
neg. und pos. Spannung haben) mit einem AVR einlesen.
Der eingelesene Spannungswert soll in einem Array gespeichert und wieder 
vom AVR ausgegeben werden.
Das kann man ja eigentlich auch mit R2R-Widerstandsgräber lösen, aber 
wie soll ich eine neg. Spannung mit einem AVR ausgeben? Einlesen ist ja 
nicht so das Problem, wie u.a. Michael U. schon geschrieben hat.
Daher suche ich auch ein passendes "Gegenstück", aber PWM wollte ich 
eigentlich vermeiden.

Es wäre wirklich am besten, wenn es IC's gibt, die mir eine 
Wechselspannung als 8Bit-Wert ausgeben bzw. das Gegenstück, das einen 
8Bit-Wert als Wechselspannung ausgibt.
Dann braucht der AVR nicht rechnen und ich kann die Ressourcen für was 
anderes nehmen.
Die Auflösung sollte relativ genau sein (sprich: Was rein geht, muss 
auch rauskommen), aber mit einem selbstgebauten ADC- bzw. 
DAC-Widerstandsnetzwerk ist die Spannung nicht immer linear; hat zacken.

Wenn aber jemand schon sehr gute Erfahrung mit einem Aufbau mit diversen 
Einzelteilen hat, die in diesem Thread schon angesprochen wurden, dann 
wäre ich sehr dankbar, wenn derjenige etwas dazu schreiben könnte.

Danke! :)

von Michael U. (amiga)


Lesenswert?

Hallo,

Deine jetzige Beschreibung sagt aber ganz was anderes aus, als Deine 
erste...

Eine Spannung, die eine positive oder negative sein kann, ist für mich 
weder sinusfürmig noch das, was allgemein als Wechselspannung bezeichnet 
wird.

Du willst also Spannungswerte im Bereich -5V...+5V mit dem ADC einlesen.
Also durch 2 teilen und dann um 2,5V Richtung positiv verschieben -> OPV 
davor als Addier-Verstärker mit Verstärkung 0,5 und 
Potentialverschiebung des Ausgangs und 2,5V.

Der Trick mit dem Elko und dem Teiler am ADC geht nur bei "echten" 
Wechselspannungen, also Spannungen, deren Mittelwert immer 0V ist.

Ausgang entweder PWM, glätten und OPV als Impedanzwandler dahinter oder 
DA-Wandler-IC und OPV.

Was die Zacken angeht: die sind prinziell immer da.
Der ADC macht "Zacken", weil er nur eine Auflösung on 10 Bit, also 1024 
Stufen hat. Sind bei -5V...+10V also bei 10V rund 10mV pro Schritt.
Eine Änderung um 9mV am Eingang wird also im AVR entweder nicht ändern 
oder einen 10mV höheren Wert ergeben.

Das gleiche gilt natürlich für jeden DA-Wandler, er kann die Spannung 
nir in den Schrittweiten ändern, die durch den Spannungsbereich und die 
Auflösung gegeben sind. Wenn also am Ausgang wieder -5V...+5V erscheinen 
sollen und der DAC auch 10Bit hat, ist die Schrittweite wieder rund 
10mV.

Im ungünstigesten Fall kann die Abweichung zum Eingang also knapp 20mV 
betragen.

Da hast nichts zur nötigen Auflösung und zur Genauigkeit geschrieben,
"relativ genau" ist da keine Aussage, siehe:
Sind 3 Haare viel?
3 Haare auf dem Kopf sind relativ wenig,
3 Haare in der Suppe sind relativ viel...

Wenn es kein Geheimnis ist, verrate doch einfach, was es werden soll.

Gruß aus Berlin
Michael

von Marius S. (lupin) Benutzerseite


Lesenswert?

Kommt natürlich alles auch ein bischen auf die Frequenz an.

Es gibt wohl einige DACs die du direkt mit +- 5V versorgen kannst und 
dir dann auch den Spannungsbereich machen. Ich würde im einfachsten Fall 
(falls die genauigkeit reicht) einen 8 bit R2R nehmen und dann per 
Operationsverstärker auf +- 5V bringen

von M*** L. (b2b)


Lesenswert?

Michael U. wrote:
> Deine jetzige Beschreibung sagt aber ganz was anderes aus, als Deine
> erste...
>
> Eine Spannung, die eine positive oder negative sein kann, ist für mich
> weder sinusfürmig noch das, was allgemein als Wechselspannung bezeichnet
> wird.
*********************************************
Marc L. wrote:
> ich möchte beispielsweise eine Sinus-Spannung von 10V Spitze-Spitze (-5V
> bis +5V) mit dem AVR einlesen.

Ich habe doch "beispielsweise" geschrieben.
Und ist eine Spannung, die pos. und neg. ist, keine Wechselspannung?
Ich habe nie geschrieben, dass es sich um eine symmetrische 
Wechselspannung handelt, daher verbessere ich mich:

Ich möchte gerne eine pos. und neg. gerichtete Gleichspannung mit einem 
AVR einlesen und wieder ausgeben!

Zu den Zacken hier ein Link:
http://aaabbb.de/JDAC/DAC_R2R_network_calculation.html
...und dann einfach auf "calc" klicken!

Und für folgendes suche ich eine passende Ein-/Ausgangsbeschaltung:
Beitrag "Arrays, Pointer und Schleifen (avr-gcc)"

Zur Genauigkeit, Auflösung:
8Bit minimum, besser 16Bit.
Das eingelesene Signal soll möglichst unverfälscht wieder ausgegeben 
werden, mehr wird von mir nicht gefordert.


Marius Schmidt wrote:
> Es gibt wohl einige DACs die du direkt mit +- 5V versorgen kannst und
> dir dann auch den Spannungsbereich machen. Ich würde im einfachsten Fall
> (falls die genauigkeit reicht) einen 8 bit R2R nehmen und dann per
> Operationsverstärker auf +- 5V bringen

Weißt du, wie diese speziellen DAC's heißen?
Am einfachsten und günstigsten ist es wohl wirklich ein 
R2R-Widerstandsgrab aufzubauen. Aber ich habe gehört, dass man bei einem 
selbstgebauten 8Bit-R2R-Netzwerk nicht auf volle 8Bit kommt, weil die 
Metallschicht-Widerstände dafür auch noch zu große Toleranzen haben 
sollen.
Die Idee mit dem OP hatte ich auch schon, gehört ja sowieso nach einem 
DAC-Netzwerk dazu. Mit einem OP sollte sich doch dann auch eine passende 
ADC-Eingangsstufe bauen lassen.

von Gast (Gast)


Lesenswert?

1. Wenn das Ausgangssignal genau dem Eingangsignal entsprechen soll
   geht am einfachsten ein Stück Draht ;-)
2. Zwischen 8Bit und 16Bit ist ein erheblicher Unterschied
Ansonsten kann ich Michael U. nur zustimmen:
>Wenn es kein Geheimnis ist, verrate doch einfach, was es werden soll.

von M*** L. (b2b)


Lesenswert?

Gast wrote:
> Ansonsten kann ich Michael U. nur zustimmen:
>>Wenn es kein Geheimnis ist, verrate doch einfach, was es werden soll.

Für was ich die Schaltung benötige, stand schon im vorigen Posting:
> Marc L. wrote:
> Und für folgendes suche ich eine passende Ein-/Ausgangsbeschaltung:
> Beitrag "Arrays, Pointer und Schleifen (avr-gcc)"

von Michael U. (amiga)


Lesenswert?

Hallo,

alles klar.

Normalerweise reichen da 8 Bit, übliche DSO benutzen auch nicht mehr.
Da Du ja speziell den unteren Frequenzbereich bearbeiten willst, schau 
mal in
Beitrag "einfaches DIGITAL- Oszilloskop (800 Datenpunkte) Assembler"
entweder, um ein paar Anregungen für den Eingang zu finden oder um 
gleich sowas zu nutzen.

Ausgangsseitig geht R2R, eigentlich geht auf eine PWM, der Oszi-Eingang 
ist ja so hochohmig, daß Du vermutlich mit passivem Tiefpass auskommst.

Überschätze auch einen üblichen Oszi nicht, der soll vorrangig 
Kurvenformen und Zeitabläufe darstellen, für genaue Spannungsmessungen 
ist er relativ ungeeignet.

Gruß aus Berlin
Michael

von Gast (Gast)


Lesenswert?

>Für was ich die Schaltung benötige, stand schon im vorigen Posting:
>> Marc L. wrote:
>> Und für folgendes suche ich eine passende Ein-/Ausgangsbeschaltung:
>> Beitrag "Arrays, Pointer und Schleifen (avr-gcc)"
Sorry, hab den Beitrag nicht gelesen :-)

von M*** L. (b2b)


Lesenswert?

Vielen Dank, Michael U. und no prob @Gast! :)

Ich habe ein wenig gegoogelt und fand folgendes:
http://www.embedds.com/single-board-avr-dso-project/
Es gibt auch einen Schaltplan dazu:
http://www.serasidis.gr/circuits/AVR_oscilloscope/images/SCHEMATIC.GIF

In der Beschreibung steht:
Maximum signal voltage input 24V(DC)/30V(AC).
Was ist das für eine Eingangsspannung? Kann das auch eine neg. Spannung 
sein?
Ich bin mir noch nicht richtig im Klaren, wie ich das mit den pos. und 
neg. Wellen machen soll.
So wie es aber aussieht, wird im Programm die "Welle" nach unten 
gezogen, so dass es aussieht, als ob es wirklich Nulldurchgänge gibt. 
Oder täusche ich mich da?

Mein Problem ist die Umsetzung "pos. und neg. Spannung" -> "0 bis 5V" -> 
"pos. und neg. Spannung"
Ich hoffe, ich habe mich verständlich ausgedrückt?!

Und die Frequenz spielt wirklich keine große Rolle.
Dafür habe ich ja ein analoges Oszi, das mit hohen Frequenzen umgehen 
kann, nur leider nicht mit sehr niedrigen oder einmal auftretenden 
Ereignissen!

von Michael U. (amiga)


Lesenswert?

Hallo,

in dem Thread über den Digtal-Oszi sind diese Geschichten diskutiert 
worden, natürlich wird man sich da nicht in 5 Minuten durchgewühlt 
haben..
Diese Schaltung t.B. stammt auch aus diesem Projekt und wird da auch 
irgendwo gut erklärt.

http://www.mikrocontroller.net/attachment/10848/oszi3.gif

Gruß aus Berlin
Michael

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.