Detección de voltaje analógico en Arduino sin cargar el circuito de entrada

Quiero diseñar un divisor de voltaje para mi pin de entrada analógica Arduino, para poder detectar el cambio de voltaje en un circuito de 9V, 250mA (sin cargarlo).

He programado el Arduino para que, tan pronto como se detecte una caída de voltaje, mi Arduino realice el resto de su trabajo (programado para crear una serie específica de retrasos que necesito).

En otras palabras, ¿cómo puedo crear una señal que sea proporcional a los cambios en la señal de 9 V que funciona a 250 mA sin extraer ninguna corriente adicional ni crear caídas de voltaje en el circuito original?

El siguiente enlace me dio gran información sobre cómo puedo usar optoacopladores y eso habría resuelto mi problema, pero CNY17 no puede operar a más de 60 mA (de lo contrario, ¿lo habría puesto en serie con el circuito original?) ¿Cómo puedo usar un 12 V ? entrada en un pin Arduino digital?

¡Cualquier ayuda es muy apreciada!

edit1: Déjame tratar de describir mejor el problema. Tenía la sensación de que parecía vago en mi intento de minimizar la descripción. El circuito de 9 V al que me refería es básicamente un medidor de flujo de agua que comienza a girar cuando se detecta un flujo y corta los 9 V CC aplicados en pulsos, un controlador de riego conectado al otro extremo (esto es lo que aplica los 9 V en el medidor de flujo) mide la frecuencia de estos pulsos y determina el flujo del agua (en gpm) Usando Arduino, estoy construyendo un circuito que iniciará una serie de retrasos tan pronto como detecte un flujo. 9VDC = sin flujo, cortado 9V = flujo Sin embargo, como no puedo conectar 9V directamente a Arduino, necesito algún tipo de divisor de voltaje, pero la razón por la que debe aislarse de este circuito del medidor de flujo de 9 V es porque el controlador de riego está calibrado para leer cualquier cambio en el voltaje y no quiero que dé una lectura falsa. Supongo que puedo usar algo de corriente del circuito original; actualmente funciona a 230 mA y no sé cuánto puedo agregar sin confundir al controlador, algo que debe probarse para averiguarlo. También me imagino que una pequeña caída de voltaje (1-2 voltios) debería estar bien.

por ejemplo: estaba considerando usar un optoacoplador, con el fotodiodo en serie con el circuito del medidor de flujo, pero no quiero reducir la corriente original (230 mA) en una cantidad significativa para que no dé una entrada falsa al controlador de riego. Al mismo tiempo, los optoacopladores que estoy viendo no permiten más de 60 mA.

Espero que esto ayude a entender un poco mejor el problema. Estoy feliz de responder más preguntas.

Estrictamente hablando, si desea realizar una medición, deberá extraer algo de corriente para eso. Esta corriente puede ser minúscula, pero será distinta de cero. Las siguientes preguntas nos ayudarán a comprender mejor su problema. ¿Por qué esta carga adicional es un problema para usted? ¿Cuál es la corriente de carga máxima que puede tener? Dar un número con alguna justificación. Por favor, no digas "lo más pequeño posible". Finalmente, ¿cuál es el propósito de esta medición de voltaje? ¿Qué estás intentando lograr?
Además de las preguntas de Nick Alexeev, ¿cuál es la amplitud de la caída de voltaje que le preocupa en la línea de 9 voltios?
Parece que deberías estar considerando un comparador
@NickAlexeev Permítanme tratar de describir el problema en detalle:
@NickAlexeev Consulte la publicación original actualizada con una descripción detallada. Gracias por su ayuda

Respuestas (4)

Dada su nueva descripción mejorada, probablemente debería usar TÉCNICAS DIGITALES para buscar flancos descendentes en su señal cortada de 9V. Use la señal para impulsar la base de un transistor y una resistencia bastante grande para limitar la corriente. Alimenta el transistor con 5 voltios.

Un optoacoplador necesita absorber suficiente corriente para impulsar un fotoelemento, y probablemente consumirá más corriente que un simple circuito de transistor.

Detectar sus flancos descendentes es una forma mucho más eficiente de lidiar con todos sus problemas que el muestreo de la señal analógica.

esquemático

simular este circuito : esquema creado con CircuitLab

Si ejecuta esta simulación, en realidad se está invirtiendo, por lo que detectaría flancos ascendentes. Usé un transistor genérico, pero un 2n3904 estaría bien.

¡Esto parece ser una gran idea! Más simple que construir un circuito OPAmp de ganancia unitaria junto con un divisor de voltaje resistivo (como traté de describir en el comentario anterior). Como quiero detectar los bordes descendentes, supongo que necesitaría un transistor pnp. ¿Alguna recomendación, sobre qué resistencias base de valor y qué transistores?
@Ameya, le proporciono un circuito inversor en la respuesta ahora.

Lo mejor para usted es usar el búfer del amplificador operacional. Usted puede leer sobre ello aquí:

http://en.wikipedia.org/wiki/Buffer_amplifier#Voltage_buffer

Este es un búfer de amplificador operacional simple y se puede realizar utilizando el amplificador operacional 741 IC

El circuito en el diseño de un búfer es solo un amplificador operacional, nada más. Aunque podría considerar reducir los 9V a 5V para evitar daños en el arduino. Aquí será útil un divisor de voltaje. Entonces, primero use el amplificador de búfer (esto evitará cargar el circuito de entrada) y luego use una configuración de divisor de voltaje para convertir los 9V a 5V. Esto debería solucionar tu problema.

Tengo que hacer una excepción a esta respuesta. ¿De dónde viene la energía para el amplificador operacional? Si proviene de 9V, entonces está cargando el circuito de 9V. Si proviene de 5V (o 3.3V) en la placa arduino, entonces no puede usar un seguidor de ganancia unitaria, porque la entrada es de hasta 9V. La salida no podrá exceder VCC. Si coloca un divisor de voltaje en la entrada del búfer del amplificador operacional, bueno, no sabemos con seguridad si eso es diferente a poner un divisor en la entrada del ADC de arduino porque no sabemos la impedancia de entrada todavía.
@mkeith ¡Esa es una buena excepción! Sin embargo, dado que conduzco mi Arduino con un adaptador de 12 V separado, estaba pensando en usarlo para alimentar el Om-Amp. Tenía en mente usar un LM358 de potencia única como un seguidor de voltaje de ganancia unitaria y tener un divisor de voltaje resistivo simple en su salida para generar mi pin de entrada analógica en el arduino. alguna idea sobre eso?
Eso debería funcionar. Y como la impedancia de entrada del arduino es demasiado alta, no afectará el voltaje de salida de la red divisora ​​de voltaje.
@Santosh, ¿cuál es la impedancia de entrada real del ADC de arduino?
bueno, la búsqueda en Internet me dice que la impedancia de entrada del ADC suele ser de 100 MOhms.
Eliminé mi voto negativo ya que al OP le gustó la idea. Disculpas.

El método más fácil y económico sería usar un divisor de voltaje con resistencias de gran valor (ambos mayores a 100k en este caso). Si conectaste la salida de tu circuito de 9V en serie con una resistencia de 200k y una resistencia de 100k, el voltaje en el medio de las resistencias sería de 3V, cómodamente en el medio del rango operativo de 5V de Arduino.

Para fines prácticos, un divisor de voltaje de gran valor no cargará su circuito fuente ya que, según la Ley de Ohm, 9V dividido por la resistencia total, 300k, es 30uA. Esto es 0.01% de la corriente de su fuente y, por lo tanto, puede ignorarse.

Si no se puede ignorar esta pequeña corriente, busque en los circuitos de amplificadores operacionales, que tendrán corrientes de entrada en el rango de nA o menos.

EDITAR: Sí, la carga del circuito ADC podría ser un problema. La forma más fácil de evitar esto sería conectar el divisor de voltaje de gran valor, que describo aquí, al seguidor de voltaje del amplificador operacional que se muestra a continuación. Esto reduciría el voltaje a un nivel que el arduino puede manejar y evitaría la carga del circuito ADC.

Hay otro problema potencial. A veces, las entradas de ADC pueden estar en el rango de 100 k en términos de impedancia de entrada. A veces tienen sus propios divisores de voltaje en el interior. Cuando esto sucede, no se pueden usar divisores de resistencia de alto valor. El OP debe verificar si se especifica la corriente de entrada del ADC o la resistencia de entrada.

Puede usar entradas analógicas o digitales, ya que no necesita medir el voltaje exacto, solo detectar interrupciones.

El divisor de voltaje de alto valor sugerido es todo lo que necesita, ya sea para analógico o digital. Si está ejecutando su Arduino en 5v, puede reducir los 9V a la mitad. Por lo que dice, realmente no necesita preocuparse mucho por cargar el circuito: necesitará mucho menos de los 230 mA que ya consume para realizar una medición. Por ejemplo, dos resistencias de 4,7 K solo consumirán alrededor de 1 mA. Podría usar 10 veces eso o más aunque.

Todo esto supone que su arduino se alimenta por separado, ¿verdad? Deberá compartir la tierra del Arduino con el lado negativo del circuito de 9v.

Es posible que tenga problemas mayores, aunque podría haber picos en la línea de 9V. Por lo tanto, es posible que desee usar una pequeña tapa en la línea y/o agregar un diodo invertido. Pero esa no es la pregunta que hiciste, así que esto es solo un aviso.