Activar botones con un diodo

1

novato total aquí. Estaba leyendo esta publicación:
enlace

Básicamente, se trata de disparar un botón en un IC desde un pin arduino (verde).

Entiendo cómo funciona el segundo método, simplemente pasa el botón de un lado a otro utilizando el transistor como interruptor, aunque no estoy seguro de para qué sirve la resistencia. No estoy seguro si entiendo cómo funciona el primer método. Entiendo que la acción se activa cuando el pin IC está conectado a GND.

Ahora, creo que el pin arduino está conectando el diodo a un pin como salida baja (¿0V? ¿GND?) y eso activa el pin IC a GND para que se realice la acción. Para apagarlo, establece el pin arduino en Entrada y simplemente funciona. ¿Cómo?

¿Funcionará si el IC y el arduino están conectados a diferentes fuentes de alimentación?

    
pregunta Arkaitz Jimenez

2 respuestas

2

El blogpost no dice qué es el IC, pero si se trata de un CMOS IC (un IC lógico o un microcontrolador), el pin necesita una resistencia pull-up. 100k \ $ \ Omega \ $ es un buen valor. Si no coloca el resistor, la entrada no estará definida cuando el interruptor esté abierto. La resistencia hará que la entrada sea alta.

Primero el transistor. Un transistor PNP tiene dos flujos de corriente: una pequeña corriente desde el emisor a la base y una corriente (posible) mayor desde el emisor hasta el colector. La corriente del colector del emisor normalmente será un múltiplo de la corriente de la base del emisor, pero puede estar limitada por componentes externos. La relación actual está definida por el \ $ H_ {FE} \ $ del transistor, que a menudo es más de 100 para los transistores de señal pequeños. Por lo tanto, 1 mA desde el emisor hasta la base permitirá 100 mA desde el emisor hasta el colector.

La unión de la base del emisor es en realidad un diodo, y tiene la misma caída de voltaje que un diodo común a corrientes bajas, aproximadamente 0.7V. Así que la base estará a 2.3V (3V - 0.7V). Si conectara el Arduino sin la resistencia y redujera su salida, tiene un problema. Conectaría directamente un punto a 2.3V con otro punto a 0V, lo que significa un cortocircuito, y la corriente alta puede dañar su Arduino y el transistor. Al colocar una resistencia limitas la corriente. Una resistencia de 2200 \ $ \ Omega \ $ la limitará a aproximadamente 1mA (2.3V / 2200 \ $ \ Omega \ $ = 1mA). Por lo tanto, una salida baja en el Arduino permitirá que fluyan al colector un mínimo de 100 mA. Sin embargo, la impedancia de entrada del IC será muy alta y la corriente real se limitará a unos pocos \ $ \ mu \ $ A. Sin embargo, eso es suficiente para hacer que el voltaje del colector se acerque al emisor, tan cerca de 3V, y la entrada del IC será alta. Nota: al igual que el otro esquema necesita una resistencia de pull-up, esta necesita una resistencia de pull-down para tener un nivel definido cuando el interruptor está abierto. Si la base del transistor es alta, no habrá ninguna corriente de base, por lo tanto, no habrá corriente de colector, y la resistencia desplegable hará que la entrada del IC sea baja. Nota: entiendo que el Arduino funciona a + 5V, luego hacer que la salida sea alta hará que la base sea 2V más alta que el emisor. Normalmente no quiere hacer eso, porque la unión de la base del emisor solo puede sobrevivir a una pequeña tensión inversa. Sin embargo, 2V todavía será aceptable.

Luego el diodo. Si la salida del Arduino es alta, no hay una caída de voltaje en el diodo, por lo que no conducirá ninguna corriente, y el pull-up hará que la entrada sea alta. Si la salida del Arduino es baja, la corriente fluirá desde + 3V a través de la resistencia de pull-up y el diodo a tierra. El ánodo del diodo estará alrededor de 0.7V por encima del cátodo, por lo tanto a 0.7V. La mayoría de los circuitos integrados lógicos verán esto como un nivel bajo.

La razón por la que necesita el diodo: si conectara directamente el IC al Arduino con la salida alta del Arduino, cerrar el interruptor cortocircuitaría la salida a tierra.

    
respondido por el stevenvh
0

En el segundo método, tienes razón, el transistor simplemente actúa como un interruptor. La resistencia se requiere (casi) en la base (entrada) de un transistor de unión bipolar como ese. Un BJT es básicamente un amplificador de corriente. Usted inyecta una pequeña corriente en la base (a través de la resistencia), y permite un flujo de corriente mucho mayor desde el colector hasta el emisor. Demasiada corriente en la base dañará el transistor y el arduino.

El primer método es más sutil. El interruptor tiene dos estados:

  • Cerrado. Esto hace que el pin IC se asiente fuertemente a tierra.
  • Abrir. Esto permite que la resistencia interna del IC tire del pin suavemente a 5v.

Ahora, simplemente puedes conectar el Arduino directamente al pin IC. La salida de Arduino tiene dos estados:

  • bajo. Se tira fuertemente a tierra.
  • Alto. Se tira fuertemente a 5v.

El problema surge si presiona el botón mientras la salida de Arduino es alta. Ahora tienes el botón tirando con fuerza hacia el suelo y el Arduino tirando fuertemente a 5v. Este es un cortocircuito y soplará el pin de salida de Arduino.

El diodo evita esto al cambiar el efecto que Arduino tiene en el pin IC. Ahora tienes:

  • bajo. Se arrastra fuertemente a tierra a través del diodo.
  • Alto. La alta tensión está bloqueada por el diodo, y el pin IC es empujado suavemente por la resistencia interna del ICI.

Si se presiona el botón al mismo tiempo que el pin del Arduino está alto, entonces la corriente alta de cortocircuito está bloqueada por el diodo, y todo es seguro.

    
respondido por el Rocketmagnet

Lea otras preguntas en las etiquetas