Impressum | Datenschutz | Shop | DIY | TT @ Twitter | TT-Cabs
Anzeigen der neuesten Beiträge

Digital programmierbarer Widerstand

  • 38 Antworten
  • 22493 Aufrufe

0 Mitglieder und 1 Gast betrachten dieses Thema.

*

Offline winharda

  • Full Member
  • ***
  • 86
Digital programmierbarer Widerstand
« am: 28.05.2009 20:11 »
Hi,
das Thema gibt es ja nicht zum ersten mal, aber anscheinend gibt es immer noch keine DIY Lösung dafür. Es gibt ja mehrere Möglichkeiten wie man da rangehen kann z.B. LDR-Koppler oder Widerstandsketten mit PhotoMOS/Analogschaltern.
Das mit den LDR-Kopplern scheitert (laut einem anderem Thread) an der Genauigkeit, mit der man den Strom durch die LED regeln kann. Die Idee mit den PhotoMOS-Relais funktioniert, ist aber (noch) sehr teuer bei ca. 2€ pro Relais und die Analogschalter alla CD4066 können die hohen Pegel im Röhrenverstärker nicht schalten.
Meine Frage - wie hoch sind denn jetzt diese Pegel genau? Kann oder hat das schon mal einer gemessen? Mit einem Analogschalter von Maxim MAX313 kann man immerhin schon Pegel bis 40Vss schalten. Ich freue mich auf eine kleine Diskussion mit guten Vorschlägen und hoffe, dass das Thema noch nicht überholt und langweilig wird/ist ::)

*

Offline OneStone

  • YaBB God
  • *****
  • 446
Re: Digital programmierbarer Widerstand
« Antwort #1 am: 31.05.2009 01:48 »
Man kann auch vorher überlegen und die Schaltungen so auslegen, dass sie eben mit niedrigen Pegeln an den Stellen, wo man ein Poti braucht, auskommen. Das ist problemlos möglich und wird auch von manchen Herstellern so gemacht.

Einfach einen Röhrenamp nehmen und statt einem Poti so ein Digital-irgendwas einbauen ist immer Murks, egal wie man das macht. Dazu muss man weiter denken als nur "Poti raus, was fernsteuerbares rein".

MfG Stephan
Und schon oft hat es gekracht,
weil man zuvor nicht nachgedacht.

*

Offline winharda

  • Full Member
  • ***
  • 86
Re: Digital programmierbarer Widerstand
« Antwort #2 am: 1.06.2009 16:08 »
Ja, is klar... Pegel absenken und dann einfach ein Digitalpoti IC rein geht natürlich. Nachteil bei den Digitalpotis is aber, dass die "nur" in 10k, 50k, 100k usw. verfügbar sind. Will man also z.B. ein Marshall Tonestack "programmierbar" machen, hat man schon Probleme. Natürlich kann man dann wieder an der Schaltung was drehen ;D Wenn man sich schon die Mühe gibt und ein Digitalpoti selber zusammenbaut, dann sollte das mMn auch die Pegel in den Verstärkern abkönnen.
Wo wir wieder beim Thema sind, warum soll das Murks sein? Rein theoretisch ist es zumindest möglich: Poti raus, DIY Digitalpoti mit PhotoMOS-Schaltern rein. Mit einer Auflösung von 8bit sollte das dann butterweich gehen. Natürlich ist der Aufwand so eines DIY Poties enorm... und ob sich das praktisch auch so einfach umsetzen lässt ist wieder eine andere Geschichte.

*

Offline OneStone

  • YaBB God
  • *****
  • 446
Re: Digital programmierbarer Widerstand
« Antwort #3 am: 1.06.2009 22:27 »
Natürlich ist der Aufwand so eines DIY Poties enorm... und ob sich das praktisch auch so einfach umsetzen lässt ist wieder eine andere Geschichte.

Eben, du brauchst dazu nämlich für 8 bit insgesamt 256 Stellungen, d.h. 256 so Opto-Relais und 255 Widerstände. Also dann, wenn es ein richtiges Poti werden soll.

Und da hinterfrage ich dann den Sinn...da bastle ich lieber an der Schaltung ^^

MfG Stephan
Und schon oft hat es gekracht,
weil man zuvor nicht nachgedacht.

*

Offline Namenlos

  • YaBB God
  • *****
  • 346
Re: Digital programmierbarer Widerstand
« Antwort #4 am: 2.06.2009 00:40 »
Eben, du brauchst dazu nämlich für 8 bit insgesamt 256 Stellungen, d.h. 256 so Opto-Relais und 255 Widerstände. Also dann, wenn es ein richtiges Poti werden soll.

Für 8 Bit brauchst du nur 8 Widerstände und Relais, wenn das Poti als Widerstand verschaltet werden soll. Als richtiges Poti dann max 2 mal das ganze, bin mir gerad nicht sicher, ob man da noch Optimieren kann.

Bei einer Version mit Optokopplern kannst du den Strom durch die Leds problemlos steuern, PWM ist das Zauberwort. Das Problem ist viel eher, das du jeden Optokoppler ausmessen solltest, weil sie streuen. Das ganze ist mit einem µ-Controller garnichtmal soviel Aufwand.
« Letzte Änderung: 2.06.2009 00:44 von Namenlos »

*

Offline OneStone

  • YaBB God
  • *****
  • 446
Re: Digital programmierbarer Widerstand
« Antwort #5 am: 2.06.2009 12:25 »
Für 8 Bit brauchst du nur 8 Widerstände und Relais, wenn das Poti als Widerstand verschaltet werden soll. Als richtiges Poti dann max 2 mal das ganze, bin mir gerad nicht sicher, ob man da noch Optimieren kann.

Kannst du dazu mal ein Schaltbild machen? Ich habe nämlich das Gefühl, dass die Idee an einem Punkt hakt...

Bei einer Version mit Optokopplern kannst du den Strom durch die Leds problemlos steuern, PWM ist das Zauberwort. Das Problem ist viel eher, das du jeden Optokoppler ausmessen solltest, weil sie streuen. Das ganze ist mit einem µ-Controller garnichtmal soviel Aufwand.

Du müsstest in dem Fall eine PWM mit nachgeschaltetem Tiefpass auf eine einstellbare Konstantstromquelle arbeiten lassen und diese Konstantstromquelle sollte aufgrund der kleinen Ströme am besten mit einem OP realisiert werden. Das mit einer akzeptablen Linearität hinzubekommen, das ist nicht so einfach.

Aber du kannst das gerne probieren und deine Ergebnisse hier posten. Ich habe die Sache damals nicht weiter verfolgt, weil es bei der damaligen Anwendung um die Sollwertvorgabe für ein Präzisionsnetzteil ging und da bereits die Offsetspannungen der ganzen Anordnungen das Ergebnis verfälscht haben. Hier geht es ja nicht um derartige Präzision, aber ich sehe da andere Probleme wie Temperaturdrift usw...

MfG Stephan

Und schon oft hat es gekracht,
weil man zuvor nicht nachgedacht.

*

Offline carlitz

  • YaBB God
  • *****
  • 1.727
  • never give up
Re: Digital programmierbarer Widerstand
« Antwort #6 am: 2.06.2009 12:46 »
Zur Steuerung des Optokopplers darf auch gerne mal auf das Patent von Mesa Boogie geschaut werden, welches im Triaxis Anwendung findet.

Hier regelt ein Analog-OP die Optokopplercharakteristik eines Doppel Optokopplers.

Dabei wird "eine" Seite des Opto's als Referenz genutzt, die zweite Hälfte als variabler Widerstand für das Audiosignal.

Der Triaxis hat ja eine grosse Lobby, so schlecht kann die Lösung also nicht sein....
If you don't know how to fix it, stop breaking it!

*

Offline winharda

  • Full Member
  • ***
  • 86
Re: Digital programmierbarer Widerstand
« Antwort #7 am: 2.06.2009 17:56 »
So eine Schaltung sieht dann so aus wie im Anhang (hier nur 4bit und kein richtiges Poti). Für ein richtiges Poti das ganze dann 2x und invertiert angesteuert. Mann muss nur aufpassen, dass man beim richtigen Poti von voll aufgedreht auf ganz zu (und anders herum) nicht kurzzeitig einen Kuzen macht. Das könnnte man aber sofwaretechnisch lösen...
Bei der Stromregelung/steuerung der LDR sehe ich auch mit PWM Probleme. Bei den optischen Kopplern, die im TT Shop verfügbar sind, müsste man den Strom mit <0,1mA einstellen.


*

Offline NOS

  • Sr. Member
  • ****
  • 131
Re: Digital programmierbarer Widerstand
« Antwort #8 am: 2.06.2009 18:45 »
Hallo Winharda,

einen LDR mit PWM hab ich schon mal angesteuert. Der LDR war als PPMV zwischen den Steuerleitungen der PP-Endröhren verbaut.

Das Problem war bei mir eher der 'mittlere' Bereich der Ansteuerung. Kleines Delta im PWM bringt da schon recht starke Änderungen im Widerstand.

Dennoch konnte ich nach einigen Rekursionen in der Kennlinie (mind.) 16 sauber abgestufte Lautstärken erzeugen. Dann hat's an der Tür geklingelt und der Nachbar mich für bescheuert erklärt (von der Meinung ist er dann auch nicht mehr abgewichen  8). Hat halt ne Zeit lang nur 'Bam Bamm Bammm BAAmm BAAMMM BAAmm Baammm Bamm Bam' (leer geschlagen Klampfe mit digitaler Steuerung hoch runter) zu hören bekommen  O0

Wenn Microcontroller, dann PWM (meine Meinung).

Grüße NOS

*

Offline Namenlos

  • YaBB God
  • *****
  • 346
Re: Digital programmierbarer Widerstand
« Antwort #9 am: 3.06.2009 00:06 »
Moin,
Kannst du dazu mal ein Schaltbild machen? Ich habe nämlich das Gefühl, dass die Idee an einem Punkt hakt...
Siehe winharda, der hat das schön aufgezeichnet.

Zitat
Du müsstest in dem Fall eine PWM mit nachgeschaltetem Tiefpass auf eine einstellbare Konstantstromquelle arbeiten lassen und diese Konstantstromquelle sollte aufgrund der kleinen Ströme am besten mit einem OP realisiert werden. Das mit einer akzeptablen Linearität hinzubekommen, das ist nicht so einfach.

Aber du kannst das gerne probieren und deine Ergebnisse hier posten. Ich habe die Sache damals nicht weiter verfolgt, weil es bei der damaligen Anwendung um die Sollwertvorgabe für ein Präzisionsnetzteil ging und da bereits die Offsetspannungen der ganzen Anordnungen das Ergebnis verfälscht haben. Hier geht es ja nicht um derartige Präzision, aber ich sehe da andere Probleme wie Temperaturdrift usw...

Wozu die Konstantstromquelle und der Tiefpass? Es sollte reichen einfach einen Bipolartransistor durchzusteuern, der macht dann die LED an und aus. Die Linearität macht der µC, der hat da noch genug Reserven. Die Schaltfrequenz sollte eigentlich nirgendwo reinstreuen.

Wenn hier wirklich Interesse besteht kann ich das ganze mal mit nem MSP430 und nem AQY214/VTL5C3 testen, dann aber erst nächste Woche, wenn ich wieder zuhause an meinem Studienort bin.

Grüße
Henning

*

Offline OneStone

  • YaBB God
  • *****
  • 446
Re: Digital programmierbarer Widerstand
« Antwort #10 am: 3.06.2009 12:48 »
Hallo Leute!

Moin,Siehe winharda, der hat das schön aufgezeichnet.

Wenn du die Schaltung, wie er es vorschlägt, zweimal hintereinander aufbaust und irgendwo in der Mitte rausgehst, dann bekommst du es nicht hin, dass du 4 bit = 16 Stellungen des Potis realisieren kannst, wenn du die Voraussetzung hast, dass das Poti seinen Gesamtwert zwischen den "Enden der Bahn" konstant hält.

Falls meine Denkweise da falsch ist, dann bitte korrigieren.

Wozu die Konstantstromquelle und der Tiefpass? Es sollte reichen einfach einen Bipolartransistor durchzusteuern, der macht dann die LED an und aus. Die Linearität macht der µC, der hat da noch genug Reserven. Die Schaltfrequenz sollte eigentlich nirgendwo reinstreuen.

Wenn hier wirklich Interesse besteht kann ich das ganze mal mit nem MSP430 und nem AQY214/VTL5C3 testen, dann aber erst nächste Woche, wenn ich wieder zuhause an meinem Studienort bin.

Ja, sie soll nirgends reinstreuen, aber wenn die Ansteuerung was taugt, dann hast du direkt am Gainpoti ein Rechteck mit 5Vp und ordentlicher Signalanstiegszeit und eben das wird man hören - wenn nicht, dann würde mich das sehr wundern.

Und wie gesagt - wir reden hier von Strömen im Bereich von deutlich unter einem mA. Da sollte man schon Wert auf Präzision legen, daher mein Einwand mit dem OP.
Ein weiterer Grund für die Sache mit dem Tiefpass/OP ist die, dass übliche µC nicht unendlich viele PWM-Ausgänge haben und man schon allein für das Tonestack 4-5 davon bräuchte. Für Gain nochmal 2, für Volume nochmal 2, für Presence nochmal 2 und noch 2 für irgendwas anderes, dann ist man bei 12-13 PWM-Signalen. Wenn man das mit Tiefpässen macht, die eine hinreichende Zeitkonstante haben, dann kann man multiplexen und kommt mit einem PWM-Ausgang aus.
Oder man verzichtet auf die PWM und macht die DAC mit einem DA-Wandler ausreichender Güte und mit wenig Offset oder baut sich sowas mit R2R Netzwerk oder so selber. Dann hat man sicher keine Probleme mit der PWM - wobei das bei ordentlichem Aufbau auch zu lösen ist.
MIDI hat üblicherweise ja für die Controller einen Wertebereich von 0-127, also 6 bit. Die LDRs steuert man aber besser logarithmisch an, d.h. man bräuchte einiges an Mehrauflösung, um diese Umrechnung noch unterzubringen, d.h. 8-10 bit wären da meiner Meinung nach angemessen.

Zur Steuerung des Optokopplers darf auch gerne mal auf das Patent von Mesa Boogie geschaut werden, welches im Triaxis Anwendung findet.

Hier regelt ein Analog-OP die Optokopplercharakteristik eines Doppel Optokopplers.

Dabei wird "eine" Seite des Opto's als Referenz genutzt, die zweite Hälfte als variabler Widerstand für das Audiosignal.

Der Triaxis hat ja eine grosse Lobby, so schlecht kann die Lösung also nicht sein....

Werde ich tun :). Das Forum sagt Patent 5208548 auf dieser Seite http://patft.uspto.gov/

MfG Stephan
« Letzte Änderung: 3.06.2009 12:50 von OneStone »
Und schon oft hat es gekracht,
weil man zuvor nicht nachgedacht.

*

Offline Namenlos

  • YaBB God
  • *****
  • 346
Re: Digital programmierbarer Widerstand
« Antwort #11 am: 3.06.2009 13:26 »
Moin,
Hallo Leute!

Wenn du die Schaltung, wie er es vorschlägt, zweimal hintereinander aufbaust und irgendwo in der Mitte rausgehst, dann bekommst du es nicht hin, dass du 4 bit = 16 Stellungen des Potis realisieren kannst, wenn du die Voraussetzung hast, dass das Poti seinen Gesamtwert zwischen den "Enden der Bahn" konstant hält.

Falls meine Denkweise da falsch ist, dann bitte korrigieren.
Abgesehen von den Zwischenzuständen (die hier recht egal sind, da zu kurz) ist der Gesamtwiderstand gleicht, einfach zweimal aufbauen und invertiert Schalten, so ist jeder gleichgroße Widerstand einmal überbrückt und einmal nicht.

Zitat
Ja, sie soll nirgends reinstreuen, aber wenn die Ansteuerung was taugt, dann hast du direkt am Gainpoti ein Rechteck mit 5Vp und ordentlicher Signalanstiegszeit und eben das wird man hören - wenn nicht, dann würde mich das sehr wundern.

Und wie gesagt - wir reden hier von Strömen im Bereich von deutlich unter einem mA. Da sollte man schon Wert auf Präzision legen, daher mein Einwand mit dem OP.
Der Strom ist 20mA oder 0, integriert über die Periode sind die Ströme dementsprechend geringer. Ich denke/hoffe als Tiefpass reicht die Trägheit des LDRs. Aber ich seh schon, ich muss es wirklich mal Ausprobieren. edit: Ich hab da auch nur 1,8V Spitze je nach LED im LDR. Ich find leider im Datenblatt nichts zur Kopplung.

Zitat
Ein weiterer Grund für die Sache mit dem Tiefpass/OP ist die, dass übliche µC nicht unendlich viele PWM-Ausgänge haben und man schon allein für das Tonestack 4-5 davon bräuchte. Für Gain nochmal 2, für Volume nochmal 2, für Presence nochmal 2 und noch 2 für irgendwas anderes, dann ist man bei 12-13 PWM-Signalen. Wenn man das mit Tiefpässen macht, die eine hinreichende Zeitkonstante haben, dann kann man multiplexen und kommt mit einem PWM-Ausgang aus.
PWM-Ausgang ist schön und gut, aber idr reicht auch einfach ein normaler Ausgang. Beim kleinen 14Pin MCP kann man eine LED auf jedenfall mir jedem Ausgang ordentlich dimmen. Ob hierfür auch reicht: "ich muss es wirklich mal Ausprobieren."

Vom D/A Wandler hab ich leider zu wenig Ahnung, um mich da zu äußern. Ich weiß zwar dank der Uni wie der mit den kaskadierten Spannungsquellen aufgebaut ist und ein wenig von den Fehlerarten - aber mir fehlt jegliche Praxis und ich denke mal da ist so ein großes Projekt dann nicht gut zum Einstieg.

Grüße
« Letzte Änderung: 3.06.2009 13:37 von Namenlos »

*

Offline OneStone

  • YaBB God
  • *****
  • 446
Re: Digital programmierbarer Widerstand
« Antwort #12 am: 3.06.2009 16:06 »
Der Strom ist 20mA oder 0, integriert über die Periode sind die Ströme dementsprechend geringer. Ich denke/hoffe als Tiefpass reicht die Trägheit des LDRs. Aber ich seh schon, ich muss es wirklich mal Ausprobieren. edit: Ich hab da auch nur 1,8V Spitze je nach LED im LDR. Ich find leider im Datenblatt nichts zur Kopplung.

Ja, da hast du Recht mit den 1,8V. Man kann den Maximalwert der LED-Helligkeit ja auch einfach durch den Vorwiderstand definieren, soweit geht das also eigentlich mit der PWM schon. Aber ich kann dir sagen, dass du sogar bei einer Kopplung mit nur 10pF, und das bekommst du durch die Schaltkapazitäten allermindestens zusammen, sicher die Schaltfrequenz am Ausgang sieht. Im Leadkanal ist dazu einfach die Verstärkung zu groß als dass man da nichts sehen würde.

Daher würde ich es eben so machen: Auf der Wandler-/Controllerplatine die PWM integrieren und dann danach nochmal einen Widerstand vor die LED bauen, also praktisch so: Digitalausgang => Widerstand => Kondensator => Widerstand => LED. Auf diese Art und Weise wird an der LED maximal ein minimaler Wechselstrom-Anteil auftauchen, aber kein nennenswerter Wechselspannungsanteil. Dann ist man die Einstreuungen absolut los UND man kann zum Beispiel bei einem ATMEL RISC-Prozessor dann auch die wenigen internen hardwareseitig vorhandenen PWMs benutzen und diese multiplexen - der Kondensator fungiert dann gleichermaßen als Integrator und als Sample-and-Hold-Schaltung.

Das müsste so hinhauen...

MfG Stephan
Und schon oft hat es gekracht,
weil man zuvor nicht nachgedacht.

*

Offline NOS

  • Sr. Member
  • ****
  • 131
Re: Digital programmierbarer Widerstand
« Antwort #13 am: 3.06.2009 18:22 »
Moin,

Zitat
PWM-Ausgang ist schön und gut, aber idr reicht auch einfach ein normaler Ausgang. Beim kleinen 14Pin MCP kann man eine LED auf jedenfall mir jedem Ausgang ordentlich dimmen. Ob hierfür auch reicht: "ich muss es wirklich mal Ausprobieren."

Dein Auge hat eine obere Grenzfrequenz um die 50 Hz, Deine Ohren deutlich drüber!

Onestones 'Schaltungsvorschlag' zur PWM-Ansteuerung entspricht genau dem, was ich ausprobiert hatte. Der Glättungskondensator liegt nahe der sonstigen digitalen Schaltung, durch den Amp zieht sich (geräuschlos, d.h. so gut wie frei von irgendwelchen Wechselanteilen) die Ansteuerleitung zum LDR.

Laut Topic geht's hier um einen digital programmierbaren Widerstand, nicht um ein digitales Poti. Ich würde mich von dem Gedanken verabschieden, mit LDR + PWM ein Poti zu basteln. Dazu braucht's 2 PWM's + LDR's, bei denen der Gesamtwiderstand immer schön gleich sein soll. Über Temperatur, Alterung, ...

Es braucht (schon wieder meine Meinung  ;)) ein Amp-Design, das mit wenigen steuerbaren Widerlingen das macht, was es soll.

Schöne Grüße NOS

*

Offline winharda

  • Full Member
  • ***
  • 86
Re: Digital programmierbarer Widerstand
« Antwort #14 am: 3.06.2009 19:48 »
Zitat
Laut Topic geht's hier um einen digital programmierbaren Widerstand, nicht um ein digitales Poti.

Ups mein Fehler... ich wollte eigentlich Möglichkeiten diskutieren, mit denen man einen Verstärker "programmierbar" machen kann. Und dazu gehören nun mal Widerstände und Poties ::)

Ich sehe bei der Geschichte mit optischen Kopplern einfach Probleme bei der Genauigkeit der Steuerung.

Den Lösungsansatz mit den PhotoMOS Relais finde ich da schon besser... nur benötigt man für ein Poti (8 Bit) min. 16 Stück davon. Das macht bei 2€ pro Stück 32€ nur für die Relais :-[ Probleme hätte man da aber keine - die Ansteuerung könnte ein ATmega8, der als SPI (I²C...) Slave arbeitet übernehmen.