Autor Tema: Me podrian decir si puedo usar 2 temporizadores por separado en un pic  (Leído 4052 veces)

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

Desconectado morph79

  • PIC10
  • *
  • Mensajes: 6
Saludos a todos

No soy nuevo en los pic he hecho algunas aplicaciones secuenciales con pic en lo que me resultan de maravillosos pero por lo general uso plc's.
pero como esta aplicacion es para uso personal el usar plc me resulta caro.

quisiera que me ayudaran en decirme si se puede hacer esto en un pic.

quiero sleccionar entre 4 opciones tiempo y apagado  por ejemplo 1,2 y 3 horas y apagado con un selector de 4 polos y cuando se cumpla el tiempo que escogi  me active una salida, esta   se apagara cuando presione un boton de reset y se reiniciara el ciclo.
hasta aqui yo podria hacerlo, pero ahora mi problema es que quiero usar otra salida con su selector y boton de reset correspondientemente o sea que estaria corriendo 2 temporizadores al mismo tiempo.

por ejemplo esta corriendo la salida 1 y lleva 1:30  de tiempo y el retardo lo puse a 2 horas y si yo enciendo la otra salida y le pongo 1 hora que empieze la cuenta regresiva pero sin afectar el timer de la otra salida.

espero me hayan entendido.

en caso de que si se pueda me ayudarian guiarme por donde buscar o que instrucciones usar para lograr esto.

saludos...


Desconectado martincnc

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 352
Re: Me podrian decir si puedo usar 2 temporizadores por separado en un pic
« Respuesta #1 en: 14 de Octubre de 2010, 01:02:20 »
Hola morph79.

Es completamente posible tener 2 temporizadores/contadores funcionando al mismo tiempo. La mayoría de los microcontroladores de la gama media poseen hasta 3 de estos con un pre-escalador independiente para cada uno de ellos, y solo tienen en común la frecuencia de reloj del microcontrolador.

Ahora, creo que para tu proyecto con un solo temporizador es suficiente, seria cuestión de establecer un temporizador como base de tiempo para que interrumpa cada 1 minuto por ejemplo. Luego, teniendo en cuenta la cantidad de interrupciones que han ocurrido a partir del reinicio de cada una de las salidas (minutos/interrupciones) se pueden tomar las acciones que correspondan a cada una de las salidas. Lo mismo ocurre para establecer el tiempo que las salidas deben permanecer activas, en caso de que las salidas no queden activas indefinidamente.

por ejemplo esta corriendo la salida 1 y lleva 1:30  de tiempo y el retardo lo puse a 2 horas y si yo enciendo la otra salida y le pongo 1 hora que empieze la cuenta regresiva pero sin afectar el timer de la otra salida.

Según los datos de tu ejemplo, una de las formas de aplicar lo que menciono anteriormente sería de la siguiente manera:


RESET "1" --> SALIDA "1" = 120 minutos restantes (registro_1 = 120)
V
1 interrupción (1 minuto transcurrido) --> restar 1 a registro/s, activar salida_"x" si registro_x = 0
V
SALIDA "1" = 119 minutos restantes (registro_1 = 119)
V
89 interrupciones/minutos mas tarde... --> 89 * (restar 1 a registro/s, activar salida_"x" si registro_x = 0)
V
SALIDA "1" = 30 minutos restantes (registro_1 = 30) & RESET "2" --> SALIDA "2" = 60 minutos restantes (registro_2 = 60)
V
30 interrupciones/minutos mas tarde... --> 30 * (restar 1 a registro/s, activar salida_"x" si registro_x = 0)
V
SALIDA "1" = 0 minutos restantes (registro_1 = 0) --> activar SALIDA "1" & SALIDA "2" = 30 minutos restantes (registro_2 = 30)
V
30 interrupciones/minutos mas tarde... --> 30 * (restar 1 a registro/s, activar salida_"x" si registro_x = 0)
V
SALIDA "2" = 0 minutos restantes (registro_2 = 0) --> activar SALIDA "2"


Es mas mucho mas fácil de lo que parece, de todas formas si no se entiende podes preguntarme de nuevo

Saludos!

Desconectado f-traxx

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 116
Re: Me podrian decir si puedo usar 2 temporizadores por separado en un pic
« Respuesta #2 en: 14 de Octubre de 2010, 04:06:56 »
Lo que te ha dicho el amigo martincnc  esta bien, la idea es esa, pero primero tienes que decir que PIC vas a utilizar, si solo quieres hacer eso con uno chiquitito te va bien, pero eso si, mira los datasheet para ver que tenga como minimo dos temporizadores, como ya te han dicho la mayoria llevan hasta 3, yo creo que con el PIC 16F627A o 628A tendras de sobras y son baratos y faciles de encontrar,
a parte tienen tres temporizadores, uno de los cuales Timer1 es de 16 bits, espero que te haya servido de ayuda.

 

Desconectado morph79

  • PIC10
  • *
  • Mensajes: 6
Re: Me podrian decir si puedo usar 2 temporizadores por separado en un pic
« Respuesta #3 en: 14 de Octubre de 2010, 17:04:53 »
Hola

Muchas gracias por responder, me ha quedado claro la duda que tenia de que s se pueden tener 2 contadores de tiempo, ahora el problema es saber como utilizarlos, por lo que he leido se hace con el TMR0, no estoy muy familiarizado con las interrupciones o como funcionan dentro del pic, por lo que me pondre a leer un buen rato, me voy a disponer a bajar unos ejemplos y simularlos con el mplab haber si capto algo.

por cierto el pic que he usado es el 16f84a y el unico lenguaje que manejo es el ensamblador.

si tienen alguna documentacion que me pueda ser de ayuda de como usar el TMR0 se los agradecere mucho. por lo pronto yo hare mi tarea en leer y buscar informacion y posteare mis dudas.

muchas gracias...

Desconectado sander

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 624
Re: Me podrian decir si puedo usar 2 temporizadores por separado en un pic
« Respuesta #4 en: 14 de Octubre de 2010, 20:47:29 »
Hola morph79 el PIC16F84A solo tiene un temporizador (TMR0), aunque leas en la hoja de datos que tambien esta el WDT (watch dog timer), este en realidad tiene otro uso, por lo que tendrias de ver de realizar tu aplicacion con un solo temporizador, ahora personalmente creo que la mejor informacion esta en la hoja tecnica del microcontrolador, pero en este post de suky encontraras varios ejemplos que te resultaran bastante utiles, tambien podrias pasar un rato y buscar en el almacen de assembler.

Saludos
La electrónica es el arte de manipular señales eléctricas que transportan información
Jan Davidse

Visita mi blog
Visita mi canal de youtube

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Me podrian decir si puedo usar 2 temporizadores por separado en un pic
« Respuesta #5 en: 14 de Octubre de 2010, 21:20:48 »
Hola.

Pues seria mejor usar un reloj para llevar mejor la cuenta de horas y minutos .... de esa manera puedes asignar un horario de encendido para cada cosa y el tiempo que quieras que permanezca encendido. No seria necesario el Timer ... solo bastaría el reloj externo (pues, para mayor precisión) y el uso de una interrupción externa.


Saludos
« Última modificación: 14 de Octubre de 2010, 23:38:28 por MLO__ »
El papel lo aguanta todo

Desconectado morph79

  • PIC10
  • *
  • Mensajes: 6
Re: Me podrian decir si puedo usar 2 temporizadores por separado en un pic
« Respuesta #6 en: 14 de Octubre de 2010, 21:30:06 »
Gracias Sander

Esos ejemplos son de mucha ayuda, estare revisandolos detenidamente.

otra pregunta ahorita que he estado viendo ejemplo he vistos que la programacion en basic es mas corta y sensilla, el programar los TMR0 tambien es man sencillo
en el basic? estoy pensando serianmente en mejor intertarle usando basic claro que para esto tendria que aprenderlo primero, preo creo que me sera mas sencillo en un futuro programar en basic.

me han sido de mucha ayuda sus respuestas.

gracias.....

Desconectado morph79

  • PIC10
  • *
  • Mensajes: 6
Re: Me podrian decir si puedo usar 2 temporizadores por separado en un pic
« Respuesta #7 en: 14 de Octubre de 2010, 21:49:50 »
Hola.

Pues seria mejor usar un reloj para llevar mejor la cuenta de horas y minutos .... de esa manera puedes asignar un horario de encendido para cada cosa y el tiempo que quieras que permanezca encendido. No seria necesario el Timer ... solo bastaría el reloj externo (pues, para mayor precisión) y el uso de una interrupción externa.



Eso suena muy bien MLO tendrias algun ejemplo de como se usan los relojes externos?

Gracias.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Me podrian decir si puedo usar 2 temporizadores por separado en un pic
« Respuesta #8 en: 14 de Octubre de 2010, 23:41:37 »
Hola.

El reloj se comunica con el protocolo I2C .... el problema es que yo no le hago al ASM  :z) ....

Saludos
El papel lo aguanta todo

Desconectado MicroControladoresPIC

  • PIC10
  • *
  • Mensajes: 4
Re: Me podrian decir si puedo usar 2 temporizadores por separado en un pic
« Respuesta #9 en: 15 de Octubre de 2010, 22:09:36 »
Nisiquiera es necesario tener dos timers por hardware para hacer eso, con uso solo, y usando algunas variables como multiplicadores, ( que igual vas a tener que usar porque para medir grandes tiempos los 256 o 65536 valores del timer por hardware no te alcanzan)
yo creo que un pic16F84, 16F630 o inclusive los 12F alcanzan para hacer ese programa, poner un micro mas grande es gastar plata en forma innecesaria

saludos.

Microcontroladores PIC:
http://microcontroladorespic.dyndns.org