Autor Tema: pic reloj  (Leído 16384 veces)

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

Desconectado juansanchezruiz05

  • PIC10
  • *
  • Mensajes: 30
pic reloj
« en: 08 de Octubre de 2016, 06:42:13 »
Hola.
Estoy haciendo una incubadora. Y un motor debe girar cada 2h, pero no se como hacer un contador que me diga cuando a pasado una hora y que durante ese tiempo el pic16f877A este haciendo otras tareas. Con el tmr1 creo que es mala idea, porque el tiempo a medir es muy grande. He estado mirando en foros y recomiendan utilizar un reloj ds1307, pero no tengo ni idea de programarlo. ¿Hay algún periférico que cada hora genere un pulso en RB0?. Si me lo podéis explicar en código ensamblador.
« Última modificación: 08 de Octubre de 2016, 07:13:35 por juansanchezruiz05 »

Desconectado AleSergi

  • PIC16
  • ***
  • Mensajes: 214
Re:pic reloj
« Respuesta #1 en: 08 de Octubre de 2016, 08:08:32 »
hay harto info sobre esas temporizaciones largas en éste foro. Es solo cuestión de buscar. Sin ir más lejos esto se estaba tratando durante la semana...

www.todopic.com.ar/foros/index.php?topic=46845.0

Desconectado juansanchezruiz05

  • PIC10
  • *
  • Mensajes: 30
Re:pic reloj
« Respuesta #2 en: 08 de Octubre de 2016, 08:43:14 »
Gracias. Me ha sido de mucha ayuda.

El pic a a funcionar a 20MHz. ¿Se puede poner otro cristal solo para el tmr1? Creo que si, pero en que puertas de PIC 16f877a se conecta y se puede poner uno para que el trm1 se reinecia al minuto. Se pueden poner dos cristales
« Última modificación: 08 de Octubre de 2016, 08:49:08 por juansanchezruiz05 »

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Re:pic reloj
« Respuesta #3 en: 08 de Octubre de 2016, 08:59:43 »
¿Y no es más sencillo y fiable añadir un simple DS1307 vía I2C?
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado juansanchezruiz05

  • PIC10
  • *
  • Mensajes: 30
Re:pic reloj
« Respuesta #4 en: 08 de Octubre de 2016, 12:22:14 »
Creo que es mas sencillo con el oscilador externo. Pero sabéis que cristal hay que poner para conseguir un minuto cada vez que se renicia el tmr1. El problema es que se apague el pic, pero es que el reloj externo como el DS1307 no se programarlo
« Última modificación: 08 de Octubre de 2016, 13:08:59 por juansanchezruiz05 »

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1099
Re:pic reloj
« Respuesta #5 en: 08 de Octubre de 2016, 14:00:06 »
Creo que es mas sencillo con el oscilador externo. Pero sabéis que cristal hay que poner para conseguir un minuto cada vez que se renicia el tmr1. El problema es que se apague el pic, pero es que el reloj externo como el DS1307 no se programarlo

Ya te han dicho que hay muchisima info tanto en este foro como en elr esto de internet sobre el DS1307 y similares. Simplemente es cuestion de que leas un poco.
Y yo te propongo algo mejor aun que el 1307. Hay unos modulitos muy economicos con el DS3231 y ademas ese no necesita cristal externo.
En todo caso para programarlos, sea el que sea, leete la hoja tecnica del que elijas.

http://www.dx.com/p/ds3231-high-precision-real-time-clock-module-blue-3-3-5-5v-222910#.V_kl5pC1n7g

Saludos.

Desconectado juansanchezruiz05

  • PIC10
  • *
  • Mensajes: 30
Re:pic reloj
« Respuesta #6 en: 09 de Octubre de 2016, 06:56:26 »
Hay una cosa que no entiendo.
Los relojes RTC como el Ds1307 te dan la hora cada vez que lo solicitas, es decir, tienes que mandar una señal por RC3 Y RC4. O te generan interrupciones.

« Última modificación: 09 de Octubre de 2016, 12:42:09 por juansanchezruiz05 »

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re:pic reloj
« Respuesta #7 en: 09 de Octubre de 2016, 17:59:51 »
Definitivamente creo que se puede hacer usando un cristal externo de 32.768 KHz conectandolo en los pines del timer 1. De esta manera, si el timer1 se configura con un prescalar de 8, este se desbordaria cada 16 segundos, provocando una interrupcion. Entonces solo tendrias que contar 225 interrupciones para que fuese una hora. De esta forma el microcontrolador tiene todo el tiempo para hacer otras cosas.

Saludos.

Elreypic.

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1099
Re:pic reloj
« Respuesta #8 en: 10 de Octubre de 2016, 06:53:40 »
Definitivamente creo que se puede hacer usando un cristal externo de 32.768 KHz conectandolo en los pines del timer 1. De esta manera, si el timer1 se configura con un prescalar de 8, este se desbordaria cada 16 segundos, provocando una interrupcion. Entonces solo tendrias que contar 225 interrupciones para que fuese una hora. De esta forma el microcontrolador tiene todo el tiempo para hacer otras cosas.

Saludos.

Elreypic.

¿Y no es mas sencillo programar el RTC con la hora de alarma deseada y simplemente esperar que llegue la interrupcion?. Esto no requiere programacion del PIC, solo lo referente al tratamiento de la interrupcion externa y el PIC queda 100% libre para el resto de tareas.
En fin, como siempre este tema es cuestion de gustos.

Saludos.

Desconectado juansanchezruiz05

  • PIC10
  • *
  • Mensajes: 30
Re:pic reloj
« Respuesta #9 en: 10 de Octubre de 2016, 07:18:28 »
Creo que es más sencillo de programar el tmr1 con un oscilador externo, también le da más trabajo al pic. Pero es que, un rct nunca lo he utilizado y no se si seré capaz.
Otra cosa, el rtc se puede programar para que genere 12 alarmas en diferentes horas.????

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re:pic reloj
« Respuesta #10 en: 10 de Octubre de 2016, 10:15:19 »
El DS1307 no tiene alarmas. Pero el DS3231 tiene 2 alarmas.
Yo no veo la dificultad en usar el TMR1 con un oscilador externo y la interrupción. Esto a mi parecer es mucho mas sencillo que usar el protocolo I2C para configurar el RTC y luego la alarma, algo que juansanchezruiz05 no tiene experiencia. De hecho puedo ver que tampoco tiene experiencia con los microcontroladores PIC, está en la etapa de aprendizaje. Es por eso que recomiendo lo del TMR1.
En fin eso ya es decisión de juansanchezruiz05.

Saludos,

elreypic.


Desconectado juansanchezruiz05

  • PIC10
  • *
  • Mensajes: 30
Re:pic reloj
« Respuesta #11 en: 11 de Octubre de 2016, 07:17:36 »
Muchas gracias. Cada vez estoy más cerca de que funciona.
 Ya escribe la pantalla el número
Adjunto una librería en ensamblador que pasa de binario a ascii y que funciona en principio


OTRA COSA QUE SIGNIFICA ESTO:             movlw   .0

Ahora tengo que solucionar el problema de que el sensor sht11 no me mide la humedad bien. El problema esta en alguna surutina

Para tranformar la humedad en un dato que se entienda hay que aplicar la seguiente formula al dato proporcionado por el sensor:

     HR=(a*Lectura del sensor+b)/256

pero no se el valor de a ni de b. Bueno en realidad no se si es esa la formula


creo que lo que esta mal es las rutinas de configuración del sht11

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:pic reloj
« Respuesta #12 en: 11 de Octubre de 2016, 08:45:09 »
Citar
OTRA COSA QUE SIGNIFICA ESTO:             movlw   .0

Poner a W = 0

Citar
Para tranformar la humedad en un dato que se entienda hay que aplicar la seguiente formula al dato proporcionado por el sensor:

     HR=(a*Lectura del sensor+b)/256

No se donde leiste eso.. Para calcular la humedad relativa va a depender de la cantidad de bits. La formula es:

HR = c1 + c2 * SOrh + c3 * SOrh²

Donde c1,c2 y c3 son valores fijos pero que cambian segun la cantidad de bits. Ejemplo para 8 bits es igual a:

C1 = -2.0468
C2 = 0.5872
C3 = -0,00040845

y SOrh es lo que lees de humedad en digital desde el sensor.

Desconectado juansanchezruiz05

  • PIC10
  • *
  • Mensajes: 30
Re:pic reloj
« Respuesta #13 en: 11 de Octubre de 2016, 08:48:29 »
no me podrías pasar una librería en ensamblador para controlar este sensor.
Porque no soy capaz
tampoco se operar muy bien con multiplicaciones y divisiones

ademas tengo que tener algo mal en la rutinas de comunicación con el sensor sht11 por que siempre me devuelve el mismo valor

« Última modificación: 11 de Octubre de 2016, 08:52:08 por juansanchezruiz05 »

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re:pic reloj
« Respuesta #14 en: 11 de Octubre de 2016, 14:58:21 »
Aqui esta un enlace con un codigo en ensamblador para el manejo de ese sensor.

http://www.microchip.com/forums/tm.aspx?m=295647

elreypic.