Thaimicrotron.com : Home    
 
Servo Tester-2 แบบปรับ VR
Software PWM
 
     
  วัตถุประสงค์  
  -เพื่อศึกษาการทำงานแบบ software PWM โดยใช้ Timer1(สามารถเพิ่ม Servo ได้อีกหลายตัว)  
  -เพื่อศึกษาการทำงานเบื้องต้นของ Servo  
  -เพื่อศึกษาการทำงานของโมดูล A2D  
     
 
 
 
การทดสอบการทำงานของ Servo แบบปรับด้วย VR
 
     
  หลักการทำงาน  
  -อ่านค่าแรงดันจาก VR ซึ่งจะมีค่าประมาณ 0-255 แล้วนำค่าที่ได้มาควบคุมสัญญาณ PWM โดยแปลงเป็นค่าความกว้างของสัญญาณ 1ms-2ms  
  - MCU ที่ใช้ PIC16F88 ซึ่งมีโมดูล A2D  
     
 
#case
#include <16F88.h>
#use delay(clock=4000000)
#fuses XT,PUT,NOBROWNOUT,NOWDT,NOPROTECT,NOLVP

//Gobal Variable
int nPluse=0; 
long PWMPeriod1=1392; 

#define MAX_PERIOD  20000
#define PWMOUT0     PIN_B3 


//Interrupt Timer1
#int_timer1
void TIMER1_isr()
{
   switch(nPluse)
   {
    case 0:
         set_timer1(65536-PWMPeriod1);
         output_high(PWMOUT0);
         nPluse++;
      break;
    case 1:// 20ms
         output_low(PWMOUT0);
         set_timer1(65536-(MAX_PERIOD-PWMPeriod1));
         nPluse=0;
      break;
   }
}

void main(void)
{
int Dat;
float F;

   delay_ms(200);
   setup_comparator(NC_NC_NC_NC);   //Input Digital

   set_tris_a(0B00111111);
   set_tris_b(0B00000010);

   enable_interrupts(GLOBAL);
   enable_interrupts(INT_TIMER1);
   setup_timer_1(T1_INTERNAL | T1_DIV_BY_1);   

   setup_port_a(sAN0);
   setup_adc(ADC_CLOCK_INTERNAL);
   set_adc_channel(0);

    while(1)
    {
     Dat=read_adc();
     F = (((float)Dat/255)*1000)+1000;
     PWMPeriod1=(unsigned long)F;
     delay_ms(100);
    }
}
 
 
     
  ผลการทดลอง  
  -เมื่อเริ่มจ่ายไฟให้กับวงจร Servo จะหมุนมาอยู่ที่ต่ำแหน่ง ที่สัมพันธ์กับ VR  
  - ลองปรับค่า VR ไปมาจะสังเกตเห็นว่า Servo จะหมุนตามต่ำแหน่ง ที่สัมพันธ์กับ VR  
     
  NOTE:  
  - Servo บางรุ่นอาจจะหมุ่นกลับด้าน (ซ้ายเป็นขวา-ขวาเป็นซ้าย)  
  - เมื่อ Servo ทำงานจะดึงกระแสไฟมากอาจทำให้ MCU Reset ได้ ดังนั้น C 0.1,C100U ควรต่อไว้ใกล้ๆ ขา VDD ของ MCU  
  - หาก Servo ขนาดใหญ่ จะต้องแยกแหล่งจ่ายไฟ +5V ไว้ใช้กับ Servo อย่างเดียว ไม่ควรใช้ร่วมกับ MCU  
     
     
  Servo Tester-1 แบบปุ่มกด  
 
SMITDH EMSOMBATศมิทธิ์ เอมสมบัติ