¿Puedo usar dos pines digitales Arduino en paralelo para mantener un voltaje más alto?


8

Estoy usando un pin digital como fuente de alimentación para un sensor (debería consumir ~ 7mA).

Desafortunadamente, el sensor baja el voltaje del pin digital de 3.3v a 3.0v, lo que no es suficiente para el sensor.

¿Puedo unir dos pines digitales y permitir que ambos mantengan un voltaje más alto? ¿O va a liberar el humo mágico de mi mini / no hacer nada?


66
"Tengo uno de mis pies debajo de la pata más corta de mi escritorio para evitar que se tambalee, pero todavía se tambalea un poco. ¿Debo poner mi segundo pie allí para mantenerlo firme?"
Ignacio Vazquez-Abrams

44
"Una casa con un piso bien equipado para soportar correctamente el escritorio es la solución correcta aquí".
kolosy

Quiero decir, ustedes dos no están equivocados jaja +1 a ambos @ IgnacioVazquez-Abrams
Passerby

Dejó de lado muchos detalles, como el tipo de arduino (procesador, 5V o 3v3) y el tipo de sensor (¿qué voltaje mínimo requiere a esos 7 mA, y es ese promedio o pico?).
Wouter van Ooijen

jajaja obtienes un +1 por el comentario de humo mágico jaja
Anthony Russell

Respuestas:


14

Si pero no.

Sí, puede usar dos pines para obtener más corriente, o en su caso, obtener menos corriente de cada uno. Esta es una práctica común, pero no se usa con frecuencia en microcontroladores. Dispositivos como controladores LED o controladores de motor ULN2803, o la conexión de múltiples transistores en paralelo. Incluso múltiples resistencias en paralelo. En un microcontrolador, no realmente diseñado para levantar cargas pesadas, todavía tiene que lidiar con la caída de voltaje, debe asegurarse de que los pines conectados en paralelo a una sola fuente nunca estén en diferentes estados alto / bajo (creando un corto), y hay que tener en cuenta que un pin puede ser más fuerte que el otro (realidades de fabricación). Se recomienda que coloque ambos pines en el mismo puerto, para que puedan cambiarse al mismo tiempo, minimizando cualquier posibilidad de corto.

PERO no, realmente no funcionará para ti. No dice qué Arduino Mini, pero realmente no importa, las diferentes versiones tienen chips ATMega168 o ATMega328 y tienen especificaciones similares, al igual que la mayoría de los microcontroladores. Los pines de salida experimentan caída de voltaje . A medida que aumenta la fuente o la fuente de corriente, el voltaje disminuye o aumenta, según la dirección de la corriente y el nivel de voltaje.

Las dos cosas que necesita ver son las características de CC para Voh (salida de voltaje alta) y la fuerza del controlador de clavija.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

No muestran características para todos los niveles de VCC, pero 2.7v y 3.0v están más cerca de su VCC de 3.3v que 5.0v, por lo que utilizaremos esos dos gráficos.

Observe que la condición de prueba para VCC = 3v es que Ioh (salida de corriente alta) es -10 mA (fuente de corriente, es 10 mA). A 10 mA de origen, el Voh es un mínimo de 2.3v. Eso es 0.7v menos que VCC.

Ahora mire el gráfico, con corriente en un lado y voltaje en el otro. Cuando la corriente de salida en Logic High es de 0 mA, el voltaje del pin estará en 2.7v, o VCC. A 5 mA, el voltaje del pin será de 2.5 v. Acabas de perder 0.2v. A 10 mA, está a ~ 2.2v, una pérdida de 0.5v.

Incluso si pone dos pines en paralelo, básicamente está reduciendo a la mitad la corriente entre los dos, pero suponiendo un pico de 8 mA, eso sigue siendo 4 mA cada uno, y eso es aproximadamente 0.2v más bajo que VCC. Necesitaría algunos pines en paralelo, lo que podría conducir a un mayor riesgo del que desea y tomar múltiples pines sin una buena razón.

No enumera el sensor que está utilizando, pero sobre todo, debe conectarlo directamente al suministro de 3.3v, o usar un transistor / mosfet en un solo pin si necesita tener control sobre el suministro de energía del sensor.


Genial, gracias. ¿funcionaría aquí un simple transistor de unión, o necesito un mosfet completo? Pensando en esto: sparkfun.com/datasheets/Components/BC546.pdf
kolosy

1
@kolosy honestamente, podría o no. Cualquier señal pequeña npn o mosfet puede funcionar, pero ninguna es perfecta. Y tu sensor es sensible. Si una diferencia de 0.3v vcc impide que funcione, puede tener problemas con cualquiera de ellos. Un transistor npn tiene una caída de aproximadamente 0.2v en VCE (no es lo mismo que la caída de 0.6v en VBE para los transistores de silicona). Eso significa 3.1v para su sensor y 0.2v para el transistor. Un mosfet tiene una resistencia DS muy baja, pero podría ser suficiente para afectar su sensor. ¿Es su sensor un sensor de 3v o 3.3v o 3.6v?
Passerby

1
en realidad, no es tan sensible, solo estoy en el rango inferior de su clasificación de potencia. puede hacer 3.3v - 20v, y produce 0-3v como salida. es solo un sensor de humedad: vegetronix.com/Products/VH400 ... todo esto funciona con una batería LiPo, así que puedo alimentar la línea de la batería, que no caerá por debajo de 3.4v más o menos.
kolosy

@kolosy oh, sí, ese npn está bien, como cualquier otro, 2n3904, 2n2222, cualquier pequeña señal sería excelente.
Passerby

6

Podrías ... pero es una mala idea.

Los pines típicos del microcontrolador pueden obtener o hundir fácilmente hasta 40 mA (al menos, esto es típico de los chips AVR con los que se construyen la mayoría de las placas Arduino). Por lo tanto, el sorteo actual no es el problema

También es común que los pines configurados como salidas digitales estén entre unas pocas y unas docenas de milivoltios debajo del riel de suministro, lo que significa que un suministro de 3.3V no se mostrará completamente en el pin de salida. Esto se conoce como caída de voltaje.

Si su sensor necesita un suministro de voltaje más alto, necesitará aumentar su raíl de suministro (por ejemplo, de 3.3V a 5V) o alimentar el sensor externo del Arduino, es decir, conectar su pin de fuente de alimentación directamente a su fuente de 3.3V .

Además, no es una buena práctica usar un pin de E / S como fuente de alimentación directa para nada, sino que se puede usar un pin para controlar un interruptor eléctrico, como un MOSFET u otro IC de conmutación.


1

Las especificaciones en el sensor dicen 3.3V a 20V.

Si tiene un voltaje mayor a 3.3V en el tablero, le sugiero que lo use en su lugar.

El sensor aún le dará una salida de 0-3V.

Incluso con dos pines de la CPU conectados entre sí, todavía va a caer por debajo de 3.3V por bit, y el sensor estará fuera de especificaciones.

Si a) no hay un voltaje más alto disponible, o b) necesita apagar la alimentación del sensor, sugeriría usar un canal lógico FET del canal p para suministrar energía al sensor.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.