Después de descubrir lo horrible que es la ondulación de CA en algunos de mis adaptadores de pared de 5VDC, decidí hacer un programa Arduino para calcular el componente de RMS AC y el componente de CC de un adaptador con diferentes cargas de corriente.
Mi problema actual es que el Arduino (y sus ADC y DAC) se ejecutan en 5V, por lo que 0-5V es su rango de entrada y salida analógica. Muchos adaptadores "5V" producen algo más que eso (y también quiero poder probar adaptadores de 9V y 12V). Entonces, quiero una forma para que el Arduino atenúe la entrada hasta algo dentro del rango de 0-5 V, y la única forma en que puedo hacer esto es usar la salida de voltaje analógica del Arduino (que, me doy cuenta, es solo PWM digital). Por lo tanto, necesito un atenuador controlado por voltaje.
Los requisitos de la aplicación son:
- Debe ser capaz de atenuar la entrada desde una ganancia de 1 hasta una ganancia de alrededor de 0.25 (para obtener, digamos, una entrada de 15V dentro de el rango ADC 0-5V)
- El rango de control voltajes también debe estar dentro de 0-5V. Además, el rango no puede ser demasiado pequeño, ya que El Arduino solo puede seleccionar 256 valores entre 0-5V. En otras palabras, No puedo tener una tensión de control de 2.000 V, dame una ganancia de 1 y un voltaje de control de 2.001V me da una ganancia de 0.25, ya que Arduino no tiene ese tipo de control sobre su salida analógica.
- Cualquier atenuación debe afectar las partes de CA y CC por igual, o de lo contrario, mis relaciones ac_component / dc_component serán erróneas.
- Me gustaría mucho no tener que suministrar rieles de voltaje adicionales. Por ejemplo, no quiero tener que suministrar un + 12V y -12V para un cierto op-amp. Si todo se puede hacer con un riel de 5V, eso es optimo O, + 12V probablemente también estará bien.
- La atenuación no necesita ser lineal con el voltaje. Todo lo que busco es poder calcular (RMS ac_component / dc_component), y esas relaciones se mantendrán iguales sin que yo sepa la atención exacta.
- Entiendo que los JFET (ver los esquemas a continuación) no son tan adecuados para la operación de CC por problemas térmicos o algo así. La deriva gradual en la atenuación está bien. Mi programa Arduino solo toma muestras de los voltajes del adaptador de pared durante aproximadamente 1/10 de segundo. Mientras la ganancia no cambie apreciablemente durante ese lapso de tiempo, las cosas están bien.
Lo primero que probé fue esta muestra que encontré. Hizo lo que quería, pero está invirtiendo, por lo que la salida termina siendo negativa (y fuera del rango de 0-5 V del Arduino).
Entonces, me di cuenta de que el amplificador operacional probablemente estaba reduciendo la impedancia de salida de lo que realmente es solo un divisor de voltaje con un JFET en lugar de uno de los resistores, y no lo necesitaba porque el Arduino tiene una impedancia de entrada mucho mayor que las fuentes de alimentación que probaré, así que intenté esto ...
pero estoy consiguiendo algo extraño. Parece que el componente de CA se está viendo afectado por el voltaje de entrada del control de ganancia, pero no por el componente de CC (ver requisito 3). Claramente no entiendo los FET como debería. ¿Alguien puede sugerir algunas soluciones a este enfoque o sugerir una alternativa?