Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 94 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
94
Dung lượng
3,66 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH: KỸ THUẬT ĐIỆN TỬ VIỄN THƠNG THIẾT KẾ MƠ HÌNH MÁY PHA CHẾ NƯỚC UỐNG TỰ ĐỘNG GIẢNG VIÊN HƯỚNG DẪN: Th.S VÕ THỊ BÍCH NGỌC Sinh viên thực hiện: MSSV: Lớp Phùng Văn Mạnh 1811010049 18DDTA1 Phạm Thanh Phong 1811010105 18DDTA1 Tp Hồ Chí Minh, tháng 08 năm 2022 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH: KỸ THUẬT ĐIỆN TỬ VIỄN THƠNG THIẾT KẾ MƠ HÌNH MÁY PHA CHẾ NƯỚC UỐNG TỰ ĐỘNG GIẢNG VIÊN HƯỚNG DẪN: Th.S VÕ THỊ BÍCH NGỌC Sinh viên thực hiện: MSSV: Lớp Phùng Văn Mạnh 1811010049 18DDTA1 Phạm Thanh Phong 1811010105 18DDTA1 Tp Hồ Chí Minh, tháng 08 năm 2022 LỜI CAM ĐOAN Tác giả xin cam đoan: Những nội dung đồ án tác giả thực hướng dẫn Cô Võ Thị Bích Ngọc Các số liệu, hình ảnh, thơng tin đồ án trung thực, tác giả tìm hiểu tham khảo Internet, sách báo, tài liệu ngồi nước có liên quan Nội dung báo cáo đồ án không chép hay sử dụng làm khác Mọi tham khảo dùng đồ án trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm cơng bố Tác giả xin chịu hoàn toàn trách nhiệm lời cam đoan trước thầy nhà trường Trường đại học CÔNG NGHỆ TP HCM (HUTECH) không liên quan đến vi phạm tác quyền, quyền tác giả gây trình thực (nếu có) Tp Hồ Chí Minh, ngày tháng năm 2022 Ký tên (sinh viên ký ghi rõ họ tên) I LỜI CẢM ƠN Báo cáo tốt nghiệp chuyên ngành Điện Tử Viễn Thông với đề tài “Máy pha chế nước uống tự động” kết trình cố gắng không ngừng thân giúp đỡ, động viên khích lệ q Thầy/cơ giáo, bạn bè người thân Qua trang viết tác giả xin gửi lời cảm ơn tới người giúp đỡ thời gian học tập - nghiên cứu vừa qua Tác giả xin chân thành cảm ơn Quý Thầy/Cơ trường Đại học Cơng Nghệ TP Hồ Chí Minh, Quý Thầy/Cô Viện Kỹ thuật HUTECH giảng dạy, truyền đạt kiến thức hữu ích kinh nghiệm quý báu cho tác giả trình thực đề tài Tác giả xin chân thành cảm ơn giúp đỡ quý Thầy/Cô q trình thực đồ án để tác giả hồn thành đồ án Tp Hồ Chí Minh, ngày tháng năm 2022 Ký tên (sinh viên ký ghi rõ họ tên) II TÓM TẮT Hiện nay, sống người ngày tiện lợi nâng cao không ngừng phát triển mạnh mẽ khoa học kỹ thuật Các nghiên cứu, phát minh khoa học ngày mang tính thực tiễn, ứng dụng cao sống ngày nhiều Theo xu hướng với mong muốn mang lại sản phẩm giúp người pha chế loại đồ uống yêu thích tích tắc mà khơng phải chuẩn bị hàng tá nguyên liệu, hàng trăm công thức hay xếp hàng chờ đợi hàng đồng hồ, nhóm định thực đề tài “Máy pha chế nước uống tự động” Sản phẩm sử dụng mạch vi điều khiển Arduino, kết hợp với cảm biến, cấu chấp hành giao tiếp với người dùng thông qua HMI Giao diện người dùng xây dựng cách đơn giản, thân thiện giúp người dùng tao tác đơn giản rút gọn bước mà đảm bảo có đồ uống mà mong muốn Từ đó, sản phẩm mà nhóm mang tới hứa hẹn có tính ứng dụng thực tế cao dễ dàng tiếp cận sử dụng III ABSTRACT Currently, human life is increasingly convenient and is constantly improved under the strong development of science and technology Today's scientific research and inventions are practical, highly applicable in life more and more Following that trend and with the desire to bring a product that makes it possible for people to make their favorite drinks in a split second without having to prepare dozens of ingredients, hundreds of recipes or wait in line for hours, the team decided to implement the topic "Automatic dispensers" The product uses an Arduino microcontroller circuit, combined with sensors, actuators and can communicate with the user through HMI The user interface is built in a simple, user-friendly way so that users can simply shorten at least the steps while ensuring they get the drink they want From there, the product that the team brings promises to have high practical application and easy access and use IV 6.1.3 Nhược điểm Bên cạnh ưu điểm đạt mơ hình cịn số hạn chế định như: - Vấn đề lớn mà nhóm gặp phải an tồn vệ sinh Vì pha soda nên có đường, tránh khỏi côn trùng như: ruồi, muỗi chí gián - Những kiến thức bảo quản dung dịch vừa lâu vừa an toàn sức khỏe cho người sử dụng nhóm tác giả chưa tiếp cận - Những loại nước trình sử dụng không bảo quản kỹ bị nấm mốc hay khơng cịn giữ mùi vị ngun làm giảm chất lượng loại nước bình, gây hỏng khơng sử dụng - Vì mơ hình nhỏ nên chưa có đa dạng loại nước để pha chế - Trong trình thực pha chế hoạt động máy bơm gây nhiễu cảm biến lưu lượng làm cho tín hiệu cảm biến bị sai lệch gây lỗi hệ thống - Mơ hình cịn đơn giản chưa tối ưu nhu cầu theo ý muốn khách hàng 6.2 Hướng phát triển Với nhược điểm nhóm tác giải có số cách khắc phục mặc vệ sinh bảo quảnNhư: - Đựng chai dung dịch lớn, giữ nhiệt độ phù hợp vừa phải, Như nguyên liệu để lâu mà lại an tồn tránh tác nhân từ mơi trường ruồi, muỗi, gián - Mở rộng thêm đa dạng loại nước để người dùng pha chế nhiều loại nhước - Thiết kế thêm phận hạn chế nhiễu, cách ly nguồn cho máy bơm để giảm thiểu sai lệch tín hiệu cảm biến lưu lượng - Với khách hàng mua sản phẩm để kinh doanh nhóm kết hợp thêm phần đưa liệu bình lên Wed sever thông qua kết nối wifi internet nhờ module NodeMCU ESP32 toán trực tiếp nơi pha chế nước Khi hồn thành tốn máy hoạt động 64 65 TÀI LIỆU THAM KHẢO [1] TS Võ Đình Tùng - Điện tử tương tự 1, - Trường Đại học Công Nghệ (HUTECH) [2] ThS Trần Duy Cường - Lý thuyết thông tin - Trường Đại học Công Nghệ (HUTECH) [3] ThS Trần Duy Cường - Hệ thống viễn thông - Trường Đại học Công Nghệ (HUTECH) [4] ThS Phạm Quốc Phương - Vi điều khiển - Trường Đại học Công Nghệ (HUTECH) [5] Trần Minh Sơn, TS Lê Hoàng Minh, KS Phạm Quang Huy - Lập Trình Arduino Với IoT - Hệ Vạn Vật Kết Nối – Nhà xuất Thanh Niên [6] TouchWin TH series HMI User’s manual Xinje Electronic Co., Ltd [7] XINJE HMI connection manual, XINJE ELECTRONIC CO., LTD [8] https://www.youtube.com/watch?v=wKPNcE51YUk [9] http://linhkienagv.com/lap-trinh-arduino-hmi/ [10] https://linhkienhdshop.com/blogs/lap-trinh-arduino/lap-trinh-hmi-arduno-lap- trinh-modbus-arduino [11] https://www.dientuhello.com/bo-loc-kalman-chong-nhieu-tuyet-voi-cho-cambien PHỤ LỤC #include // thư viện modbus #include #include #include #include // thư viên lọc Kalman modbusSlave slave; modbusDevice regBank; #define dirPin // khai báo chân hướng StepMotor #define stepPin #define M0 // khai báo chân xung bước StepMotor // khai báo chân vi bước StepMotor #define M1 #define WF1 // khai báo chân hướng StepMotor #define WF2 // khai báo chân xung bước StepMotor #define WF3 // khai báo chân hướng StepMotor #define RL1 // khai báo chân hướng StepMotor #define RL2 #define RL3 // khai báo chân xung bước StepMotor // khai báo chân hướng StepMotor #define HOME #define LY // vị trí home kết thúc hành trình // cảm biến xác định có ly const int trig1= 43; const int echo1= 45; // chân trig HC-SR04 // chân echo HC-SR04 const int trig2= 47; const int echo2= 49; const int trig3= 39; const int echo3= 41; float Sday=71.43; // the tich day binh unsigned long duration1; // biến đo thời gian float thetichb1; // biến lưu gía trị thể tích unsigned long duration2; float thetichb2; unsigned long duration3; float thetichb3; float LS1 = 0; float LS2 = 0; float LS3 = 0; SimpleKalmanFilter filter(2, 2, 0.5); void setup() { regBank.setId(1); regBank.add(1); // thêm dụng ghi 0x01 regBank.add(2); regBank.add(3); regBank.add(4); regBank.add(30001); // thêm dụng ghi 3x01 regBank.add(30002); regBank.add(30003); regBank.add(40001); // thêm ghi 4x01 regBank.add(40002); regBank.add(40003); pinMode(stepPin, OUTPUT); pinMode(dirPin, OUTPUT); pinMode(trig1,OUTPUT); // chân trig phát tín hiệu pinMode(echo1,INPUT); pinMode(trig2,OUTPUT); pinMode(echo2,INPUT); pinMode(trig3,OUTPUT); // chân echo nhận tín hiệu pinMode(echo3,INPUT); pinMode(WF1,INPUT); // chân tín hiệu cảm biến lưu lượng nước pinMode(WF2,INPUT); pinMode(WF3,INPUT); pinMode(RL1,OUTPUT); // chân tín hiệu cảm biến lưu lượng nước pinMode(RL2,OUTPUT); pinMode(RL3,OUTPUT); pinMode(LY,INPUT); pinMode(HOME,INPUT); digitalWrite(M0,HIGH); // sử dụng dụng vi bước 1/8 digitalWrite(M1,HIGH); slave._device = ®Bank; // Cho phép sử dụng ghi slave.setBaud(9600); // sử dụng tốc trao đổi tín hiệu 9600Baud } void loop(){ dothetich(); if(regBank.get(1)>=0) { sodacam(); } if(regBank.get(2)>=0) { sodanho(); } if(regBank.get(3)>=0) { camnho(); } if(regBank.get(4)>=0) { manual(); } slave.run(); } void dothetich(){ /* Phát xung từ chân trig */ digitalWrite(trig1,0); // tắt chân trig delayMicroseconds(2); digitalWrite(trig1,1); // phát xung từ chân trig delayMicroseconds(5); // xung có độ dài microSeconds digitalWrite(trig1,0); // tắt chân trig duration1 = filter.updateEstimate(pulseIn(echo1,HIGH)); thetichb1 = (24.2-float(duration1/2/29.412))*Sday; regBank.set(30001, thetichb1); //Hiển thị giá trị thể tích bình vào ghi 30001 digitalWrite(trig2,0); // tắt chân trig delayMicroseconds(2); digitalWrite(trig2,1); // phát xung từ chân trig delayMicroseconds(5); // xung có độ dài microSeconds digitalWrite(trig2,0); // tắt chân trig duration2 = filter.updateEstimate(pulseIn(echo2,HIGH)); thetichb2 = (24.4-float(duration2/2/29.412))*Sday; regBank.set(30002, thetichb2);//Hiển thị giá trị thể tích bình vào ghi 30002 digitalWrite(trig3,0); // tắt chân trig delayMicroseconds(2); digitalWrite(trig3,1); // phát xung từ chân trig delayMicroseconds(5); // xung có độ dài microSeconds digitalWrite(trig3,0); // tắt chân trig duration3 = filter.updateEstimate(pulseIn(echo3,HIGH)); thetichb3 = (25-float(duration3/2/29.412))*Sday; regBank.set(30003, thetichb3);//Hiển thị giá trị thể tích bình vào ghi 30003 delay(1000); } void sodacam(){ if(thetichb1>=500&&thetichb2>=400) { for(int i = 0; i < 5000; i++){ if(LY==HIGH){ waterflow1(); if(LS1=400) { for(int i = 0; i < 5000; i++){ if(LY==HIGH){ waterflow1(); if(LS1=400) { for(int i = 0; i < 5000; i++){ if(LY==HIGH){ vitribinh2(); waterflow2(); if(LS2=(regBank.get(40002)+200) &&thetichb3>=(regBank.get(40003)+200)) { for(int i = 0; i < 5000; i++){ if(LY==HIGH){ waterflow1(); if(LS1