Autor Tema: Lectura datos i2c  (Leído 2183 veces)

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

Desconectado rferrero

  • PIC16
  • ***
  • Mensajes: 113
Lectura datos i2c
« en: 08 de Noviembre de 2004, 16:36:00 »

Hola a todos. TEngo un sensor SRF08 http://www.superrobotica.com/S320112.htm medidor de distancias vía i2c. El asunto es que consigo escribir perfectamente la dirección del mismo (0xE0), en los registros y los datos correspondientes. El asunto es leer el byte alto y bajo, resultado de la medición.
   Tengo el programa en C y he usado las funciones del compilador y nada. Y funciones propias, hechas a partir del funcionamiento del protocolo i2c y tampoco!! Si dejo menos de 65 ms para la realización de la medida, sale -1. Si dejo más, sale 0. Incluso he pasado a C un programa en ASM de www.microcontroladores.com, usando dicho sensor, pero no hay forma!!
   Para algunos elementos he visto que, para el pcf8574, había que poner las entradas a nivel alto y demás. Aquí no pone nada.
   Alguien sabe a qué puede deberse??
   MUCHAS GRACIAS. Un saludo.
                    Rubén.

Desconectado JacoPastorius2004

  • PIC10
  • *
  • Mensajes: 42
RE: Lectura datos i2c
« Respuesta #1 en: 10 de Noviembre de 2004, 18:46:00 »
Hola!

Por lo que lei del sensor. Cuando recibis -1 que en realidad es (0xFF) es por que aun no finalizo la medicion del sensor (no pasaron los 65ms). Entonces estas leyendo niveles altos de tension, debido a que los dos hilos de la interface van puestos a Vcc via resistencias de pullups.

Dice:
"No es necesario utilizar un temporizador en su propio controlador para saber que la medición ha terminado. Puede aprovechar la ventaja que le ofrece el hecho de que el sensor SRF08 no responde a ninguna otra actividad I2C mientras está realizando la medición. Por lo tanto, si intenta leer el valor en el sensor SRF08 (utilizamos el número de revisión de software en la ubicación 0) por lo que recibirá 255 (0xFF) durante la medición. Esto se debe a que la línea de datos I2C (SDA) se eleva si nada lo está controlando. Tan pronto como finaliza la medición el sensor SRF08 responderá de nuevo al bus I2C, por lo que deberá esperar a que desaparezca el valor 255 (0xFF) en el registro. A continuación, podrá leer los datos del sensor. El controlador puede aprovechar esta ventaja para realizar otras tareas mientras el SRF08 está realizando la medición."

Yo diria que leyeras otra vez la info sobre el sensor, fijate si estas mandando bien los comandos.

Una pregunta: Has puesto algun obstaculo cerca del sensor para que lo detecte?
Talvez sino recibe un eco, el sensor lo indica enviando ceros al PIC.




Desconectado rferrero

  • PIC16
  • ***
  • Mensajes: 113
RE: Lectura datos i2c
« Respuesta #2 en: 11 de Noviembre de 2004, 02:08:00 »

   Antes de nada, gracias por la molestia. Muchas risas
   
   Sí, claro que pongo un obstáculo cerca. Mis propias manos. Y lo pongo en un bucle infinito para que realice mediciones continuamente. Y continuamente sale 0, 0, 0, 0, ... aunque ponga lo que sea al lado o encima del sensor. Ese es el problema.

    Seguiremos investigando.
    Un saludo.

Desconectado JacoPastorius2004

  • PIC10
  • *
  • Mensajes: 42
RE: Lectura datos i2c
« Respuesta #3 en: 11 de Noviembre de 2004, 15:22:00 »
Hola!

Dejame que lea un poco mas sobre el sensor y algo de interface I2C, cualquier cosa te aviso.
Si queres pega tu codigo, para analizar las rutinas de acceso al sensor.


Desconectado rferrero

  • PIC16
  • ***
  • Mensajes: 113
RE: Lectura datos i2c
« Respuesta #4 en: 28 de Noviembre de 2004, 06:13:00 »

    Bueno, conseguido!!! ES para colgarme. Puf .... no podía ser otras cosa, mas que una tontería. El programa iba perfectamente. El asunto es que había un diodo en la alimentación, por si invertía la polaridad en la conexión y ahí había una caída de tensión pequeña, pero suficiente para que el micro no realizara correctamente la adquisición de datos del dichoso sensor!!! Bastó con subir un poco la tensión de alimentación.
 
    Funciona perfectamente.  Gracias por las sugerencias y la molestia!!  

RebotadoRebotadoRebotadoMuchas risasMuchas risasMuchas risasMuchas risas

Desconectado rferrero

  • PIC16
  • ***
  • Mensajes: 113
RE: Lectura datos i2c
« Respuesta #5 en: 28 de Noviembre de 2004, 06:14:00 »

    FELICIDADES, JACO!!! Ayer fue tu cumpleaños!!!

Sonrisa    Muchas risas      

Desconectado JacoPastorius2004

  • PIC10
  • *
  • Mensajes: 42
RE: Lectura datos i2c
« Respuesta #6 en: 29 de Noviembre de 2004, 07:19:00 »
Hola!

Bueno menos mal que lo solucionaste, cosas como esas suelen pasar.

Gracias por el saludo!!!


 

anything