Autor Tema: IBUTTON + PIC + MEMORIA + DS1307 RTC  (Leído 4149 veces)

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

Desconectado psnven

  • PIC10
  • *
  • Mensajes: 30
IBUTTON + PIC + MEMORIA + DS1307 RTC
« en: 15 de Abril de 2011, 21:22:42 »
Buenas noches amigos foreros, mi inquietud esta en ver la posibilidad de construir un sistema de control de rondines, con las siguientes caracteristicas

PIC 18F2550
Lector IBUTTON
Memoria EEPROM I2C
Reloj DS1307
Comunicación via USB utilizando las ventajas del 18F2550
Alimentado por bateria recargable


La funcion inicial del sistema consiste en que el aparato lea los seriales de los IBUTTONS, y los almacene con fecha y hora tomada del reloj DS1307, en la memoria I2C y posteriormente pueda ser descargada a un PC.

Posteriormente podremos añadirle cosas extras al codigo como que compare los seriales de los ibuttons y si el mismo esta en memoria, autentifique y luego pase a tomar la fecha y hora en la cual fue tomada la lectura.

La parte esquematica la desarrollare esta noche y mañana pretendo subirla al foro, la idea es finalizar este proyecto con ayuda de todos y que el mismo pase
a formar un proyecto mas del FORO; sirviendo de ayuda a muchos de nosotros los aficionados a la electronica. Siempre he deseado empezar con un proyecto basado
en IBUTTONS, y pues he gastado unos centavos y me he incentivado a desarrollarlo.

En base esquematica trabajare con PROTEUS, y la parte codigo pues debido a mis escasos conocimientos he decidido BASIC.

Espero la ayuda y aporte de conocimientos de todos, esta noche subire el esquematico en proteus que me he propuesto.

Desconectado psnven

  • PIC10
  • *
  • Mensajes: 30
Re: IBUTTON + PIC + MEMORIA + DS1307 RTC
« Respuesta #1 en: 15 de Abril de 2011, 22:38:35 »
 :shock: :? Me surgio una duda si la memoria va por I2C y el reloj DS1307 tambien no tendriamos problemas de comunicaciones ??? es que estoy montandolo en proteus y me acabo de percatar de eso, alguna ayuda en esta parte seria muy agradecida.

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: IBUTTON + PIC + MEMORIA + DS1307 RTC
« Respuesta #2 en: 15 de Abril de 2011, 23:07:41 »
  En un bus I2C pueden ir, en teoría, hasta 127 dispositivos si es que son con 7 bits de address y también teniendo en cuenta que no tengan el mismo address.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado psnven

  • PIC10
  • *
  • Mensajes: 30
Re: IBUTTON + PIC + MEMORIA + DS1307 RTC
« Respuesta #3 en: 16 de Abril de 2011, 01:28:30 »
Si gracias hermano luego me recorde de eso :d jajajaja xd !!! Gracias amigo y bueno estoy con el montaje y simulacion si termino hoy subo los archivos y publico la simulacion, para ver en que me pueden ayudar y luego vamos con lo mas interesante d todo :) el codigo jejeje

Desconectado psnven

  • PIC10
  • *
  • Mensajes: 30
Re: IBUTTON + PIC + MEMORIA + DS1307 RTC
« Respuesta #4 en: 16 de Abril de 2011, 15:06:21 »
Buenas tardes amigos esto es lo que he diseñado en base a mis conocimientos estoy ahora con el codigo si alguien me puede aportar una idea o sugerencia seria interesante;

 y otra cosa si necesito por los menos archivar en la EEPROM uno aproximado de 500 registros compuestos por la siguiente información (SERIAL IBUTTON + DD/MM/YY + HH:MM:SS "DE LA LECTURA"), para luego hacer la descarga via USB + software y posteriormente reincializar la memoria del dispositivo, no podria literalmente utilizar la memoria integrada en el PIC ??? Asi obvio la inclusion del 24AA256 en el PCB ???

Que me sugieren o simplemente dejo la memoria.?

Abierto a consejos en si tengo algun error las conexiones.



Desconectado psnven

  • PIC10
  • *
  • Mensajes: 30
Re: IBUTTON + PIC + MEMORIA + DS1307 RTC
« Respuesta #5 en: 16 de Abril de 2011, 15:12:29 »
Ahora estoy en la parte del diseño de la carga Y alimentacion por via USB de la bateria de 5V 140mAh Ni-MH  que planeo agregarle para que el dispositivo sea portatil.

Desconectado psnven

  • PIC10
  • *
  • Mensajes: 30
Re: IBUTTON + PIC + MEMORIA + DS1307 RTC
« Respuesta #6 en: 18 de Abril de 2011, 21:52:21 »
Les cuento que he decidido modificar el circuito, e ir poco a poco pues mis conocimientos en programación no son tan amplios, estoy presentando un problema, durante la simulación de proteus cuando le doy al pulsador para que lea el IBUTTON, este se comporta erroneamente a veces lee, a veces no, a veces lee hasta 4 veces con un solo pulso. Quisiera ver si alguien me puede ayudar al respecto para continuar con mi codigo hasta el momento esto es lo que llevo.




'PARAMETROS DE CONFIGURACIÓN
    Include "modedefs.bas"
    Device = 18F2550        'PIC Y CLOCK               
   Xtal = 8                         
   CMCON = 7                 'APAGO COMPARADORES
    
   TRISC = %00000010         'Asigno RC como Salida y RC1 como Entrada para lectura de IBUTTON
   
'DECLARO LOS PINES DEL BUS I2C
    Declare SDA_Pin PORTB.0   'DECLARO QUE RB0 VA A SER SDA
   Declare SCL_Pin PORTB.1     'DECLARO QUE RB1 VA A SER SCL
   Declare Slow_Bus On        'PARA BAJA VELOCIDAD DENTRO DEL BUS (100Khz COMO TRABAJA EL DS1307)
   
'VARIABLES DEL RELOJ
   Dim HORA As Byte        'HORAS
    Dim MINU As Byte        'MINUTOS
    Dim SEG As Byte         'SEGUNDOS   
   Dim DIA As Byte            'DIA
   Dim MES As Byte           'MES
   Dim YEAR As Byte        'AÑO
   
'VARIABLES DE LA CONVERSIÓN BCD A BINARIO
    Dim TEMP1 As Byte         'TRES VALORES TEMPORALES
    Dim TEMP2 As Byte         'PARA REALIZAR OPERACIONES
    Dim TEMPVAL As Byte       'DE CONVERSIÓN DE DATOS
   
'VARIABLE DE LA GRABACIÓN/LECTURA DE LA MEMORIA
   Dim CUENTA As Word        'POSICIÓN DE LOS BYTES DENTRO DE LA EEPROM QUE SE VAN GRABANDO/LEYENDO
   
'VARIABLE QUE ALMACENA Y LEE CODIGO DE IBUTTON
    ib VAR Byte[8]
    i VAR Byte

'I2C RELOJ
   Symbol PROGCLOCK = %11010000   'ALIAS DEL CODIGO PARA PROGRAMAR EL DS1307
   Symbol LEOCLOCK = %11010001      'ALIAS DEL CODIGO PARA LEER EL RELOJ
   
'MEMORIA EEPROM
   Symbol PROGMEMO = %10100000    'ALIAS PARA DIRECCIÓN E INDICACIÓN DE ESCRITURA DE LA EEPROM
   Symbol LEOMEMO = %10100001     'ALIAS PARA DIRECCIÓN E INDICACIÓN DE LECTURA DE LA EEPROM
   CUENTA = 0                     'INICIO A GRABAR EN LA PRIMER POSICIÓN DE LA EEPROM

'*****************************************************************************************************
'*****************************************************************************************************

    MOSTRAR:                        'COMIENZA EL PROGRAMA PRINCIPAL
   BStart                              'ABRIMOS EL CONTACTO I2C
   BusIn LEOCLOCK,0,[HORA]         'LEEMOS LA HORA Y LO PONGO EN LA VARIABLE CORRESPONDIENTE   
   BusIn LEOCLOCK,1,[MINU]         'LEEMOS LOS MINUTOS Y LO PONGO EN LA VARIABLE CORRESPONDIENTE
   BusIn LEOCLOCK,2,[SEG]         'LEEMOS LOS SEGUNDOS Y LO PONGO EN LA VARIABLE CORRESPONDIENTE            
   BusIn LEOCLOCK,3,[DIA]         'LEEMOS EL DIA DEL Y LO PONGO EN LA VARIABLE CORRESPONDIENTE
   BusIn LEOCLOCK,4,[MES]         'LEEMOS EL MES DEL Y LO PONGO EN LA VARIABLE CORRESPONDIENTE
   BusIn LEOCLOCK,5,[YEAR]         'LEEMOS EL AÑO DEL Y LO PONGO EN LA VARIABLE CORRESPONDIENTE
   BStop                       'TERMINO EL CONTACTO I2C

'ME FIJO SI HAY LECTURA DE IBUTTON Y VOY A GRABAR LOS DATOS EN LA EEPROM
    start:
      DelayMS 20
    OWrite PORTC.1,1,[$33] 'output command
    ORead PORTC.1,0,[Str ib\8] 'read 64 bit string
    If ib[1]<>255 Then
    BStart                     'INICIO CONTACTO I2C
    For i=7 To 1 Step -1 
    BusOut PROGMEMO, CUENTA, [ib[ i ]] 'GRABO LOS BYTES
    CUENTA = CUENTA + 1
    Next i
    DelayMS 20                 'TIEMPO PARA FINALIZAR LA GRABACIÓN
    BStop                      'CIERRO EL CONTACTO I2C
    EndIf
    DelayMS 20
    GoTo start
« Última modificación: 18 de Abril de 2011, 21:56:35 por psnven »

Desconectado psnven

  • PIC10
  • *
  • Mensajes: 30
Re: IBUTTON + PIC + MEMORIA + DS1307 RTC
« Respuesta #7 en: 18 de Abril de 2011, 23:06:48 »
 :( nadie por aqui ??? he revisado los cristales y aveces detecta la presencia del IBUTTON y a veces no, si pongo un cristal muy elevado aparente siempre reconoce el pulso "48MHZ", pero me da errores de TIMMING en el bus I2C, si bajo a un cristal de 8mhz, no tengo ningun error de TIMMING, pero a veces toma los datos y a veces no :S ??? alguna sugerencia ... !?!?!?

Desconectado psnven

  • PIC10
  • *
  • Mensajes: 30
Re: IBUTTON + PIC + MEMORIA + DS1307 RTC
« Respuesta #8 en: 03 de Mayo de 2011, 20:17:08 »
Alguna ayuda ?


 

anything