Danh mục

chương 3: Thiết kế hệ Pan-Tilt

Số trang: 14      Loại file: pdf      Dung lượng: 721.80 KB      Lượt xem: 19      Lượt tải: 0    
Hoai.2512

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Trên hệ Pan-Tilt ta gá cảm biến siêu âm SRF04, hệ Pan-Tilt quay mang theo cảm biến và yêu cầu vẽ được biên dạng 2D của vật đặt trước cảm biến. 3.2. Thiết kế - Dựa theo yêu cầu đề tài, xem cấu trúc của 1 hệ Pan-Tilt và tham khảo 1 số mẫu Pan-Tilt trên mạng, chúng em đã thiết kế được 1 hệ Pan-Tilt cơ bản, đáp ứng được yêu cầu mang SRF04 quay quanh 2 trục Ox, Oz dễ dàng.- Hai động cơ được sử dụng để thiết kế là 2 động cơ RC Servo của hãng...
Nội dung trích xuất từ tài liệu:
chương 3: Thiết kế hệ Pan-Tiltchương 3: Thiết kế hệ Pan-Tilt3.1. Yêu cầu: - Đề tài yêu cầu thiết kế 1 hệ Pan-Tilt có thể quay quanh 2trục Ox – Tilting, và Oy – Panning. Z O X Y - Trên hệ Pan-Tilt ta gá cảm biến siêu âm SRF04, hệ Pan-Tiltquay mang theo cảm biến và yêu cầu vẽ được biên dạng 2D củavật đặt trước cảm biến.3.2. Thiết kế: - Dựa theo yêu cầu đề tài, xem cấu trúc của 1 hệ Pan-Tilt vàtham khảo 1 số mẫu Pan-Tilt trên mạng, chúng em đã thiết kế được1 hệ Pan-Tilt cơ bản, đáp ứng được yêu cầu mang SRF04 quayquanh 2 trục Ox, Oz dễ dàng. - Hai động cơ được sử dụng để thiết kế là 2 động cơ RCServo của hãng Futaba (các thông số như trình bày ở phần động cơ servo), momen của chúng là 3.2 kg.cm đáp ứng đủ yêu cầu mang sensor SRF04 quay mà không sợ bị quá tải. - Cảm biến siêu âm SRF04 được gá trên top của hệ Pan-Tilt. - Góc quay tối đa của mỗi servo là 1200 (cả 2 phía), góc mởcủa bộ phát của SRF04 là 300; như vậy khi hệ Pan-Tilt quay,cảmbiến có thể quét được hầu hết toàn bộ biên dạng của vật thể nằmtrong tầm quét của nó (phụ thuộc cách đặt, vị trí tương đối hệ Pan-Tilt – vật).C. Kết quả đạt được:I. Phần cứng:1. Vật mẫu: 3 vật mẫu: hình tròn, chữ nhật và nón cụt2. Phần cứng toàn bộ của đề tài:II. Phần điện tử:2.1. Thiết kế board điều khiển dùng AT Mega32: a. Nguyên lý: .b. Mạch hoàn thành:2.2. Board nguồn cung cấp cho 2 động cơ Servo: Board dùng IC LM 2576 Adj, có khả năng điều chỉnh điện ápngõ ra (mắc biến trở) và cho dòng ra lớn (lên đến 3A). Lý do chínhđể chọn IC này làm mạch nguồn cho servo là nhằm đáp ứng đủdòng tiêu thụ cho 2 động cơ servo, vì khi chạy dòng I tiêu thụ củamỗi servo khoảng > 1A, 2 servo phải mất trên 2A và các loại ICnguồn thường dùng (7805, MC34063…) không đáp ứng đủ. a. Nguyên lý mạch b. Mạch hoàn thành:III. Chương trình điều khiển:1.Vi điều khiển – AT Mega32:1.1. Chương trình chính: a. Giải thuật chương trình chính: Baét ñaàu reset Xaùc ñònh Xmax, Xmin,Ymax,Ymin Truyeàn leân maùy tính Ñöa caûm bieán veà Xmin, Ymax Queùt vaø gôûi toïa ñoä leân maùy tínhb. Source Code: viết bằng phần mềm CodeVision. reset_servoX(); // vi tri 0 reset_servoY(); //*******xác định Ymin,Ymax;Xmin,Xmas*************** axes = top(); // lấy giá trị Ymax - điểm cao nhất trêncùng của vật itoa(axes,Ymax); axes = bottom(); // lấy giá trị Ymin -điểm thấp nhất dướicùng của vật itoa(axes,Ymin); axes = left(); // lấy giá trị Xmin - điểm ngoài cùngbên trái của vật itoa(axes,Xmin); axes = right(); itoa(axes,Xmax); // lấy giá trị Xmax -điểm ngoài cùng bênphải của vật //**xử lý chuỗi và gởi lên máy tính các giá trịbiên*********** strcatf(str, );// them ky tu strcat(str,Ymax); strcatf(str, );// them ky tu strcat(str,Ymin); strcatf(str, );// them ky tu strcat(str,Xmax); strcatf(str, );// them ky tu strcat(str,Xmin); puts(str); // gởi lên máy tính chuỗi data dạng: Ymax YminXmas Xmin lcd_clear(); // xóa LCD lcd_puts(str); servoX = iXmin; // đưa servo đến vị trí top leftchuẩnbị quét servoY = iYmax; delay_ms(1000); //***********thực hiện quét vật thể*********** for (y=j2;y>=j1;y--) { for (x=i1;x puts(axis_OX); delay_ms(100); } } delay_ms(300); servoX = iXmin; servoY += 4; delay_ms(300); }1.2. Chương trình con xác định X(min,max); Y(min,max): a. Giải thuật chương trình con xác định Ymax: Baét ñaàu Y taêng ÑThoaùt Ymax S Ñ KT Coù vaät KT S S Ñ Ñ Reset servoX Taêng ==1 X taêng Xmax Taêng :=0 S X giaûm Ñ Xmin Thoaùt Return Y S Keát thuùcc. Source Code://***********hàm xác định “top” - mép trên cùng của vậtint top(void){ unsigned char tang=1; reset_servoX(); reset_servoY();Ytang: servoY -= 4; //Y tang j2++; if (servoY * Các chương trình con xác định ...

Tài liệu được xem nhiều: