Hacer un DAC de escalera de resistencia R-2R puro con compensación ajustable

Estoy buscando hacer un DAC para mi Arduino para poder generar valores que abarquen casi por completo desde 0V hasta el suministro de 5V. Debido a que no tendré acceso a ningún riel de +12V o -12V ni nada, me temo que no podré incorporar amplificadores operacionales u otros componentes activos.

Afortunadamente, los DAC de la red de resistencias R-2R se ajustan perfectamente a los requisitos...

esquemático

simular este circuito : esquema creado con CircuitLab

Afortunadamente, lo que estoy manejando tiene una alta impedancia de entrada, por lo que este circuito funciona muy bien para mis necesidades. Sin embargo, no necesito los voltajes más bajos en el rango, por lo que esperaba desarrollar una red de resistencias que tuviera un desplazamiento . Entonces, para una red de n bits, en lugar de obtener 2^n valores dentro de 0V-5V, tal vez podría obtener 2^n valores entre, digamos, 1V-5V.

Mientras buscaba en Google, encontré un fragmento invaluable en Wikipedia que decía: "No es necesario que cada "peldaño" de la escalera R-2R use los mismos valores de resistencia. Solo es necesario que el valor 2R coincida con la suma de los Valor R más la resistencia equivalente a Thévenin de los peldaños de menor importancia.". Entonces, pensé que podría agregar un pequeño divisor de voltaje para "levantar" el terreno que está viendo la red principal:

esquemático

simular este circuito

Debido a que la resistencia de Thevenin de la esquina inferior izquierda (las dos resistencias de 100 ohmios en el divisor de voltaje más la resistencia de 150 ohmios) sigue siendo de 200 ohmios, todavía obtengo voltajes bastante lineales con valores binarios crecientes.

Sin embargo, este arreglo deja dos cosas que desear. En primer lugar, requiere que sepa, de antemano, cuánto de un impulso querré. Sería bueno si pudiera tener un potenciómetro allí, en algún lugar, para poder marcar cualquier elevación que desee.

En segundo lugar, hay un límite en la cantidad de elevación que puedo obtener. Incluso si modifico el divisor de voltaje para que me proporcione la alimentación completa de 5 V en el lado izquierdo del circuito, parece que la mayor elevación que puedo obtener es (5 V/2^n).

¿Alguien sabe de diferentes formas de ajustar el circuito para resolver cualquiera de estos problemas?

¿Hay alguna razón por la que no quiera usar una señal PWM y un filtro de paso bajo para generar los voltajes analógicos?
Creo que PWM fue la primera forma en que iba a hacerlo, pero no pude lograr que la salida fuera lo suficientemente fluida. Todo esto es parte de un circuito para medir la ondulación de CA en las fuentes de alimentación de CC bajo cargas de corriente variables. Este DAC está impulsando el transistor que está poniendo la carga en la fuente de alimentación. Si hubiera alguna ondulación en este voltaje, ondearía la corriente de carga y afectaría mis lecturas.
Solo pierde una fracción de bit si pasa de 0-5 a 1-5V o tales diferencias de rango. Dudo mucho que valga la pena la molestia y la no linealidad de probar esto.
@ user36129 Una fracción de bit puede ser útil si solo tiene tres bits, y no obtendrá mucho más que eso al hacer una escalera como esta.

Respuestas (3)

Bueno, ciertamente puede obtener amplificadores operacionales que funcionan bien desde un riel de 5V, pero ignorando esa parte de la pregunta y concentrándose en los dos puntos de 0V en el primer circuito, si estos estuvieran en 1V, entonces no habría problema. Sin embargo, las salidas de la MCU (que se muestran como interruptores conectados a 0 voltios o al riel positivo) no se pueden desconectar de 0 V.

Pero, si usó un montón de interruptores analógicos (como básicamente ha dibujado en el diagrama), esto funcionaría bien. Los dos puntos de tierra de forma triangular podrían conectarse a cualquier voltaje anormalmente bajo (como 2 V o 1 V) y el rango de su DAC se extendería desde cualquier voltaje que elija para la "tierra" hasta cualquier voltaje que elija para el otro suministro a los interruptores analógicos.

Hay partes adecuadas que funcionan desde 5 V y dan una impedancia muy baja para la capacidad "en" y más allá de los rieles. Intentaré encontrar uno para recomendar.

Aquí hay un solo dispositivo (una octava parte del camino) que hace SPDT, pero estoy seguro de que con un poco de búsqueda se podría encontrar un dispositivo cuádruple (a mitad de camino): -

ingrese la descripción de la imagen aquí

¿Intentaste solo levantar tu matriz R2R?

esquemático

simular este circuito : esquema creado con CircuitLab

Disminuye y eleva el área de trabajo de DAC, y también disminuye el paso de DAC.

Estoy de acuerdo con el último colaborador en introducir un nuevo msb para forzar el resto de los bits en la mitad superior o inferior.

Si desea ajustar hacia arriba en una cantidad sub-lsb, también puede jugar con el 2R a tierra (generalmente se muestra en el extremo izquierdo). Con esto conectado a tierra, el valor binario de entrada de cero da como resultado una salida de cero voltios y todos unos da como resultado una salida de Vref menos un lsb. Al elevar la resistencia 2R a Vref, una entrada binaria de todos los ceros da como resultado un lsb de voltaje y todos los unos dan Vref en la salida. Cualquier cosa intermedia se puede lograr generando el punto izquierdo a través de un divisor de voltaje entre Vref y tierra siempre que la combinación paralela de las patas del divisor de voltaje se mantenga en 2R. Por ejemplo, se obtendría medio lsb para 4R a tierra y 4R a Vref. Es como si la resistencia 2R a tierra en el extremo izquierdo fuera el verdadero lsb.