PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ cấu chấp hành (Actuator) (http://www.picvietnam.com/forum/forumdisplay.php?f=13)
-   -   RC Servo (http://www.picvietnam.com/forum/showthread.php?t=5843)

delta21 23-04-2011 08:06 PM

1 Attachment(s)
các bác giúp em với em viết code như là bác motu mà sao cái servo rc của em nó ko chạy như ý !!hic,nó chỉ quay qua 1 bên mà ko quay về lại!!
các bác xem giùm em chương trình,em dùng HT pic ạ!!!
Code:

#include <htc.h>
__CONFIG(INTIO & WDTDIS & PWRTEN & MCLREN & UNPROTECT
  & UNPROTECT & BORDIS & IESODIS & FCMDIS);

#define FOSC 8000000L


#define MAX_VALUE 200
#define right MAX_VALUE - 20
#define left MAX_VALUE - 10
#define center MAX_VALUE -15
#define THRESHOLD_VALUE 50

unsigned char pulse_max=0;
unsigned char pulse_top=0;
unsigned char top_value = 0;
void delay_ms(int x)
        {
                        for(char i=0;i<x;i++)
                        _delay(1000);
        }

 void interrupt isr(void)
{
 
  if(T0IF) {
                             
    pulse_max++;         
    pulse_top++;           

    /* MAX_VALUE=200 turn off the pulse */
    if (pulse_max >= MAX_VALUE) {
      pulse_max=0;
      pulse_top=0;
      RB1=0;               
    }

   
    if (pulse_top == top_value) {
      RB1=1;             
    }

    TMR0=56;           
    T0IF = 0;                   
  }
}

void main(void)
{
    OSCCON=0x70;   
        ANSEL=ANSELH=0x00;
        TRISB=0x00;
        PORTB=0x00;
 
        pulse_max=0;
        pulse_top=0;
        OPTION = 0b00000000;
          TMR0=56; 
        T0IE = 1;                     
        GIE = 1;                     
     
               
  while(1)
          {
                  top_value=left;
                  delay_ms(1000);
                  top_value=right;
                  delay_ms(1000);                   
          }
       
}

đây là cái servo rc của em,dem dùng loại tower pro 9g

vanhung4050 24-07-2013 12:29 PM

Em cũng đang đau đầu vì con SG90 như của bác trên,em làm mãi mà nó chỉ quay 1 góc rất nhỏ,tốc độ thì chậm lắm,bác nào làm rồi chia sẻ kinh nghiệm cho em với ạ!
thanks all

phanhoangthach 24-07-2013 06:08 PM

Trích:

Nguyên văn bởi delta21 (Post 44273)
các bác giúp em với em viết code như là bác motu mà sao cái servo rc của em nó ko chạy như ý !!hic,nó chỉ quay qua 1 bên mà ko quay về lại!!
các bác xem giùm em chương trình,em dùng HT pic ạ!!!
Code:

#include <htc.h>
__CONFIG(INTIO & WDTDIS & PWRTEN & MCLREN & UNPROTECT
  & UNPROTECT & BORDIS & IESODIS & FCMDIS);

#define FOSC 8000000L


#define MAX_VALUE 200
#define right MAX_VALUE - 20
#define left MAX_VALUE - 10
#define center MAX_VALUE -15
#define THRESHOLD_VALUE 50

unsigned char pulse_max=0;
unsigned char pulse_top=0;
unsigned char top_value = 0;
void delay_ms(int x)
        {
                        for(char i=0;i<x;i++)
                        _delay(1000);
        }

 void interrupt isr(void)
{
 
  if(T0IF) {
                             
    pulse_max++;         
    pulse_top++;           

    /* MAX_VALUE=200 turn off the pulse */
    if (pulse_max >= MAX_VALUE) {
      pulse_max=0;
      pulse_top=0;
      RB1=0;               
    }

   
    if (pulse_top == top_value) {
      RB1=1;             
    }

    TMR0=56;           
    T0IF = 0;                   
  }
}

void main(void)
{
    OSCCON=0x70;   
        ANSEL=ANSELH=0x00;
        TRISB=0x00;
        PORTB=0x00;
 
        pulse_max=0;
        pulse_top=0;
        OPTION = 0b00000000;
          TMR0=56; 
        T0IE = 1;                     
        GIE = 1;                     
     
               
  while(1)
          {
                  top_value=left;
                  delay_ms(1000);
                  top_value=right;
                  delay_ms(1000);                   
          }
       
}

đây là cái servo rc của em,dem dùng loại tower pro 9g

Loại động cơ servo RC tower pro 9g có độ rộng xung từ 600us đến 2.25ms , bạn nên thay đổi giá trị của "right MAX_VALUE " và "left MAX_VALUE " lại ,hợc bạn có thể qua trang của mình , bên đó có hướng dẫn từ a-z cách điều khiển loại này

van truong 29-07-2013 10:50 PM

rc servo
 
http://www.youtube.com/watch?v=Tc9sjF9tc4w
cai nay minh dk 18 cai rc ne

van truong 29-07-2013 10:53 PM

dkdc rc servo lam robot ne ae
 
http://www.youtube.com/watch?v=Tc9sjF9tc4w
ae gop y kien xay dung nha

nhanconan030789 04-08-2013 02:56 AM

Cảm ơn bạn đã chia sẽ, như mình quan sát thì các bạn điều khiển nó không có tính toán phần động hoặc thuận hay động học nghịch, làm cho các động tác không được nhuyễn. Mình chia sẽ một mô hình robot hai chân có tính toán động học thuận và thiết kế quỹ đạo
http://www.youtube.com/watch?v=QPzHcvkoI2M


Múi giờ GMT. Hiện tại là 07:17 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam