Autor Tema: Ayuda con modulo CCP y ccs  (Leído 6857 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: Ayuda con modulo CCP y ccs
« Respuesta #15 en: 30 de Diciembre de 2010, 14:36:03 »
Que tal amigos!
AngelGris en ccs las variables tipo int son de 8 bits y las long son de 16bits!.
El hitech nunca lo he utilizado.
MLO__ interesante ecuacion que colocas es en ccs?
El programa esta listo desde ayer cuando angelgris coloco su respuesta era exactamente lo que estaba pensando  :mrgreen:  de hecho asi lo habia estado haciendo solo queria saber si se podria hacer de otra forma  :mrgreen:
Y para que vean lo que hice y como premio a su ayuda les coloco aqui todo lo hecho por si tienen algunas sugerencias para mejorar el control de servos con el ccp_1 y el timer1  ;-)

Citar
#include <18f252.h>
#device adc=10

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES HS                       //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES PUT                      //Power Up Timer
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOPROTECT                //Code not protected from reading


#use delay(clock=10000000)

long var1;

#int_TIMER1
void  TIMER1_isr(void)
{
   set_timer1(15536);
   setup_ccp1(CCP_COMPARE_SET_ON_MATCH);
   ccp_1= var1;
}

void main()
{
   setup_adc_ports(an0);
   setup_adc(adc_clock_internal);
   set_adc_channel(0);
   setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);      //26.2 ms overflow
   setup_ccp1(CCP_COMPARE_SET_ON_MATCH);
   enable_interrupts(INT_TIMER1);
   enable_interrupts(GLOBAL);
   set_timer1(15536);
   ccp_1= 61786;
   while(1)
   {
      ccp_1= (long)(read_adc()*2.44)+ 60536;
      delay_us(20);  
   }
}

Adjunto simulacion en proteus!
Nota: Cambie algunos tiempos para adaptarlo al servo del proteus  :mrgreen:

Saludos
« Última modificación: 30 de Diciembre de 2010, 14:39:54 por RALF2 »

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Ayuda con modulo CCP y ccs
« Respuesta #16 en: 30 de Diciembre de 2010, 15:09:53 »
Hola.

Es que CCS tiene sus cosas  :) me imagino que hace el cast automáticamente a la hora de asignar el valor.

Citar
MLO__ interesante ecuacion que colocas es en ccs?

Si, es en CCS, es para un velocímetro que hice.

Saludos
El papel lo aguanta todo

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: Ayuda con modulo CCP y ccs
« Respuesta #17 en: 30 de Diciembre de 2010, 15:49:25 »
Que tal MLO__
Mira como defines esas variable.velocidad esa sintaxis no la habia visto.
Utilizaste algun #define para crearla?

Y como dices el casting es el que se encarga de realizar la conversion entre diferentes tipos de datos muy util  :mrgreen:
Vi el video muy interesante el uso de sensores de efecto hall nunca los he utilizado ellos sensan algun metal, me podrias explicar?

Saludos

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Ayuda con modulo CCP y ccs
« Respuesta #18 en: 30 de Diciembre de 2010, 16:16:10 »
Hola.

La variable es de una estructura, no mas  :)

El sensor de efecto Hall te da un 1 o un 0 eléctrico en función de si hay o no campo magnético, por lo que están sensando el paso del imán permanente que está pegado en las aspas del ventilador ... muy útiles los Sensores Hall  :mrgreen:

Saludos
El papel lo aguanta todo

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Ayuda con modulo CCP y ccs
« Respuesta #19 en: 30 de Diciembre de 2010, 16:24:07 »
Hola.

La variable es de una estructura, no mas  :)

El sensor de efecto Hall te da un 1 o un 0 eléctrico en función de si hay o no campo magnético, por lo que están sensando el paso del imán permanente que está pegado en las aspas del ventilador ... muy útiles los Sensores Hall  :mrgreen:

Saludos

  Los sensores hall se suelen utilizar en algunos motores trifásicos BLDC. Claros ejemplos de ello son los DRUM y los CAPSTAN de los ya viejos sistemas de VHS. El DRUM es el motor que hace girar el cabezal y el CAPSTAN es el motor de arrastre de cinta. También se encuentran en algunas caseteras de audio y son utilizados para el contador y también para saber si está funcionando la casetera o está trabada.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: Ayuda con modulo CCP y ccs
« Respuesta #20 en: 30 de Diciembre de 2010, 23:20:26 »
Gracias por sus respuestas MLO__ y AngelGris.
No me recordana lo de las estructuras MLO__ interesante tu aplicacion.
Muy instructivo lo de los tipos de los motores AngelGris.

Gracias a todos por su ayuda!