Autor Tema: como programar pic 16f628a con 555 como reloj  (Leído 4183 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado chachan

  • PIC10
  • *
  • Mensajes: 3
como programar pic 16f628a con 555 como reloj
« en: 19 de Junio de 2018, 13:04:25 »
hola gente soy nuevo en el foro mi nombre es ivan y vengo a preguntarles a ustedes si pueden ayudarme en este tema sobre como seria la programacion para q funcione el 555 como reloj oscilador en la puerta A (RA4/T0CKI/CAMP2), o si hay otra manera de colocarlo en los osc1 / osc 2. Actualmente los utilizaba con cristal o reloj interno pero necesito utilizarlos con 555 para regular la velocidad manualmente con un potenciometro.

imagen como esta actualimente la programacion del pic:
 

Realize busqueda en varios foros y no encontre nada al respecto. Le agradeseria si me pueden ayudar

Desconectado Pinolillo16

  • PIC18
  • ****
  • Mensajes: 324
Re:como programar pic 16f628a con 555 como reloj
« Respuesta #1 en: 19 de Junio de 2018, 13:31:44 »
Que tal, nunca he visto que un 555 sea la fuente de oscilación de un micro. Por el TOCK1/RA4 solo es posible que funcione como fuente del timer1. Esto puede hacer alguna interrupción. pero si no es problema, cual es tu función deseada? Porque quieres variar el tiempo?

Saludos

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:como programar pic 16f628a con 555 como reloj
« Respuesta #2 en: 19 de Junio de 2018, 14:21:23 »
Deberia configurarlo como un oscilador externo y meter la oscilacion por el pin OSCx que sea para eso.

El problema es que seguramente intenta hacer algo que puede hacerse con un oscilador fijo. Pero a la unica solucion que el llego es esa, la del 555.

Desconectado chachan

  • PIC10
  • *
  • Mensajes: 3
Re:como programar pic 16f628a con 555 como reloj
« Respuesta #3 en: 19 de Junio de 2018, 15:04:53 »
hola gracias por contestar yo e visto aqui en mi provincia como utilizan algunos pic y suponia q usaban 555 en puerta a (TOCK1/RA4) y por lo que veo estaba confundido. Estuve buscando y e encontrado q el pic 16f628a tiene oscilador rc. Podria conectarse al 555 en (RA7/OSC1/CLKIN)?. Seria la entrada y dejar libre RA6/OSC2/CLKOUT ( sin utilizar).

Necesito utilizarlos con un regulador de velocidad ya que este secuenciador va a ser utilizado en una carroza y al momento de llegar al jurado necesito jugar con la velocidad por temas de iluminacion.
Les dejo un video para q miren en donde se lo utilizan.



Desconectado Pinolillo16

  • PIC18
  • ****
  • Mensajes: 324
Re:como programar pic 16f628a con 555 como reloj
« Respuesta #4 en: 19 de Junio de 2018, 15:22:54 »
Pero eso no lo logras con el oscilador, es mucho mas facil hacerlo con timer. O mejor aun porque no buscas otro micro mas actual, que tenga ADC. Aqui conectas el Potenciometro y el valor lo asignas a un timer. Con eso puedes cambiar tiempos pero nunca cambias el tiempo de oscilación. Que en cuanto a mi experiencia no debes realizar asi los cambios de velocidad.

Saludos

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:como programar pic 16f628a con 555 como reloj
« Respuesta #5 en: 19 de Junio de 2018, 16:57:11 »
A ver si te gusta esta solución.
Programas en una tabla la secuencia de encendido y apagado de las luces cada cierto tiempo fijo.

Esperas un tiempo que varia en función de una entrada analógica conectada a un potenciómetro.

Continúas con el siguiente valor de la tabla.

Así hasta acabar los valores y vuelves a comenzar.

Los valores puedes ser bytes. Cada uno de los 8 bits representa una salida del micro que se enciende o apaga.

Un saludo.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:como programar pic 16f628a con 555 como reloj
« Respuesta #6 en: 19 de Junio de 2018, 17:02:08 »
Con un Arduino te será más sencillo hacerlo. En ese caso puedes utilizar un RTOS para simplificar mucho el programa y quitar la tabla. Solo tendrías que programar para cada salida el tiempo encendida y el tiempo apagada. Con rutinas independientes para cada salida. Si cambias una, no afecta a las demás.
Yo lo hago con el RTOS Scoop.

Saludos.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino

Desconectado chachan

  • PIC10
  • *
  • Mensajes: 3
Re:como programar pic 16f628a con 555 como reloj
« Respuesta #8 en: 19 de Junio de 2018, 20:38:39 »
Hola nuevamente gracias por responder. En lo posible me gustaria usar el timer0 en los puerta A, ya que tengo 3 secuenciadores con este pic. No recurro a arduino porque el tema de gastar plata.
En caso de usar timer0 como tiene que quedar la programacion de la foto q publique.

Pd: gracias por las posibles soluciones con arduino o pic mas avansados

Desconectado Robert76

  • PIC24F
  • *****
  • Mensajes: 577
Re:como programar pic 16f628a con 555 como reloj
« Respuesta #9 en: 19 de Junio de 2018, 20:53:09 »
Hola, cómo comentan los compañeros, puedes utilizar un TIMER interno que trabaje por desborde, para modificar los tiempos ON/OFF, o también utilizando una variable que se  incremente, para generar la base de tiempo, etc, con oscilador de CPU interno o externo, cómo prefieras, pero nada de adaptaciones con 555.
« Última modificación: 19 de Junio de 2018, 20:58:36 por Robert76 »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:como programar pic 16f628a con 555 como reloj
« Respuesta #10 en: 19 de Junio de 2018, 22:52:16 »
Hola nuevamente gracias por responder. En lo posible me gustaria usar el timer0 en los puerta A, ya que tengo 3 secuenciadores con este pic. No recurro a arduino porque el tema de gastar plata.
En caso de usar timer0 como tiene que quedar la programacion de la foto q publique.

Pd: gracias por las posibles soluciones con arduino o pic mas avansados

De nada sirve la foto. Porque no indica nada del codigo, ya veo un par de cosas que no me gustan en la programacion. En ASM necesitaria ver todo el codigo. Y para eso mejor copiarlo y pegarlo al foro. O subir el archivo.
Para mi esto debe:

- Usar lenguaje C, para hacer algo en ASM te lleva mucho mas tiempo. Se puede hacer en ASM, va a llevar muchas mas instrucciones.
-  Timer e interrupciones seria lo ideal, Timer solo?, Si es timer solo mejor usar demoras con un contador y listo.
- Usar un cristal fijo, y luego se modifica cuando es que se activan por software, mucho mas simple que poner un 555 como comentas y mucho mas barato. Menos componentes menos posibilidad de fallas.
- Podes usar 2 botones o con un potenciometro para variar la velocidad.

Para mi tu aproximacion al problema es mala, al menos creo que nadie quiere complicarse la vida.
Y veo que no queres dar vueltas atras, y seguis con esa idea.

Entonces me quedan 2 opciones
1ra: decirte que no deberias, no ayudarte hasta que sigas por un camino que asegure la solucion, y cuando aceptes es responderte cualquier duda.
2da: darte como es que podes aplicar la solucion que VOS buscas, pero luego ni loco ayudarte si es que no funciona como queres y tratar de "arreglarlo" con ese agregado. Si funciona como queres entonces GENIAL. Esto no es por odioso o malo, sino es que estas agregandole capas de problemas.


¿Queres hacer lo que vos pensas que es correcto?
Esta es tu solucion:
La salida del 555 ponela en el pin OSC1
En tu programa ponele en la palabra de configuracion _FOSC_ECIO en ves de _INTOSC_OSC_NOCLKOUT

Listo, tenes tu PIC funcionando con la frecuencia que le va a dar el 555.