Autor Tema: No se Visualiza mensaje en el Lcd 16x2 con pic 16f88  (Leído 2818 veces)

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

Desconectado pic_877a

  • PIC16
  • ***
  • Mensajes: 172
No se Visualiza mensaje en el Lcd 16x2 con pic 16f88
« en: 16 de Febrero de 2020, 14:12:08 »
hola amigos del foro cordial saludo

bueno  les comento que he diseñado un codigo en ccs para un vultimetro de 0 a 50V usando pic 16f88, adjunto el codigo

#include <16f88.h>
#device adc=10//Resolucion del ADC
#use delay (clock=4M)
#include <lcd.c>
#fuses NOWDT,INTRC,NOMCLR,NOLVP,CPD,WRT,PROTECT

///////////////////////////////////////////////////
    //Programa Principal//
//////////////////////////////////////////////////
void main()
{
  unsigned long valor=0;//Declaracion de variables
  float voltaje;                        //Variable que contendra el resultado
    ///////////////////////////////////////////////////////////////////////////////////////
    //Se habilita el A/D y se declara el PORT a usar//
    ///////////////////////////////////////////////////////////////////////////////////////
  setup_adc( ADC_CLOCK_INTERNAL );           
  setup_adc_ports(sAN0);
  set_adc_channel(0);
    //////////////////////////////////////////////
      //Se inicia la LCD//
  //////////////////////////////////////////////   
  lcd_init();
lcd_gotoxy(1,1);
lcd_putc("Iniciando.....");
delay_ms(2000);
lcd_putc("\f" ) ;
lcd_gotoxy(4,1);
lcd_putc("VOLTIMETRO");
     
  do//Bucle
  {
      delay_ms(100);
      valor = read_adc();
      voltaje = (float)valor*0.004882812*10.44 ;
    lcd_gotoxy(5,2);
    printf(lcd_putc,"%g V",voltaje);
  }while(true);
  }
  pero al visualizar en el lcd 16x2 NO se visualiza el mensaje Iniciando..... adjunto la imagen, y espero me puedan ayudar  y ver por que NO  se esta visualizando lo deseado gracias  :(

jose

Desconectado MSANTHIAGO

  • PIC10
  • *
  • Mensajes: 11
Re:No se Visualiza mensaje en el Lcd 16x2 con pic 16f88
« Respuesta #1 en: 16 de Febrero de 2020, 16:05:31 »
Hola creo que debe definir los pin de la lcd, en tu caso me parece que puede ser asi:
Código: [Seleccionar]
#include <16f88.h>
#device adc=10//Resolucion del ADC
#use delay (clock=4M)
#fuses NOWDT,INTRC,NOMCLR,NOLVP,CPD,WRT,PROTECT
#define LCD_ENABLE_PIN  PIN_B2                                   
#define LCD_RS_PIN      PIN_B0                                   
#define LCD_RW_PIN      PIN_B1                                   
#define LCD_DATA4       PIN_B4                                   
#define LCD_DATA5       PIN_B5                                   
#define LCD_DATA6       PIN_B6                                   
#define LCD_DATA7       PIN_B7 
#include <lcd.c>

Desconectado pic_877a

  • PIC16
  • ***
  • Mensajes: 172
Re:No se Visualiza mensaje en el Lcd 16x2 con pic 16f88
« Respuesta #2 en: 16 de Febrero de 2020, 17:57:27 »



amigo gracias por la ayuda, ya me funciono y si me falto declarar los bits, ahora tengo un problema con el divisor de voltaje,  en la salida de la tengo un voltaje maximo de 51.4Vdc, y en el lcd me registra 52.15Vdc.

se que la falla esta en el divisor de voltaje cierto amigo? :?

Desconectado Sebas1010

  • PIC10
  • *
  • Mensajes: 11
Re:No se Visualiza mensaje en el Lcd 16x2 con pic 16f88
« Respuesta #3 en: 16 de Febrero de 2020, 18:21:30 »
Buenas, para tener un mejor ajuste en tu divisor resistivo podrias poner un preset para que lo puedas ajustar bien, por otro lado lo que estas haciendo lo vas a realizar fisico? como estas tomando lo valores vas a ter varaciones en la medicion que lo vas a tener reflejado en el LCD , te combien tomar varias muestras y promediar.

Saludos

Desconectado pic_877a

  • PIC16
  • ***
  • Mensajes: 172
Re:No se Visualiza mensaje en el Lcd 16x2 con pic 16f88
« Respuesta #4 en: 16 de Febrero de 2020, 21:06:05 »


acabo de arreglar el divisor de voltaje con resistencias 2.2M en serie, adjunto imagen amigos.

Desconectado Robert76

  • PIC24F
  • *****
  • Mensajes: 577
Re:No se Visualiza mensaje en el Lcd 16x2 con pic 16f88
« Respuesta #5 en: 16 de Febrero de 2020, 23:25:21 »
Hola, lee en la hoja de datos del microcontrolador y chequea la impedancia de entrada del ADC. Pero seguramente es muy inferior que 2M2.
Yo utilizaría entre el divisor resistivo y la entrada del ADC, un op-amp en modo seguidor con ganancia 1, ya que éste se caracteriza por tener alta impedancia de entrada y baja impedancia de salida. Además de proteger dicho ADC, por cualquier despiste en la tensión de entrada.
« Última modificación: 16 de Febrero de 2020, 23:29:26 por Robert76 »

Desconectado Eduardo2

  • PIC24H
  • ******
  • Mensajes: 1004
Re:No se Visualiza mensaje en el Lcd 16x2 con pic 16f88
« Respuesta #6 en: 17 de Febrero de 2020, 02:00:09 »
....
 ahora tengo un problema con el divisor de voltaje,  en la salida de la tengo un voltaje maximo de 51.4Vdc, y en el lcd me registra 52.15Vdc.

se que la falla esta en el divisor de voltaje cierto amigo? :?

La falla está en usar un divisor x4  con una tensión de entrada de 51.4V ---> 51.4/4=12.85v   --> te está conduciendo el zener.

En el otro circuito, para un circuito real, 2M2 es una resistencia demasiado alta y además para valores cercanos a 5V se te va a derivar corriente por el zener de 5.1V.   Además, mientras las resistencias del divisor no sean muy bajas no lo necesitás porque actúan los diodos de protección de la entrada. 

Desconectado pic_877a

  • PIC16
  • ***
  • Mensajes: 172
Re:No se Visualiza mensaje en el Lcd 16x2 con pic 16f88
« Respuesta #7 en: 19 de Febrero de 2020, 22:04:07 »


bueno amigos, ya arregle el divisor de tension, y elimine el zener,  modifique la ecuación en el código

adjunto la imagen

y gracias por la ayuda  ;-)

jose


 

anything