Autor Tema: lectura de 2 canales con el CAD PCF8591  (Leído 2571 veces)

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

Desconectado fabian666

  • PIC10
  • *
  • Mensajes: 14
lectura de 2 canales con el CAD PCF8591
« en: 14 de Agosto de 2006, 14:34:07 »
buenas tardes, estoy tratando de realizar un data logger con el pcf 8591 que tenga 2 canales. con 1 canal el programa funciona en forma correcta pero cuando ingreso los comandos i2c(ver programa) para funcionar con 2 canales, la salida digital mostrada en la pantalla lcd y el puerto serial entrega cualkier valor ke no corresponde al voltage analogo ingresado.
las lineas de comando para 1 canal funciona impeke, yo copio lo mismo cambiando la configuracion para el 2 canal y no pasa nada.trate de utilizar el driver del amigo vezner ke funciona correcto para 1 solo canal pero cuando ingreso la palabra de control para el 2 canal no funciona, por lo ke estoy realizando el programa con comandos i2c del ccs.
intente colonda el i2c_stop() al final  y tampoco.colocando delay_us() antes de leer y nada.los 4 canales en forma independiente funcionan correcto.
cualkier ayuda o comentario sera muy agradecido.gracias

#include <16f877A.h>
#fuses XT,NOPROTECT,NOLVP, NOWDT
#org 0x0f00,0x0fff void loader() {} //para el 16f877 (bootloader)
#use delay(clock=4000000)
#use rs232(baud=19200, xmit=PIN_C6, rcv=PIN_C7, PARITY=N)
#include "lcd_mod.c"
               
#use i2c(master,sda=PIN_C4, scl=PIN_C3)

int valor1;  //variable ke almacena el valor del canal 1
int valor2;  //almacena el canal 2 del conversor

main()
{

output_high(PIN_C4);
output_high(PIN_C3);


while(true)
         {

lcd_init();

i2c_start();           // Inicio la comunicación I2C 
i2c_write(0b10010000); // Envío Dirección I2C del PCF8591   
i2c_write(0b00000000); // Envío Configuración del PCF8591 para Conversor canal 1.

i2c_start();             //iniciamos comandos...
i2c_write(0b10010001);         //...de lectura
valor1=i2c_read();                      //valor1 almacena el valor de 8 bit

printf(lcd_putc,"valor1 =%u",valor1);   //imprimo en el lcd el valor del canal 1
printf("valor1 =%u\n\r",valor1);        //inprimo en el puerto serial canal 1
delay_ms(1000);


// comandos para el segundo canal(igual al primero pero no funciona)
lcd_init();

i2c_start();           // Inicio la comunicación I2C 
i2c_write(0b10010000); // Envío Dirección I2C del PCF8591   
i2c_write(0b00000001); // Envío Configuración del PCF8591 para Conversor canal 2.

i2c_start();             //iniciamos comandos...
i2c_write(0b10010001);         //...de lectura
valor2=i2c_read();


printf(lcd_putc,"valor2 =%u",valor2);
printf("valor2 =%u\n\r",valor2);
delay_ms(1000);

          }
}

Desconectado quirogaareal

  • PIC16
  • ***
  • Mensajes: 180
Re: lectura de 2 canales con el CAD PCF8591
« Respuesta #1 en: 15 de Agosto de 2006, 07:39:51 »
Hola:

 MIra anda a los ejemplitos de vzener realizados con el 16f648a  ahi el tiene una libreria para bajar en la cual soo tenes que poner pocas instrucciones para manejar ese conversor,  yo te sugiero que lo hagas en modo autoincremento asi vas leyendo las entradas una por una , una salvedad con esa libreria y en modo autoincremento  siempre me empezaba a leer desde la entrada 4 luego la 1 , luego la2 la3  ....y asi.

Pero haciendola corta dirigite a esos eje,plitos que me enseñaron un monton y te seran de ayuda..


Saludos desde cordoba argentina
Recuerda : Si una mujer te ama de verdad no te pedira ni Matrimonio, Ni concubinato , Ni hijos, No te mentira , ni buscara que cambies de opinion con respecto a las tres primeras opciones.

Saludos

desde Cordoba Argentina

Desconectado fabian666

  • PIC10
  • *
  • Mensajes: 14
Re: lectura de 2 canales con el CAD PCF8591
« Respuesta #2 en: 15 de Agosto de 2006, 14:38:17 »
hola......gracias por la respuesta ,pero la libreria de VSZENER funciona ok para solo 1 canal en forma independiente, pero cuando pongo la palaba de control para el 2 canal, este ya no funciona y entrega datos basura, todos los ejemplos los tiene funcionando solo con 1 canal.........cualkier ayuda o comentario de los moderadores o participantes del foro se agradece........gracias

Desconectado quirogaareal

  • PIC16
  • ***
  • Mensajes: 180
Re: lectura de 2 canales con el CAD PCF8591
« Respuesta #3 en: 15 de Agosto de 2006, 15:37:27 »
pr eso configuralo como auto incremento (00000100) el 1 significa auto incremento, lee las otra entradas pero no las imprimas, estas se leen en la secuencia que te comente mas arriba


saludos
Recuerda : Si una mujer te ama de verdad no te pedira ni Matrimonio, Ni concubinato , Ni hijos, No te mentira , ni buscara que cambies de opinion con respecto a las tres primeras opciones.

Saludos

desde Cordoba Argentina