Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
499,7 KB
Nội dung
TRƯỜNG ĐẠI HỌC NƠNG LÂM TP HCM KHOA CƠ KHÍ CÔNG NGHỆ Báo Cáo Điềukhiênđộngbướcpha HỌ VÀ TÊN: GVHD:Th.s LÊ VĂN BẠN Nội dung đề tài Nôi dung đề tài ”điều khiểnđộngbước pha” Đối tượng nghiên cứu Nghiên cứu Độngbướcpha nguyên lư hoạt độngđộngbước pha, đồng thời tìm hiểu số độngbước khác va ứng dụng vi xử lư điềukhiểnđộngbước Phương pháp nghiên cứu I Nghiên cứu tài liệu, vi xử lý II Xây dựng mạch thực nghiệm Phụ lục Phần lý thuyết 1.1 Giới thiệu độngbướcĐộngbước loại động điện dùng để biến đổi lệnh cho dạng xung điện thành dịch chuyển dứt khốt góc quay hay đường thẳng bướcbước mà không cần cảm biến phản hồi Trong điềukhiển chuyển động kỹ thuật số, độngbước cấu chấp hành đặc biệt hữu hiệu thực trung thành lệnh đưa dạng số, phần tử phụ biến đổi cỏc mó xung thành tín hiệu điều chế cho hệ thống Độngbước ứng dụng nhiều ngành tự động hoá, chúng ứng dụng thiết bị cần điềukhiển xác Ví dụ: Điềukhiển robot, điềukhiển tiêu cự hệ quang học, điềukhiển định vị hệ quan trắc, điểukhiển bắt, bám mục tiêu khí tài quan sát, điềukhiển lập tŕnh thiết bị gia công cắt gọt, điềukhiển cấu lái phương chiều máy bay Trong cơng nghệ máy tính, độngbước sử dụng cho loại ổ đĩa cứng, ổ đĩa mềm, máy in… 1.1.1 Với nhiệm vụ chức nói trên, độngbước đđ̣i hỏi yêu cầu riêng kĩ thuật, yêu cầu chung: • Cóbước chuyển dịch bé • • • • • Moment đồng hóa đủ lớn đảm bảo sai số góc nhỏ thực bước di chuyển Khơng tích lũy sai số tăng bước Tác động nhanh Làm việc đảm bảo có cuộn dây điềukhiểnĐộngđiềukhiển đổi chiều có cấu tạo đơn giản 1.1.2 Chỉ thị hay động lực • • • • • • Thuận nghịch hay khơng thuận nghịch Có stato hay nhiều stato Có hay nhiều cuộn dây điềukhiển (quấn tập trung hay quấn rải) Roto phản kháng (khơng có dây quấn)và roto tác dụng (có dây quấn kích thích nam châm vĩnh cửu) Roto hh́nh đĩa hay roto mạch in Bước dịch chuyển xoay hay dịch chuyển thẳng trực tiếp 1.2 Các loại độngbước Tùy theo cấu tạo độngbướccó loại như: 1.2.1 Động biến từ trở Hình 1.1 Nếu motor bạn có cuộn dây, nối biểu đồ hình 1.1, với đầu nối chung cho tất cuộn, động biến từ trở Khi sử dụng, dây nối chung (C) thường nối vào cực dương nguồn cuộn kích theo thứ tự liên tục Dấu thập hình 1.1 rotor động biến từ trở quay 30 độ bước Rotor độngcó stator có cực, cuộn quấn quanh hai cực đối diện Khi cuộn kích điện, X rotor bị hút vào cực Nếu dòng qua cuộn bị ngắt đóngdòng qua cuộn 2, rotor quay 30 độ theo chiều kim đồng hồ Y hút vào cực Để quay động cách liên tục, cần cấp điện liên tục luân phiên cho cuộn Theo logic đặt ra, bảng có nghĩa códòng điện qua cuộn, chuỗi điềukhiển sau quay động theo chiều kim đồng hồ 24 bước vòng: Cuộn 1001001001001001001001001 Cuộn 0100100100100100100100100 Cuộn 0010010010010010010010010 thời gian ‐‐> Phần Điềukhiển mức trung bình cung cấp chi tiết phương pháp tạo dãy tín hiệu điềukhiển vậy, phần Các mạch điềukhiển bàn việc đóng ngắt dòng điện qua cuộn để điềukhiểnđộng từ chuỗi Hình dạng động mơ tả hình 1.1, quay 30 độ bước, dùng số rotor số cực stator tối thiểu Sử dụng nhiều cực nhiều cho phép động quay với góc nhỏ Tạo mặt bề mặt cực rotor cách phù hợp cho phép bước nhỏ đến vài độ 1.2.2 Động đơn cực Độngbước đơn cực, nam châm vĩnh cửu động hỗn hợp, với 5, dây , với đầu nối trung tâm cuộn Khi dùng, đầu nối trung tâm thường nối vào cực dương nguồn cấp, hai đầu lại mấu nối đất để đảo chiều từ trường tạo cuộn Mấu nằm cực stator, mấu nằm hai cực bên phải bên trái động Rotor nam châm vĩnh cửu với cực, Nam Bắc, xếp xen kẽ vòng tròn Để xử lý góc bước mức độ cao hơn, rotor phải có nhiều cực đối xứng Động 30 độ bước hình thiết kế động nam châm vĩnh cửu thơng dụng nhất, độngcóbước 15 độ 7.5 độ lớn Người ta tạo động nam châm vĩnh cửu với bước 1.8 độ với động hỗn hợp bước nhỏ đạt 3.6 độ đến 1.8 độ, tốt nữa, đạt đến 0.72 độ 1a 1000100010001000100010001 1b 0010001000100010001000100 2a 0100010001000100010001000 2b 0001000100010001000100010 time -> 1a 1100110011001100110011001 1b 0011001100110011001100110 2a 0110011001100110011001100 2b 1001100110011001100110011 Điềukhiển nửa bước ( half step ) 1a 11000001110000011100000111 1b 00011100000111000001110000 2a 01110000011100000111000001 2b 00000111000001110000011100 1.2.3 Độngbước lưởng cực Mạch điềukhiền Mạch điềukhiển cho động đòi hỏi mạch điềukhiển cầu H cho mấu; điều bàn chi tiết phần Các mạch điềukhiển Tóm lại, cầu nguồn mà qua hạt dẫn đa số vào kênh tạo dòng điện nguồn IS Cực máng (D): cực mà hạt dẫn đa số rời khỏi kênh Cực cửa (G): cực điềukhiểndòng điện chạy qua kênh 2.3.3 PIC16f887 Sơ đồ chân Họ vi điềukhiển PIC dsPIC hãng mikrochip chế tạo sản xuất với công nghệ đại, phù hợp cho ứng dụng đơn giản phức tạp Đặc biệt ngồi ngơn ngữ lập trình assembler MCU khác, người dùng lập trình PIC ngơn ngữ C quen thuộc thông qua phần mềm hỗ trợ ( PIC18C ; CCS C 2.3.4 Phần mềm biên dịch MPLAB MPLAB phần mềm chuyên nghiệp để lập trình cho vi điềukhiển với tính bật + Tạo mơi trường lập trình C, ASM : nhúng CCS C Compiler, HTPIC C Compiler Compiler khác + Debug mơ kết hợp chươn trình nạp + Quản lý project dễ dàng 2.4 sơ đồ điềukhiền Khối điềukhiền Khối công suất Động 2.5 Lưu đồ giải thuật Begin Nhâp giá trị “goc” RB6=0 Động quay thuận (với giá trị “goc” nhập) RB7=0 Động quay nghịch (với giá trị “goc” nhập) 2.6 Chương trình điềukhiền #include #include #include"lcd.h" CONFIG(INTIO&MCLREN&WDTDIS& PWRTEN&UNPROTECT&FCMDIS&BORDIS&LVPDIS&IESODIS); unsigned char a,i,n,m,e,d,v; long goc,c,b; unsigned char T[5]={0xF7,0xEF,0xDF,0xBF,0x7F}; unsigned char N[5]={0x7F,0xBF,0xDF,0xEF,0xF7}; void delay_s(int e); void delay_2(int e); void GT(); void quay3(long e); void quay1(long e); void quay2(long e); void phim (); void vantoc(); void hienthi(int u); ////////////////////////////////////////////////// void hienthi(int u) { printf("\f%d DO V=%d V/P",u,v); _delay(200000); } /////////////////////////////////////////////////CHON VAN TOC void vantoc() { lcd_gotoxy(3,2); printf("\fCHON VAN TOC !!"); _delay(200000); while(1) { RB0=0;RB1=1;RB2=1;RB3=1; if(RB4==0) {a=3;v=16;delay_s(2);printf("\fV = 16 VONG/PHUT");} if(RB5==0) {a=48;v=4;delay_s(2);printf("\fV = VONG/PHUT");} RB1=0;RB3=1;RB2=1;RB0=1; if(RB4==0) {a=4;v=12;delay_s(2);printf("\fV = 12 VONG/PHUT");} if(RB5==0) {a=144;v=1;delay_s(2);printf("\fV = VONG/PHUT");} RB2=0;RB3=1;RB1=1;RB0=1; if(RB4==0) {a=8;v=6;delay_s(2);printf("\fV = VONG/PHUT");} RB3=0;RB2=1;RB1=1;RB0=1; if(RB4==0){delay_s(2) ;break;} } } //////////////////////////////////////////////////// void delay_2(int e) { unsigned char j; for(j=1;j