Ansteurung von Digitalpotis / Aktivmodulbau -gestartet

  • Hallo!


    Mir schwirrt da grade was durch den Kopf. Ich bastle momentan an einem 12" Coax Wegde als Keyboarmonitor. Dieser soll aktiv werden. Nun könnte ich ja ein X-beliebiges Aktivmodul reinsetzen, will ich aber nicht.


    Meine Idee: Ein Selbstbau Verstärkermodul.
    Die Endstufe ist kein Thema, ich hab da eine erprobte Schaltung, ein Layout etc., also kein Problem.
    Interessant ist jetzt die Vorstufe, und zwar möchte ich, dass mein Modul per Endlospoti und zwei, drei Tastern bedienbar wird, einen µC (wohl ATmega8) , ein Display, und eben ein paar LEDs enthält.
    Ich baue also als Vorstufe eine stinknormale analoge Klangregelung (Low, Mid High), in die ich die digitalen Potis einsetze. Volume bekommt ein weiteres Digitalpoti. Die Digitalpotis werden vom µC angesteuert. Dieser bekommt ein Menü, was sich mit den Bedienelementen steuern lässt und auf dem Display (normales 2x16Character, Ansteuerung ist kein Problem) dargestellt wird. Als besonderes Feature soll der Eingangspegel der Endstufe über den AD Wandler Eingang des µCs überwacht werden, der dann die LEDs (Signal, Limit) ansteuert und eben auch bei zu hohem Pegel die Volume zurückregelt (sehr einfacher Limiter quasi). Das ganze Interrupt gesteuert.
    Evtl. wäre auch ein RS232 Port möglich, über den sich diverse interne Werte (Limiter Threshold etc.) ändern lassen.


    Die Grundkenntnisse zum Programmieren der Atmel AVR Controller habe ich, die meisten Teile wie die Displayansteuerung brereiten mir keine Probleme.
    Wo ich noch Input brauche ist bei der Ansteuerung der digitalen Potis. Zum einen suche ich geeignete Typen, zum anderen würde ich gerne wissen wie man solche Dinger prinzipiell ansteuert. Eine weiterführende Frage ist dann die Speicherung der Werte. Wenn der Strom abgestellt wird möchte ich nicht jedesmal alles neu einstellen müssen. Die Werte müssten also in einem EEprom (evtl. das interne des Controllers?) gespeichert werden.


    Kann mir da jemand weiterhelfen?


    Vielen Dank!


    Gruß
    Thomas

    Gruß
    Thomas

    Einmal editiert, zuletzt von schrecki7289 ()

  • So digitale Potis hatte ich nur einmal in der Hand, waren welche von Maxim. Ich weiss noch, dass die Spannungen an den "Potipins" die Versorgungsspannung nich verlassen durften (also innerhalb 0V bis 5V) und dass die per I2C angesteuert wurden. Ob die für Audio taugen weiss ich nicht, hab Licht damit gesteuert. Aber ich nehme an, es gibt für diesen Zweck auch audiofähige Teile, vermutlich auch schon mit Up/Down Taster eingängen. Das Speichern deiner Werte kannste problemlos im internen EEPROM des AVR machen, muss dann aber den Brownoutdetektor in den Fuses einschalten, damit er beim ausschalten die Einstellungen nicht versehentlich überschreibt.

  • Also "Digitale Potis" gibt es in vielen verschieden Ausführungen.


    AFAIK gibt es als Steuerung:


    up / down Taster: was aber für deine Anwendung nicht in frage kommt, da ja der wert nicht absolut ist.


    I²C bzw TWI: eigentlich sehr gut für deine Anwendung, da die Atmel AVR schon ein Hardware I²C Interface eingebaut haben, und du es nicht per Software machen mußt (I²C ist beim Atmel "TWI"). Allesdings ist auch hier eine Rückmeldung des aktuelen Werts nicht möglich.


    SPI: auch für deine Anwendung geeignet, jedoch Aufwendig in der Programmierung und im Schaltungsaufbau. Da jedes Poti eine eigene CS Leitung benötigt.
    Vorteil dabei wäre dabei dass der µC den aktuellen Wert der Potis abfragen kann. Somit hättest du maximale Sicherheit!
    Einschalten könne so ablaufen:
    1. µC schreibt die Wert in die Poti
    2. µC liest die Wert der Poti und vergleicht sie mit der vorgabe
    3. sind wie Werte richtig then 4. else 1.
    4. µC schaltet Lautprecherrelais ein


    Gruß Holger

  • Im Prinzip ist es nicht notwendig, dass der Wert aus dem Poti wieder ausgelesen werden kann, solange das Poti beim Neustart wieder einen bestimmten Wert annimmt. Ich schreibe einfach beim Start den Wert aus dem EEprom rein und fertig.


    Eigentlich möchte ich das so einfach wie möglich gestalten. Ein Poti, welches einfach per Impuls (meinetwegen z.B. bei steigender Flanke)einen Schritt rauf oder runter geschaltet wird, würde also im Prinzip schon reichen. Gibt es sowas? Oder muss ich wirklich erst mit einem Bus arbeiten? Der AD5227 oder DS 1669 scheint mir hier schon geeignet.


    Das schalten des Lautsprecherrelais durch den µC ist übrigens auch eine nette Idee...

    Gruß
    Thomas

  • Zitat von "Schrecki7289"

    Ich schreibe einfach beim Start den Wert aus dem EEprom rein und fertig.



    iiih :oops:

    die Feuerzeuge der Gäste sind kleine Sterne die am Himmel unseres Alltags weiterleuchten.

  • kein Problem :wink:


    EEproms haben eine begrenzte Anzahl Schreibzugriffe, sollen somit nicht als Zwischenspeicher genutzt werden. Dafür setzt man ein MOS Ram mit Knopfzelle


    lG Manu


    und ich hab Mist getippt weil falsch gelesen !
    Er schreibt einen Wert "aus" dem Eeprom, das ist völlig OK.
    Nicht OK ist lediglich reinschreiben beim Start..

    die Feuerzeuge der Gäste sind kleine Sterne die am Himmel unseres Alltags weiterleuchten.

  • Naja, die die ich mal hatte ham sich den nicht gemerkt. Ich würde nicht drauf gehen dass die das tun.


    Zitat

    Nicht OK ist lediglich reinschreiben beim Start..


    Was willsten da beim Start reinschreiben?

  • Also bei genannten Potis steht nichts von Wertspeicherung.
    Ich will den aktuellen Wert vor dem Ausschalten in das interene EEprom schreiben und dann beim Neustart den Wert auslesen und auf die Potis schreiben.
    Das EEprom kann 1Millionen Mal neu beschrieben werden. Das ist wesentlich haltbarer als ein RAM mit Knopfzelle...

    Gruß
    Thomas

  • würde mich ja mal interessieren ob diese "digitalen Potis" in Filtern überhaupt klirrfrei arbeiten können ...


    alternativ kannst du ein par VCAs reinmachen und per analogem Steuerstrom füttern, das funzt gewiß.


    p.s. auf deinen Verwendungszweck bezogen das Jog brauchst du eigentlich nicht, auch kein display 8) ordne den Dingern jeweils einen Midikanal zu, dann hast du am Keyboard echte Freude.


    Ich hab mal sowas ähnliches gebastelt, sogar parametrische, da sind einfach Stereomotorpots drin, der 2te dient jeweils zum lesen der Position und gesteuert wird per Steuerspannung auf einen OP der als Komparator dazu dient festzulegen Vor - Rück oder STOP. :wink: Sieht auch sehr lustig aus wenn er ein Recall kurbelt.

    die Feuerzeuge der Gäste sind kleine Sterne die am Himmel unseres Alltags weiterleuchten.

  • Zitat

    Ich will den aktuellen Wert vor dem Ausschalten in das interene EEprom schreiben und dann beim Neustart den Wert auslesen und auf die Potis schreiben.


    Schau vorher nach, ob nicht schon der selbe Wert drin steht.
    Du kannst die Haltbarkeit weiter erhöhen wenn du viel mehr EEPROM hast als nötig indem du die Werte dann gleichmässig über den gesamten EEPROM schreibst. Dann bekommt jede Zelle nur bei jedem x-ten mal was geschrieben. Aber bei 1Mio x schreiben is das wohl den Aufwand nicht wert ;)

  • manuela


    Ob die Potis klirrfrei sind weiß ich nicht, laut Datenblatt schon.
    VCA will ich nicht, einen analogen Steuerstrom mit einem µC zu erzeugen ist zu zumständlich. Auch soll die Kiste auch mal als ganz normaler Gesangsmonitor, plug&play Box etc. pp. laufen, da wäre die Midi Sache wohl sehr unpraktisch.

    Gruß
    Thomas

  • Zitat von "Schrecki7289"

    Ob die Potis klirrfrei sind weiß ich nicht, laut Datenblatt schon.


    da geht man üblicherweise davon aus gegen Massepotential zu regeln = fester Bezug. Im Filter fliegt es aber, mit allen 3 Anschlüssen. Und genau dann ist für einige Sachen Schluß mit lustig, da heist es messen und hören. Ich rate dir erst zu einem Testexemplar bevor es kostet und layoutet

    die Feuerzeuge der Gäste sind kleine Sterne die am Himmel unseres Alltags weiterleuchten.

  • Natürlich wird es erst getestet. Zur Prototypenherstellung habe ich Zugang zu einem LPKF S42 Fräsbohrplotter, mit dem ich die Schaltung ohne weiteres mal eben auf eine Platine bringen kann. Alles kein Thema.

    Gruß
    Thomas

  • Ne, davon geht man bei digipotis eigentlich nicht aus soweit ich weiss, denn sonst könnte man ja auch nen einfachen DA Wandler nehmen. Ich glaube da sind einfach entsprechend viele Widerstände drin in Reihe geschaltet und dann ein grosser Multiplexer mit entsprechend vielen Wegen.
    Aber wenn du dir da jetzt schon soviele Gedanken machst... Schnapp dir doch einfach nen DSP mit AD und DA Wandler drin, Laustärke regeln sollte doch noch die leichteste Übung bei sowas sein und wenn du Zeit und Lust hast, bastelst du weiter und in zwei Jahren veröffentlichste hier das erste selbstbau Effektgerät ;) Hab allerdings selbst keine Erfahrung mit DSPs, wenn sowas dann gleich FPGA...

  • Eigentlich ersann ich diese Lösung, da es mir einfach erschien als ein DSP. Und das ist es imho auch immer noch. Ich werd die Digitalpotis testen, entweder es geht, oder eben nicht.

    Gruß
    Thomas

  • Als der von mir verlinke Typ macht das so:


    Einfach 257 Widerstände in Reihe geschaltet, jetzt wird über ein CMOS-Logic einfach der dem im Register abgelegte wert (Abgriff zwischen 2 Widerständen) an den Ausgang geschaltet...


    Leider kann ich unsere Simulationsumgebung nicht privat nutzten, sonst hätte ich es mal kurz versucht...