Autor Tema: Comparadores - No encuentro el error :(  (Leído 5935 veces)

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

Desconectado Enigma

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
    • www.toroscoleados.com
Comparadores - No encuentro el error :(
« en: 17 de Febrero de 2008, 17:13:46 »
Hola muchachos, miren estoy aprendiendo a usar los comparadores del pic 18F4550, y bueno, he hecho un programa que me permita comparar un voltaje de referencia interno con el comparador 1, cuya señal analógica entra por AN0.... Cuando simulo, y verifico el bit 6 de del CMCON, pues siempre está en 0, es decir, siempre me dice que el V+ (voltaje de referencia interno) es menor... aún así cuando por AN0, introduzco un voltaje mucho menor a la referencia... Es como si el comparador no me leyera o no comparara!! y bueno la verdad me gustaria que me orientaran porque no veo el error en mi programa, aquí se los dejo a ver que tal....


#include <18f4550.h>
#DEVICE ADC=8
#fuses NOPROTECT,NOCPD,NOLVP,NOWDT,XT,NOMCLR
#use fast_io (A)
#use fast_io (C)
#use fast_io (D)
#use fast_io (B)
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)          // Habilita las funciones RS232, velocidad a 9600 baudios
#byte RCON=0xFD0
#bit POR=RCON.1                                         // Bit de la bandera del Power On Reset
#byte CMCON=0xFB4                                       // Registro de control de los comparadores
#bit c1inv=CMCON.4
//#bit C1OUT=CMCON.6

  float value,dato,vref;
void main(main)
{
         //c1inv=0;
         set_tris_a(0xe7);
         set_tris_c(0xD8);
         set_tris_d(0x00);
         setup_port_a(AN0_TO_AN1_ANALOG );            // RA0_RA1_RA2 son analógicos y los demás son digitales
         setup_adc(ADC_CLOCK_INTERNAL );              // Tomará el dato contando el tiempo con el reloj interno
         setup_comparator(A0_VR_A1_VR);               // Solo A0 para C1 y A1 para C2

         if(POR==0)                                     // Reset por POR
         {
            output_high(PIN_D1);                      // Enciendo un led de prueba
            delay_ms(1000);                           // Una demora para que se estabilicen los voltajes
            POR=1;                                    // Limpio la bandera del POR
            output_low(PIN_D1);                       // Enciendo un led de prueba
         }

         #asm
            bsf   CMCON,2;                            // Bit de selección del modo del comparador
            bsf   CMCON,1;                            // Bit de selección del modo del comparador
            bcf   CMCON,0;                            // Bit de selección del modo del comparador
         #endasm


         while(true)
         {
         set_adc_channel(0);                          // El canal de adquisición del dato es el RA0
         delay_us(10);                                // Un retardo para capturar bien el dato
         value=read_adc();                            // Leo el dato

         dato=(value*5)/255;                          // Convierto el valor a decimal y lo guardo
         printf("\f");                                // Borro pantalla
         printf(" Voltaje= %2.2g V",dato);            // Mando a mostrar el valor del conversor
         delay_ms(2000);

          setup_vref(VREF_HIGH |2);                    // Para mayor exactitud del comparador
         if( bit_test(cmcon,6))
         {
             output_high(PIN_D3);                      // Referencia es mayor que AN0
             delay_ms(2000);
             output_low(PIN_D3);                       // Referencia es mayor que AN0
         }
         else
         {
            output_high(PIN_D2);                       // Referencia es menor que AN0
            delay_ms(2000);
            output_low(PIN_D2);                       // Referencia es menor que AN0
         }

         }
}


Atte: Enigma... La llanerita de Guayana :-)
« Última modificación: 17 de Febrero de 2008, 17:33:36 por Enigma »
No hay nada como cabalgar en la sabana y sentir la brisa con olor a mastranto, bosta y ganado. ¡¡O Fortuna, velut luna, status variabilis, semper crescis, aut decrescis, vita detestabili!! Que viva el coleo, la musica LLanera y la gótica!

Desconectado Enigma

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
    • www.toroscoleados.com
Re: Comparadores - No encuentro el error :(
« Respuesta #1 en: 17 de Febrero de 2008, 17:49:27 »
 :5]

Raaaaaaaaaaaayoooooos!!!! Proteus me la volvio a hacer!!!!!!!!! :5]

PROTEUS COMO TE ODIO!!!! ME HAS HECHO PERDER HORAS VALIOSAS DE MI TIEMPO PROBANDO Y CAMBIANDO UN PROGRAMA QUE SERVIA DESDE EL PRINCIPIO!!!!!!!! :5]

Atte: Enigma... La llanerita de Guayana :5]
No hay nada como cabalgar en la sabana y sentir la brisa con olor a mastranto, bosta y ganado. ¡¡O Fortuna, velut luna, status variabilis, semper crescis, aut decrescis, vita detestabili!! Que viva el coleo, la musica LLanera y la gótica!

Desconectado poseidon20

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 762
Re: Comparadores - No encuentro el error :(
« Respuesta #2 en: 17 de Febrero de 2008, 20:03:20 »
Parece que aun no aprendes, que de proteus no hay que confiar 100% ya que es una simulacion  :x:mrgreen: :mrgreen: :mrgreen:

Desconectado Enigma

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
    • www.toroscoleados.com
Re: Comparadores - No encuentro el error :(
« Respuesta #3 en: 17 de Febrero de 2008, 21:46:18 »
Si al parecer soy masoquista!!!!! :x


Una pregunta... especificamente que función tiene el HLVD?? que le hace a los comparadores? los apaga?

Atte: Enigma... La llanerita de Guayana :-)
No hay nada como cabalgar en la sabana y sentir la brisa con olor a mastranto, bosta y ganado. ¡¡O Fortuna, velut luna, status variabilis, semper crescis, aut decrescis, vita detestabili!! Que viva el coleo, la musica LLanera y la gótica!

Desconectado Enigma

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
    • www.toroscoleados.com
Re: Comparadores - No encuentro el error :(
« Respuesta #4 en: 18 de Febrero de 2008, 23:58:44 »
Muchachos una pregunta,  Cuando han configurado los comparadores, saben que uno puedo ver las salidas ya sean del C1 o el C2 por el registro CMCON testeando los bits 6 o 7 respectivamente, además de que también en los pines del pic RA4 y RA5 están las salidas de los mismos comparadores, es decir, hay dos formas de saber la respuesta de ellos.... Ahora la pregunta es si quiero saber la salida de dichos comparadores pero observados desde los pines RA4 y RA5 del pic, dichas salidas deben estar como digital y como salida cierto??

Es que coloque unos leds en ambos pines del pic, y pos nada ninguno prende, y se que están comprarando porque testee los bits 7 y 6 del CMCON y mande a prender unos leds cuando se activarán y funcionan fino!!! pero cuando mando a mostrar las salidas a traves de RA4 y RA5, pos nada!!!

Quisiera saber si alguien ha sacado las salidas de los comparadores no testeando los bits 7 y 6 sino observando dichas salidas por los pines del PIC???

Atte: Enigma... La llanerita de Guayana :-)
No hay nada como cabalgar en la sabana y sentir la brisa con olor a mastranto, bosta y ganado. ¡¡O Fortuna, velut luna, status variabilis, semper crescis, aut decrescis, vita detestabili!! Que viva el coleo, la musica LLanera y la gótica!

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Comparadores - No encuentro el error :(
« Respuesta #5 en: 19 de Febrero de 2008, 00:23:00 »
Parece que aun no aprendes, que de proteus no hay que confiar 100% ya que es una simulacion  :x:mrgreen: :mrgreen: :mrgreen:

debería haber una fe de erratas o indicaciones de que no hace en la pag del fabricante o en un leeme al instalar, existe algo asi??
.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Comparadores - No encuentro el error :(
« Respuesta #6 en: 20 de Febrero de 2008, 05:05:12 »
Esto no es un proyeto, vamos!  :-)

Desconectado Enigma

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
    • www.toroscoleados.com
Re: Comparadores - No encuentro el error :(
« Respuesta #7 en: 20 de Febrero de 2008, 11:50:06 »
Cita de: CRYN

Parece que aun no aprendes, que de proteus no hay que confiar 100% ya que es una simulacion  ,   


debería haber una fe de erratas o indicaciones de que no hace en la pag del fabricante o en un leeme al instalar, existe algo asi??


Ummm creo que no lo hay!!! y pues sería muy bueno que lo hubiera así, nos evitarian tanta perdedera de tiempo y tantyas rabietas!!!! :5]

Atte: Enigma... La llanerita de Guayana :-)

No hay nada como cabalgar en la sabana y sentir la brisa con olor a mastranto, bosta y ganado. ¡¡O Fortuna, velut luna, status variabilis, semper crescis, aut decrescis, vita detestabili!! Que viva el coleo, la musica LLanera y la gótica!

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Comparadores - No encuentro el error :(
« Respuesta #8 en: 22 de Febrero de 2008, 19:34:24 »
:5]

Raaaaaaaaaaaayoooooos!!!! Proteus me la volvio a hacer!!!!!!!!! :5]

PROTEUS COMO TE ODIO!!!! ME HAS HECHO PERDER HORAS VALIOSAS DE MI TIEMPO PROBANDO Y CAMBIANDO UN PROGRAMA QUE SERVIA DESDE EL PRINCIPIO!!!!!!!! :5]

Atte: Enigma... La llanerita de Guayana :5]

es cierto, a un programa de simulación no se le puede dar toda la confianza, pero tampoco hay que subestimarlo. ¿cuanto tiempo te habrias echado si no lo fueras simulado?


La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado bigluis

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 511
    • Tutoriales de Qt C++
Re: Comparadores - No encuentro el error :(
« Respuesta #9 en: 26 de Septiembre de 2009, 13:35:16 »
es cierto, a un programa de simulación no se le puede dar toda la confianza.

Parece que aun no aprendes, que de proteus no hay que confiar 100% ya que es una simulacion.

Muchas veces el problema de la mayoria de dispositivos no es el dispositivo en si sino los usuarios, su falta de conocimiento y dificultad de aprendizaje, sin animos de ofender a nadie. El simulador solo realiza lo que le ordenemos hacer.

Lo que ocurre es que el PROTEUS realiza la simulacion asumiendo que el microcontrolador es ideal, por lo tanto las entradas del microcontrolador no se activaran, eso lo deduje gracias al datasheet, la cual dice que si el cambio de voltaje ocurre antes de que transcure el ciclo Q2 la salida del comparador no se activara.

Para resolver este problema se bebe cambiar el tiempo de retardo de subida y de bajada de los pines del microcontrolador. esto lo realizas en las propiedades del dispositivo. Esto solo lo he logrado con los PIC16 aún no hago trabajar los PIC18. Espero que alguien encuentre la solución para estos microcontroladores.

Me gustaria postear un nuevo tema (con imagenes y algunos ejemplos) acerca de esto pero necesito la ayuda de alguno de ustedes para hacer esto ya que no manejo muy bien como hacerlo.

« Última modificación: 26 de Septiembre de 2009, 13:43:57 por bigluis »
Tutoriales de Qt C++

No es necesario que hagamos Grandes cosas, sino que lo que hagamos sea importante.

SI la NECESIDAD es la MADRE del CONOCIMIENTO, SEGURAMENTE la PEREZA su TÍA.

Cuando el ARTE requiere de PRECISION le llamamos CIENCIA

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Comparadores - No encuentro el error :(
« Respuesta #10 en: 26 de Septiembre de 2009, 13:49:11 »
...Lo que ocurre es que el PROTEUS realiza la simulacion asumiendo que el microcontrolador es ideal, por lo tanto las entradas del microcontrolador no se activaran, eso lo deduje gracias al datasheet, la cual dice que si el cambio de voltaje ocurre antes de que transcure el ciclo Q2 la salida del comparador no se activara.

Para resolver este problema se bebe cambiar el tiempo de retardo de subida y de bajada de los pines del microcontrolador. esto lo realizas en las propiedades del dispositivo. Esto solo lo he logrado con los PIC16 aún no hago trabajar los PIC18. Espero que alguien encuentre la solución para estos microcontroladores.
...

ciertamente bigluis, yo por ejemplo cuando uso los buttons, que simula los pulsadores, les pongo un tiempo de pulsación de 40ms, este tiempo simularía el montaje en el protoboard (los llamados rebotes o flancos transitorios) y así ajusto mi código antirrebotes

...
Me gustaria postear un nuevo tema (con imagenes y algunos ejemplos) acerca de esto pero necesito la ayuda de alguno de ustedes para hacer esto ya que no manejo muy bien como hacerlo.


adelante, para las imágenes, mira este link
 
http://www.todopic.com.ar/foros/index.php?topic=8120.0

te dice como hacerlo

sería recomendable que crearas un hilo nuevo para no desviar éste (a menos que tenga relación)


La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado bigluis

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 511
    • Tutoriales de Qt C++
Re: Comparadores - No encuentro el error :(
« Respuesta #11 en: 27 de Septiembre de 2009, 18:54:48 »
Gracias PalitroqueZ ya he comenzado el tutorial espero que sea de su agrado y les ayude.

El link es el siguiente:

Entradas Comparadora, MikroC y Proteus
Tutoriales de Qt C++

No es necesario que hagamos Grandes cosas, sino que lo que hagamos sea importante.

SI la NECESIDAD es la MADRE del CONOCIMIENTO, SEGURAMENTE la PEREZA su TÍA.

Cuando el ARTE requiere de PRECISION le llamamos CIENCIA


 

anything