Estoy tratando de diseñar un sistema de luz ambiental usando 4 LED RGB que serán alimentados por una fuente externa de 9V y un Arduino para su procesamiento.
Lista de:
Como puede ver, lo que he intentado hacer es:
Lo que esperaba es que la salida PWM de Arduino regulara el voltaje de los emisores entre 0 ~ 9V y, por lo tanto, pueda atenuar el LED con mis potenciómetros.
En cambio, lo que obtuve es que el voltaje es 0,7 V inferior al que recibe la base de Arduino y se ignora el voltaje suministrado al colector. De hecho, incluso puedo desconectar la batería de 9V y los LED seguirán encendidos.
De una pregunta anterior , ¿creo que este es un comportamiento de emisor-seguidor?
¿Hay alguna manera de volver a cablear esto y obtener el comportamiento esperado? O tendré que conseguir algunas partes diferentes. Me dieron los LED incorrectos (cátodo común en lugar de ánodo) pero la tienda no estará abierta hasta dentro de unos días para obtener un reemplazo, así que estoy tratando de arreglármelas con lo que tengo.
Ignore la falta de resistencias entre el emisor y el LED. Los he omitido por simplicidad.
Las cosas relacionadas con una conmutación del lado alto de un voltaje más alto que el voltaje de control no son tan simples como parecen.
Tomemos, por ejemplo, el siguiente circuito controlado con un pin de E/S de Arduino
Cuando el pin de E/S está BAJO, el voltaje a la base será 0, eso significa que el Vbe será de 9v y como es> 0.7v, el transistor estará encendido.
Cuando el pin I/O es ALTO, el voltaje a la base será de 5v, eso significa que el Vbe será de 4v y como es >0.7v, el transistor también estará encendido.
Básicamente, esa configuración no puede funcionar como un interruptor porque el transistor siempre estará encendido.
Para hacer que un circuito como el anterior funcione correctamente, debe agregar un traductor de nivel que realmente impulsará la base con 0v y 9v (o cualquiera que sea el nivel de voltaje del colector), un circuito como
Una alternativa de un circuito de lado alto de transistor único en funcionamiento es un seguidor de emisor como
El problema es que, en este caso, el emisor seguirá el voltaje base cuando el transistor esté encendido, por lo que para el voltaje de control de 0 y 5v obtendrá una salida de 0 y 4.3v sin importar el voltaje conectado al colector (dentro de las especificaciones del transistor, por supuesto) que puede que no se adapte a su aplicación específica.
Otra alternativa es usar un dispositivo como ULN2003/2803 pero destinado a la conmutación lateral alta. Dicho dispositivo es UDN2981 que tiene 8 controladores de fuente como los siguientes y se puede usar como un interruptor lateral alto controlado por lógica de nivel TTL.
La solución más rápida es usar transistores PNP para la conmutación del "lado alto" e invertir su sincronización PWM. Guardo una bolsa de 50 o 100 2N3904 (NPN) y 2N3906 (PNP) para estas situaciones.
Hay una buena explicación aquí Cambiando 9V usando un transistor NPN y un Arduino
Puede intentar usar un suministro dividido. Retire los puentes de los LED a tierra. Tome una segunda batería de 9V y conecte el terminal + a la tierra de su sistema y el terminal - al común de los LED. Esto forma un suministro de más y menos 9 V y permite que los LED extraigan corriente desde "por debajo de 0 V". Mueva sus resistencias de límite de corriente al lado del colector de las NPN. Creo que esto funcionará, y si no, no debería doler nada.
Ignacio Vázquez-Abrams
marco
Ignacio Vázquez-Abrams
PedroJ
marco
marco
Ignacio Vázquez-Abrams
PedroJ
marco
Ignacio Vázquez-Abrams
marco
olin lathrop