6 votos

Temporizador de tiempo aleatorio

Estoy construyendo un circuito simple que emite un pitido en un intervalo de tiempo dado, el uso de un temporizador 555. ¿Hay alguna forma más sencilla para cambiar aleatoriamente el tiempo en el temporizador 555 entre dos intervalos de, digamos, en cualquier momento entre 30 segundos y dos minutos? Ni siquiera estoy buscando la verdadera aleatorización, solo algo simple de hacer que el intervalo diferentes entre cada pulso. Idealmente, esto sería simple/suficientemente pequeño como para que yo pueda poner dos de ellas en un circuito con una 556 temporizador - el segundo sería sub-segundo tiempo para crear un "beep" cada vez. Alguna idea?

Gracias.

P. S. - bono si los intervalos se pueden ajustar con un potenciómetro?

11voto

RelaXNow Puntos 1164

Usted dijo que quiere simple y pequeño, pero sin embargo están utilizando un temporizador 555. Los dos están en desacuerdo el uno con el otro.

Devolver el 555 temporizador para cualquier museo se encuentra en el y el uso de un microcontrolador. La pequeña PIC10F200 puede hacer este trabajo. Se trata de un SOT-23, y sólo necesita una única derivación tapa parte adicional.

El resto es de firmware. Esta parte tiene un oscilador interno y 255 utilizable instrucción palabras. Eso es bastante para un poco de temporización y de números pseudo-aleatorios código. Usted puede incluso tener que hacer las múltiples salidas al mismo tiempo. Esta parte consta de seis pines: la energía, la tierra, uno de entrada y tres de I/O. por lo tanto, puede tener que producir hasta 3 eventos por separado directamente de sus patas.

Añadió:

Al parecer hay algún deseo para el control de la media de la longitud del intervalo de con un bote. Si eso es lo que usted desea, usted puede usar un PIC 10F220 en lugar de la 10F200. Que la foto tiene un 8 bits a/D y sólo cuesta un poco más que el '200 (todavía sólo $.38 en 100s en microchipdirect). De nuevo, la única otra parte, usted necesita a un lado de el microcontrolador es una derivación de la pac. El bote puede ser de alrededor de 20 kΩ o 47 kΩ. Los extremos se conecta a Vdd y gnd y el limpiaparabrisas a uno de los dos pines de entrada analógicos. El resto es de firmware.

6voto

Hagelin Puntos 6754

Supongo que el 555 se usa en configuración monoestable.

El intervalo está determinado por el RC, y C es fijo. R puede ser variado; por ejemplo, usando un LDR o un termistor. Por lo tanto, la constante de RC probablemente también cambie.

Por supuesto, existe la advertencia de que tal resistor / controlador variable debería estar expuesto al entorno adecuado para que su resistencia varíe.

Espero que esto ayude.

6voto

lillq Puntos 4161

Estoy de acuerdo con Olin: zanja el 555 y obtener un microcontrolador. El PIC10F200 es el primero que viene a la mente si usted sólo necesita un par de I/Os y de un programa sencillo. Gracias a la oscilador interno no necesita ninguno de los componentes externos requeridos por el LM555. El 10F200 está a sólo unos centavos más que el LM555 y puede sustituir fácilmente a dos de ellos. El LM556 hay competencia ya sea: que cuesta el doble de lo que usted paga por el 10F200.

Así Olin la respuesta es la correcta? No :-). Voy por el bono! Recientemente he encontrado el Atmel ATTiny5, que es comparable con el PIC10F200: mismo SOT23 paquete, mismo 512 bytes de memoria de programa, oscilador interno. PERO! El ATTiny5 tiene un ADC, que el PIC no tiene! Conectar el potenciómetro y el bono es mío! :-)

(También se puede hacer un crudo ADC con el PIC, pero tiene 2 pines que se pueden utilizar como salidas, y desde ya tenemos dos salidas y una e/S de la 10F200 es sólo de entrada, vas a tener que dar hasta que el timbre de salida. Edit. En el segundo pensamiento, puede hacerlo con una e/S, pero se necesitan dos resistencias de un condensador en lugar de una resistencia y un condensador.)

El software va a ser muy parecido al de la foto: programa de un LFSR (Linear Feedback Shift Register):

enter image description here

De 8 bits LFSR puede recorrer hasta 255 combinaciones antes de que se repite, una de 16 bits LFSR a 65535. Utilice el potenciómetro de lectura para definir el recorte de los valores para el temporizador.

4voto

ozmank Puntos 127

Seguro que es trivial. Acaba de obtener un registro de desplazamiento, quad puerta XOR y una olla en el 555 o el uso de Schmitt inversor a hacer lo mismo (Relajación Osc) y el conductor de un contador binario para obtener el periodo mínimo de 1 minuto. El uso de otro inversor para hacer un tono diferente. El uso de un RC retraso de una puerta XOR y tienes un one shot para cada transición. La puerta que con su tono de voz o el uso de otro Schmitt inversor para hacer otro fijo f tono, o usar el mismo tono para cuando los intervalos de cambio con el bote, el cambio de tono, tono demasiado.

Buscar alabanzas de dios, PRNG, LFSR o RNG o... ....todo lo que necesitas es un 8 etapa aleatorio generador de secuencias. Ya no existen polinomios puede utilizar simplemente demasiado. Si usted utiliza un inversor en los comentarios, todos los ceros o un reset puede ser utilizado como el punto de partida de la semilla. O usted puede cargar una semilla aleatoria de otra manera.... Pero todos los 1 es ilegal. Esto tendrá sentido después de ver el diseño clásico . ( Yo lo he utilizado en 1976 )

En la 2ª pensamiento , sólo desea una proporción 4:1 de .5 a 2 minutos y esto crearía un radio de 8:1 . Que no es demasiado difícil de solucionar... usando fija el tiempo de retardo de 30 segundos y un mayor polinomio PRNG para una mejor resolución, a continuación, utilizar un flip flop o 2 puertas para establecer después de 30 segundos y se restablece después de 2 minutos. Ahora corra que en VHDL y ponerlo en una simple CPLD chip. A continuación?

-5voto

ozmank Puntos 127

555 son tan vieja escuela... Puedes hacer 6 osciladores con inversor HEx Schmitter o utilizar NAND Schmitt.

Luego usar ambas entradas del XOR con RC demora en hacer un doblador de una frecuencia de disparo.

Realmente esto es toda la vieja escuela y utilizar un registro de desplazamiento no D FF. y contador de ondulación binario para achicar el reloj.

Sólo tiene que utilizar un protoboard.

enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X