Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 34 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
34
Dung lượng
1,36 MB
Nội dung
BỘ CÔNG THƯƠNG TRƯỜNG CAO ĐẲNG CÔNG THƯƠNG TP.HCM KHOA: ĐIỆN – ĐIỆN TỬ BỘ MƠN: TỰ ĐỘNG HĨA ĐỒ ÁN ĐIỀU KHIỂN TỰ ĐỘNG Đề tài: ĐIỀU KHIỂN MÔ HÌNH ĐỘNG CƠ GVHD: Ts Hồ Hồi Nam SVTH: 1) Nguyễn Phi Hùng 2) Lê Văn Linh 3) Phạm Tấn Phước 4) Nguyễn Văn Thế 5) Vũ Đức Uy 6) Mai Quốc Việt - MSSV 2117150024 - MSSV2116150028 - MSSV 2116150042 - MSSV 2117150058 - MSSV 2117150073 - MSSV 2117150076 Tp Hồ Chí Minh, Tháng 06 Năm 2019 MỤC LỤC LỜI MỞ ĐẦU iii LỜI CẢM ƠN iv LỜI CAM ĐOAN v DANH MỤC HÌNH vi DANH MỤC BẢNG vii TIẾN ĐỘ THỰC HIỆN ĐỒ ÁN MÔN HỌC ix Chương TỔNG QUAN CHUNG 1.1 Lý chọn đề tài 1.1 Mục tiêu chọn đề tài 1.2 Phương pháp thực đề tài Chương CƠ SỞ LÝ THUYẾT 2.1 Arduino UNO R3 2.2 Động DC Servo 2.3 Động bước DC 2.4 Mạch cầu H L298N 2.5 Màn LCD 16x2 2.6 Module I2C 2.7 Switch chân 2.8 Switch gạt chân 2.9 Biến trở Volume 5k 2.10 Bộ nguồn 12V DC 2.11 CB nguồn 2.12 Công tắc ON – OFF Chương TỔNG QUAN CHUNG VỀ ĐỒ ÁN 10 3.1 Các thiết bị sử dụng đồ án 10 3.2 Sơ đồ nguyên lý 12 3.2.1 Mạch điều khiển động bước DC 12 3.2.1 Mạch điều khiển động bước Servo DC 12 3.3 Sơ đồ khối hệ thống 13 i 3.3.1 Sơ đồ khối của hệ thống điều khiển động bước DC 13 3.3.2 Sơ đồ khối của hệ thống điều khiển động Servo DC 13 Mô hình đồ án 14 3.4 3.4.1 Kích thước đồ án 14 3.4.2 Hình ảnh thực đồ án 14 Ưu nhược điểm đồ án 14 3.5 3.5.1 Ưu điểm 14 3.5.2 Nhược điểm 15 Chương MỘT SỐ BÀI THỰC TẬP .16 4.1 Động DC Servo 16 4.1.1 Điều khiển biến trở 16 4.1.1.1 Yêu cầu đề 16 4.1.1.2 Chương trình điều khiển 16 4.1.2 Điều khiền tự đông 18 4.1.2.1 Yêu cầu đề 18 4.1.2.2 Chương trình điều khiển khiển 18 Động DC bước 20 4.2 4.2.1 Điều khiển biến trở 20 4.2.1.1 Yêu cầu đề 20 4.2.1.2 Chương trình điều khiển 20 4.2.2 Điều khiển tự động 21 4.2.2.1 Yêu cầu đề 21 4.2.2.2 Chương trình điều khiển 21 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .23 5.1 Kết luận 23 5.2 Hướng phát triển 23 TÀI LIỆU THAM KHẢO 24 ii LỜI MỞ ĐẦU Q trình cơng nghiệp hóa đại hóa dần du nhập Việt Nam cách nhanh chống mà đặc biệt phát triển công nghệ, khoa học kỹ thuật Ngày lĩnh vực khoa học kỹ thuật xuất khái niệm arduino, PLC, kỹ thuật điều khiển, …, kết hợp với trợ giúp máy tính Arduino kỹ thuật điều khiển có phát triển mạnh mẽ đặc biệt với nhiều ứng dụng tín Và xuất phát từ phát triển nhóm em nghiên cứu chọn đề tài:“ Điều khiển mơ hình động cơ” Động DC Servo động DC bước xuất nhiều công nghiệp sản xuất chiều sử dụng rộng rãi máy sản xuất Một số ứng dụng động DC servo công nghiệp điều khiển vị trí, vận tốc, gia tốc cấu servo máy CNC, băng tải, cấu robot… số ứng dụng động DC bước điều khiển robot, điều khiển tiêu cự hệ quang học, điều khiển định vị hệ quan trắc, điểu khiển bắt, sử dụng ổ đĩa cứng, đĩa mềm, máy in… địi hỏi có nhiều u cầu điều khiển khác nhau, tùy theo công việc điều kiện làm việc để tối ưu hóa q trình sản xuất Đề tài giúp chúng em hiểu rõ Arduino động DC servo động DC bước, đồng thời tích lũy thêm nhiều kiến thức Đặc biệt kinh nghiệm trình lắp mạch Thực tế song thời gian kiến thức có hạn, nên đề tài cịn nhiều thiếu sót Nhóm mong nhận góp ý thầy để cao chất lượng đề tài sau Nhóm em xin chân thành cảm ơn Tp Hồ Chí Minh, ngày 14 tháng 06 năm 2019 iii LỜI CẢM ƠN Chúng em xin gửi đến Quý thầy cô trường Cao đẳng Cơng Thương Thành Phố Hồ Chí Minh lời cảm ơn chân thành giáo viên khoa Điện- Điện tử Đặc biệt thầy Hồ Hoài Nam tận tình hướng dẫn chúng em làm đề tài: Điều khiển mơ hình động Nhóm em xin kính chúc Quý thầy cô thật nhiều sức khỏe, niềm tin để tiếp tục thực sứ mệnh cao đẹp truyền đạt kiến thức cho hệ mai sau Chúng xin chân thành cảm ơn ! Tp Hồ Chí Minh, ngày 14 tháng 06 năm 2019 iv LỜI CAM ĐOAN Em xin cam đoan đề tài: “ Điều khiển mơ hình động cơ” sản phẩm mà nhóm em nỗ lực nghiên cứu học tập trường Đề tài chúng em tự thực dựa vào số tài liệu tham khảo, thầy cô, bạn bè Trong q trình viết báo cáo có tham khảo số tài liệu có nguồn gốc rõ ràng, góp ý hướng dẫn thầy Hồ Hồi Nam, Khoa Điện – Điện tử trường Cao đẳng Công Thương Thành Phố Hồ Chí Minh Nếu khơng với nêu chúng em xin chịu hồn tồn trách nhiệm v DANH MỤC HÌNH Hình Arduino UNO R3 Hình 2 Động DC Servo Hình Động bước DC Hình Mạch cầu H L298N Hình Màn hình LCD 16x2 Hình Module I2C Hình Switch gạt chân Hình Switch gạt chân Hình Biến trở Hình 10 Bộ nguồn 12V DC Hình 11 CB nguồn Hình 12 Cơng tắc ON - OFF Hình 3.1 Sơ đồ đấu dây động Servo 12 Hình Sơ đồ đấu dây động Servo 12 Hình 3 Sơ đồ khối của hệ thống điều khiển động bước DC 13 Hình Sơ đồ khối của hệ thống điều khiển động Servo DC 13 Hình Mơ hình đồ án 14 vi DANH MỤC BẢNG Bảng Các thiết bị sử dụng đồ án 11 vii NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Nhận xét chung: … … … … … … … … … … … … … Đánh giá: (Được phép bảo vệ hay không phép bảo vệ) … … … TPHCM, ngày … tháng … năm 20 Giáo viên hướng dẫn (Ký ghi rõ họ tên) viii TIẾN ĐỘ THỰC HIỆN ĐỒ ÁN MÔN HỌC Tên đề tài: ĐIỀU KHIỂN MÔ HÌNH ĐỘNG CƠ Ngày giao đề tài: 18/02/2019; Tuần thứ: Ngày hoàn thành đề tài: 19/05/2019; Tuần thứ: 14 Sinh viên thực hiện: Họ tên sinh viên 1: NGUYỄN PHI HÙNG MSSV:2117150024 Họ tên sinh viên 2: LÊ VĂN LINH MSSV:2116150028 Họ tên sinh viên 3: PHẠM TẤN PHƯỚC MSSV:2116150042 Họ tên sinh viên 4: NGUYỄN VĂN THẾ MSSV:2117150058 Họ tên sinh viên 5: VŨ ĐỨC UY MSSV:2117150073 Họ tên sinh viên 6: MAI QUỐC VIỆT MSSV:2117150076 Nội dung – công việc thực Tuần/ngày Tuần Liên hệ với giáo viên hướng dẫn 18/02/2019 – 24/02/2019 Nhận đề tài Tuần Tập hợp nhóm, phân tích đề tài , tính tốn chọn linh kiện báo cáo 25/02/2019 – 03/03/2019 cho giáo viên hướng dẫn Tuần Tiến hành mua thiết bị cần thiết cho đồ án vẽ sơ đồ đấu dây 04/03/2019 – 10/03/2019 Tuần Tập hợp nhóm thiết kế mơ hình lắp đặt đấu dây 11/03/2019 – 17/03/2019 Tuần Chỉnh sửa khuyết điểm, lỗi trình làm Text chương 18/03/2019 – 24/03/2019 trình phần cứng Tuần – 14 Hợp báo cáo tiến độ đồ án cho giáo viên hướng dẫn,hoàn thành xong 25/03/2019 – 19/05/2019 chương trình, tiến hành lắp ráp mơ hình, nạp chương trình hồnh thiện đồ án Xác nhận giáo viên hướng dẫn (Ký ghi rõ họ tên) ix Chương TỔNG QUAN CHUNG VỀ ĐỒ ÁN 3.1 Các thiết bị sử dụng đồ án STT Tên thiết bị Arduino UNO R3 Động DC servo Động bước Mạch cầu H Hình ảnh L298N LCD 16x02 Switch gạt chân Bộ nguồn 12V DC 10 Module I2C Biến trở 10 Switch chân 11 CB nguồn 12 Công tắc ON OFF Bảng Các thiết bị sử dụng đồ án 11 3.2 Sơ đồ nguyên lý 3.2.1 Mạch điều khiển động bước DC Hình 3.1 Sơ đồ đấu dây động Servo 3.2.1 Mạch điều khiển động bước Servo DC Hình Sơ đồ đấu dây động Servo 12 3.3 Sơ đồ khối hệ thống 3.3.1 Sơ đồ khối của hệ thống điều khiển động bước DC Hình 3 Sơ đồ khối của hệ thống điều khiển động bước DC 3.3.2 Sơ đồ khối của hệ thống điều khiển động Servo DC Hình Sơ đồ khối của hệ thống điều khiển động Servo DC 13 3.4 Mơ hình đồ án Kích thước đồ án 3.4.1 Chiều dài: 300 mm Chiều rộng: 462 mm Chiều cao: 370 mm 3.4.2 Hình ảnh thực đồ án Hình Mơ hình đồ án 3.5 3.5.1 Ưu nhược điểm đồ án Ưu điểm Linh kiện dễ kiếm dễ mua Mơ hình nhỏ gọn Điều khiển vị trí tốc độ mong muốn Hoạt động theo vịng kín nên có khả hồi tiếp tốc độ Có thể phát điển hệ thống để ứng dụng vào đời sống , công nghiệp 14 3.5.2 Nhược điểm Yêu cầu người viết chương trình phải có khiến thức chun ngành Linh kiện dễ hỏng , khó sữa chữa Khả hồi tiếp động có sai lệch 15 Chương 4.1 MỘT SỐ BÀI THỰC TẬP Động DC Servo 4.1.1 Điều khiển biến trở 4.1.1.1 Yêu cầu đề 4.1.1.2 Chương trình điều khiển #include #include #define encodPinA1 // Quadrature encoder A pin #define encodPinB1 // Quadrature encoder B pin #define M1 // PWM outputs to L298N H-Bridge motor driver module #define M2 10 double kp = , ki = , kd = 0.03; // modify for optimal performance double input = 0, output = 0, setpoint = 0; long temp; volatile long encoderPos = 0; PID myPID(&input, &output, &setpoint, kp, ki, kd, DIRECT); // if motor will only run at full speed try 'REVERSE' instead of 'DIRECT' void setup() { pinMode(encodPinA1, INPUT_PULLUP); // quadrature encoder input A pinMode(encodPinB1, INPUT_PULLUP); // quadrature encoder input B attachInterrupt(0, encoder, FALLING); // update encoder position TCCR1B = TCCR1B & 0b11111000 | 1; // set 31KHz PWM to prevent motor noise myPID.SetMode(AUTOMATIC); myPID.SetSampleTime(1); myPID.SetOutputLimits(-255, 255); Serial.begin (115200); 16 // for debugging } void loop() { setpoint = analogRead(0) * 5; // modify to fit motor and encoder characteristics, potmeter connected to A0 input = encoderPos ; // data from encoder // Serial.println(encoderPos); // monitor motor position myPID.Compute(); // calculate new output pwmOut(output); // drive L298N H-Bridge module } void pwmOut(int out) { // to H-Bridge board if (out > 0) { analogWrite(M1, out); // drive motor CW analogWrite(M2, 0); } else { analogWrite(M1, 0); analogWrite(M2, abs(out)); // drive motor CCW } } void encoder() { // pulse and direction, direct port reading to save cycles if (PINB & 0b00000001) encoderPos++; // if(digitalRead(encodPinB1)==HIGH) count ++; else encoderPos ; // if(digitalRead(encodPinB1)==LOW) count ; 17 4.1.2 Điều khiền tự đông 4.1.2.1 Yêu cầu đề Điều khiển tốc độ vị trí động DC Servo tự động Arduino 4.1.2.2 Chương trình điều khiển khiển #include #include // Thanks to Brett Beauregard for his nice PID library http://brettbeauregard.com/blog/2011/04/improving-the-beginners-pid-introduction/ #define encodPinA1 // Quadrature encoder A pin #define encodPinB1 // Quadrature encoder B pin #define M1 // PWM outputs to L298N H-Bridge motor driver module #define M2 10 double kp = , ki = , kd = 0.01 ,input = 0, output = 0, setpoint = 0; // modify kp, ki and kd for optimal performance long temp; volatile long encoderPos = 0; PID myPID(&input, &output, &setpoint, kp, ki, kd, DIRECT); // if motor will only run at full speed try 'REVERSE' instead of 'DIRECT' void setup() { pinMode(encodPinA1, INPUT_PULLUP); // quadrature encoder input A pinMode(encodPinB1, INPUT_PULLUP); // quadrature encoder input B attachInterrupt(0, encoder, FALLING); // update encoder position TCCR1B = TCCR1B & 0b11111000 | 1; // set 31KHz PWM to prevent motor noise myPID.SetMode(AUTOMATIC); 18 myPID.SetSampleTime(1); myPID.SetOutputLimits(-255, 255); } void loop() { temp += analogRead(0); // increment position target with potentiometer value (speed), potmeter connected to A0 if (temp < 0) { // in case of overflow encoderPos = 0; temp = 0; } setpoint = temp / 500; // modify division to fit motor and encoder characteristics input = encoderPos ; // data from encoder myPID.Compute(); // calculate new output pwmOut(output); // drive L298N H-Bridge module } void pwmOut(int out) { // to H-Bridge board if (out > 0) { analogWrite(M1, out); 19 // drive motor CW analogWrite(M2, 0); } else { analogWrite(M1, 0); analogWrite(M2, abs(out)); // drive motor CCW } } void encoder() { // pulse and direction, direct port reading to save cycles if (PINB & 0b00000001) encoderPos++; // if (digitalRead(encodPinB1)==HIGH) count ++; else encoderPos ; / / if (digitalRead(encodPinB1)==LOW) count ; } 4.2 Động DC bước 4.2.1 Điều khiển biến trở 4.2.1.1 Yêu cầu đề Điều khiển tốc độ động DC bước Arduino kiểm sốt biến trở 4.2.1.2 Chương trình điều khiển #include const int stepsPerRevolution = 200; // change this to fit the number of steps per revolutio Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11); int stepCount = 0; // number of steps the motor has taken void setup() { pinMode(2,OUTPUT) 20 ; //ENB1 digitalWrite(2,HIGH); pinMode(3,OUTPUT); //ENB2 digitalWrite(3,HIGH); } void loop() { int sensorReading = analogRead(A0); int motorSpeed = map(sensorReading, 0, 1023, 0, 100); if (motorSpeed > 0) { myStepper.setSpeed(motorSpeed); myStepper.step(stepsPerRevolution / 100); } } 4.2.2 Điều khiển tự động 4.2.2.1 Yêu cầu đề Điều khiển tốc độ động DC bước tự động Arduino 4.2.2.2 Chương trình điều khiển #include //Khai báo chân để điều khiển Step tạo đối tượng myStepper Stepper myStepper(200, 8,9,10,11); void setup() { // Tốc độ 100rpm myStepper.setSpeed(200); Serial.begin(9600); } void loop() { Serial.println("Quay theo chiều kim đồng hồ"); 21 myStepper.step(2000); //Max Step động bước đầu DVD/CD 250 hihe delay(500); Serial.println("Quay ngược chiều kim đồng hồ"); myStepper.step(-2000); delay(500); } 22 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết luận Sau thời gian tìm hiểu, nghiên cứu, hướng dẫn nhiệt tình Thầy Hồ Hồi Nam, thầy mơn bạn sinh viên, chúng em hoàn thành đồ án 5.2 Hướng phát triển Do giới hạn thời gian kiến thức nên nhóm em điều khiển động với công suất nhỏ, sản phẩm mức độ mơ hình nhỏ Tuy nhiên với đề tài hồn tồn phát triển để điều khiển động chiều với cơng suất lớn sử dụng công nghiệp điều khiển băng tải, hệ thống điều khiển khác cần thay đổi tốc độ động cần đảo chiều động 23 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Phạm Quang Huy, Nguyễn Trọng, 2016, Vi điều khiển ứng dụng Arduino dành cho người tự học, Nhà xuất Bách Khoa Hà Nội [2] Lâm Quang Chuyên, 2012, Giáo trình vi điều khiển, Trường Cao đẳng Công thương Tp HCM [3] Web: https://www.arduino.vn [4] Web: https://www.arduino360.com Tiếng Anh [5] Jeremy Blum , 2013, Explorring Arduino: Tools and Techniques for Engineer Wizardry [6] Purdum, Jack, 2015, Beginning C for Arduino, second Edition 24 ... đề tài: ? ?Điều khiển mơ hình động cơ? ?? 1.1 Mục tiêu chọn đề tài Thiết kế hệ thống điều khiển ổn định tốc độ động Arduino lập trình điều khiển động DC servo động DC bước Arduino, dễ dàng điều chỉnh... 2.2 Động DC Servo Hình 2 Động DC Servo Khái niệm: Động DC servo động động chiều, động xoay chiều, động điện chiều không chổi than, động bước kết hợp với điều khiển phản hồi hệ thống điều khiển. .. thống điều khiển động bước DC Hình 3 Sơ đồ khối của hệ thống điều khiển động bước DC 3.3.2 Sơ đồ khối của hệ thống điều khiển động Servo DC Hình Sơ đồ khối của hệ thống điều khiển động Servo