Necesita ayuda para hacer que estos circuitos emisores/receptores de infrarrojos y su potencia sean más estables.
Construcción de una gran instalación de arte LED de 8' x 10' (se incluyen detalles en proceso). Mariposas LED en una arboleda que interactúan con el espectador. Integrado a la estructura de "árbol" de las instalaciones, habrá un campo de señales de emisores de infrarrojos con receptores de infrarrojos individuales (construidos como "mariposas") que activan y desactivan un grupo de LED cuando el espectador entra y sale del área.
La concepción es una gran variedad de señales de emisores de infrarrojos, que emiten a 38 kHz a una distancia de aproximadamente un metro, y una gran cantidad similar de "mariposas", cada una con su propia carga de receptor-transistor-LED encendida por la recepción de una señal. rebotando en un espectador cercano (de lo contrario, apagado).
Funciona en el circuito de prueba pero lo hace solo por un momento. Los amperios fluctúan desde la fuente de alimentación de banco del emisor, comenzando en 20 mA y aumentando hasta 40 y más. Una vez que sube el amperaje del emisor, los LED del receptor se apagan. Eso es malo. Deben permanecer encendidos mientras se reciba una señal. No estoy seguro de cómo estabilizar esa señal de 38Khz del LED emisor. Los circuitos son los simples y comunes que se encuentran en todas partes y los valores del emisor de infrarrojos/temporizador 555 astable se derivan de una calculadora en línea. Entiendo que el cableado en el circuito de prueba está muy desordenado y eso contribuye a la inestabilidad, PERO, ¿deberían funcionar estos circuitos como se propone si todos los componentes están ordenados en una PCB pequeña? La PCB del emisor tendría la forma de una "hoja" y la PCB de los receptores separados tendría la forma del cuerpo de una mariposa. ¿Habría algún cambio sugerido que debería hacer/ajustar con potencia o resistencia ANTES de enviar los esquemas a una tienda de PCB?
Probablemente debería ser evidente, pero soy un artista, no un ingeniero. Necesita ayuda para mantener estos circuitos sólidos, simples, pequeños y potentes para que la interacción/arte se muestre. Nota al margen: He estado buscando una consulta de EE, estoy dispuesto a pagar razonablemente por tiempo/experiencia, pero como esta no es una aplicación comercial, no puedo encontrar a nadie dispuesto (consulta sugerencias bienvenidas :) Por favor, ayuda.
Veo un defecto fatal en el enlace óptico infrarrojo.
El receptor de infrarrojos espera una cadena "ráfaga" de pulsos de 38 kHz. La hoja de datos explica que los 38 kHz deben estar encendidos momentáneamente, unos 600 microsegundos, y luego apagados durante 900 microsegundos. Las especificaciones de la hoja de datos china son difíciles de descifrar: cuando transmites 38 kHz continuos (como lo estás haciendo), el receptor se acostumbra a la señal, al igual que tus ojos se acostumbran al sol brillante (y cierran su iris). Al menos un usuario ha notado que este receptor también es propenso a la insensibilidad a la luz solar. Otros receptores similares podrían funcionar mejor.
Su idea básica es sólida, y ese receptor IR puede funcionar fácilmente a una distancia de 1 M. Su circuito 555 que maneja el IRLED necesita un temporizador adicional para "romperse" durante 900 microsegundos.
El receptor IR debe incluir alguna forma de mantenerse activo bajo durante ese descanso de 900 microsegundos. He agregado un capacitor de 0.22uF para lograr esta función, pero supuse que la resistencia interna de pull-up es de 39k ohmios. Muchos receptores de infrarrojos tienen esta resistencia: es posible que la hoja de datos china no especifique esta parte. La constante de tiempo R1*C1 es fundamental para salvar el descanso necesario de 900 microsegundos:
usaría un microcontrolador muy pequeño en lugar del temporizador 555 para controlar el IRLED... menos partes. Puede generar la ráfaga de 38kHz que dura 600 microsegundos, y también agota el período de "apagado" de 900 microsegundos. Élincluso podría conducir el IRLED directamente a través de una resistencia de pequeño valor.
;Drive an infra-red LED cathode with digital output pin GP2.
;LED anode goes to +5V thru small series resistor, at 38000 Hz.
;23 cycles of 38 kHz, lasting about 600 microseconds
;turn IRLED off (high), lasting about 900 microseconds.
;Repeat this sequence forever.
;Default internal clock speed is 4MHz: instruction rate is 1000000/sec.
;All timing depends on 1MHz instruction rate!
;DON'T FORGET TO PULL notMCLR to LOGIC HIGH, else nothing runs!! Don't let it float.
;If you pull notMCLR low, IRLED goes off, until notMCLR goes high again.
;Watchdog timer is active - code resets it.
;By default, internal comparator is disabled from interfering with GP2 output pin.
;December2018
;
#include p10f200.inc ;register names defined here
;Macros:
#define ledon bcf GPIO,GP2 ;turn IRLED on by dragging cathode low.
#define ledoff bsf GPIO,GP2 ;turn IRLED off by dragging cathode high.
__CONFIG _MCLRE_ON ;GP3/MCLR pin functions as MCLR input..pull it high with
;a resistor to light up LED. Pull it low to turn LED off.
cnt equ 0x10 ;first available RAM location
burstcnt equ 0x11 ;a counter for burst length
;---------------------------------------------------------------
;
ORG 0000h ;start address from power-up or watchdog
andlw 0xFE ;reset to zero least sig bit: disable FOSC/4 output on GP2
movwf OSCCAL ;write oscillator calibration byte.
b setup ;go configure this simple environment...
;
setup:
movlw 0xDF ;make GP2 available as programable I/O pin rather
OPTION ;than TMR0 clk...write it to OPTION register
mainloop:
movlw 0x0b ;make GPIO 2 an output (not input) for driving IRLED
tris GPIO
movlw .23 ; init counter for six-hundred microsecond loop timer
movwf burstcnt ;it will be decremented to zero later.
shloop:
ledon ;macro to turn on IRLED
movlw 3 ;now waste some time....about 13us.
movwf cnt
decfsz cnt,f ;a short time-wasting loop
b $-1 ;loop for LED off period.
clrwdt ;clear the watchdog so it doesn't disturb us.
ledoff ;macro to turn off IRLED
movlw 3 ;now waste some time....about 13us.
movwf cnt
decfsz cnt,f
b $-1 ;time-wasting loop for LED on.
decfsz burstcnt,f ;done with 600 us burst?
b shloop ;no, complete this burst with more 38 kHz. cycles
;--------------------------------------------------------
ledoff ;turn IRLED off for remaining 900 microseconds
movlw .149 ;time-wasting counter for 900 us.
movwf cnt ;initialize off period count
nhloop:
nop
nop
nop
decfsz cnt,f
b nhloop ;countdown loop for LED off period.
b mainloop ;start again....600:on, 900:off loop forever
;--------------------------------------------------------
END ;finish assembler code.
JRE
adlib33e
edgar marrón
adlib33e