1. Trang chủ
  2. » Luận Văn - Báo Cáo

-Báo Cáo Giao Diện - Nguyễn Công Minh-622343.Pdf

74 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 74
Dung lượng 4,79 MB

Nội dung

HỌC VIỆN NÔNG NGHIỆP VIỆT NAM KHOA CƠ ĐIỆN **** ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI NGHIÊN CỨU THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN MÁY GIEO HẠT TỪ XA HÀ NỘI 2023 HỌC VIỆN NÔNG NGHIỆP VIỆT NAM KHOA CƠ ĐIỆN *** ĐỒ ÁN TỐT[.]

HỌC VIỆN NÔNG NGHIỆP VIỆT NAM KHOA CƠ ĐIỆN **** ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: NGHIÊN CỨU THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN MÁY GIEO HẠT TỪ XA HÀ NỘI - 2023 HỌC VIỆN NÔNG NGHIỆP VIỆT NAM KHOA CƠ ĐIỆN *** ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: NGHIÊN CỨU THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN MÁY GIEO HẠT TỪ XA Giảng viên hướng dẫn : TS NGUYỄN QUANG HUY Sinh viên thực : NGUYỄN CÔNG MINH MSV : 622343 Lớp : K62 - TDH Chuyên ngành : TỰ ĐỘNG HÓA HÀ NỘI - 2023 LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu riêng tơi, kết nghiên cứu trình bày đồ án trung thực, khách quan chưa dùng để bảo vệ cho đồ án môn học Tôi xin cam đoan giúp đỡ cho việc thực đồ án cám ơn, thơng tin trích dẫn đồ án rõ nguồn gốc Hà Nội, ngày 28 tháng 12 năm 2022 Tác giả đồ án Nguyễn Công Minh i LỜI CẢM ƠN Trước tiên em xin gửi lời cảm ơn chân thành tới Ban giám đốc trường Học Viện Nông Nghiệp Việt Nam Ban chủ nhiệm khoa Cơ Điện tồn thể thầy, giáo khoa, trường dạy bảo, dìu dắt em suốt năm qua mái trường Học viện Đặc biệt em xin bày tỏ lòng biết ơn sâu sắc tới giảng viên T.S Nguyễn Quang Huy mơn tự động hóa khoa Cơ Điện tận tình hướng dẫn, giúp đỡ em q trình hồn thành đề tài tốt nghiệp Em xin chân thành cảm ơn thầy, cô giáo, bạn bè người thân động viên, giúp đỡ tạo điều kiện tốt cho em hoàn thành tốt đợt làm đồ án Do kiến thức thời gian hạn chế nên đồ án khơng thể tránh khỏi thiếu sót, mong q thầy cơ, bạn đóng góp ý kiến để đồ án em hoàn chỉnh tốt Cuối em xin kính chúc tồn thể thầy giáo khoa Cơ Điện, thầy cô Học Viện Nơng Nghiệp Việt Nam tồn thể bạn bè, người thân sức khỏe, hạnh phúc thành đạt Em xin chân thành cảm ơn! Hà Nội, ngày 28 tháng 12 năm 2022 Sinh viên Nguyễn Công Minh ii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC BẢNG BIỂU v DANH MỤC HÌNH vi MỞ ĐẦU 1 Đặt vấn đề Mục đích đề tài 3.Đối tượng nghiên cứu Các phương pháp nghiên cứu Giới hạn đề tài CHƯƠNG TỔNG QUAN TÀI LIỆU 1.1 Một số dạng máy gieo hạt giới 1.2 Sự phát triển máy gieo hạt Việt Nam CHƯƠNG ĐỐI TƯỢNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 2.1 Đối tượng nghiên cứu 2.1.2 Thư viện QT 14 2.1.3 Sóng lora 16 2.2 Sơ đồ khối nguyên lý hoạt động 19 2.3 Thiết kế phần cứng 2.3.1 Lựa chọn thiết bị 21 2.3.2 Sơ đồ kết nối 23 2.4 Thiết kế phần mềm 23 2.4.1 Nguyên lý hoạt động 23 2.4.2 Lưu đồ thuật toán phần giao diện 24 2.4.3 Thiết kế giao diện điều khiển 26 iii CHƯƠNG KẾT QUẢ VÀ THẢO LUẬN 37 3.1 Tổng quan mơ hình 37 3.2 Kết nối giao diện với mơ hình 40 3.2.2 Kết đánh giá 48 3.4 Thảo luận 49 3.4.1 Ý nghĩa khoa học ứng dụng thực tiễn 49 3.4.2 Định hướng phát triển 49 3.5 Kết luận kiến nghị 50 3.5.1 Kết luận 50 3.6.2 Kiến nghị 50 KẾT LUẬN VÀ ĐỀ NGHỊ 51 Kết luận 51 Kiến nghị 52 TÀI LIỆU THAM KHẢO 53 PHỤ LỤC 54 iv DANH MỤC BẢNG BIỂU Bảng Bảng ký hiệu lưu đồ thuật toán 25 Bảng 3.1: Bảng kết điều khiển máy gieo hạt giao diện 43 Bảng 3.1: Bảng kết thực nghiệm Robot gieo hạt chế độ tay (Manual) 45 Bảng 3.2: Bảng kết thực nghiệm chức tránh vật cản máy gieo hạt 47 v DANH MỤC HÌNH Hình 1 Máy gieo hạt sáu hàng Hình Máy gieo hạt Dolbi Ax4000 Hình Máy gieo hạt Dolbi Field Cultivator Hình Máy gieo hạt trực tiếp VM Hình Máy gieo hạt rau anh Lê Cơng Thành(Baotintuc.vn) Hình Máy gieo hạt Phạm Văn Hát (vovworld.vn) Hình Máy gieo hạt Philip 314 Hình Máy gieo hạt anh Nguyễn Văn Anh (vnanet.vn) Hình 2.1: Sơ đồ cấu tạo máy gieo hạt Hình 2 Ngơn ngữ lập trình python 10 Hình Guido van Rossum – người khởi tạo python 11 Hình 2.4 Ngơn ngữ python dễ đọc 12 Hình Thư viện QT 14 Hình Môi trường QT 16 Hình Lora 16 Hình Hoạt động lora 17 Hình Hoạt động lora 18 Hình 10 Sơ đồ khối 20 Hình 11 Module Lora SX1278 21 Hình 12 PL2303 22 Hình 13 Sơ đồ kết nối 23 Hình 14 Lưu đồ thuật toán phần giao diện 24 Hình 15 Thiết kế giao diện 26 Hình 16 Thiết kế giao diện 26 Hình 17 Thiết kế giao diện 27 Hình 18 Thiết kế giao diện 27 vi Hình 19 Thiết kế giao diện 28 Hình 20 Thiết kế giao diện 28 Hình 21 Thiết kế giao diện 29 Hình 22 Thiết kế giao diện 29 Hình 23 Thiết kế giao diện 30 Hình 2.24 Thiết kế giao diện 31 Hình 2.25 Thiết kế giao diện 31 Hình 2.26 Thiết kế giao diện 32 Hình 27 Thiết kế giao diện 32 Hình 28 Thiết kế giao diện 33 Hình 2.29 Thiết kế giao diện 33 Hình 2.30 Thiết kế giao diện 34 Hình 31 Thiết kế giao diện 34 Hình 32 Thiết kế giao diện 35 Hình 2.33 Thiết kế giao diện 35 Hình 34 Thiết kế giao diện 36 Hình 3.1: Mặt trước mơ hình, cần gạt đất b cảm biến va chạm 37 Hình 3.2: Cơ cấu lấp đất hệ thống phun sương ẩm đất 37 Hình 3.3: phận gieo hạt luống 38 Hình 3.4: Giao diện điều khiển trực tiếp Robot 38 Hình Giao diện điều khiển máy tính 39 Hình 3.6: Kết nối giao diện với mơ hình 40 Hình 3.7: Kết nối giao diện với mơ hình 41 Hình 3.6 Kết nối giao diện với mơ hình 41 Hình 3.7 Kết nối giao diện với mơ hình 42 Hình 3.6: Giao diện máy tính chế độ điều khiển tay(Manual) 44 vii MỞ ĐẦU Đặt vấn đề Hiện nay, việc trồng, chăm sóc nơng nghiệp đa số bà nơng dân địa phương tên nước chủ yếu dựa vào phương pháp thủ công truyền thống, lao động tay chân chính, tiêu tốn sức lao động hiệu kinh tế mang lại không cao Bên cạnh nhiều máy móc, thiết bị phục vụ nông nghiệp thị trường không phù hợp với điều kiện kinh tế đa số bà nông dân Một đặc điểm điều kiện tự nhiên, trồng thổ nhưỡng nước ta đa dạng nên việc áp dụng loại máy vào thực tế nhiều trở ngại Từ thực tế đó, việc nghiên cứu để tìm giải pháp công nghệ nhằm cải tiến nâng cao suất trồng chăm sóc nơng nghiệp yêu cầu cấp thiết đặt Vì vậy, nhóm chúng em tiến hành tìm hiểu , nghiên cứu loại robot làm thay cho người nông dân khâu thả hạt, tưới nước, lấp đất lại theo hàng Xuất phát từ ý tưởng nhóm chúng em định chọn đề tài: “Thiết kế giao diện điều khiển từ xa cho máy gieo hạt tự động” cho đồ án tốt nghiệp mình, thời gian có hạn hiểu biết chúng em cịn nhiều hạn chế, nên khơng thể tránh sai sót Chúng em mong nhận bảo thầy cô bạn để chúng em hồn thiện tốt đề tài Mục đích đề tài • Thiết kế, chế tạo mơ hình robot gieo hạt • Thiết kế giao diện điều khiển giám sát cho robot máy tính • Điều khiển robot từ xa giao diện sử dụng sóng khơng dây lora KẾT LUẬN VÀ ĐỀ NGHỊ Kết luận Sau thời gian nghiên cứu tìm hiểu hướng dẫn nhiệt tình thầy TS Nguyễn Quang Huy đề tài: “ Nghiên cứu, thiết kế giao diện điều khiển máy gieo hạt từ xa” em hoàn thành Qua trình nghiên cứu tìm hiểu em biết thêm về: - Lập trình điều khiển máy gieo hạt từ xa - Thiết kế giao diện điều khiển hồn thiện - Sử dụng sóng Lora việc điều khiển mơ hình máy gieo hạt Những kết đạt được: - Đã hoàn thành đồ án thời gian quy định mục đích đặt từ đầu - Điều khiển máy gieo hạt từ khoảng cách xa với chế độ - Điều khiển máy gieo hạt di chuyển theo điều khiển - Sử dụng làm việc ổn định - Chế độ tự động giúp máy gieo hạt tự hành hoạt động mà khơng cần điều khiển thêm Những mặt cịn tồn tại: - Thiết bị chế tạo mơ hình cịn dừng mức thí nghiệm chưa phù hợp với thực tết - Chi phi cao, cần giảm bớt để đưa vào thực tế - Thiết bị cảm biến cịn chưa hoạt động với thơng số xác - Động đẩy chưa phù hợp với thực tế, cần nâng cao công suất Từ đề tài cho thấy việc áp dụng công nghệ cao vào nông nghiệp nước ta khơng cịn q xa nữa, mà thực hiện, nghiên cứu áp dụng vào thực tế góp phần đưa nông nghiệp Việt Nam tiến gần tới nông nghiệp 4.0 Kiến nghị Trong khoảng thời gian thực đề tài có số nội dung em chưa thể tối ưu thời gian kinh phí cịn hạn hẹp, bổ sung: - Có thể dùng Camera kết hợp với giao diện điều khiển để người sử dụng điều khiển máy gieo hạt phòng điều khiển - Bổ sung chức thay đổi khoảng cách cần gạt đất để phù hợp mật độ nhiều loại hạt - Thêm chức chăm sóc trồng ngày thay tham gia vào q trình gieo hạt - Có thể thêm chức lựa chọn loại hạt cho giao diện, máy gieo hạt theo mật độ loại hạt Em mong quý thầy, cô tạo điều kiện hướng cho bạn sinh viên khoá sau tiếp tục phát triển cho đề tài TÀI LIỆU THAM KHẢO Tống Văn On, Hoàng Đức Hải; Họ vi điều khiển 8051; Nhà xuất Lao độngXã hội; Xuất năm 2009 Huỳnh Đắc Thắng; Kỹ thuật số thực hành; NXB KH-KT; Hà Nội 2006 Bộ môn Công nghệ chế tạo máy; Cơ sở Công nghệ chế tạo máy; NXB KH-KT; Hà Nội 2008 Website hocavr.com Website Arduino.vn TRÍCH DẪN HÌNH ẢNH: Hình 1.5: https://baotintuc.vn/khoa-hoc-cong-nghe/mot-nong-dan-sangche-duocmay-gieo-hat-rau-20120413012939959.htm Hình 1.6: https://vovworld.vn/vi-VN/viet-nam-dat-nuoc-con-nguoi/phamvan-hatnha-sang-che-chan-dat-cua-ba-con-nong-dan-601158.vov Hình 1.8: https://dantocmiennui.vn/hieu-qua-cao-tu-may-gieo-hat-va-bonphan-doanh-nguyen-van-anh-sang-che/280631.html PHỤ LỤC from PyQt5 import QtWidgets,uic from PyQt5 import QtCore from PyQt5.QtGui import QIcon, QPixmap, QFont from PyQt5.QtCore import QTimer, QTime, Qt from PyQt5.QtGui import * from PyQt5.QtWidgets import * import argparse import time import cv2 from time import sleep import numpy as np import array as arr import math import serial import os from datetime import datetime # ser = serial.Serial('COM1',baudrate = 9600, timeout = 1) print(ser.name) cp = mang = [] sl = 0; gd_ht = 0; gh_ht = 0; bom_ht = st = 0; mode = 0; dk_gh = 0; dk_gd = 0; dk_bom = dk_tien = 0; dk_lui = 0; dk_trai = 0; dk_phai = mode_ht = 0; st_ht = td_dc = 0; td_gh = tien_ht = 0; lui_ht = 0; trai_ht = 0; phai_ht = d_set = # def Time(): global sl , gd_ht , gh_ht , bom_ht global st_ht, mode_ht global td_dc, td_gh global tien_ht, lui_ht, trai_ht, phai_ht today = datetime.today() day = today.strftime("%d/%m/%Y") datetime.now() now = current_time = now.strftime("%H:%M:%S") time_present = current_time + " - " + day call.lb_time.setText(time_present) call.lb_time.setAlignment(QtCore.Qt.AlignCenter) td_dc = call.lb_dc.setText(str(td_dc) + "%") call.SL_DC.value() td_gh = call.SL_GH.value() call.lb_gh.setText(str(td_gh) + "%") call.SL_DS.value() d_set = call.lb_duong.setText(str(d_set) + "%") call.lb_sl.setText(str(sl)) if mode_ht == 0: call.BT_MODE.setText("MODE:AUTO") call.BT_MODE.setStyleSheet("background-color: 255);") rgb(0, 170, if mode_ht == 1: call.BT_MODE.setText("MODE: MANUAL") call.BT_MODE.setStyleSheet("background-color: rgb(255, 170, 0)") if st_ht == 0: call.lb_st.setStyleSheet("background-color: rgb(255, 255, 255)") if st_ht == 1: call.lb_st.setStyleSheet("background-color: 0)") rgb(85, 255, if st_ht == 2: call.lb_st.setStyleSheet("background-color: rgb(255, 0, 0)") if bom_ht == 1: call.BT_BOM.setStyleSheet("background-color: 0)") rgb(85, 255, if bom_ht == 0: call.BT_BOM.setStyleSheet("background-color: rgb(255, 0, 0)") if gh_ht == 1: call.BT_GH.setStyleSheet("background-color: 0)") rgb(85, 255, if gh_ht == 0: call.BT_GH.setStyleSheet("background-color: rgb(255, 0, 0)") if gd_ht == 1: call.BT_GD.setStyleSheet("background-color: 0)") rgb(85, 255, if gd_ht == 0: call.BT_GD.setStyleSheet("background-color: rgb(255, 0, 0)") if tien_ht == 1: call.BT_TIEN.setStyleSheet("background-color: rgb(85, 255, 0)") if tien_ht == 0: call.BT_TIEN.setStyleSheet("background-color: rgb(255, 0, 0)") if lui_ht == 1: call.BT_LUI.setStyleSheet("background-color: rgb(85, 255, 0)") if lui_ht == 0: call.BT_LUI.setStyleSheet("background-color: rgb(255, 0, 0)") if trai_ht == 1: call.BT_TRAI.setStyleSheet("background-color: rgb(85, 255, 0)") if trai_ht == 0: call.BT_TRAI.setStyleSheet("background-color: rgb(255, 0, 0)") if phai_ht == 1: call.BT_PHAI.setStyleSheet("background-color: 0)") rgb(85, 255, if phai_ht == 0: call.BT_PHAI.setStyleSheet("background-color: rgb(255, 0, 0)") # Nhận liệu -if(ser.in_waiting > 0): s = ser.readline() = s.decode() data.rstrip() #Doc vao data # decode s data = # cut "\r\n" at last of string print(data) #In man hinh try: mang = data.split("|") mode_ht = int(mang[0]) except: print("loi nhan du lieu 1") try: data st_ht = int(mang[1]) except: print("loi nhan du lieu 2") try: sl = int(mang[2]) except: print("loi nhan du lieu 3") try: bom_ht = int(mang[3]) except: print("loi nhan du lieu 4") try: gh_ht = int(mang[4]) except: print("loi nhan du lieu 5") try: gd_ht = int(mang[5]) except: print("loi nhan du lieu 6") try: int(mang[6]) tien_ht = except: print("loi nhan du lieu 7") try: lui_ht = int(mang[7]) except: print("loi nhan du lieu 8") try: trai_ht = int(mang[8]) except: print("loi nhan du lieu 9") try: phai_ht = int(mang[9]) except: print("loi nhan du lieu 10") #1|1|4|1|1|1 # -# def thoat(): call.close() exit(app.exec()) # # def bt_mode(): global mode, st mode = mode + if mode >= 2: mode = ser.write(b'a') ser.write(b'|') ser.write(str(mode).encode()) ser.write(b'\r\n') ser.flush() # -# def bt_start(): ser.write(b'|') global st st = ser.write(b'b') ser.write(str(st).encode()) ser.write(b'\r\n') ser.flush() # -# def bt_stop(): global st st = ser.write(b'b') ser.write(b'|') ser.write(str(st).encode()) ser.write(b'\r\n') ser.flush() # # def bt_bom(): global dk_bom dk_bom = dk_bom + if dk_bom >= 2: dk_bom = ser.write(b'c') ser.write(b'|') ser.write(str(dk_bom).encode()) ser.write(b'\r\n') ser.flush() # # def bt_gd(): global dk_gd dk_gd = dk_gd + if dk_gd >= 2: dk_gd = ser.write(b'd') ser.write(b'|') ser.write(str(dk_gd).encode()) ser.write(b'\r\n') ser.flush() # # def bt_gh(): global dk_gh dk_gh = dk_gh + if dk_gh >= 2: dk_gh = ser.write(b'e') ser.write(b'|') ser.write(str(dk_gh).encode()) ser.write(b'\r\n') ser.flush() # # def dat_gh(): global td_gh ser.write(b'x') ser.write(b'|') ser.write(b'\r\n') ser.flush() # # def dat_duong(): global td_gh ser.write(b'xx') ser.write(b'|') ser.write(str(d_set).encode()) ser.write(b'\r\n') ser.flush() # # def dat_dc(): global td_dc ser.write(b'y') ser.write(b'|') ser.write(str(td_dc).encode()) ser.write(b'\r\n') ser.flush() # -# def bt_tien(): +1 global dk_tien if dk_tien >= 2: ser.write(b'f') dk_tien = dk_tien dk_tien = ser.write(b'|') ser.write(b'\r\n') ser.flush() # -# def bt_lui(): global dk_lui ser.write(b'g') ser.write(b'|') ser.write(str(dk_lui).encode()) ser.flush() # -# def bt_trai(): +1 global dk_trai if dk_trai >= 2: ser.write(b'h') dk_trai = dk_trai dk_trai = ser.write(b'|') ser.write(str(dk_trai).encode()) ser.write(b'\r\n') ser.flush() # # global dk_phai ser.write(b'|') if dk_phai >= 2: ser.write(b'\r\n') ser.flush() dk_phai = def bt_phai(): ser.write(b'i') # # # # app=QtWidgets.QApplication([]) call=uic.loadUi("AUTO.ui") call.THOAT.clicked.connect(thoat) call.BT_MODE.clicked.connect(bt_mode) call.BT_START.clicked.connect(bt_start) call.BT_STOP.clicked.connect(bt_stop) call.BT_GH.clicked.connect(bt_gh) call.BT_GD.clicked.connect(bt_gd) call.BT_BOM.clicked.connect(bt_bom) call.BT_TIEN.clicked.connect(bt_tien) call.BT_LUI.clicked.connect(bt_lui) call.BT_TRAI.clicked.connect(bt_trai) call.BT_PHAI.clicked.connect(bt_phai) call.BT_DAT_GH.clicked.connect(dat_gh) call.BT_DAT_DUONG.clicked.connect(dat_duong) call.timer.timeout.connect(Ti me) call.timer.start(50) call.show() app.exec()

Ngày đăng: 10/06/2023, 17:05

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w