Forum: Mikrocontroller und Digitale Elektronik Arduino soll über PWM Vactrol steuern


von Michael H. (michael_h808)


Lesenswert?

Hallo

ich möchte einen 25k linearen Poti durch zwei Vactrols (VTL5C) ersetzen. 
Die Vactrols sind natürlich höchst nichtlinear.
Ich hab das mal getestet: mit einem 150 Ohm Vorwiderstand und Spannung 
1.57V ergibt 50 kOhm beim Vactrol und entsprechend 1.59V = 25k, 1.62V = 
12.5k, 1.65V = 6.25k usw.

Nun war meine Idee die Spannung vor dem Vactrol mittels PWM mit einem 
Arduino Pro Micro zu erzeugen. Die PWM hat 10 bit Genauigkeit. Das sind 
dann also 5V / 1024 = 0.005 V. Im Bereich zwischen 1.59V und 1.62V was 
ja 25k bis 12.5k entspricht, wären das nur 0.03V Unterschied, also nur 6 
Schritte.

Jetzt stellt sich mir die Frage, ob ich die Genauigkeit irgendwie 
erhöhen kann, indem ich den Spannungsbereich eingrenze auf z.B. max 2V. 
Das würde ja bedeuten, dass ich mit 2V / 1024 = 0.002V Genauigkeit für 
den Bereich zwischen 1.59V und 1.62V dann 15 Schritte zu Verfügung 
hätte.

Oder liege ich da völlig falsch. Klärt mich bitte auf.


PS: Einen Digipot kann ich leider nicht einsetzen. Es handelt sich um 
ein Poti für Effektgeräte. Ich habe es getestet, wenn ich die Volume 
voll aufdrehe, bekomme ich immer Aussetzer. So als ob die Spannung oder 
der Strom zu hoch ist, der in den Digipot fließt.

von ÄXl (Gast)


Lesenswert?

Miss mal den Strom in die LED, statt die Spannung. Bau die LED des 
"VACTROL" (musst ioch eben mal kurz googlen - wer noch?) in den 
Gegenkopplungszweig eines OP-Amps.

von ÄXl (Gast)


Lesenswert?

Wenn Du aussetzer hast, liegt meist der Ruhepegel oder der Spitzenwert 
aussehlb der Spezifikation deines digipotis. Schaltplan wäre gut.
Digipoti würde ich auf jedenfall vorziehen, wenn schnelle änderungen der 
Einstellungen von nöten sind.

von spess53 (Gast)


Lesenswert?

Hi

>PS: Einen Digipot kann ich leider nicht einsetzen. Es handelt sich um
>ein Poti für Effektgeräte. Ich habe es getestet, wenn ich die Volume
>voll aufdrehe, bekomme ich immer Aussetzer.

Mit welchen Digitalpotis hast du das getestet?

MfG Spess

von ÄXl (Gast)


Lesenswert?

und die 480Hz der Arduino-PWM wird man auch überall im Effektgerät 
hören.
Du könntest sonst auch die LEDs zweier Vactrols in Reihe schalten und 
den sich ändernden Widerstand des zweiten in eine Regelung mit 
einbeziehen.
Aber vorab lass und mal an den Versuchen teilhaben, die Du mit dem 
Digital-Poti unternommen hast. Das muss gehen!

von Michael H. (michael_h808)


Angehängte Dateien:

Lesenswert?

Hallo,

erstmal vielen Dank für die große Resonanz. Damit habe ich ja gar nicht 
gerechnet. Ich bin begeistert :-)

Ich wollte die analoge Schaltung "Pro-cessor" (siehe Anhang) mit einem 
Digipot (MCP4151) statt dem 25k-Blendpoti steuern. Den ganzen Aufwand 
betreibe ich, weil ich außer dem Poti noch eine Kanalumschaltung des 
Verstärker mit steuern will (siehe Schema1). Durch das Expression-Pedal 
soll der Pro-cessor die beiden Effekte "blenden" UND gleichzeitig soll 
der Kanal am Verstärker an einem einstellbaren Schwellwert (Drehpoti) 
umgeschaltet werden.

Das Ganze funktioniert auch gut wenn die Signalpegel gering sind. Sobald 
ich aber das Elektro Harmonix Soul Food auch nur ein bisschen aufdrehe, 
kommt es zu den beschriebenen Aussetzern. Ich habe herausgefunden, dass 
das am Digipot liegt, Ich habe auch mal ein anderes probiert (DS1804), 
da passiert das Gleiche.

Deshalb wollte ich es jetzt mal mit VACTROLs probieren (Schema2). Ich 
hatte zuvor auch mal andere Optokoppler verwendet und bemerkt, dass die 
PWM "hörbar" ist und gehofft, dass das bei VACTROLs nicht so ist. Mal 
sehen. Sind da noch Kondensatoren zum Glätten notwendig oder hört man 
das dann immer noch?

Eine weitere Variante wäre statt der PWM auf D/A-Wandler zu setzen 
(Schema3). Was denkt ihr?

Nichts desto trotz habe ich aber bei PWM und DAC das Problem mit der 
Nichtlinearität und dem schmalen Wertebereich.
@ÄXI, wie ist das gemeint mit dem Gegenkopplungszweig eines OP-Amps? Was 
passiert da? Wie muss die Schaltung aussehen?

von ÄXl (Gast)


Angehängte Dateien:

Lesenswert?

Ich gehe mal von 5Volt aus, mit dem Du das Digitalpoti betreibst.
Die Aussetzer kommen daher, dass, die minimale Signalspannung 
unterschritten wird. Du musst deinem Poti eine Mittenspannung zuführen, 
die in Ruhe ungefähr der halben Betriebsspannung deines Potis 
entspricht. Somit kann die "Musik" um diesen Punkt herum pendeln. Die 
eingebrachte GLeichspannung stört icht weiter, der folgende Verstärker 
hat sowieso einen Koppelkondensator, der diesen Gleichspannungsoffset 
wieder abtrennt.
NAtürlich muss die zusätzlich eingebrachte "U_halbe" (sagt man so) 
einigermassen belastbar sein. die beiden Pfeile zeigen nur das Prinzip. 
So kann man das nicht miteinander verbinden, logisch.
Im Datenblatt sieht man das auch
1
Absolute Maximum Ratings †
2
Voltage on VDD with respect to VSS ............... -0.6V to +7.0V
3
Voltage on CS, SCK, SDI, SDI/SDO, and
4
SHDN with respect to VSS ...................................... -0.6V to 12.5V
5
Voltage on all other pins (PxA, PxW, PxB, and
6
SDO) with respect to VSS ............................ -0.3V to VDD + 0.3V
musst also einfach nur den Ruhepegel an den Eingängen anheben, damit 
sich die Signale innerhalb der Betriebsspanunngsgrenzen des Potis 
bewegen.

von spess53 (Gast)


Lesenswert?

Hi

>Ich habe auch mal ein anderes probiert (DS1804),
>da passiert das Gleiche.

Dann teste mal ein Digitalpoti mit 'dual-supply-Versorgung'. Analog 
Devices bietet da einige an.

MfG Spess

von ÄXl (Gast)


Lesenswert?

aus dem Datenblatt des pro-cessor
1
A lot of work has gone into the development of the filtering.
aha ... ;)
Mir fällt gerade auf: Du könntest einfach die 10µF (C7, C8) 
rauschmeissen.
Allerdings liegt der Ruhepegel am PIN1 (PIN7) vom IC4 schon bei gut 
4.xyz Volt. Etwas hoch, wenn dein Poti mit nur 5V oder gar 3.3V 
betrieben wird.
Du könntest R2 auf 15K verringern. Dann senkst Du die Mittenspannung, 
aber die Pegel könnten sich im Rahmen dessen bewegen, dass noch headroom 
bleibt für die Aussteuerung.
Muss man messen, sich aufm Oszi ansehen.

1.6Vrms sind ja schonmal 4.52Vss.

Eh ein klein wenig eng vom Gesamtkonzept her, mit ner 9Volt Batterie und 
OP-Amps (TL07x), die  mit ihrem Ausgangsshub lange nicht (ca.VCC-2V, 
GND+2V) an die Betriebsspannungsgrenze heranreichen und die Aufgrund 
ihrer JFET-Eingangsstufe eigentlich auch erst bei +-5Volt so "richtig 
spielen"
Aber gut: von mir ist die Schaltung nicht...

von Michael H. (michael_h808)


Lesenswert?

Hallo ÄXl,

wie kriege ich die belastbare U_halbe hin?
Kann ich nicht auch die 5V vom Arduino mit einem Spannungsteiler auf 
2,5V teilen? Oder bin ich da zu naiv?

von ÄXl (Gast)


Lesenswert?

Die PWM (480Hz?, je nach Ausgang auch 960) filtert man mitm Widerstand 
und Kondensator soweit, wie das Ansprechverhalten des Potis (wie schnell 
man da eben drann dreht) noch aktzeptabel ist. 20mA LED Strom an 5V ca 
220Ohm und mit 100msekunden Zeitkonstante (10Hz) ergibt das ca. 
1/2xpixRxC 72µF -> 68µF oder eben 47µF.
Nun nimmst Du Dir eben die "map()" funktion vom Arduino und mappst Dir 
deinen analogread(A0) auf deinen minimalen PMW-Wert, bei dem die LED 
geradeso zu leuchten beginnt mit dem maximalwert.
Kannst ja einfach dein Multimeter im Kohm-Bereich "nackt" an den Vactrol 
anschliessen und solange den PWM erhöhen, bis der Widerstand zu sinken 
beginnt. Das wäre dein Startwert.
Oder über 'ne Tabelle.
Aber mit SPI und ordentlich beschaltetem Digitalpoti ist schon 
zeitgemäßer...

von ÄXl (Gast)


Lesenswert?

Michael H. schrieb:
> Oder bin ich da zu naiv?

Du kannst natürlich die 5V mit zwei 1k Widerständen auf 2.5V teilen.
kleinen Elko und 100nF parallel zum unteren. dann gehst du mit je 22K 
oderso an die Punkte, wo du die halbe Betriebsspannung brauchst.
EIGENTLICH schaltet man da noch'n Spannungsfolger hinter. Aber naja...

von ÄXl (Gast)


Lesenswert?

Achso: Minus vom Filter(pro-cessor) mit GND vom Arduino verbinden...

von ÄXl (Gast)


Lesenswert?

Siehe R1/R2/C10 von deinem Filter. machen die ja nicht viel anders dort.

von Michael H. (michael_h808)


Angehängte Dateien:

Lesenswert?

Hallo ÄXl,

muss das dann so aussehen?

: Bearbeitet durch User
von ÄXl (Gast)


Lesenswert?

Neee - nich ganz ;)
So legst Du Dir ja niederohmig 2.5V auf die Enden deines Potis. da kann 
die Musik nicht gegen "anstinken". hehe.

es reicht ein Impedanzwandler und dann mit je einem 22k auf A und mit 
einem weiteren auf E.
aber unter uns: wenn Du mit 2x1K deine halbe Betriebsspannung erzeugst 
(da fliest ein ausreichender Querstrom, der Elko puffert den Rest), und 
mit je 22k auf die enden vom Poti gehst, brauchst Du keinen 
impedanzwandler.
Die Mittenspannung verschiebt sich eh noch geringfügig, je nach 
Potistellung.
Hauptsache, die NF wird soweit angehoben, das sie beim Aussteuern 
innerhalb deiner 5V bleibt. Oberhalb GND und unterhalb 5V.
OPAmp was nehmen, was bei 5Volt spielt und 1-stabil ist.
MCP6402 oder MCP6482. oderoder (kannst du aber auch weglassen und so 
probieren. Sollte ohne OPAmp auch gehen. Dann aber wirklich 2x1K für den 
Sp.Teiler nehmen)
1
    .---------------o----------o
2
    |               |         5V
3
   .-.  4x22k       |
4
   | |        .-----)--
5
   | |        |     |  |  ___  A
6
   '-'        |   |\|  o-|___|-o
7
    |         '---|-\  |
8
    | 10µF MCP6402|  >-o
9
    o---o---o-----|+/  |  ___  E
10
    |   |   |     |/|   -|___|-o
11
   .-.  |+  |       .
12
   | | === ---      |
13
   | | /-\ ---      |
14
   '-'  |   |       |
15
    |   |   |100nF  |        GND
16
    '---o---o-------o----------o
17
(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

von Michael H. (michael_h808)


Lesenswert?

Was waren nochmal A und E? Sind das die Eingänge 2 und 6 von IC4?

: Bearbeitet durch User
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.