Autor Tema: Servos no Responden al PWM  (Leído 1420 veces)

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

Desconectado beatAurex1

  • PIC12
  • **
  • Mensajes: 78
    • Proyectos de Ingeniera -Control-Electrónica y desarrollo embebido.
Servos no Responden al PWM
« en: 13 de Abril de 2011, 21:29:12 »
Resulta que mediante el algoritmode RedPIC, controlo unos servos, por el momento solo estoy controlando uno, en particular, uno que controla el timon de profundidad de un avionde R/C,  y uso un acelerometro para ver la inclinacion del avion y asi corregir su cabeceo.

Mi duda surge al incio que energizo mi electronica los servos responden como lo programe, pero si le doy la maxima inclinacion al acelerometro  o minima, lo cual equivale al valor de .6 ms  o 2.3 ms  para el maximo o minimo movimeinto dle motor este se queda estatico.

No se Si el cambio entre valores del pwm sea tan rapido que mi servomotor no lo alcance a detectar. Aqui dejo un video para que vean lo que suceden en los servos y en la señal.



Uploaded with ImageShack.us

Aqui el Link del Video ->SERVOS_Avion


Desconectado beatAurex1

  • PIC12
  • **
  • Mensajes: 78
    • Proyectos de Ingeniera -Control-Electrónica y desarrollo embebido.
Re: Servos no Responden al PWM
« Respuesta #1 en: 14 de Abril de 2011, 20:43:07 »
bueno ya esta Corregido solo estaba Leyendo antes de tiempo los canales A/D a lso que tengo conectado el acelerometro. Aqui ya al correcion


Código: C++
  1. while(true){               //Bucle Principal
  2.  
  3. sensores();             //Rutina que Obtiene el Valor De tension de los ejes XYZ del acelerometro
  4. calcula();                   //Rutina que Calcula el Angulo del eje X Y Z nota de Aplicacionde [b]Freescale AN3461[/b]
  5.                
  6.                        
  7. if(ADCX_OFF<-1.0 ){
  8.      Servo_PWM[0]=Ticks4Center+7000;   if(Servo_PWM[0]>27600)  Servo_PWM[0]=27600;   //Limitamos el Valor por
  9.     //restriccion   mecanica
  10.      }
  11.  
  12. if(ADCX_OFF>4.0 ){
  13.      Servo_PWM[0]=Ticks4Center-8000;      if(Servo_PWM[0]<8500)  Servo_PWM[0]=8500;
  14.      }
  15.  
  16. if(ADCX_OFF>-1.0 ||ADCX_OFF<4.0  ){       //Si se encuentra entre estos rangos Centramos el servo del aleron.
  17.         Servo_PWM[0]=Ticks4Center;  
  18.         }
  19.                                                                                
  20. }

Desconectado beatAurex1

  • PIC12
  • **
  • Mensajes: 78
    • Proyectos de Ingeniera -Control-Electrónica y desarrollo embebido.
Re: Servos no Responden al PWM
« Respuesta #2 en: 14 de Abril de 2011, 20:45:42 »
y Aqui el Video Ilustrativo

Alerones