Bài 12:Các thao tác cơ cấu

30 Oct
Chức năng: điều khiển các cơ cấu của robot thực hiện các thao tác nhằm ghi điểm với các cấu kiện.
            Ví dụ: khi robot muốn đặt cấu kiện vào kim tự tháp chẳng hạn, nó phải thực hiện một số thao tác như, đẩy cấu kiện và đúng vị trí, đặt cấu kiện xuống.v.v.
Ở đây ta mô phỏng thao tác kéo xuống để đưa cấu kiện xuông.
Thuật toán:

Giải thích cho thuật toán:
         Chọn chiều thao tác: muốn robot thao tác kéo lên hay xuống thì đầu tiên là chọn chiều quay của động cơ.
         Nạp thời gian thực hiện thao tác: Thông thường để kiểm tra một thao tác thực hiện được kết thúc khi nào thf người ta sử dụng các công tắc hành trình như đã nói ở trên, nhưng để an toàn hơn trong trường hợp công tắc hành trình có thể hỏng do va đập nhiều, ta có thể tính toán khoảng thời gian thực hiện thao tác để kết thúc thao tác trong trường hợp công tắc bị hỏng. Khoảng thời gian tính toán phải đủ để lớn hơn thời gian chạm công tắc hành trình, vì ưu tiên kiểm tra công tắc hành trình trước.
         Chạy cơ cấu: Cấp nguồn cho động cơ thực hiện thao tác hạ cơ cấu để bỏ cấu kiện vào vị trí.
         Giảm thời gian thực hiện: đồng thời với việc thao tác, giảm thời gian thực hiện xuống.
         Kiểm tra : Nếu đã chạm công tắc hành trình: tức là cơ cấu đã đưa cấu kiện đến đúng vị trí cần để, nạp thời gian thực hiện về 0 và kết thúc thao tác. Nếu chưa chạm công tắc thì kiểm tra thời gian thực hiện.
         Kiểm tra : Nếu thời gian thực hiện đã bằng 0 thì dừng thao tác và kết thúc. Nếu thời gian thực hiện còn lớn hơn 0 thì tiếp tục thực hiện bước chạy cơ cấu.
Chương trình cho một thao tác:
void keo_xuong(void)
{
 KEO_ROLE=0;                                   // chọn chiều động cơ
 KEO_MOTOR=80;                              // nạp tốc độ động cơ
 CT_KEOXUONG=1; 
int thoi_gian_thuc_hien=1000;            // nạp thời gian thực hiện
while(thoi_gian_thuc_hien!=0)            // trong khi chua het thoi gian   
    {
     if(CT_KEOXUONG==1)                  // đã chạm công tắc hành trình
           {
thoi_gian_thuc_hien==0;
                            // nạp thời gian thực hiện bằng 0 để kết thúc thao tác
           }
      else                                             
          thoi_gian_thuc_hien–;          // giảm thời gian thực hiện xuống 
               }
      KEO_MOTOR=0;                          // dừng động cơ
}

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: