Resistencia variable de estado sólido económica

Tengo un proyecto de audio analógico para el que estoy jugando con diseños y necesitará alrededor de 150 resistencias variables de estado sólido. Planeo controlarlos desde un microcontrolador para que funcione un potenciómetro controlado digitalmente, pero todos los que he encontrado son demasiado caros ($1,00-$1,50).

Mi plan original era usar algo como un MOSFET con un capacitor pequeño y otro transistor para mantener un voltaje en la puerta. Luego actualizaría los voltajes de cada uno a través de un DAC y algo de GPIO. Sin embargo, no he encontrado ningún transistor adecuado para mi aplicación (es decir, algo que se comporte lo suficiente como una resistencia ideal).

¿Algunas ideas?


FWIW: el proyecto es una variante de este diseño de EQ (descontinuado): diseño con el ecualizador gráfico controlado digitalmente LMC835 .

¿Está tratando de implementar un montón de ganancias variables para un mezclador, o frecuencias de oscilador para un sintetizador, o algo más? Puede haber una forma más económica de hacerlo que las ollas digitales.
@endolith: un ecualizador analógico controlado por computadora. Y una forma más barata es exactamente lo que estoy buscando.
@BCS: un ecualizador analógico controlado por computadora me suena contradictorio. Por favor, corríjame si me equivoco, pero cualquier potenciómetro controlado digitalmente, ¿no será, bueno, digital, y el microcontrolador y/o el potenciómetro introducirán ruido de conmutación cuando cambie el valor del potenciómetro?
@sheepsimulator: No hay ninguna razón por la que un potenciómetro digital intrínsecamente agregue ruido de conmutación (supongo que uno bien diseñado intentaría minimizar eso) en cuanto al resto del sistema, mientras que las aplicaciones de señal mixta son un problema, son un problema conocido con soluciones conocidas, después de todo, hacen tarjetas de sonido digitales y tienen que volverse analógicas en algún momento. De hecho, podría configurarse para que pueda apagar las partes digitales y las partes analógicas continúen funcionando bien. -- En cuanto a ser oxímoron, no, no lo es ( tonto OTOH es una posibilidad clara :).
¿Con qué terminaste yendo? Estoy resolviendo un problema similar en este momento.
@msutherl: No lo hice. Una de las ollas digitales mencionadas por endolith parecía ser la mejor, pero todo el proyecto, incluidas otras partes, terminó siendo demasiado costoso (IIRC $ 400 a varios mil dependiendo de cómo lo hice exactamente).
@BCS: Entonces, ¿al final optaste por un DSP? :)
@endolith. No, enlaté/dejé de lado el proyecto. (Vea mi segundo comentario a su respuesta).

Respuestas (6)

Si desea algo que se comporte más como una resistencia, puede usar una fotocélula e iluminarla con un LED de un PWM filtrado. Sin embargo, eso actúa como una resistencia variable de 2 terminales en lugar de un potenciómetro de 3 terminales.

Puede controlar todos los LED desde un solo microcontrolador usando algo como el TLC5940 , que tiene 16 salidas de controlador de LED PWM, con el brillo de cada uno programable a través de una conexión en serie. Necesitaría 10 de estos a $ 1.84 cada uno para controlar 150 canales, aunque el doble si necesita dos resistencias por canal (para simular un potenciómetro real).


Además, ¿ha mirado circuitos integrados con muchas ollas adentro? $0,33 por bote es mejor que $1, por ejemplo:

También puede buscar circuitos integrados de amplificadores de ganancia programables o controlados por voltaje, que podrían reemplazar tanto a un amplificador operacional como a un potenciómetro:

En cuanto a un ecualizador gráfico de muchos canales controlado por computadora, un DSP es una opción más económica. Por ejemplo, TI , AKM y Analog tienen procesadores de señal de audio con ADC y DAC incorporados, y GUI fáciles de usar para hacer el ecualizador, aunque necesita comprar la placa de desarrollo. :)

¿Ha visto filtros de audio y ecualizadores controlables digitalmente ?

Eso es creativo.
En otras palabras, ¿un optoaislador analógico?
Sí, pero con una fotorresistencia en lugar de un fototransistor. Se utilizan en limitadores ópticos o compresores, por ejemplo.
Un DSP no es una opción. El punto del proyecto es que el procesamiento de la señal es analógico. En cuanto a ese último enlace, no, no lo había visto, pero está muy cerca de lo que estoy pensando.
en cuanto a los de 6 anchos, ~$50 no está tan mal...
los anchos AD 6 tienen una tolerancia de +/- 30%
Sería muy difícil obtener un rango utilizable de esos optoacopladores. Mire las curvas de corriente frente a resistencia del LED: ~ 500 ohmios a 20 mA, 500-5 K ohmios a 1 mA, 500 k-10 M a 0 mA. Dudo que obtenga mucho rango de control utilizable con un controlador LED PWM. Quiero decir, para obtener 256 pasos en un rango utilizable, necesitaría controlar la corriente en pasos de 4uA. (probablemente mucho menos en realidad ya que la corriente -> la resistencia no es lineal)
@Mark: la tolerancia del 30% en la resistencia total del bote no debería tener ningún efecto significativo en un EQ. Podría cambiar un poco la forma cónica del control.
@Mark: no necesita 256 pasos para un ecualizador. ±15 dB en pasos de 1 dB son solo 30 pasos. Si la capacidad de accionamiento del PWM IC tiene 4096 pasos lineales (?) de 0 mA a 60 mA, eso es 15 µA para el más pequeño. Dado que todo se ejecuta desde un microcontrolador, puede omitir pasos en el firmware para obtener una respuesta de dB lineal o lo que necesite.
Se me acaba de ocurrir que reemplazar el LED con una pequeña luz incandescente podría funcionar... Tendrías que revertir la no linealidad, pero eso podría ser una tabla de consulta.
@BCS sí, pero recuerde que la salida de luz está relacionada con la temperatura, no con la corriente, por lo que tienen un tiempo de aceleración y desaceleración.
Esa es la razón para elegir una pequeña luz. Pequeño para que tuviera una constante de tiempo más pequeña y una lámpara para humedecer las cosas.

¿Qué tal esto? MCP4011-4014

Es $0.39 cada uno por 100QTY. Entonces, por 150 QTY, sería $ 58.50 + envío.

Eso haría bastante bien. Sin embargo, el +/- 20% no se ve tan bien. (Más dispositivos relacionados: microchip.com/ParamChartSearch/… )
@BCS Sí, el +/- 20% no se ve bien a primera vista, pero cualquier microcontrolador que use para configurar el potenciómetro digital también se puede cargar con datos/código de calibración, probablemente acercándolo mucho más a unos pocos por ciento, especialmente si recalibra en el arranque a una resistencia del 1%. Luego, puede lograr una mejor precisión escalando el firmware y seleccionando el toque apropiado.

Un JFET se puede configurar como una resistencia variable, operando en su región óhmica. Funciona en muchos casos.

Aquí está mi diseño über-crudo:

Vdd -----------+
               |
       R1     _|
  G -\/\/\-+-|_
           |   |
           \   v  put 
        R2 /   v  load
           \   |  here
           +---|
               |
GND -----------+

(Necesitamos un editor de esquemas: eso sería increíble).

Es un poco complicado sesgarlo (si es que esa es la palabra correcta) en la posición correcta. Hice un circuito de oscilador variable con uno antes. También diseñé un circuito de frecuencia variable PWM+ (variador de velocidad variable de frecuencia) para impulsar un motor usando un amplificador operacional dual y JFET.

Sin embargo, ¿cómo mantendría un microcontrolador un voltaje constante en todas estas puertas JFET? De todos modos, parece que tendrías que usar puertas de transmisión analógicas.
Lo mismo ocurre con el endolito: la razón principal por la que estaba mirando los FET era que daban una impedancia de puerta lo suficientemente alta como para que un pequeño condensador les permitiera mantener un estado determinado durante un período de tiempo razonable, al menos ms. (OTOH, funcionaría si no tuviera que conducir tantos. +1)
Sin embargo, esa preocupación también se aplica a mi idea de LED. Peor aún, en realidad, ya que necesita corriente constante en lugar de voltaje constante. Con puertas de transmisión de alta impedancia, podría multiplexar voltajes analógicos a cada puerta JFET, pero parece complejo.
El problema de almacenar la carga en el capacitor es que caerá rápidamente debido a las resistencias. (R2 deriva a tierra). Sin embargo, es posible usar un diodo para aislar la capacitancia de la puerta para almacenar una carga...

esto es menos una respuesta y más una palabra de precaución al usar potenciómetros digitales o dispositivos similares.

Asegúrese de observar cuidadosamente su modo de operación real y no solo la teoría o el circuito equivalente en la hoja de datos.

Hace unos años tuve un diseño que tenía varias entradas analógicas diseñadas para funcionar tanto a nivel de línea como de micrófono. Como tal, había una etapa de preamplificador diferencial que usaba un IC diseñado para ese propósito con ganancia ajustable de 0 a 60dB. Necesitábamos controlar el conjunto de ganancia digitalmente con un microcontrolador que se configuró con una sola resistencia externa. La resistencia estaba en la ruta de la señal y estaba acoplada a CA (oscilada +/- alrededor de tierra). Esto no se mencionó en la hoja de datos del preamplificador y no se esperaba ya que la salida del preamplificador se refería a la entrada ADC de un DSP. La salida osciló alrededor de 1,65 V y siempre permaneció sobre el suelo. A través de los comentarios del DSP, el sistema ajustó automáticamente la ganancia del preamplificador para acercarse mucho a la entrada de rango completo en el ADC para mejorar la resolución.

Al principio solo usé un potenciómetro digital AD que parecía ser un potenciómetro antiguo normal, todo indicaba que era una resistencia con una posición de limpiaparabrisas controlada digitalmente. Bueno, no lo fue. Internamente se implementó con una cascada de transistores configurados para presentar una resistencia constante. Esto no suena mal al principio, pero lo que significa es que la resistencia no puede pasar voltaje fuera de los límites de los suministros del potenciómetro. Lo implementé con 3.3V y GND para los 2 rieles, ya que eso es lo que usamos para E/S digital. Pero en esa configuración, la resistencia no podía pasar corriente con un voltaje negativo y simplemente cortó la parte inferior de cualquier señal acoplada de CA que la atravesara.

Eso fue un poco molesto, ya que significaba que necesitaba funcionar con los suministros analógicos pero aún tenía señales en serie de las partes digitales del circuito conectado.

De todos modos, el punto es asegurarse de hacer su diligencia y saber exactamente cómo se ve la señal que debe pasar a través de la resistencia variable y que funcionará dada la topología del diseño de la resistencia.

Gracias. Señalado. En este caso, sé qué señales pasarán a través de ellos (casi las mismas que tenías tú), así que todo lo que necesito verificar es que el bote es lo que creo que es.

Estoy de acuerdo con endolith en que deberías buscar seriamente otras formas de resolver el problema. Como no ha descrito el circuito al que está tratando de agregar este componente, y mucho menos ha publicado el esquema o la función de transferencia que está tratando de lograr, solo puedo suponer que hay formas más eficientes de resolver el problema.

¿Un terminal de su resistencia variable está conectado a un suministro? Esto hará que muchos enfoques sean mucho más factibles. En el caso de una conexión a tierra, por ejemplo, un MOSFET de tipo N, un condensador, una resistencia y un PWM probablemente serán suficientes para un potenciómetro de cambio (relativamente) lento.

La clave para diseñar una resistencia variable de estado sólido es operar en su transistor en la región activa, en lugar de permitir que se sature. Es probable que su aplicación de audio requiera una escala de ponderación logarítmica o de frecuencia de todos modos, entonces, ¿por qué no incorporar algunos comentarios o monitoreo, y no preocuparse por la ligera no linealidad?

Otras formas ¿De qué manera? ¿Evitar usar una resistencia variable de estado sólido? ¿Una arquitectura totalmente diferente? El primero podría funcionar, pero lo que estoy buscando en realidad necesitaría ~ 150 grados de libertad independientes, por lo que el segundo puede cambiar las demandas del componente pero no la cantidad necesaria. También dado el número necesario, necesito algo que tenga un bajo costo para todos los aspectos no compartidos.
Ya que publicaste la nota, puedo dar más detalles de una manera simple: ¡hazlo de la misma manera que lo hicieron ellos! ¿Realmente necesita un control más detallado que el que han implementado en su diseño? La red de 55k, 25k, 16k, 11k, 8k y 3k controlada por conmutadores FET le brindará, como se indica en la hoja de datos, una precisión superior a 0,1 dB sobre 12 dB. Puede ajustar estos números y/o recuentos de resistencias para obtener un mejor control o más pasos.
¿Construyendo tus propias macetas digitales para cada uno? :D Podría usar un multiplexor analógico en lugar de FET individuales. El CD4051 cuesta $0.15 en grandes cantidades y actúa como un interruptor SP8T, por ejemplo.
@reemrevnivek, lo he considerado e incluso hice un primer intento con los números: para obtener 256 pasos con el espaciado y la precisión que quiero, se requieren alrededor de 16 elementos (1 elemento = 1R, 1C y 2FET) de la respuesta de rdeml, puedo obtener 256 Pasos (lamentablemente lineales) por $ 0,25 y eso realmente empuja el bote de bricolaje por el costo.

Un enfoque aún no mencionado que es aplicable en algunos escenarios de baja frecuencia, aunque debe usarse con precaución, es reconocer que una resistencia que se enciende y apaga a través de la señal PWM lo hará, a frecuencias que son mucho más bajas que la frecuencia PWM. , se comportan aproximadamente como una resistencia más grande cuya resistencia es la del original dividida por el ciclo de trabajo PWM. Entonces, una resistencia de 1K con un ciclo de trabajo del 5% se comportará aproximadamente como una resistencia de 20K.

La mayor advertencia con este enfoque es que a menudo inyectará ruido en el sistema en la frecuencia PWM. Esto puede no ser un problema si los componentes que se ocupan de la señal pueden filtrar ese ruido limpiamente, o si pueden transmitirlo sin distorsión a otros componentes que sí lo hagan. Antes de usar un diseño de este tipo, uno debe asegurarse de que se cumpla uno de los requisitos anteriores. El hecho de que un componente tenga una frecuencia útil máxima no implica que filtrará limpiamente las cosas por encima de esa frecuencia. Muchos amplificadores, por ejemplo, se distorsionarán si la señal de entrada hace que la velocidad de respuesta de salida exceda sus capacidades. Si se alimenta un amplificador con una mezcla de una señal de 1KHz a 0DB y una señal de 1MHz a -20DB (10% del voltaje del original), la velocidad de respuesta de salida para el componente de 1MHz sería 100 veces mayor que la del componente de 1KHz. Eso' Es muy posible que la velocidad de respuesta del componente de 1 KHz esté dentro de las capacidades del amplificador, pero el componente de 1 MHz no; eso a su vez podría causar que la porción de 1 KHz de la salida salga severamente distorsionada.

Eso podría funcionar bien (y limpiamente) si la carga es lo suficientemente inductiva.
@BCS: No creo que la carga inductiva sea lo que se necesita. Si la tasa de PWM está sustancialmente por encima de la frecuencia más alta de interés (por ejemplo, por un factor de 100), cada etapa de filtrado reducirá el nivel de ruido por un factor de 10 a 100 (100 en el caso ideal; 10 en un caso fácilmente alcanzable). ; un caso práctico estaría en algún punto intermedio). La pregunta es si el ruido inyectado causará distorsión antes de que suceda, y eso depende del diseño del circuito. Por lo menos, agregar un poco de filtrado puede permitir que el enfoque PWM sea utilizable y eliminar la necesidad de cosas más sofisticadas.