¿Cómo usar sensores de salida de 3.3V y 5V con Arduino?

13

Para obtener la resolución completa de Arduino ADC al usar sensores de 3.3V, debe hacer dos cosas.

  1. Conecte la fuente de alimentación de 3.3V al pin AREF.
  2. Llame a analogReference (EXTERNAL) en el código.

Pero, ¿qué pasa si debo mezclar sensores de salida de 3.3V y 5V? ¿Cuáles son mis opciones?

tuupola
fuente

Respuestas:

10

Una solución simple es usar un divisor de resistencia (relación aproximadamente 1: 1.94) y reducir la señal de 5v a un pico de 3.3v De esa manera, mantendría la resolución completa sin necesidad de cambiar la referencia. Un divisor adecuado sería usar un 18k desde el sensor a la entrada analógica y un 33k desde la entrada analógica a tierra. Esto traduciría la entrada de 5v a una entrada de 3.23v. El uso de resistencias de mayor precisión lo acercaría a 3.3v si fuera necesario. Debe asegurarse de que el sensor pueda suministrar la corriente necesaria para un valor dado, en este caso, aproximadamente 0.1 mA. La resistencia de entrada de las entradas analógicas ATMega es de aproximadamente 100 M ohmios, por lo que puede aumentar estos valores (reduciendo la carga en el sensor) significativamente antes de preocuparse por el efecto de la resistencia de entrada.

JohnC
fuente
3

Dos cosas: viva con la resolución reducida de los sensores de 3.3v y mantenga su referencia a 5V. Eso es lo que suelo hacer y es lo suficientemente bueno.

También puede cambiar su referencia analógica sobre la marcha al leer cada sensor respectivo. Recuerdo haber leído sobre mezclar referencias externas y referencias internas y tener una resistencia limitadora en serie en su AREF, así que lea cuidadosamente esa parte de la referencia de Arduino.

ka1kjz
fuente
2

También puede considerar buscar versiones más nuevas de sus sensores. Es posible que pueda adquirir sensores que funcionen con los mismos límites de voltaje, o que descubra que hay disponibles versiones más recientes de los sensores que le proporcionarán salidas digitales y pueden sondearse con I2C u otros protocolos simples de comunicación en serie. Por supuesto, requeriría comprar un nuevo chip, pero no son terriblemente caros y no solo eliminaría el problema, sino que probablemente proporcionaría a su proyecto un mayor nivel de precisión ya que no tiene que preocuparse por el ruido en tu circuito

A falta de rediseñar todo su proyecto para que se ajuste a nuevos chips, John C y el jamón brindan soluciones excelentes y simples. En mi experiencia, he ejecutado un sensor 3v3 con un suministro y referencia de 5v y he tenido problemas más grandes con el ruido que con la resolución perdida para proyectos casuales. Esta es la salida más fácil, pero requiere que hagas algunos cálculos, y he votado la publicación de ka1kjz en consecuencia (consulta las hojas de referencia).

En lo que respecta a la solución del divisor de voltaje, siempre que use resistencias de mayor precisión obtendrá la ventaja de tener todas sus mediciones en el mismo rango de voltaje y obtendrá el beneficio de corrección radiométrica de usar AREF para seguir cualquier fluctuación de voltaje. Sin embargo, en la práctica, he descubierto que el ruido y la falta de técnicas de calibración en mis proyectos han contribuido a más errores que una pequeña fluctuación de voltaje o resistencias del 10% que podrían causar razonablemente. Por esa razón, también he votado por la solución de JohnC, ya que cubre todo esto con más detalle.

Lou
fuente