Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 101 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
101
Dung lượng
2,11 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á ĐỒ ÁN TỐT NGHIỆP TÊN ĐỀ TÀI: NGHIÊN CỨU VỀ ĐỘNG CƠ BƯỚC VÀ THIẾT KẾ MẠCH CÔNG SUẤT Giảng viên hướng dẫn : PGS.TS Nguyễn Quang Hùng Sinh viên thực : Phạm Thế Cường Ngày sinh : 04/12/2000 Lớp : DCTDH9.10 Ngành : CNKT Điều khiển Tự động hóa Khoa : Điện - Điện tử : Mã sinh viên : 187510303036 Bắc Ninh, năm 2022 Khóa BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á PHẠM THẾ CƯỜNG TÊN ĐỀ TÀI: NGHIÊN CỨU VỀ ĐỘNG CƠ BƯỚC VÀ THIẾT KẾ MẠCH CÔNG SUẤT Giảng viên hướng dẫn : PGS.TS Nguyễn Quang Hùng Bắc Ninh, năm 2022 BỘ GIÁO DỤC VÀ ĐÀO MỤC LỤC Mục lục ………………………………….…………………………………… i Danh mục sơ đồ, giản đồ …………………… ……………………………… iv Danh mục hình ảnh ……………………………… ………………………… vi Danh mục bảng biểu …………………………… ………………………… vii Lời cảm ơn ………………………………………………………………… viii Lời cam đoan ………………………………………………………………… ix Lời nói đầu …………………………… …………………… ………… … Mục tiêu đề tài ………………………………………………… …… …… Chương 1: Tổng quan đề tài nghiên cứu thiết kế mạch điều khiển động bước ………………….……………………………………………………… 1.1 Khái quát động bước ……………………….… …… ………… 1.1.1 Khái niệm chung ……………………………………………………… 1.1.2 Nguyên lý hoạt động ………………………….……………………… 1.1.3 Mômen đồng trạng thái ổn định động bước ……….…… 1.1.4 Cấu tạo phân loại động bước …………………………….…… 10 1.1.4.1 Động bước nam châm vĩnh cửu ………………… …………… 10 1.1.4.2 Động bước có từ trở thay đổi ………………………………… 11 1.1.4.3 Động bước kiểu hỗn hợp (HYBRID) ………………………… 12 1.2 Cơ sở lý thuyết điều khiển động bước …………… … ………… 14 1.2.1 Ba chế độ (mode) điều khiển động bước ………………… .…… 14 1.2.1.1 Biểu thức toán học tổng quát cho ba chế độ điều khiển …… …… 14 a, Điều khiển bước ……………………………………………… …… 16 b, Điều khiển nửa bước ……………………………………………… …… 16 c, Điều khiển vi bước …………………………………………… ……… 16 1.2.1.2 Hai phương pháp để điều khiển động bước chế độ vi bước … 17 a, Phương pháp ……………………………………………………….… 17 b, Phương pháp ……………………………………………………….… 18 1.2.2 Các đặc trưng tín hiệu điện điều khiển động bước …….…… 19 1.2.2.1 Trạng thái không hoạt động ……………………………………… 19 1.2.2.2 Trạng thái giữ ………………………………………….………… 19 i 1.2.2.3 Trạng thái dịch chuyển bước ……………………………….… … 20 1.2.2.4 Trạng thái quay giới hạn …………………………… ….… … 20 1.2.3 Bốn kiểu điều khiển dòng điện I điện áp U ……………………… 20 1.2.3.1 Mối quan hệ dòng điện I điện áp U …………………….… 20 1.2.3.2 Điều khiển dòng-áp hệ số L/R …………………….…….… 23 1.2.3.3 Điều khiển dòng-áp độ rộng xung …………………….… … 24 1.2.3.4 Điều khiển dòng-áp điện áp hai mức …………………….… 25 1.2.3.5 Điều khiển dòng-áp nguồn dòng …………………….……… 27 1.2.4 Điều khiển tốc độ quay động bước …………………………… 29 1.2.5 Điều khiển chiều quay động bước …………………….… … 31 Chương 2: Thiết kế mạch điều khiển động bước …………………….… 33 2.1 Thiết kế Môđun điều khiển động bước ……………… ……….…… 33 2.1.1 Mạch công suất (DRIVER) điều khiển động pha ……………… 33 2.1.1.1 Mạch công suất tổng quát cho động pha ………….…… …… 33 2.1.1.2 Giản đồ xung điều khiển động pha …………………… ……… 35 2.1.1.3 Ba phương pháp đổi chiều quay động pha …… ……… 38 a, Đổi chiều quay phần mềm lập trình ………………………………… 38 b, Đổi chiều phần cứng ……………………………………… ……… 39 c, Đổi chiều phần cứng …………………………………… …….…… 39 2.1.1.4 Điều khiển công suất động pha kiểu L/R theo độ rộng xung 40 2.1.1.5 Điều khiển công suất động hai pha theo kiểu hai mức điện áp … 43 2.1.1.6 Điều khiển công suất động pha cho chế độ vi bước nguồn dòng ………………………………………………………………………… 44 a, Thiết kế nguồn dòng theo kiểu Switching ……………………………… 44 b, Điều khiển công suất động pha nguồn dòng chế độ vi bước ………………………………………………………………… …… 49 2.1.2 Thiết kế mạch tạo xung điều khiển động bước …………………… 51 a, Đầu vào điều khiển …………………………………………………… … 51 b, Đầu vào hổi tiếp …………………………………………………… …… 52 c, Đầu điều khiển ………………………………………………………… 52 2.1.2.1 Thiết kế mạch tạo xung vi mạch rời …………….…………… 52 ii 2.1.2.2 Thiết kế mạch tạo xung linh kiện lập trình …………….… 57 2.1.2.3 Thiết kế mạch tạo xung điều khiển vi xử lý ………… ……… 58 a, Đầu điều khiển cuộn dây pha ……………………………….………58 b, Đầu điều khiển dòng-áp …………………………………… ….……… 59 c, Đầu vào hồi tiếp ………………………………………………… ……… 59 d, Đầu vào dừng đảo chiều khẩn cấp ………………….…….………… 59 e, Đầu vào tín hiệu truyền thơng nối tiếp ……………………….… ……… 59 g, Đầu vào điều khiển song song ……………………………… …………… 59 2.1.2.4 Thiết kế mạch tạo xung sử dụng vi mạch đặc chủng cho điều khiển động bước …………………………………………….………… ……… 65 a, Vi mạch L297 tạo xung điều khiển cho động pha, kiểu chopper (điều khiển độ rộng xung) …………………………………… ……… …… 65 2.2 Ứng dụng động bước hệ chuyển động rời rạc ………… … 66 Chương 3: Mơ hình sản phẩm động bước …………………………….… 67 3.1.Tổng quan linh kiện …………………………………….… …… 67 3.1.1 Động bước …………………………………………….… ……… 67 3.1.2 Mạch arduino R3 (Mạch tạo xung) …………………….………… … 67 3.1.3 Mạch công suất Microstep Driver TB6600 ……………….…… …… 71 3.1.4 Biến trở than ………………………………………………… ……… 72 3.2 Phần mềm lập trình ardiuno IDE ……………………… ……… …… 74 3.2.1 Giới thiệu giao diện chức phần mềm ……… …… 74 3.2.2 Cấu trúc chương trình Arduino IDE ……………… … 78 3.3 Sơ đồ đấu nối dây ……………………………………………… ……… 80 Chương 4: Kết luận ……………………………….………………… …… 84 Tài liệu tham khảo ………………………………….………………… …… 85 Phụ lục ………………………………… ……………………… …….…… 86 iii DANH MỤC SƠ ĐỒ, GIẢN ĐỒ STT Hình 1: Mơ hình số hố động bước Trang Hình 2: Sơ đồ nguyên lý động bước m pha với roto cực lực điện từ điều khiển xung cực Hình 3: Xung điện áp cấp cho cuộn dây stato Hình 4: Đường cong mơmen động bước theo góc quay θ Hình 5: Động bước nam châm vĩnh cửu 11 Hình 6: Động bước có từ trở thay đổi 12 Hình 7: Động bước kiểu hỗn hợp Hình 8: Giản đồ nguyên lý lực điện từ điều khiển chế độ vi bước Hình 9: Sơ đồ nguyên lý cấp điện cho cuộn dây pha Hình 10: Đặc tuyến dịng điện stato theo thời gian góc quay dịch bước Hình 11: Sơ đồ xung điện áp dòng điện cuộn dây stato điều khiển bẳng độ rộng xung Hình 12: Sơ đồ nguyên lý mạch điều khiển theo kiểu điện áp mức Hình 13: Giản đồ xung điều khiển kiểu điện áp mức Hình 14: Sơ đồ ngun lý mạch điều khiển nguồn dịng Hình 15: Sơ đồ nguyên lý mạch công suất tổng quát điều khiển động pha Hình 16: Giản đồ xung điều khiển nửa bước động pha Hình 17: Giản đồ xung điều khiển bước động pha Hình 18: Giản đồ xung điều khiển động pha theo kiểu điều khiển độ rộng xung cho mạch cơng suất hình 15 Hình 19: Sơ đồ nguyên lý mạch công suất cải tiến điều khiển động pha Hình 20: Giản đồ xung theo trạng thái điều khiển mạch công suất cải tiến hình 19 cho động pha Hình 21: Sơ đồ nguyên lý mạch điều khiển công suất động pha theo kiểu điện áp hai mức 13 10 11 12 13 14 15 16 17 18 19 20 21 5 15 20 22 24 26 26 28 34 36 37 40 41 43 43 iv 22 23 24 25 26 27 28 Hình 22: Sơ đồ nguyên lý mạch nguồn dịng nguồn áp Switching chế độ fly-back Hình 23: Mối quan hệ độ rộng xung điện áp tải nguồn Switching kiểu fly-back Hình 24: Mạch cơng suất động pha điều khiển nguồn dịng Hình 25 Mạch tạo xung vi mạch rời cho động pha pha Hình 26 Mạch tạo xung điều khiển tổng hợp Hình 27: Sơ đồ nguyên lý mạch tạo xung đa chức sử dụng Microcontroller 89C51 Hình 28: Sơ đồ mạch arduino 45 46 50 53 55 58 70 v DANH MỤC HÌNH ẢNH STT Trang Hình 1: Động bước 67 Hình 2: Hình ảnh arduino R3 68 Hình 3: Vi điều khiển arduino R3 69 Hình 4: Mạch cơng suất 71 Hình 5: Hình ảnh chiết áp 73 73 Hình 6: Cấu tạo chiết áp Hình 7: Giao diện phần mềm arduino ide Hình 8: Mục chức arduino ide 76 Hình 10: Chọn cổng kết nối với máy tính 76 10 Hình 11: Cổng serial máy tính 77 11 12 13 Hình 11: Sơ đồ đấu nối dây động bước với mạch tạo xung mạch cơng suất Hình 12: Sơ đồ đấu nối dây động bước với chiết áp mạch arduino Hình 13: Mơ hình thực tế 74 80 81 81 vi DANH MỤC BẢNG BIỂU STT Trang Bảng Trạng thái cấp điện pha động pha 31 Bảng Trạng thái cấp điện xung điều khiển pha động pha 36 Bảng 3: Một vài thông số arduino uno r3 69 Bảng 4: Các lệnh Arduino 79 vii LỜI CẢM ƠN Trong thời gian làm đồ án tốt nghiệp, em nhận nhiều giúp đỡ, đóng góp ý kiến bảo nhiệt tình thầy cơ, gia đình bạn bè Em xin gửi lời cảm ơn chân thành đến PGS.TS Nguyễn Quang Hùng - giảng viên khoa Điện-Điện tử trường Đại Học Công Nghệ Đông Á người tận tình hướng dẫn, bảo em suốt q trình làm khố luận Em xin chân thành cảm ơn thầy cô giáo trường Đại Học Cơng Nghệ Đơng Á nói chung, thầy mơn kĩ thuật nói riêng dạy dỗ cho em kiến thức môn đại cương mơn chun ngành, giúp em có sở lý thuyết vững vàng tạo điều kiện giúp đỡ em suốt trình học tập Cuối cùng, em xin chân thành cảm ơn gia đình bạn bè, tạo điều kiện, quan tâm, giúp đỡ, động viên em suốt trình học tập hồn thành khố luận tốt nghiệp Với điều kiện thời gian kinh nghiệm hạn chế học viên, luận văn tránh thiếu sót Em mong nhận bảo, đóng góp ý kiến thầy để tơi có điều kiện bổ sung, nâng cao ý thức mình, phục vụ tốt cơng tác thực tế sau …… , ngày … tháng … năm … Sinh viên thực viii Hình 6: Cấu tạo chiết áp Các vật liệu có trở kháng vật liệu sử dụng để tạo biến trở • Carbon hay cịn gọi biến trở than: Đây vật liệu phổ biến cấu thành từ hạt carbon Chi phí rẻ nên sản xuất với số lượng lớn nhiên độ xác khơng cao • Dây cuốn: Loại dây thường sử dụng dây Nichrome với độ cách điện cao Do mà chúng sử dụng ứng dụng cơng suất cao địi hỏi độ xác • Nhựa dẫn điện: Thường bắt gặp ứng dụng âm cao cấp Tuy nhiên chi phí cao khiến chúng bị hạn chế • Cermet: Đây loại vật liệu ổn định Tuy nhiên hạn chế giá thành cao tuổi thọ ngắn 3.2 Phần mềm lập trình arduino IDE 3.2.1 Giới thiệu giao diện chức phần mềm Arduino bao gồm phần cứng phần mềm Để lập trình cho board mạch Arduino cần download cài đặt phần mềm soạn thảo code Arduino IDE Các chức biểu tượng phần mềm trình bày sau 76 Hình 7: Giao diện phần mềm arduino ide Giao diện phần mềm Arduino IDE có nhiều phần, nhiên ý đến phần quan trọng nêu hình Chức phần sau: - Nút kiểm tra chương trình: Dùng để kiểm tra xem chương trình viết có lỗi khơng Nếu chương trình bị lỗi phần mềm Arduino IDE hiển thị thơng tin lỗi vùng thông báo thông tin -Nút nạp chương trình xuống bo Arduino: Dùng để nạp chương trình viết xuống mạch Arduino Trong trình nạp, chương trình kiểm tra lỗi trước sau thực nạp xuống mạch Arduino -Hiển thị hình giao tiếp với máy tính: Khi nhấp vào biểu tượng kính lúp phần giao tiếp với máy tính mở Phần hiển thị thơng số mà người dùng muốn đưa lên hình Muốn đưa lên hình phải có lệnh Serial.print() đưa thơng số cần hiển thị lên hình -Vùng lập trình: 77 Vùng để người lập trình thực việc lập trình cho chương trình -Vùng thơng báo thơng tin: Có chức thơng báo thơng tin lỗi chương trình vấn đề liên quan đến chương trình lập - Sử dụng số menu thông dụng phần mềm Arduino IDE Có vài menu phần mềm IDE, nhiên thơng dụng menu File, ngồi tính mở file hay lưu file, phần menu có mục đáng ý Example Phần Example (ví dụ) đưa ví dụ sẵn để người lập trình tham khảo, giảm bớt thời gian lập trình Hình bên thể việc chọn ví dụ cho led chớp tắt (blink) để nạp cho mạch Arduino Ví dụ led chớp tắt thường dùng để kiểm tra bo mua Hình 8: Mục chức arduino ide Một menu thường sử dụng khác menu Tools Khi kết nối bo Arduino với máy tính ta click vào Tools->board để chọn loại board sử dụng 78 Phần mềm chọn sẵn kiểu bo Arduino Uno, người dùng dùng kiểu bo khác chọn kiểu bo dùng Hình 9: Chọn cổng kết nối với máy tính Các thiết bị dựa tảng Arduino lập trình ngơn riêng Ngơn ngữ dựa ngơn ngữ Wiring viết cho phần cứng nói chung Và Wiring lại biến thể C/C++ Một số người gọi Wiring, số khác gọi C hay C/C++ Ở gọi “ngơn ngữ Arduino”, đội ngũ phát triển Arduino gọi Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến dễ học, dễ hiểu Nếu học tốt chương trình Tin học 11 việc lập trình Arduino khơng có khó khăn Để lập trình gửi lệnh nhận tín hiệu từ mạch Arduino, nhóm phát triển dự án cấp đến cho người dùng mơi trường lập trình Arduino gọi Arduino IDE (Intergrated Development Environment) hình 79 Hình 10: Cổng serial máy tính 3.2.2 Cấu trúc chương trình Arduino IDE Phần 1: Khai báo biến Đây phần khai báo kiểu biến Arduino IDE, tên biến, định nghĩa chân board số kiểu khai báo biến thông dụng: * #define Nghĩa từ define định nghĩa, hàm #define có tác dụng định nghĩa, hay gọi gán, tức gán chân, ngõ với tên Ví dụ #define led 13 Chú ý: sau #define khơng có dấu “,” (dấy phẩy) *Khai báo kiểu biến khác như: int (kiểu số nguyên), float,… Phần 2: Thiết lập (void setup()) 80 Phần dùng để thiết lập cho chương trình Arduino IDE, cần nhớ rõ cấu trúc void setup() { … } Cấu trúc có dấu ngoặc nhọn đầu cuối, thiếu phần kiểm tra chương trình chương trình báo lỗi Phần dùng để thiết lập tốc độ truyền liệu, kiểu chân chân hay chân vào Trong đó: Serial.begin(9600) Dùng để truyền liệu từ board Arduino lên máy tính pinMode(bien,kiểu vào ra); ví dụ: pinMode(chanD0,INPUT); Dùng để xác định kiểu chân vào hay Phần 3: Vòng lặp Dùng để viết lệnh chương trình để mạch Arduino thực nhiệm vụ mà Chúng ta thường muốn bắt đầu : voidloop() { ……………… } Một số câu lệnh, cấu trúc thường gặp: Bảng 4: Các lệnh Arduino Ký hiệu, câu lệnh // Ý nghĩa Câu lệnh Dấu // dùng để giải thích, nội dung giải thích nằm dịng, kiểm tra chương trình phần kiểm tra bỏ qua phần này, không kiểm tra 81 /*… … */ Ký hiệu dùng để giải thích, giải thích dành cho đoạn, tức xuống dịng #define biến chân Define nghĩa định nghĩa, xác định Câu lệnh nhằm gán tên biến vào chân Ví dụ #define led 13 digitalWrite(chân, trạng thái); Dùng để tắt, mở chân Cú pháp digitalWrite(chân,trạng thái chân); Ở trạng thái chân HIGH LOW Ví dụ: digital(led,HIGH); , digital(led,LOW); Chú dấu chấm phẩy đằng sau câu lệnh analogWrite(chân, giá trị); Có ý nghĩa dùng để băm xung (PWM), thường dùng để điều khiển tốc độ động cơ, độ sáng led, digitalRead(chân); Read nghĩa đọc, lệnh dùng để đọc giá trị digital chân muốn đọc analogRead(chân); Read nghĩa đọc, lệnh dùng để đọc giá trị analog chân muốn đọc delay(thời gian); Delay nghĩa chờ, trì hỗn, trì Lệnh dùng để trì trạng thái thực chờ thời gian Thời gian tính mili giây, giây ngàn mili giây if() { Các câu lệnh } else () { Các câu lệnh } if nghĩa nếu, sau if dấu (), bên dấu ngoặc biểu thứ so sánh Ví dụ cảm biến độ ẩm đất (phần 5) thì: if (giatriAnalog>500) //nếu giá trị đọc biến giatriAnalog lớn 500 { digitalWrite(Led,HIGH); //Ra lệnh cho led sáng delay(1000);//chờ 1s } else nghĩa ngược lại Serial.print() In hình máy tính, lệnh in khơng xuống dịng Serial.println() In hình máy tính, in xong xuống dòng, giá trị in dòng 3.3 Sơ đồ đấu nối dây * Sơ đồ đấu nối dây động bước với mạch tạo xung mạch cơng suất 82 Hình 11: Sơ đồ đấu nối dây động bước với mạch tạo xung mạch công suất * Sơ đồ đấu nối dây động bước với chiết áp mạch arduino Hình 12: Sơ đồ đấu nối dây động bước với chiết áp mạch arduino 83 Hình 13: Mơ hình thực tế 84 CHƯƠNG 4: KẾT LUẬN Trong trình điều khiển chuyển động kỹ thuật, điều khiển động bước cấu chấp hành đặc biệt hữu hiệu cho máy móc, thực trung thành lệnh mà đưa dạng số Cùng với phát triển ngành khoa học chế tạo, động bước ứng dụng nhiều ngành tự động hoá, đặc biệt thiết bị điều khiển từ xa cần có độ xác cao 85 TÀI LIỆU THAM KHẢO Động bước kĩ thuật điều khiển ứng dụng - NGUYỄN QUANG HÙNG-TRẦN NGỌC BÌNH (NXB khoa học kỹ thuật) 86 PHỤ LỤC Code chương trình điều khiển động bước: // sDefine stepper motor connections: #define dirPin #define stepPin // Control stepper speed from an Arduino UNO int en = ; int dirPinX = ; int stepPinX = ; int speedPinX = A0; long totalRoundX = 10; long pulsePerRoundX = 200; // so xung/vong float speedX = 60 ; // vong/phut int microStep = 1; //200 xung/vong float angleStep = 1.8; float stepsPerRound = microStep * 360.0 / angleStep; //200 xung long steps = * stepsPerRound; int countStepTimeOut = 0; void setup() { Serial.begin(9600); pinMode(en, OUTPUT); // Enable pinMode(stepPinX, OUTPUT); // Step 87 pinMode(dirPinX, OUTPUT); // Dir pinMode(speedPinX, INPUT); // Declare pins as output: pinMode(stepPin, OUTPUT); pinMode(dirPin, OUTPUT); digitalWrite(en, LOW); // Set Enable low digitalWrite(dirPinX, LOW); } void loop() { speedX = map(analogRead(speedPinX), 0, 1023, 20, 240); //vong/phut // Serial.println(speedX); moveX(1, LOW, speedX); delay(2000); Serial.print("Bat dau chay goc quay /n"); // chinhGocQuay(); Serial.print("ket thuc chay goc quay /n"); // sau chay goc quay cho dừng 1s tiếp chạy lại vòng lặp // delay(1000); } void moveX(long totalRound, bool dir, float speed_) { long t_time = millis(); long stepsCount = 0; float period = 1000000 / (speed_ / 60 * pulsePerRoundX); // time micro second long totalPulse = totalRound * pulsePerRoundX; Serial.print("Total Round X is "); 88 Serial.print(totalRound); Serial.print(" with speed "); Serial.print(speed_); Serial.println(" round/min"); //digitalWrite(dirPinX, dir); // round in clock digitalWrite(dirPin, HIGH); steps = * stepsPerRound; //40 Serial.print("Move to "); Serial.print(steps / stepsPerRound, 0); Serial.print(" rounds "); Serial.println(steps); for (long i = 1; i