Autor Tema: Pausa de larga duración en PBP  (Leído 4248 veces)

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

Desconectado kukygp

  • PIC10
  • *
  • Mensajes: 5
Pausa de larga duración en PBP
« en: 10 de Diciembre de 2009, 18:00:14 »
Hola a todos, he buscado y requetebuscado pero no doy con lo que busco y no creo que sea dificil pero no se me ocurre nada. Paso a explicar.

Necesito hacer en PBP una pausa  en un programa de 19 minutos y despues de esta pausa un par de instrucciones mas y otra pausa de 3 minutos. lo he hecho dando pausas de 60.000 en 60.000 ms. pero me parece como excesivo. La pregunta ya la imaginareis ¿ como hago para hacer estas pausas sin tener que comerme 22 lineas del programa.

y ya aprovecho ¿que me puede causar el que despues de estar funcionando el circuito unas horas este se descontrola y solo se soluciona volviendo a programar el PIC? ¿puede ser que no tengo los bits en desuso a masa?

Un saludo y agradezco respuestas.

Kukygp.

Desconectado kukygp

  • PIC10
  • *
  • Mensajes: 5
Re: Pausa de larga duración en PBP
« Respuesta #1 en: 10 de Diciembre de 2009, 20:13:26 »
¿Con sleep me valdría?

un saludo.

Desconectado Veguepic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2119
Re: Pausa de larga duración en PBP
« Respuesta #2 en: 11 de Diciembre de 2009, 12:51:30 »
Si ya tienes definido la pausa de 60 segundo podrias hacer dos bucles que se repitan 19 y 3 veces, te deberia ahorrar algunas lineas de codigo.

A lo segundo recuerdo haber leido que ya le ocurrio lo mismo a algun forero, prueba usar el buscador.

Saludos
“Si la gente es buena sólo porque temen al castigo y porque esperan una recompensa, entonces verdaderamente somos un grupo lastimoso." Albert Einstein.

Saludos desde Lima , Peru    -    Hugo

Desconectado septiembre_negro

  • PIC18
  • ****
  • Mensajes: 310
Re: Pausa de larga duración en PBP
« Respuesta #3 en: 11 de Diciembre de 2009, 18:00:49 »
Creo que la mejor solución para esto es que lo hagas con las interrupciones del tmr, en una pausa dejas al pic en un bucle sin hacer nada.
Como lo planteas tendrías al pic 19 minutos dentro de un bucle si hacer nada lo que es un desperdicio.

Desconectado jansuini

  • Moderador Local
  • PIC24F
  • *****
  • Mensajes: 566
Re: Pausa de larga duración en PBP
« Respuesta #4 en: 12 de Diciembre de 2009, 12:14:48 »
Hola:
Un comentario ,puede ser un desperdicio estar haciendo una pausa de 19 minutos perosi en ese tiempo ,el micro no tiene nada que hacer ,juestamente está haciendo lo que le corresponde: NADA .Si ya te decidiste usar un micro para generar esos tiempo me parece que no hay que preocuparse por estar ocioso ,lo único que incorporaría yo es temporizaciones cada 30 segundos por ejemplo y que cambie el estado de un led testigo para saber que está funcionando el micro.
Saludos
Jorge

Desconectado septiembre_negro

  • PIC18
  • ****
  • Mensajes: 310
Re: Pausa de larga duración en PBP
« Respuesta #5 en: 12 de Diciembre de 2009, 16:41:23 »
Hola:
Un comentario ,puede ser un desperdicio estar haciendo una pausa de 19 minutos perosi en ese tiempo ,el micro no tiene nada que hacer ,juestamente está haciendo lo que le corresponde: NADA .Si ya te decidiste usar un micro para generar esos tiempo me parece que no hay que preocuparse por estar ocioso ,lo único que incorporaría yo es temporizaciones cada 30 segundos por ejemplo y que cambie el estado de un led testigo para saber que está funcionando el micro.
Saludos
Jorge

Hola  tal vez no me explique bien  a lo que me refería o intente explicar era mas bien referente a administrar de forma eficiente el código en cuestión.
Si como tú dices el trabajo del pic es no hacer nada pues esta bien. (aunque a un así al menos yo en lo personal buscaría que hiciera algo, verificar algunos puntos importantes
Flags por ejemplo, enviar su estado por puerto serie etc.)El punto es que en un bucle tan largo donde el pic no hace nada es posible que algun otro evento al que el pic debiera atender sea ignorado. por ejemplo si dentro de este bucle el usuario presiona algún botón conectado a algún pin  el pic nunca lo va atender, o pudiera ser el caso que en el momento gusto en que otro dispositivo le envié información al pic este entre en el bucle pues esta información se va a perder.
Ahora no es mas eficiente que el pic cumpla este delay con una interrupción por tmr que tenerlo asiendo bucles anidados.??????
Para que se entienda mejor chequen el código de un delay en asm, para que tengan la idea de lo que el pic tiene que hacer para no  hacer  nada.


Desconectado jansuini

  • Moderador Local
  • PIC24F
  • *****
  • Mensajes: 566
Re: Pausa de larga duración en PBP
« Respuesta #6 en: 12 de Diciembre de 2009, 17:16:40 »
Hola:
Bueno ,entonces no es solo un simple timer ,si es asi ,deberías usar el tmr interno del micro para que cuente tiempo mientras el soft va haciendo las otras cosas que te interese hacer ,los tiempos generados por el tmr van a ser cortos ,asi que tendrías que implementar un contador para ver cuando se producen los minutos.
Sds.
Jorge

Desconectado septiembre_negro

  • PIC18
  • ****
  • Mensajes: 310
Re: Pausa de larga duración en PBP
« Respuesta #7 en: 12 de Diciembre de 2009, 17:34:39 »
Hola:
Bueno ,entonces no es solo un simple timer ,si es asi ,deberías usar el tmr interno del micro para que cuente tiempo mientras el soft va haciendo las otras cosas que te interese hacer ,los tiempos generados por el tmr van a ser cortos ,asi que tendrías que implementar un contador para ver cuando se producen los minutos.
Sds.
Jorge


Efectivamente a eso me refiero un timer interno por ejemplo tmr0, aunque el del problemita es el amigo kukygp  :mrgreen: :mrgreen: que al parecer ya no siguió el hilo que el mismo comenzó  :D :D :D :D
sds.


Desconectado kukygp

  • PIC10
  • *
  • Mensajes: 5
Re: Pausa de larga duración en PBP
« Respuesta #8 en: 13 de Diciembre de 2009, 09:58:10 »
Hola Hola, perdón pero es que ando liado y escaso de tiempo por eso no puedo entrar con la asiduidad que me gustaría.

Bueno mejor os explico el circuito y funciones así os haceis una idea, El montaje es un semáforo para controlar el tiempo en un concurso de canción que hacemos en plan vecinos. El tiempo total por actuación son 22 minutos, así que el reparto entre encendido de luces serian una vez pulsado un botón 19 minutos para el verde, 3 para el ámbar y vuelta en reposo al rojo hasta nueva orden del botoncito. como explico en el primer post lo hago y todo perfecto haciendo pausas de 60seg. 19 veces enciendo verde, paso a ámbar y pausa de 60seg 3 veces y terminado esto a rojo, pero no se si por el tipo de pausa que realizo al cabo de varias veces hecho el proceso todo se descontrola, los tiempos... se enciende el ámbar junto el verde... o el rojo con el ámbar..., cosas así. Solo se soluciona cuando reprogramo el pic que como digo lo hace bien varias veces otra vez.

El PIC que uso es el 16f84 por ser el que tengo de proyectos anteriores. Y como es lógico me sobran patillas pues solo uso 3 de salida mas la del botón, ¿puede ser que ese error me lo de por no tener el resto de patillas IO en desuso a masa?

Un saludo y muchas gracias por vuestras aportaciones a evitar el suicidio de este que os escribe. ;P

kukygp.

Desconectado septiembre_negro

  • PIC18
  • ****
  • Mensajes: 310
Re: Pausa de larga duración en PBP
« Respuesta #9 en: 13 de Diciembre de 2009, 19:52:33 »
Pues no tu problema no es por la forma en que haces la pausa, por los problemas que mencionas lo mas probable es que tu aplicación no esta bien desarrollada, cuando comienzas en este mundo de los pic es de lo mas común que pase lo que mencionas, el pic realiza algunos ciclos de la  forma esperada y de repente todo se va a la &&%%$$.
En cuanto a los pin que no utilizas lo que se recomienda es que los programes como salidas y através de una resistencia las conectes a 5vcc o gnd,
Aunque también es importante que cheques si en tu rutina tienes considerado antirrobotes para los botones .ya que es probable que si no las tienes se este pulsando el botón mas de una ves.


Desconectado kukygp

  • PIC10
  • *
  • Mensajes: 5
Re: Pausa de larga duración en PBP
« Respuesta #10 en: 17 de Diciembre de 2009, 20:46:24 »
Pues no tu problema no es por la forma en que haces la pausa, por los problemas que mencionas lo mas probable es que tu aplicación no esta bien desarrollada, cuando comienzas en este mundo de los pic es de lo mas común que pase lo que mencionas, el pic realiza algunos ciclos de la  forma esperada y de repente todo se va a la &&%%$$.
En cuanto a los pin que no utilizas lo que se recomienda es que los programes como salidas y através de una resistencia las conectes a 5vcc o gnd,
Aunque también es importante que cheques si en tu rutina tienes considerado antirrobotes para los botones .ya que es probable que si no las tienes se este pulsando el botón mas de una ves.




Bueno pues como dices yo casi que empiezo en esto, he hecho varios montajes pero todabia hay infinidad de parametros que se me escapan (como buen electrónico analogico de toda la vida).

_Tomaré nota y pondré todas las desusadas en salida con una R ¿de 1K valdría?

_Revisaré bien el programa pues como dices seguro se me escapa algo, una vez lo tenga lo cuelgo aqui y ya me direis.

Respecto al antirebote no esta de mas incluirlo pero casi seguro estoy de que no pues todo va através de un relé controlado por radio y es monoestable. Pero como digo lo incluiré, a ver si se como se hace eso.

Un saludo y muchas gracias, se siguen admitiendo sugerencias y consejos.

Kukygp.

Desconectado septiembre_negro

  • PIC18
  • ****
  • Mensajes: 310
Re: Pausa de larga duración en PBP
« Respuesta #11 en: 18 de Diciembre de 2009, 18:37:39 »
No tengo el dato preciso del valor de la r pero as pruebas no creo que sea critico este valor.
Ahora que mencionan que dentro de la pcb tienes un rele estos dispositivos suelen dar problemas por lo que hay que tomar precauciones, que serian el clásico diodo en la bobina y en algunos casos un mata chispa en los contactos del rele.
saludos

Desconectado kukygp

  • PIC10
  • *
  • Mensajes: 5
Re: Pausa de larga duración en PBP
« Respuesta #12 en: 19 de Enero de 2010, 16:00:35 »
Holaaaaaaaaaaaaaaaaaa, aunque el post este un poco lento, ya pasada las fechas navideñas pues he tomado de nuevo el proyecto y... Buenas noticias.

Era un poco por todo, programa mal redactado con lo cual el pic se hacia un poco un lio, valores de las resistencias que excitaban a los transistores que a su vez maniobraban los relés y sobre todo la alimentacion del montaje que por culpa de la misma y por fluctuaciones en el valos de la red electrica donde iba montado el equipo bajaba muchisimo con lo cual me hacia cosas raras. Una vez repasado, revisado y probado todo va a la perfeccion, asi que si alguien necesita un semaforo en basic que lo diga que ya esta terminadito y probadito jejejje.

Gracias a todos.

Desconectado septiembre_negro

  • PIC18
  • ****
  • Mensajes: 310
Re: Pausa de larga duración en PBP
« Respuesta #13 en: 19 de Enero de 2010, 21:27:57 »
Pues no estaría de mas que lo colgaras seguramente a alguien le a de servir  ;-)


 

anything