Autor Tema: Comparadores analogicos  (Leído 10270 veces)

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

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: Comparadores analogicos
« Respuesta #15 en: 10 de Octubre de 2009, 17:48:24 »
Que tal amigos!
Bueno realizando pruebas en fisico y sopesando todo lo probado, he llegado a la conclucion de que; cuando se esta trabajando con el modulo comparador no es podsible utilizar el puerto A para mas nada  :shock:
Ya que los pines cuando se configuran para operar con el comparador, quedan como entradas o como salidas de este, unicamente.

Esa es mi conclucion  :mrgreen:

Desconectado bigluis

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 511
    • Tutoriales de Qt C++
Re: Comparadores analogicos
« Respuesta #16 en: 10 de Octubre de 2009, 19:09:36 »
Tuviste experiencia en lo que indica Cryn? Osea si solo se usan 2 entradas a los comparadores con referencia interna, y los otros 2 pines desactivados, los pudiste usar como I/O digital?

Si ya tuve la experiencia de utilizar las entradas comparadoras como dices, esto lo acabo de postear en la pagina que antes mencione, revisenla.

Supongo que este tema va contra las reglas del foro ya que lo hicieron sin consultar si habia otros temas similares posteados.

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 RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: Comparadores analogicos
« Respuesta #17 en: 10 de Octubre de 2009, 19:32:03 »
Que tal bigluis!
Exacto bigluis hice la modificacion que comentas aumentando los tiempo de subida y bajada de los pines de entrada y la simulacion me andubo fina  :mrgreen:

Citar
Supongo que este tema va contra las reglas del foro ya que lo hicieron sin consultar si habia otros temas similares posteados.

No entiendo el porque de ese comentario, para empesar no creo haber violado ninguna norma del foro  :x
Si lees el principio de mi post yo estaba preguntando hacerca del manejo de los comparadores con el compilador CCS no con el mkc, como tu lo haz hecho en el link que colocastes.
Luego lo que he escrito es haciendo siempre referencia a como configurar el comparador del pic usando para ello el CCS NO mkc, ya que, el problema que tenia en cuestion era con ese y no mkc.

De todas formas agradezco tu ayuda con el proteus.
 

 

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Comparadores analogicos
« Respuesta #18 en: 10 de Octubre de 2009, 19:53:18 »
...
Supongo que este tema va contra las reglas del foro ya que lo hicieron sin consultar si habia otros temas similares posteados.



bigluis tampoco entiendo tu comentario, no creo que falte al reglamento. Aunque se trate de hablar del mismo modulo, hay un enfoque diferente en la forma que lo expresa RALF2, en parte porque se usa otro compilador, y además se discute la forma en que el ccs configura los registros relacionados al comparador analógico.

la forma en que tu la expresas en tu tema es tan válida como cualquiera quiera hablar sobre el mismo modulo, ¿cuantas dudas?, ¿cuantas formas de utilizar éste modulo hay?.

espero que no tomes a mal este comentario mio.

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

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Comparadores analogicos
« Respuesta #19 en: 10 de Octubre de 2009, 23:12:29 »
Arme el siguiente circuito con hard real:

El código fue el siguiente:
Código: C
  1. #include <16F877A.h>
  2.  
  3. #FUSES NOWDT        //No Watch Dog Timer
  4. #FUSES HS           //High speed Osc (> 4mhz)
  5. #FUSES PUT          //Power Up Timer
  6. #FUSES NOPROTECT    //Code not protected from reading
  7. #FUSES NODEBUG      //No Debug mode for ICD
  8. #FUSES NOBROWNOUT   //No brownout reset
  9. #FUSES NOLVP        //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
  10. #FUSES NOCPD        //No EE protection
  11. #FUSES NOWRT        //Program memory not write protected
  12.  
  13. #use delay(clock=20000000)
  14.  
  15. #use fast_io(a)
  16. #use fast_io(d)
  17.  
  18. #int_COMP
  19. COMP_isr()
  20. {  
  21.    delay_ms(30);
  22.    
  23.    if(C1OUT==1){
  24.       output_toggle(PIN_A2);
  25.       output_toggle(PIN_D0);
  26.    }
  27.    if(C2OUT==1){
  28.       output_toggle(PIN_A3);
  29.       output_toggle(PIN_D1);
  30.    }
  31.  
  32. }
  33.  
  34.  
  35. void main()
  36. {
  37.    //set_tris_a(0b00000011);
  38.    set_tris_d(0b1111100);
  39.    setup_adc_ports(NO_ANALOGS);
  40.    
  41.    setup_psp(PSP_DISABLED);
  42.    setup_spi(FALSE);
  43.    
  44.    //Comparadores con Vref interna = 2.5V.-
  45.    setup_comparator(A0_VR_A1_VR);
  46.    setup_vref(VREF_LOW|8);
  47.    
  48.    set_tris_a(0b00000011);
  49.    
  50.    clear_interrupt(INT_COMP);
  51.    enable_interrupts(INT_COMP);
  52.    enable_interrupts(GLOBAL);
  53.    
  54.    while(1){
  55.    
  56.    }
  57. }

Los leds del puerto D actuaron correctamente, pero los leds del puerto A se alternaban. Acciono el pulsador de A0, enciende el led de A2 y D0. Vuelvo accionar se apaga D0 pero A2 no se ve afectado. Pero si acciono la tecla del pin A1, se apaga el led en A2 y se enciende el led de A3  :shock:

Cambie el orden de las configuraciones y el resultado fue el mismo  :?


Todo lo tratado es en CCS  :mrgreen:


Saludos!
No contesto mensajes privados, las consultas en el foro