PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PWM in eine analoge spannung wandeln



Burger_king
06.03.2006, 13:46
Hallo zusammen,
ich habe ein PWM- Signal mit ener Periodendauer von 20ms, die Impuldauer variert zwischen 1-2ms. Nun mochte ich dieses Signal so wandeln das wenn die Impulsdauer 1ms ist mein Ausgang 0V ist und wenn die Impulsdauer 2ms ist so sollte der Ausgang 10V sein. Die Diefferenz dazwischen sollte linerar geregel sein. Sprich 1,5ms = 5V.
Kann mir jemand weiter helfen?

ogni42
06.03.2006, 14:12
Tiefpass (RC-Glied): Macht aus PWM Analogspannung.
OP-Verstärker (hinter dem Tiefpass): Passt den Bereich der Analogspannung an.

Burger_king
06.03.2006, 14:16
Tiefpass habe ich mir zuerst auch gedacht, doch die genauigkeit scheint mir fragwürdig, trozdem vielen dank.

kalledom
06.03.2006, 14:22
Die Genauigkeit des Analogwertes nach einem RC-Glied / OpAmp hängt von der Genauigkeit (Temperaturabhängigkeit, etc.) der verwendeten Bauteile und der Genauigkeit der ImpulsZeiten ab.

Burger_king
06.03.2006, 14:43
was heisst der Verwendung der Bauteile? Condensatoren sind allgemein eher ungenau oder?

Burger_king
06.03.2006, 14:43
was heisst der Verwendung der Bauteile? Condensatoren sind allgemein eher ungenau oder?

kalledom
06.03.2006, 14:51
So wie es 5% und 0,1% Widerstände gibt, stehen auch präzise und weniger präzise Kondensatoren zu Verfügung. Durch ParallelSchaltung kannst Du einen Kondensator mit sehr genauem Wert ausmessen.

dennisstrehl
06.03.2006, 15:19
Der genaue Wert des Kondensators ist sch... egal, worauf es ankommt ist, dass die PWM-Frequenz möglichst stark herausgefiltert wird. Das lässt sich am besten durch mehrere hintereinandergeschaltete aktive RC-Glieder erreichen.

MfG

Burger_king
06.03.2006, 15:25
Besselfilter? was ist das den?

dennisstrehl
06.03.2006, 15:37
Dürfte wohl zu kompliziert werden, hab's mal weggeedited.
Dann halt nen paar aktive Tiefpässe hintereinander.

Burger_king
07.03.2006, 07:30
kann mir jemad ein schema geben wo die lösung fertig ist? oder hat jemand noch eine andere Lösung?

SeveQ
07.03.2006, 08:24
Mich würde das auch interessieren zwecks Kontrastregelung eines LCD. Müsste damit ja möglich sein.

Manf
07.03.2006, 08:48
Ein PWM Signal mit einer relativen Pulsbreite von 0-100% kann man per Tiefpass leicht in eine Spannung umsetzen, speziell wenn es auch einen C-MOS Ausgang kommt, dann entsprechen die Pegel recht genau Vcc und GND.

Bei Belastung sollte man sicher einen Operationsverstärker als Spannungsfolger nachschalten. Man kann mit diesem Operationsverstärker das Signal noch im Pegel anheben.

Ein Servosignal ist auch ein PWM Signal aber es hat bei 20ms Periodendauer nur eine relative Pulsbreite von 5% bis 10%. Mit einem Tiefpass wird es etwas ungenau. Vor allem ist die Information nicht in der relativen Impulsdauer sondern in der absoluten Impulsdauer codiert wodurch sich eine Änderung der Periodendauer auf das Signal auswirkt.

Für die Messung des Servosignals wird es deshalb besser sein, pro Impuls die Impulsdauer oberhalb 1ms zu messen und in eine Spannung umzusetzen. Welche Schaltung dafür geeignet ist hängt auch von der gewünschten Genauigkeit ab.
Manfred

Burger_king
07.03.2006, 09:03
die wandlung sollte möglicht genau sein. sprich maximale toleranz von 10% auf de messwert. welche möglichkeit empiehlt sich in diesme fall? und was wären die anderen möglichkeiten?

Manf
07.03.2006, 09:13
Ich habe hier mal eine Schaltung aufgezeichnet, die mit einem Tiefpass integriert und damit die Dauer in eine Spannung umsetzt. De Fehler gegenüber einem Inegrator bleibt gering wenn die Integrationszeit klein gegen die Ladezeitkonstante R3*C1 ist. Der Spannungshub wird durch den Operationsverstärker ausgeglichen. Die Schalter sind Analogschalter (CD4016) die mit den Signalen a, b und c geschaltet werden.
Manfred

Burger_king
07.03.2006, 09:20
entschuldigung klingt vielleicht blöde aber was sind analogeschalter?

Manf
07.03.2006, 09:28
Das sind C-MOS Bausteine, so wie Gatter und Zähler. Sie führen die Funktion eines Schalters aus.
http://www.cedmagic.com/tech-info/data/cd4016.pdf

Hier ist dann auch das Impulsdiagram für die Signale a, b und c.
Manfred

PICture
07.03.2006, 09:31
Hallo Manf!

Was für Signale sind das ?

MfG

Manf
07.03.2006, 09:45
Die Signale a, b und c sind Signale, die aus dem Servosignal abgeleitet sind.
a beginnt mit dem Servoimpuls und endet nach 1ms,
b beginnt 1ms nach dem Servoimpuls und endet zusammen mit ihm,
c ist die übrige Phase und ist damit das Inverse Signal des Servoimpulses.
Manfred

Burger_king
07.03.2006, 09:52
nun viellen dank, aber so ist ja der ausgang bei c = 1 auf 0V, deis wäre jedoch nicht mehr eine reine analogspannung. oder? siehe erster eintag. oder liege ich falsch?

PICture
07.03.2006, 09:57
Danke Manf!

Ich habe die PWM/DC Wandlung allgemein betrachtet, aber wenn´s um Servo´s geht, da mische ich mich nicht ein.

MfG :)

Manf
07.03.2006, 10:08
Zu den Phasen:
In a wird C1 entladen
in b wird C1 auf den Analogwert aufgeladen der dem Signal entspricht.
in c wird der Wert an den Ausgang übertragen und gehalten.

Der Kondensator C2 dient zum Halten des alten Ausgangswertes solange C1 entladen und auf den neuen Wert geladen wird.

C1 soll damit größer sein als C2 (>10x) damit der Wert rasch aktualisiert wird.
Manfred

Burger_king
07.03.2006, 10:11
ah jetzt verstehe ich es, viellen dank, aber haben sie auch noch eine Alternative ?

Manf
07.03.2006, 10:21
Sicher gibt es viele Möglichkeiten, die mit der Rampe ist als Testschaltung schnell aufgbaut wenn man die Elemente da hat. yxcvbnm

Man kann die Zeit beispielsweise auch mit einem Zähler messen.

Ein Zähler der mit 1000 kHz getaktet und bis 1000 zählt wird bei Beginn des Impulses zurückgesetzt.

Er erhält gleichzeitig den Servoimpuls als Torzeit. Sein Zählerstand gibt nach dem Impuls die Dauer mit der Auflösung von 0,1% an.

Es gibt eine Reihe von Möglichkeiten, den Zählerstand in eine Spannung zu wandeln.
Manfred

PICture
07.03.2006, 11:24
@SeveQ

Für Kontrastregulierung reicht (hoffentlich) die einfachste Lösung.
R sollte mind. 10 mal kleiner als der Eigangswiderstand des Displays und C ein Kompromis zwischen "Brummspannung" und Reaktionszeit sein.
Das funktioniert nur für positive Kontrastspannung.

Für negative Kontrastspannung habe ich noch unten geskizzed.
Die Kontrastspannung ist gleich 0 bei PWM=100% und max. minus bei PWM=0%.

MfG


R
___
PWM >---|___|-o---> Display(Kontrastpin)
|
---
--- C
|
===
GND


+VCC
1k o
___ |
/-|___|-o
1k | |
___ | |<
PWM >---|___|-o-----|
|\
|
.-. |VCC|
| |R1 = R -----
| | |Vk|
'-'
|
o-------o------> Kontrast
| |
.-. ---
| |R --- C
| | |
'-' ===
| GND
o
-Vk

Burger_king
07.03.2006, 13:09
nun habe ich eine analog spannung doch wie wandle ich diese am besten lenera zu 0 bis 10 V ?

Burger_king
07.03.2006, 13:11
nun habe ich eine analog spannung doch wie wandle ich diese am besten lenera zu 0 bis 10 V ?

Manf
07.03.2006, 13:13
Am Ausgang der Schaltung ist ein Operationsverstärker bei dem kann man durch Wahl von R1 und R2 die Verstärkung einstellen.
Manfred

Burger_king
07.03.2006, 13:20
@manfred
ich habe nu das ganze einmal mit tina nachgebaut. jedoch ohne analogschalter. und mit einem nichtinventierenden OPV mit V= 10. nun habe ich eine Minimalspannung von 3 V und eine Max von 7 V. Die differenz sollte nun linear auf 0 - 10 V gewandelt werden. was empfihlt sich da? ein differenz verstärker?

PICture
08.03.2006, 07:50
Hallo Burger_king!

Du kannst Dein Verstärker ein bischen ändern und dann von Deinem 0,3 bis 0,7V eine Spannung 0 bis 10V erzeugen. Es sollte Addierungsverstärker sein der 0,3V substrahiert und die Differenz (0 bis 0,4V) 25 mal Verstärkt (V=25). Ich habe es (hoffentlich fehlerfrei) geskizzed. R3 muss man für bestimmte VCC ausrechnen (oder Trimpoti nehmen) , um die Ausgangsspannung (Uo) 0V bei der Eingangsspannung (Ui) 0,3V zu haben.

MfG




R3 R5 240k
___ ___
+VCC >-----|___|-o-|___|-\
| |
R4 10k | |
___ | |
/--|___|-o VCC |
| | + |
=== | |\| |
GND \-|-\ |
| >--o-----> Uo = 0 bis 10V
Ui = 0,3 bis 0,7V >-------------|+/
|/|
-
VCC

Burger_king
08.03.2006, 07:54
wie schliesse ich nun den 4016B an das er nach der schaltung funktioniert?

Manf
08.03.2006, 08:03
@manfred
ich habe nu das ganze einmal mit tina nachgebaut. jedoch ohne analogschalter. und mit einem nichtinventierenden OPV mit V= 10. nun habe ich eine Minimalspannung von 3 V und eine Max von 7 V. Die differenz sollte nun linear auf 0 - 10 V gewandelt werden. was empfihlt sich da? ein differenz verstärker?
So wie oben im Bild oder allgemein mit einem Differenzverstärker. https://www.roboternetz.de/wissen/index.php/Operationsverst%C3%A4rker#Differenzverst.C3.A4rker
Bei der Berechnung der Verstärkung geht die Paralellschaltung der Widerstände des Spannungsteilers ein, für R3 >> R4 wirkt dann nur R4 mit 10k und so ist die Verstärkung v~25. (R1 wirkt gar nicht).

Manfred

Analogschalter:
http://images.google.de/images?q=tbn:xiMl7gvHR_as_M:http://www.ferromel.de/tr6/anas4_u.gif (http://www.ferromel.de/tronic_275.htm)

Burger_king
08.03.2006, 08:32
ich verstehe dein anschlussbild nicht, ich habe ja nur ein PWM signal

PICture
08.03.2006, 08:47
Hallo Manf!

Natürlich, weil den R1 gar nicht gibt. Ich habe mit kompliezierter Schaltung angefangen und dann einiges gelöscht. Die R1 Beschriftung habe ich aus Versehen nicht gelöscht. Aber jetzt ist es schon korriegiert.

MfG :)

Manf
08.03.2006, 09:26
ich verstehe dein anschlussbild nicht, ich habe ja nur ein PWM signal
Das ist kein Anschlussbild das ist eine allgemeine Information zu Analogschaltern. Das Anschlußbild ist weiter vorne. https://www.roboternetz.de/phpBB2/files/impulsdauer.jpg
Was kann man zu dem Schalter viel erklären? Er hat zwei Anschlüsse für den Schalter und einen Steueranschluss. Wenn der Steueranschschluss high ist, dann ist der Schalter geschlossen, wenn er low ist, dann ist er offen.
Manfred

Burger_king
14.03.2006, 12:28
wie kann dieser offset wiederstand berechnet weden?