Use 555 para PWM adicional de 40 KHz en Arduino

Necesito transmitir señales infrarrojas usando IR LED desde mi dispositivo Arduino. Las señales IR consisten en períodos PWM de 40 kHz y períodos de "silencio" de varias longitudes (señales remotas IR típicas).

Sé que hay una biblioteca remota IR que usa registros de reloj internos, pero desafortunadamente, mi dispositivo ya tiene todos los pines PWM en uso.

Necesito encender el LED IR con un PIN normal. Hasta donde yo sé, no es posible lograr 40 kHz exactos en el PIN de salida digital solo con software. Por lo tanto, me gustaría incluir un circuito 555 entre el PIN de salida digital de Arduino y el LED IR para que el alto estado del PIN digital provoque un parpadeo del LED a 40 kHz.

No estoy seguro de cómo debería verse el cableado.

Estaba pensando en usar este esquema:

Esquemático

( Fuente )

Y adjuntando +5V al PIN de salida de Arduino, pero creo que esta solución no es perfecta. ¿Hay alguna forma mejor de conectar el 555 al pin de salida de Arduino?

Actualización: utilicé la solución descrita por akellyirl a continuación y funciona perfectamente. Usé R1=1000Ohm, potenciómetro de 2000Ohm como R2 y C1=C2=10nF. Los pulsos activados por el pin arduino conectado al pin Reset de 555 de longitud entre 400 y 1600 microsegundos son interpretados correctamente por mi Technics HiFi.

Dejaría el 555 siempre encendido y sincronizado, y luego controlaría la señal del LED con un transistor controlado desde el Arduino.
@Majenko, perdón por las preguntas básicas, pero ¿cómo se debe conectar exactamente el transistor al LED y al PIN de salida de arduino?
PNP (o MOSFET de nivel lógico de canal P) entre 5V y R1 es el diseño más simple. Es posible que desee invertir su señal de control con un NPN desde la base del PNP a tierra; de lo contrario, un ALTO se apagará si está apagado y un BAJO lo encenderá (está bien si recuerda que es así;))
@Majenko: es más fácil simplemente conectar el pin Arduino a la entrada de reinicio del 555 (pin 4).
Es cierto, aunque ¿qué tipo de retrasos en el inicio obtienes del pin de reinicio? (menos que controlar el poder, supongo).

Respuestas (2)

Ese esquema está mal dibujado y es difícil de entender. Ver aquí para un buen tutorial.

ingrese la descripción de la imagen aquí

De todos modos, deberías usar Arduino para controlar el pin RESET (pin4). High habilita el Oscilador, Low lo deshabilita.

Además, sería mucho mejor no controlar los LED directamente desde el 555.

Consulte esta pregunta relacionada para obtener más información sobre cómo hacerlo.

Ok, entonces debería conectar el PIN 4 al PIN de salida de Arduino directamente en lugar de +5V, ¿verdad? Utilizo un LED IR en 5V con una resistencia de 100 ohmios, por lo que toma menos de 50 mA, creo que NE555 debería manejarlo sin transistor en el PIN 3.
@PanJanek Sí. Lo entendiste. Una mirada rápida a la hoja de datos del NE555 muestra una capacidad de +/- 200 mA en la salida.

La frecuencia no necesita ser muy precisa para IR. Descubrí que incluso el error del 10% funciona bien.

Entonces, los microsegundos de retraso deberían funcionar bien, siempre que no necesite que su arduino haga otra cosa al mismo tiempo, para controlar directamente los LED (usando un transistor, ya que los pines de arduino no pueden entregar suficiente corriente) a 38 kHz.

Acerca de esos leds: deben tener cada uno su propia resistencia limitadora de corriente. Dado que dos LED no tendrán exactamente el mismo voltaje directo (y dado que la corriente varía con el voltaje más o menos exponencialmente), los LED paralelos pueden ver una corriente muy diferente (lo que afecta la eficiencia y el envejecimiento).