Autor Tema: convertidor A/D PICS  (Leído 1613 veces)

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

Desconectado pdurden

  • PIC10
  • *
  • Mensajes: 21
convertidor A/D PICS
« en: 30 de Septiembre de 2005, 13:28:00 »
Tengo unas cuantas dudas sobre la simulacion del A/D  usando PCW:

Mi primera pregunta es si hay alguna manera de en la simulacion, introducirle una tension ficticia al PIC(en mi caso 16f876), pues lo unico que se hacer es simular la entrada de un cero o un uno.
La segunda es sobre el siguiente programa que cuelgo, y es k en la simulacion se me atasca en "calcula_voltaje" y no se exactamente porque es (como tb desconozco como introducir señales analogicas en las entradas, simplemente en valor introduje un valor determinado,en este caso 12, que seria el valor que diese el convertidor ante una entrada de 0.25 V) Llegue a pensar que el PCW no soporta operaciones con variables float, pero la verdad es q no se porque pasa


#include <16F876.h>
#device adc=8
#use delay(clock=4000000)
#include <lcd.c>
#fuses XT,NOWDT,NOPROTECT,NOPUT,NOBROWNOUT,NOLVP

const int escala = 255;
const float v_max = 5.0;

void calcula_voltaje (int val, float &voltaje)
 {
 voltaje=(val*v_max)/escala;
 }

void main(void)
{
 int valor;
 float voltaje;

 lcd_init();
 lcd_putc("f"); //Borra pantalla
 lcd_putc("voltios = "Giño;
 lcd_gotoxy(16,1);
 lcd_putc("V"Giño;

 for(;Giño
  {
  lcd_gotoxy(11,1);

  setup_adc(adc_clock_div_32); //Enciende conversor
  setup_adc_ports(RA0_ANALOG);   //Selecciona terminales
  set_adc_channel(0); // Selecciona canal

  valor=12; //read_adc(); // Conversión AD
  calcula_voltaje(valor,voltaje);
  printf(lcd_putc,"%2.2f",voltaje);
  delay_ms(1000);
  }
}

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
RE: convertidor A/D PICS
« Respuesta #1 en: 30 de Septiembre de 2005, 13:58:00 »
Ke tal!!! ese programita se parece mucho al que pone en su trabajo de fin de carrera nuestra amiga Xelene en el punto 4.3 Entradas analógicas: Potenciómetro....tu pregunta para modificar en la simulacion la entrada, bien facil pon un potenciometro que bascule entre +5 y 0v....por cierto te recomiendo que leas el apartado que te he mencionado anteriormente realizado por Xelene en su trabajo ya que dice que las entradas no pueden ser mayores que 5v y tu has puesto 12v!!!jeje...aqui te pongo el enlace para ver el post del trabajo:
http://miarroba.com/foros/ver.php?foroid=46840&temaid=3816056
Y desde la pagina del amigo nocturno66 tambien te lo puedes descargar:
http://manolo.auna.com/
Suerte!!!Giño
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado pdurden

  • PIC10
  • *
  • Mensajes: 21
RE: convertidor A/D PICS
« Respuesta #2 en: 01 de Octubre de 2005, 11:11:00 »
Gracias por tu respuesta vszener, pero al o que me refiero yo, es a si se puede llevar el introducir una señal entre +5 y 0V se puede simular por software con el PWC, pues utilizando el el Keil por ejem, eso se puede llevar a cabo, sin necesiadad de provarlo en circuito. Y lo otro que tampoco consigo aclarar es por que se detiene la  simulacion en el calculo del voltaje, pues parece no soportar esa operacion. Lo del valor 12, es lo que cargaria el pic de la operacion 0.25/(5/255), por lo que no son 12V sino 0.25V. Posteriormente y multiplicando por el mismo factor recuperaria un valor aproximado a doce. Bueno, lo dicho, a ver si a alguien se le ocurre alguna solucion. Y como bien dice vszener, ese programa es el del proyecto fin de carrera de Xelene, que a mi me esta sirviendo de mucha ayuda(es cojonudo). http://miarroba.com/foros/ver.php?foroid=46840&temaid=3816056

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2568
RE: convertidor A/D PICS
« Respuesta #3 en: 02 de Octubre de 2005, 13:48:00 »
En ocasiones hay varias formas de programar, para este caso yo lo hubiera hecho así, creo que es más sencillo: http://miarroba.com/foros/ver.php?foroid=85505&temaid=1771162

Un saludo