Estoy construyendo un circuito simple que emite un pitido en un intervalo de tiempo determinado, usando un temporizador 555. ¿Hay alguna forma simple de aleatorizar el tiempo en el temporizador 555 entre dos intervalos dados, digamos, cualquier tiempo entre 30 segundos y dos minutos? Ni siquiera estoy buscando una verdadera aleatorización, solo algo simple para hacer que el intervalo sea diferente entre cada pulso. Idealmente, esto sería lo suficientemente simple/pequeño como para poder poner dos de ellos en un circuito con un temporizador 556; el segundo sería una sincronización de menos de un segundo para crear un 'pitido' diferente cada vez. ¿Algunas ideas?
Gracias.
PD: ¿bonificación si los intervalos se pueden ajustar con un potenciómetro?
Estoy de acuerdo con Olin: deshazte del 555 y obtén un microcontrolador. El PIC10F200 es el primero que viene a la mente si solo necesita un par de E/S y un programa simple. Gracias al oscilador interno no necesita ninguno de los componentes externos que requiere el LM555. El 10F200 cuesta solo unos centavos más que el LM555 y puede reemplazar fácilmente a dos de ellos. El LM556 tampoco es competencia: cuesta el doble de lo que pagas por el 10F200.
Entonces, ¿la respuesta de Olin es la correcta? No :-). ¡Voy por el bono! Recientemente encontré el Atmel ATTiny5 , que es comparable con el PIC10F200: mismo paquete SOT23, misma memoria de programa de 512 bytes, oscilador interno. ¡PERO! ¡El ATTiny5 tiene un ADC , que el PIC no tiene! ¡Conéctale el potenciómetro y la bonificación es mía! :-)
(También puede hacer un ADC crudo con el PIC, pero necesita 2 pines que puede usar como salidas, y como ya tenemos dos salidas y una E/S del 10F200 es solo entrada, tendrá que renunciar esa salida de zumbador Editar. Pensándolo bien, puede hacerlo con una E / S, pero necesitará dos resistencias y un condensador en lugar de una resistencia y un condensador ) .
El software será muy parecido al del PIC: programe un LFSR (registro de desplazamiento de retroalimentación lineal):
Un LFSR de 8 bits puede recorrer hasta 255 combinaciones antes de repetirse, un LFSR de 16 bits hasta 65535. Use la lectura del potenciómetro para definir los valores de recorte para el temporizador.
Dijiste que quieres algo simple y pequeño, pero aún estás usando un temporizador 555. Esos dos están en desacuerdo entre sí.
Devuelva el temporizador 555 al museo donde lo encontró y use un microcontrolador. El diminuto PIC10F200 puede hacer este trabajo. Viene en un paquete SOT-23 y solo necesita una pieza adicional de tapa de derivación.
El resto es firmware. Esta parte tiene un oscilador interno y 255 palabras de instrucción utilizables. Eso es suficiente para un poco de tiempo y un código numérico pseudoaleatorio. Incluso puede hacer que haga varias salidas al mismo tiempo. Esta parte tiene seis pines: alimentación, tierra, una entrada y tres E/S. Por lo tanto, puede hacer que produzca hasta 3 eventos separados directamente desde sus pines.
Aparentemente, existe cierto deseo de controlar la duración promedio del intervalo con un bote. Si eso es lo que quiere, puede usar un PIC 10F220 en lugar del 10F200. Ese PIC tiene un A/D de 8 bits y solo cuesta un poco más que el '200 (todavía solo $.38 en 100s en microchipdirect). Nuevamente, la única otra parte que necesita además del microcontrolador es una tapa de derivación. El bote puede rondar los 20 kΩ o los 47 kΩ. Los extremos están conectados a Vdd y tierra, y el limpiaparabrisas a uno de los dos pines de entrada analógica. El resto es firmware.
Seguro que eso es trivial. Simplemente obtenga un registro de desplazamiento, una compuerta XOR cuádruple y un potenciómetro en el 555 o use un inversor Schmitt para hacer lo mismo (Relaxation Osc) y maneje un contador binario para obtener el período mínimo de 1 minuto. Use otro inversor para hacer un tono diferente. Use un retardo RC uno de una puerta XOR y obtendrá un disparo para cada transición. Comparta eso con su tono o use otro inversor Schmitt para hacer otro tono f fijo, o use el mismo tono para que cuando cambie los intervalos con el potenciómetro, el tono también cambie de tono.
Busque PRSG, PRNG, LFSR o RNG o... ... todo lo que necesita es un generador de secuencia aleatoria de 8 etapas. También hay polinomios más largos que puedes usar simplemente. Si usa un inversor en la retroalimentación, todos los ceros o un reinicio se pueden usar como semilla inicial. O puede cargar una semilla aleatoria de otra manera.... Pero todos los 1 son ilegales. Esto tendrá sentido después de ver el diseño clásico. (Lo usé en 1976)
Pensándolo bien, solo desea una proporción de 4:1 de 0,5 a 2 minutos y esto crearía una proporción de 8:1. Eso no es demasiado difícil de arreglar... usando un retraso de tiempo fijo de 30 segundos y un PRNG polinomial más alto para una mejor resolución, luego use un flip flop o 2 puertas para configurar después de 30 segundos y reiniciar después de 2 minutos. Ahora ve a ejecutar eso en VHDL y colócalo en un chip CPLD simple. ¿Próximo?
Supongo que el 555 se usa en configuración monoestable.
El intervalo está determinado por el RC y C es fijo. R puede variar; por ejemplo, mediante el uso de un LDR o un termistor. Por lo tanto, la constante RC probablemente también cambiaría.
Existe, por supuesto, la advertencia de que una resistencia/controlador variable de este tipo tendría que estar expuesto al entorno adecuado para que su resistencia varíe.
Espero que esto ayude.
Los 555 son tan de la vieja escuela... Puedes hacer 6 osciladores con un inversor HEx Schmitter o usar Schmitt NAND.
Luego use ambas entradas de XOR con retardo RC en una para hacer un duplicador de frecuencia de un solo disparo.
En realidad, todo esto es de la vieja escuela y usa un registro de desplazamiento, no D FF. y contador de ondas binarias para escalar el reloj hacia abajo.
Solo usa una placa de prueba.
A
significa "Responder", no "Argumentar" :) No se trata solo del OP, debe dejar contenido valioso para todos los lectores
Federico Ruso
cris
Tony Estuardo EE75
cris