Parameter- Steuerung für Effekt

  • So, es funktioniert und zwar ohne Nebengeräusche und in für mich voll befriedigender Weise. :)

    Es geht darum, Kombinationen von (Poti-) Einstellungen auf Knopfdruck abrufen zu können.
    Z.B. ist bei "Clean" der Gain klein aber der Volumesteller hoch und bei "Overdrive" werden die Bässe zurückgenommen, das Gain hochgesetzt und das Volume zurückgefahren.

    Man nehme ein möglichst flexibles Effektmodul, das verschiedene Sounds erzeugen kann.
    - In meinem Fall hier: Son of Ben. https://www.pedalpcb.com/docs/SOB.pdf

    Potis werden durch LDR mit LED im Schrumpfschlauch (= Vactrol) ersetzt.
    Eigenbau- Vactrol, Kennlinie, LDR LED
    (Die Überlegungen und Versuche im letzten Sommer hatten gezeigt, dass diese Steuerungstechnik sehr flexibel ist, dass sie galvanische Trennung hat, dass sie ohne Änderung in vorhandene Designs einsetzbar ist und mit Spannungen bis ca 60V klarkommt. Man kommt so mit einer einheitlichen Schnittstelle aus für sehr vieles.)
    (Man kann auch Relais über Treiber ansprechen und Solid state Relais Cpc1017)

    Die LEDs werden vom Controller angesteuert. Entweder digital mit Vorwiderstand (= Schaltfunktion) oder über sehr hochfrequentes (!!) PWM.
    Zur Anwendung kommt ein Microcontrollermodul mit dem Controller ESP32 und einem kleinen Display.
    Mit dem ESP32, der bei 8 bit Auflösung eine PWM- Frequenz von 312,5kHz erzeugen kann, kann man die Vactrols sehr simpel ansteuern:
    Port- Diode - R - (C=4.7uF nach Masse) - LED - Masse.
    Der R wird gewählt >1k, je nach dem, welchen Widerstandsbereich man mit dem LDR erzeugen möchte.
    Die hohe PWM-Frequenz ist äußerst wichtig, da sie sich unhörbar wegfiltern lässt.

    Es hat sich gezeigt, dass man bei dieser Schaltung "Son of Ben" keine "echten" Potentiometer mit zwei LDRs braucht, sondern jeweils auch nur mit einem LDR auskommt:


    Die Grundüberlegung ist, dass der Lastwiderstand sich nicht zu sehr ändern sollte, ggf. wären Buffer hilfreich.
    Beim Ausgangs-Poti-Ersatz fehlt sozusagen ein Bright-Cap. Da die Lautstärke aber sowieso eher bei hohem Gain runtergenommen wird, ist der Tiefpass gar nicht so schlecht.

    Bass und Treble sind bei dieser Schaltung einfach LDRs.
    Parallel zu C7+ Treble ist noch ein LDR (als Schalter) in Serie mit einem 100nF Kondensator und einem asymmetrischen Klipping Dioden Trio angeordnet für Schaltbares Hardclipping.

    Die Regelbereiche der LDRs werden einerseits über die Vorwiderstände der LEDs angepasst und andererseits wird rechnerisch aus einem Parameterwert 0....99 mit Hilfe einer 2-teiligen bereichsweise linearen Kennlinie ein linerares, negativ-lineares, positiv oder negativ pseudologarithmisches Verhalten 0....255 erzeugt.

    Steuermodul mit integrierten kleinem Display 0,96 Zoll fambach.net/esp32-wifi-kit-32/ (Programmierung über "Arduino"- Umgebung.) Das Display kann 8 Zeilen zu je 16 Zeichen darstellen. (Grafik bisher nicht verwendet.)
    Abspeichern der Patches mit der eeprom- Funktion.
    Menuesteuerung, Patchauswahl und Parametervariation über einen Drehencoder mit Drucktaster. Kurzer Druck: Bestätigen; Langer Druck: Abbrechen.

    Es ist die Idee, eine Midisteuerung hinzuzufügen, das ist noch nicht umgesetzt. Sollte jedoch möglich sein, da eine Serielle Schnittstelle frei ist.

    Die Softwareumsetzung ist etwas durch-die-Brust-ins-Auge: Auf dem Controller läuft ein "Arduino"-Sketch, der die Grundfunktionen, ein Flash-Filesystem, einen simplen Fileserver via WLAN und auch einen simplen Terminalserver sowie einen "full-blown" Forth Interpreter/Compiler bereitstellt. Beim Starten lädt das Forth einen Forthquelltext, der die eigentliche Steuerung des Effekts darstellt. Dieser Text ermöglicht eine fast beliebige Flexibilität (Menuestruktur, Parameternamen,....). Er ist jedoch 700 Zeilen lang geworden. Während der Effekt via Encoder und Display im Hintergrund (kooperatives Multitasking) arbeitet, ist das System gleichzeitig via WLAN zum Filetransfer oder zum interaktiven Betrieb des Forth anzusprechen. (Der aktive WLAN-Betrieb erzeugt leichte Störgeräusche.)

    Wenn man einen anderen Effekt steuern möchte, dann muss einerseits im Arduinosketch die Portzuodnung zu den PWM-Kanälen gemacht werden. Ggf. das WLAN abgeschaltet.
    Andererseits müssen im Forthquelltext, das ist eine mit einem Editor lesbare Datei, die Kanalnamen, das Kanalverhalten (lin log) angepasst werden.
    Ursprünglich wollte ich die Software ganz neutral machen, d.h. nur Kanalnummern verwenden und Patchnummern. Es ist aber viel übersichtlicher, wenn man statt Kanal1 "Volume" auf dem Display sieht und statt Patch1 "Clean".

    Falls Interesse besteht, kann ich mehr Richtung Software posten.

    Die Spannungsversorgung ist via USB mit Step-Up-Wandler auf 9V für das Effektmodul.

    Insgesamt kann man das Ziel erreichen, dass die Parametersteuerung preislich in der Größenordnung des Effekts liegt.
    Gruß Christof

  • Das ist auf jedenfall sehr spannend und schreit geradezu nach einem analogen multifx. :)
    Da könnte man ja auch problemlos ein expression pedal oder LFOs oder envelope-controls jeglichen parametern zuordnen...

  • Ich denke im moment ein wenig auf diesem gedanken herum, weil es mich nervt, dass ich aufm breadboard nie die richtigen pots habe. Ideal wäre es ja, ca. 6 echte pots zu haben mit denen man den digitalteil steuert und dann wieder 6x2 LDRs um die echten Pots zu simulieren. Als digitalteil würd ich ggf. sogar nen Raspi nehmen weil mir die entwicklung damit leichter von der hand geht. Dann könnte man digital konfigurieren um welche pots es sich bei 1-6 handeln soll. A100k, B1M, C10K usw.
    Das hilft sicher auch beim auslegen der pots. Man könnte auch problemlos pots mit statischem vorwiderstand an PIN 1 und/oder 3 simulieren.

    Wie geil wär das: man stellt den regelbereich erstmal zu groß ein und dreht sich die sinnvollen endpunkte rein. Die kann man dann digital übernehmen. Wenn man fertig ist, dann rastet man auf die nächsten real erhältlichen pots ein und hat den perfekten regelbereich.

  • Hi,
    Ziemlich lange habe ich gebraucht, um rauszubekommen, wie man die Leds der Vactrol vernünftig ansteuert. Es geht am besten mit sehr!!! Hochfrequenten pwm Ausgängen. Raspi hat das nicht. Teensy 4.1 hätte es und auch ausreichend adcs.

  • Ich war eben zu fuß zum kindergarten unterwegs und hab mal ein wenig kopfrechnen betrieben:

    • Ich will Pots zwischen 1k und 1M
    • Jeder Pot soll gern eine auflösung von mind. 100 schritten haben
    • Damit ich ein hochfrequentes signal nicht mehr höre muss es mind. 20kHz haben

    Ideen zur umsetzung:

    • Wenn ich mit einfachen binärzahlen bits ein sägezahn mit exponentieller kurve moduliere schaffe ich mit relativ wenigen bits je frame alle abstufungen.
    • für 100*100 schritte brauche ich einen maximalwert von 10.000. Binär also 14bit für 16.384.
    • 14bit * 20kHz heißt ich muss 280kbit/s schaffen

    Ohne sägezahn müsste ich 1/10.000 also 10.000 bit in 20kHz übertragen. Das enspräche 200Mbit/s :D

  • Hi, darf ich vorschlagen, dass wir diese Spezialfragen in einem gesonderten Thread diskutieren?
    (1k:1M ist 1:1000) wären also 100.000 Positionen. Wenn Du mein Pamphlet liest, da steht was zur Bereichswahl. :)

    Edit, hatte die expontielle Kurve überlesen. Mir ist völlig schleierhaft, wie das funktionieren soll.

  • stimmt, es sind 100.000 positionen. Und dabei wird 1K log ganz schön ungenau. Man müsst überlegen ob man davon zwei koppelt... einen log und einen lin und die dann verrechnet.

    So hier hatte ich das mit der exponentiellen kurve gemeint. Beispiel ist 4bit:

    Aber die rechnerisch 100.000 positionen klingen für mich so als sollte man auf 16bit gehen. (also 64k)

  • Hi Simon,
    Vergiss es, das digital hinzubekommen. Du musst das Signal nicht nur hochfrequent genug haben, dass es unhörbar ist. Stattdessen musst Du es komplett rausfiltern können, da jedes Overdrive usw. Auch durch das für Menschen unhörbare ausgesteuert wird.

    Keine Ahnung, vielleicht kannst Du mit Hilfe der Shockley gleichung https://de.m.wikipedia.org/wiki/Shockley-Gleichung für Diodenstrom
    Eine Analogschaltung entwickeln, welche Dir einen Potiwert exponentiell umsetzt auf einen anderen Bereich.

  • Im prädigitalen Zeitalter ist doch durch die Analog-Synth-Technik schon alles abgefrühstückt worden - auch das Exponentielle (was beim Poti seltsamerweise logarithmisch genannt wird).
    Und die Vc(ontrol) mit einem µP zu steuern, dürfte doch nicht das Problem sein...

    Gruß, Bernd

    Jaichweiß (Andy Pipkin)

  • Hallo zusammen,

    hat sich bei diesem Thema etwas getan? Ich hatte mal vor vielen Jahren einen Thread gehabt, in dem wir versucht haben ein Schaltprinzip (Midi gesteuertes Digitalpoti, welches einen Vactrol steuert) zu entwickeln. Vorbild war die Mesa Triaxis.

    Der Thread wurde leider mal gelöscht - von wem auch immer.

    Gruß

    Oli

    [size=1]DIY: Soldano X88R, Peavey 5150, Engl 530,Boss AC-2,BD-2,BF-2,CE-2,DM-2,DS-1,DS-2,EH-2,FT-2,HM-2,MD-2,MT-2,NF-1,NS-2,OC-2,OD-1,OD-2,OD-3,OS-2,PH-1, SD-1,SD-2,SG-1,SP-1,TW-1,XT-2,Rocktave Divider,Small Stone,Woody,STL,TS10,TS9,TS808,Obsidian 1+2,EasyVibe,Ultraflanger,Zombie Chorus,PT-80,MU-TRON, etc.[/size]

  • Hallo zusammen,

    hat sich bei diesem Thema etwas getan? Ich hatte mal vor vielen Jahren einen Thread gehabt, in dem wir versucht haben ein Schaltprinzip (Midi gesteuertes Digitalpoti, welches einen Vactrol steuert) zu entwickeln. Vorbild war die Mesa Triaxis.

    Der Thread wurde leider mal gelöscht - von wem auch immer.

    Gruß

    Oli

    Ja, das hat hier seine Fortsetzung gefunden:

    Midi- und Parameter-Steuerung für Analog Effekt - Effektgeräte bauen - Das Musikding Forum

    und hier: Digital Controller for Analogue Sound Effect with Midi based on Raspberry Pico with Micropython - Effektgeräte bauen - Das Musikding Forum Im letzten habe ich ein PDF mit ziemlich ausführlicher Doku verlinkt. Ich habe es für mich befriedigend zum Laufen gebracht.

    Eine einzige Person hat sich mal für eine Umsetzung für einen Effekt interessiert, was ich auch unterstützt hätte. Dann hat sich herausgestellt, dass es doch auf diese Schaltung angepasst hätte werden müssen und das war's dann. :)

    Gruß Christof

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!