Autor Tema: Ejemplito 16F876A: Conversion Digital-Analogico con el PCF8591 vía I2C  (Leído 4779 veces)

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

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5362
    • Picmania by Redraven
Este ejemplito hace uso del integrado PCF8591 que es capaz de realizar conversiones Analógico a Digital y Digital a Analógico.

Datasheet del PCF8591

En nuestro caso vamos a generar una salida analógica variando desde 0V a 5v (Vcc) en 256 pasos sucesivos.

Además este integrado responde al protocolo I2C que es el que vamos a utilizar para comunicarnos con él y mandarle realizar la conversión DA que nos interesa.

Codigo:

#include <16f876a.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use delay(clock=4000000)
#use standard_io(b)


int  analogico=0x00;

#use i2c(master,sda=PIN_C4, scl=PIN_C3) // Configuración del I2C como Master y los pines del MSSP en mi 16F876A.

void main() {

   i2c_start();                      // Inicio la comunicación I2C
   i2c_write(0b10010000); // Envío Dirección I2C del PCF8591
   i2c_write(0b01000000); // Envío Configuración del PCF8591 para Conv. DA

   do {

      i2c_write(++analogico); // Envío Valor digital 0x00->0V, 0xFF->Vcc

   } while (TRUE);

}


Este programa nos generará una preciosa onda de sierra en el pin 15 (AOUT) del PCF8591 (De hecho ahora, mientras escribo este post, la estoy viendo en la pantalla del osciloscopio Fumador)

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado samshiel_pic

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 773
    • Electrónica·Ingenia
Re: Ejemplito 16F876A: Conversion Digital-Analogico con el PCF8591 vía I2C
« Respuesta #1 en: 06 de Enero de 2007, 21:01:39 »
Hola que tal? voy ha hacer un pregunta algo tonta pero el caso es que no lo he realizado nunca: se podria hacer lo mismo que ha esplicado mi amigo Diego pero sin utilizar el PCF8591??? solo con el pic. Es que estoy realizando un proyecto en el que mediante un divisor de tension voy dando una serie de tensiones de referencia a un operacional. Y he estado pensando que si pudiera hacerlo de esta manera podria elegir mediante soft que vref darle al operacional segun las circunstancias.

Desconectado QIQE

  • PIC18
  • ****
  • Mensajes: 328
Re: Ejemplito 16F876A: Conversion Digital-Analogico con el PCF8591 vía I2C
« Respuesta #2 en: 08 de Enero de 2007, 19:15:40 »
hola samshiel_pic si que lo puedes hacer pero depende del pic puedes emplear la salida PWM modulacion de anchura de pulso y una resistencia y un condensador en serie si mides la tensión del condensador va a variar en relación a lo que varies el ancho del pulso creo recordar que era lineal o muy cerca de la lineaidad, recuerda poner un buffer en el condensadorya nos contaras que tal
Muchas gracias por vuestro tiempo.

Saludos desde valencia!!!

Desconectado practix33

  • PIC10
  • *
  • Mensajes: 2
Re: Ejemplito 16F876A: Conversion Digital-Analogico con el PCF8591 vía I2C
« Respuesta #3 en: 25 de Septiembre de 2009, 22:39:20 »
hola red pic tal vez sea un pregunta tonta pero estoy comenzando con esto del pic usb y quiero utilizar el 18f4550 para tomar una señal analogica previamente filtrada, digitalizarla para luego enviarla al pc por el puerto usb la pregunta es si las lineas de codigo que agregaste son validas para este pic  tal solo cambiando la libreria

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4582
Re: Ejemplito 16F876A: Conversion Digital-Analogico con el PCF8591 vía I2C
« Respuesta #4 en: 26 de Septiembre de 2009, 01:32:04 »
Hola.

La pregunta lo que esta es un poquillo desfasada.

Hay otros hilos para lo que quieres hacer:
http://www.todopic.com.ar/foros/index.php?topic=20451
http://www.todopic.com.ar/foros/index.php?topic=26226.5

Saludos
« Última modificación: 26 de Septiembre de 2009, 01:38:59 por MLO__ »
El papel lo aguanta todo


 

anything