Was ist der beste Weg, um die "Verjüngung" einer Potentiometerschaltung zu zeichnen?


8

Das Problem besteht darin, Regler für Gain / Volume / Pan / Balance / Crossfade / Mix mit einem glatten "Gesetz" oder "Taper" zu entwerfen. Die Geschwindigkeit, mit der sich die hörbare Lautstärke ändert, wenn Sie sie drehen. ( Zum Beispiel in Das geheime Leben von Töpfen und das Ändern des Gesetzes eines Topfes beschrieben .)

Es ist einfach, Steuerelemente zu erstellen, bei denen sich die Verstärkung in der Mitte nur sehr wenig ändert und dann zum Beispiel nach oben springt, aber das ist nicht gut.

Ich möchte also die Schaltung "zeichnen" und dann die Verstärkung / Dämpfung als Funktion der Topfposition entweder mit logarithmischen oder linearen Töpfen zeichnen und in der Lage sein, Komponentenwerte zu variieren und die Auswirkung auf die Verstärkungsfunktion schnell zu sehen um das Finden der optimalen Layout- / Widerstandswerte zu beschleunigen.

Derzeit mache ich eine der folgenden Aktionen:

  1. Simulieren Sie die Schaltung in TINA-TI . Das ist scheiße, weil:
    • Die Töpfe sind nur linear verjüngt
    • Es gibt keine Möglichkeit, etwas als Funktion der Topfposition zu zeichnen. Sie können den Pot als Kontrollobjekt festlegen und die Position in Schritten von 0% bis 100% variieren, aber ich kenne keine Möglichkeit, die Verstärkung zu zeichnen. Ich weiß nur, dass Sie den Frequenzgang an jeder Position darstellen, die Verstärkungen aus dem Frequenzgangdiagramm ablesen und in eine Tabelle einfügen können, was sehr mühsam ist.
  2. Berechnen Sie die Kurve in einem Mathematikprogramm wie wxMaxima oder Python und zeichnen Sie sie. Das ist scheiße, weil:
    • Es erfordert die manuelle Eingabe der Verstärkungsgleichung, was für bestimmte Schaltungen mühsam und fehleranfällig sein kann. Anhand einer komplexen Gleichung kann man nicht erkennen, ob sie richtig ist oder nicht, und es ist schwierig, sie durch Hinzufügen von Widerständen parallel zu vorhandenen Schaltkreisen zu modifizieren.
    • Auch hier ist das Plotten für einen Log Taper Pot schwierig. Sie müssten die Verjüngung als separate Funktion eingeben, die in die Verstärkungsfunktion eingespeist wird, und sie würde immer noch nicht genau mit der realen Welt übereinstimmen.

Irgendwelche anderen Ideen?

Zur Veranschaulichung hier ein Diagramm, das ich erstellt habe, indem ich einen linearen Topf, logarithmische Verjüngungstöpfe und einen linearen Topf mit einem "Pulldown-Widerstand" verglichen habe, um eine logarithmische Verjüngung zu approximieren. Ich möchte etwas, das die gelbe Kurve für verschiedene Werte des Pulldown-Widerstands darstellt, damit er sich so nah wie möglich an den anderen Kurven verhält, ohne manuell eine Gleichung eingeben zu müssen. Natürlich sind meine realen Anwendungen komplexer, aber dies ist ein Beispiel dafür, was ich tun möchte.

Alt-Text

(Von Electronics Exchange kopiert )


2
SPICE oder zumindest XSPICE (die von mir verwendete Version) unterstützt das Erhöhen des Werts einer Komponente in der Schaltung um einen bestimmten Wert und über mehrere Simulationen hinweg.
Connor Wolf

Antworten:


4

Es hört sich so an, als ob Sie mit dem in Ihrem Schaltungssimulator verwendeten integrierten Topfmodell die Topfposition nur einmal im Schaltplan einstellen können und die Position dann während der Simulation konstant bleibt.

Das Potentiometermodell bei eCircuit zeigt, wie ein Modell erstellt wird, das sich wie ein linearer Topf verhält , der sich während der Simulation dreht. Genau das brauchen Sie, oder?

Dieses Modell verfügt über eine Gewürzdatei, die eine stückweise lineare Quelle (PWL) verwendet, die die Position des Topfes gegenüber der Zeit steuert.

* WIPER POSITION: 0V=CCW, 1V=CW
VPOS    20  0   PWL(0MS 0V   1000MS 1V)

Sie können entweder die "Spannung" von VPOS als X-Koordinate in Ihrem Diagramm verwenden, die die Topfposition darstellt. oder vielleicht ist es einfacher, X als Zeit zu zeichnen und eine PWL auszuwählen, die den Pot linear proportional zur Zeit dreht.

Anschließend führen Sie die Simulation aus und zeichnen die Ausgangsspannung gegen die Zeit auf. Führen Sie möglicherweise eine Rechteckwelle mit einer bestimmten Audiofrequenz ein und zeichnen Sie die Ausgangsspannung gegen die Zeit auf. Wenn Sie dann mehrere Sekunden der Simulation anzeigen, sehen Sie eine feste Masse (die Schwingungen sind zu schnell, um mehr als 1 Zyklus pro Pixelbreite zu sehen), die die Hüllkurve der Ausgangswellenform anzeigt, und Sie können entweder die obere oder die obere verwenden unten als Schätzung des Gewinns.

Um einen nichtlinearen Pot zu simulieren, können Sie (a) die PWL-Linie bearbeiten, um den Pot mit einer nichtlinearen Rate zu drehen, aber X als Zeit zeichnen, etwa wie folgt:

* nonlinear turn
VPOS    20  0   EXP(TIME)
VPOS    20  0   LOG10(TIME)

Oder Sie könnten (b) ein Modell eines nichtlinearen Topfes erstellen und die PWL diesen Topf mit etwas wie einer linearen Geschwindigkeit drehen lassen

EPOS  21 0 TABLE{V(20,0)} = (0 0.7) (1 7.0) (2 700) (3 7k) (4 70k)

Sowohl (a) als auch (b) ergeben die gleichen Widerstands-Zeit-Eigenschaften, richtig? Hoffentlich finden Sie eine Funktion oder ein Polynom oder eine Reihe von Punkten, die in PWL oder TABLE eingespeist werden können und die dem tatsächlichen Widerstand Ihres realen nichtlinearen Potts nahe genug kommen.

Ich gehe davon aus, dass Sie bereits über Software-Tools verfügen, mit denen Sie einen Schaltplan zeichnen und simulieren können, die auch SPICE-Modelle akzeptieren. Wenn nicht, bin ich mir ziemlich sicher, dass die Liste der Simulatoren für freie Elektronikschaltungen etwas Passendes enthält .

BEARBEITEN:

Oder auf der Chiphacker-Liste der Freeware-SPICE-Simulatoren .

Führen Sie zunächst eine transiente (Zeit-) Simulation durch, um die Verstärkung des Wechselstromsignals als Funktion der Topfposition darzustellen. Zeichnen Sie dann den Ausgang (die Spannung am Kabel zum Lautsprecher) gegen die Zeit. (Oder Sie können es gegen den "Blinker" V (20) im obigen Code zeichnen). Möglicherweise haben Sie dazu eine Pulldown-Menüoption. Die Methode der alten Schule ist so etwas wie:

* WARNING: untested code
* ANALYSIS
.TRAN   5US  1000MS
*
* VIEW RESULTS
.PRINT  TRAN    V(1) V(2) V(20) V(77)
*
.PROBE
.END

Mit TINA können Sie die Topfposition variieren, aber ich bin mir nicht sicher, wie ich die AC-Signalverstärkung als Funktion der Topfposition darstellen soll.
Endolith

0

Dies ist in LTSpice sehr einfach (möglicherweise kann es auch in andere Varianten von Spice übersetzt werden, ich habe es nicht versucht). Gehen Sie zu http://tech.groups.yahoo.com/group/LTspice/files/%20Tut/Potentiometer / um die Datei potentiometer_standard_test.asc abzurufen. Es werden die verschiedenen Kurven genau so dargestellt, wie Sie es wollten.


1
Ugh, Yahoo Groups. Wie auch immer, ich versuche nicht, die Verjüngung des Topfes selbst zu zeichnen. Ich versuche den Effekt zu zeichnen, den die Verjüngung auf andere Schaltkreise hat. Zum Beispiel den Plot Gain gegen die Pot Position. Kann das das?
Endolith

0

Also, was ich getan habe:

  1. Ich habe den Widerstand von realen Töpfen mit unterschiedlichen Verjüngungen gemessen, indem ich sie in jede ihrer Arretierungen gedreht und alle Messungen in eine Tabelle eingetragen habe. Es passt ziemlich gut zu den Herstellerkurven, mit stückweisen Segmenten unterschiedlicher Raten und Endwiderstand usw.
  2. Ich berechne die Verstärkungsformel für eine bestimmte Schaltung und übersetze sie dann in Excel (indem ich sie in eine andere Spalte setze, die auf die Spalte für eine bestimmte Verjüngung verweist) und erstelle ein Diagramm, damit ich die Verstärkung gegen die Topfposition zeichnen kann, während ich verschiedene Schaltungen ausprobiere.

Es ist nicht so einfach wie das Zeichnen der Schaltung in einer GUI, aber es funktioniert und die Kurven sind so realistisch wie möglich.


-1

Es hört sich so an, als ob Sie ein Servo oder einen Stepper an einen Poti anschließen und einen ADC verwenden möchten, um Ihre abhängige Variable zu messen, sei es die Reaktion des Systems, das der Poti steuert (Verstärker, Fader, Equalizer usw.) oder einfach der Widerstand von den Scheibenwischer an einem der Enden.


Nein, das meine ich nicht. Ich könnte diese Dinge von Hand messen, wie ich es für dieses Diagramm getan habe, aber was ich wirklich will, ist ein Software-Tool, mit dem ich Dinge ändern und die Reaktion im Vergleich zur Reise bequem darstellen kann. Ich habe bereits einige Lösungen, ich möchte nur eine bequemere.
Endolith
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.