Thiết kế mô hình robot

Một phần của tài liệu ĐỒ án tốt NGHIỆP NGÀNH CÔNG NGHỆ kỹ THUẬT điện tử TRUYỀN THÔNG đề tài hệ THỐNG điều KHIỂN và GIÁM sát các THIẾT bị TRONG NHÀ (Trang 46)

a. Bố trí mô hình thiết bị:

Để thiết kế mô hình, người thực hiện đã thiết kế theo các tiêu chí: - Nhỏ gọn, hiện đại và đạt tính thẩm mỹ cao.

- Bố trí các đèn chiếu sáng hợp lý và phù hợp thực tế.

\

ĐÈN 1 ĐÈN 2 ĐỘNG CƠ

ĐÈN 3 ĐÈN 4 CẢM BIẾN

Hình 3.5. Bố trí thiết bị.

b. Thiết kế động cơ:

Động cơ để cho thiết bị hoạt động ở đây người thực hiện sử dụng 1 động cơ phục vụ cho việc quay cánh quạt với các thông số sau:

- Điện áp hoạt động: 1- 6V DC - Dòng điện tiêu thụ: 0.35 – 0.4 A

- Số vòng/phút:17.000 – 18.000 vòng/phút tại 3VDC.

Hình 3.6. Động cơ DC.

c. Thiết kế khối điều khiển động cơ

Để điều khiển hoạt động của động cơ, ta sử dụng opto PC817 có vai trò đóng ngắt và Mosfet IRF540 làm nhiệm vụ điều chỉnh điện áp để điều khiển động cơ.

d. Thiết kế khối nhận dữ liệu bluetooth:

Trên thị trường có rất nhiều loại Module bluetooth như HC - 06, HC - 05,… nhưng ở đây người thực hiện chọn Module bluetooth HC - 06 vì giá thành rẻ, đáp ứng cao hơn so với HC - 05.

Dưới đây là sơ đồ của khối Module Bluetooth HC-06 được thiết kế trong mạch:

Hình 3.8. Sơ đồ nguyên lý của khối module bluetooth.

Chân STATE và chân EN để trống, cấp nguồn và GND từ khồi nguồn, chân Rx và Tx lần lượt nối với chân Tx, Rx của khối xử lý trung tâm.

Hình 3.9. Module Bluetooth HC - 06 thực tế.

e. Thiết kế khối nhận dữ liệu Wifi:

Vì Module ESP8266-12 hoạt động ở mức điện áp 3.3V DC, khi nạp chương trình phải thông qua Module USB2UART PL 2303 để giao tiếp với máy tính và phải cấp nguồn ngoài. Vì vậy tôi sẽ chọn ESP8266 Node MCU để thuận tiện cấp nguồn (5V DC) và nạp chương trình.

Hình 3.10. Sự tiện dụng của Node MCU Dưới đây là sơ đồ chân của ESP8266 Node MCU

Hình 3.11. Sơ đồ chân của Node MCU

Chân Vin và GND sẽ được cấp từ khối nguồn. Các chân GPIO12, GPIO13, GPIO14 và GPIO4 được sử dụng để giao tiếp với Arduino Uno R3 bằng giao tiếp SPI. Tuy nhiên, vì khác nhau giữa mức điện áp 3.3V của Node MCU và 5V của Uno R3, nên ta phải cần tới mạch chuyển mức tín hiệu 4 kênh.

Cách giao tiếp giữa Node MCU và Uno R3: Nude MCU SS MISO MOSI CLK GND 3.3V Arduino Uno R3 SS MOSI MISO CLK GND 5V

Hình 3.12. Giao tiếp giữa Node MCU và Uno R3

f. Thiết kế khối xử lý trung tâm:

Do ta đã chọn Board vi điều khiển Arduino Uno R3 làm khối điều khiển trung tâm ở chương 2 nên chương này ta chỉ tìm hiểu về cấu tạo bên trong Arduino Uno R3.

Hình 3.13. Sơ đồ nối dây vi điều khiển trong Broad Arduino Uno R3. Chân RESET của MCU được được nối với nút nhấn tích cực mức cao. Với điện trở kéo lên, đầu vào của vi điều khiển sẽ đọc trạng thái là 5V (HIGH) nếu nút nhấn không được nhấn. Khi nút nhấn được nhấn, nó sẽ kết nối trực tiếp đầu vào vi điều khiển với GND, vì thế mức điện áp đọc tại đầu vào MCU là 0V (LOW), đồng thời MCU sẽ được khởi

động lại (RESET). Nếu không có điện trở kéo lên, khi ta nhấn nút sẽ xảy ra hiện tượng đoản mạch.

Chân XTAL1 và XTAL2 của MCU được nối vào 2 đầu thạch 16MHz tạo mạch dao động ngoại. Hai tụ 22pF không phân cực được gán vào chân thạch anh để ổn định nhiệt. Để nạp chương trình cho vi điều khiển ta sẽ dùng mạch nạp được tích hợp sẵn trong board Arduino Uno R3. Dưới đây là sơ đồ đi dây mạch nạp.

Hình 3.14. Sơ đồ nối dây mạch nạp trong Arduino Uno R3.

Mạch này giao tiếp với MCU thông qua chuẩn UART bằng 2 chân RX, TX và giao tiếp với máy tính bằng cổng USB. Vì MCU chỉ hỗ trợ 1 chuẩn UART nên mỗi lần muốn nạp chương trình cho MCU ta phải ngắt các kết nối liên quan đến chuẩn UART.

g. Thiết kế khối nguồn:

Ta có bảng liệt kê điện áp và dòng điện các linh kiện sử dụng trong mạch sau: Bảng 3.1. Bảng liệt kê điện áp và dòng điện các linh kiện sử dụng trong mạch

Tên linh kiện

Arduino Uno R3 Động cơ DC

Module HC-06

Module 2 Relay Module ESP8266

Node MCU Từ bảng trên, ta có khối nguồn như sau:

Tổng dòng tiêu thụ Itổng= 30+350+40+160x2+170=910 (mA) Như vậy người thực hiện chọn nguồn:

 Điện áp: 12V.

 Dòng điện: 1A.

+ Tính toán thông số điện trở R :

Tính điện trở hạn dòng cho Led báo nguồn.

Ta áp dụng K2 để tính : R1.I+2=24 Với I = 20.10^(-3) A Suy ra R1 = 1100Ω Chọn R1 = 1KΩ 3.4 SƠ ĐỒ NGUYÊN LÝ HỆ THỐNG:

Để vẽ sơ đồ nguyên lý toàn mạch, những người thực hiện đã dùng phần mềm altium, một phần mềm chuyên về vẽ PCB để cho mạch được tối ưu về Module và kết nối đúng với thực tế.

Hình 3.15. Sơ đồ nguyên lý của mô hình.

Nguyên lý hoạt động:

Khi vi điều khiển nhận được dữ liệu từ App Android gửi đến sẽ lập tức gửi tín hiệu đến chân Relay, các chân dữ liệu của Relay ở đây được nối trùng với các chân của Arduino nhằm nhận tín hiệu 1 cách chính xác, từ đó sẽ điều khiển thiết bị theo ý muốn, 4 Relay được nối với các chân 2, 3, 4, 5 của Arduino Uno R3 và xài nguồn riêng 12V.

Đối với App Android :

-Khi nhận được thao tác điều khiển, sẽ gửi dữ liệu đến vi điều khiển thông qua bluetooth hoặc Wifi.

- Khi nhận được lệnh bằng giọng nói, sẽ lập tức thực thi nếu đúng và sẽ yêu cầu ra lệnh lại nếu không đúng.

Chương 4. THI CÔNG HỆ THỐNG

4.1 GIỚI THIỆU

Chương này gồm có các nội dung sau: Thi công App trên điện thoại. Thi công mô hình.

Lưu đồ giải thuật phần mềm. Quy trình thao tác.

4.2 THI CÔNG HỆ THỐNG

4.2.1 Thi công App trên điện thoại

Để viết App trên điện thoại Android, người ta có thể dùng nhiều phần mềm, phổ biến nhất là Android Studio, nhưng để xử lý được giọng nói, ở đây người thực hiện cần kết nối mạng cho App để so sánh giọng nói với chuẩn mực trên Internet, từ đó App mới hiểu được con người đang nói gì, nên để viết App trên điện thoại người thực hiện đã chọn công cụ App Inventor của Google.

a. Giới thiệu công cụ App Inventor:

Ngày 12/7/2010, Google chính thức giới thiệu công cụ lập trình trực quan App Inventor dùng để phát triển phần mềm ứng dụng trên hệ điều hành Android. App Inventor là công cụ lập trình dành cho mọi người, kể cả trẻ em.

Với công cụ App Inventor, Google tạo điều kiện để mọi người có thể tự xây dựng phần mềm ứng dụng cho thiết bị di động dùng hệ điều hành Android.

Hình 4.1. Công cụ App Inventor.

App Inventor thực chất là một ứng dụng web, chạy bởi trình duyệt trên máy tính cá nhân.Tuy nhiên, người dùng vẫn phải cài thêm một số ứng dụng trên máy tính hoặc trên

thiết bị di động của mình để kết nối. Nhờ vậy, người dùng có thể nhanh chóng chuyển ứng dụng từ máy tính cá nhân qua điện thoại Android để chạy thử.

Cách truy cập vào App Inventor 2

Để truy cập vào App Inventor 2, người dùng cần đăng ký tài khoản Google trước. Truy cập vào địa chỉ https://accounts.google.com/SignUp

Hình 4.2. Giao diện của trang web đăng ký tài khoản google.

Điền những thông tin trang web yêu cầu để tạo khoản mới và làm theo các hướng trên trang web.

Sau khi đăng ký thành công , truy cập vào địa chỉhttp://appinventor.mit.edu/explore/#.

Sau đó click vào Create Apps!

http://appinventor.mit.edu/explore/#. Sau đó click vào Create Apps!

Hình 4.3. Giao diện trang web MIT App Inventor. Xuất hiện tab mới có địa chỉ http://ai2.appinventor.mit.edu.

Hình 1.4. Giao diện công cụ App Inventor 2. Trên màn hình chính của trang web, có các mục cần chú ý:

 Projects: giúp quản lý và thao tác với các Projects người dùng đã tạo với các thao tác

Nhập một project từ máy tính vào App Inventor 2. Lưu project lại.

Xuất project thành file .aia vào máy tính.

Hình 4.5. Mục Projects.

 Mục Connect: giúp kết nối máy tính với các phần mềm hoặc thiết bị di động để chạy mô phỏng.

Al Companion: kết nối với thiết bị di động thông qua mạng wifi.

Emulator: kết nối với một phần mềm trên máy tính để chạy mô phỏng ngay trên máy tính.

USB: kết nối với thiết bị di động thông qua cáp USB. Reset Connection: kiểm tra lại các kết nối.

Hình 4.6. Mục Connect.

 Mục Build: Cho phép người dùng xuất Project ra file .apk.

App ( provide QR code for .apk ): cung cấp mã QR để người dùng tải file .apk.

App ( save .apk to my computer ): lưu file .apk vào máy tính.

Hình 4.7. Mục Build. Giao diện và các công cụ trong App Inventor 2:

Từ màn hình chính chọn mục Projects 

Start new project để tạo một project mới. Xuất hiện hộp thoại Create new App inventor project.

Hình 4.8. Giao diện hộp thoại. Đặt tên cho project mới 

OK (lưu ý: tên project phải bắt đầu bằng chữ và không được chứa các ký tự đặc biệt). Xuất hiện giao diện để thiết kế project.

Hình 4.9. Giao diện gồm các công cụ thiết kế app.

Pallete: chứa các công cụ, thành phần giúp người dùng thiết kế giao diện cũng chức năng của app.

User Interface: chứa các công cụ như Button, Check box, Label, TextBox, … dùng để thiết kế giao diện của app.

Hình 4.10. Mục User Interface.

Layout: cho phép người dùng có thể sắp xếp các User Interface theo một vị trí xác định.

Hình 4.11. Mục Layout.

Media: chứa các thành phần cho phép người dùng có thể sử dụng các thiết bị đa phương tiện trên máy như Camera, Player, SoundRecorder,…

Hình 4.12. Mục Media.

Sensors: gồm những thành phần ẩn cho phép người dùng có thể sử dụng các cảm biến có sẵn trên thiết bị di động.

Hình 4.13. Mục Sensors.

Social: gồm các thành phần cho phép người dùng có thể sử dụng các tính năng xã hội của thiết bị di động như nhắn tin, gọi điện,…

Hình 4.14. Mục Social.

Storage: chưa các thành phần liên quan đến vấn đề lưu trữ bộ nhớ.

Hình 4.15. Mục Storage.

Connectivity: gồm các kết nối mà người dùng có thể sử dụng trong app của mình.

Hình 4.16. Mục Connectivity.

Viewer: Hiển thị màn hình thiết bị di động để người dùng có thể thiết kế giao diện của ứng dụng.

Hình 4.17. Mục Viewer. Components: hiển thị các thành phần đã được sử dụng.

Hình 4.18. Mục Components. Properties: hiển thị các thông số của từng phần được chọn.

Hình 4.19. Mục Properties.

b. Chương trình điều khiển

Yêu cầu ứng dụng:

- Yêu cầu đăng nhập tài khoản người dùng.

- Kết nối với trung tâm điều khiển thông qua bluetooth hoặc Wifi. - Điều khiển thiết bị bằng giọng nói hoặc thao tác.

- Chức năng nhận diện giọng nói được kích hoạt bằng nút nhấn. - Giao tiếp với người sử dụng bằng một số câu lệnh đơn giản. - Thông báo nhiệt độ, độ ẩm trên ứng dụng.

- Cảnh báo khi nhiệt độ vượt quá ngưỡng cho phép. - Đồng bộ trạng thái các thiết bị theo thời gian thực. - Nhiều người dùng có thể điều khiển cùng lúc.

Giao diện và các thành phần

Từ những yêu cầu trên ta có thể thiết kế giao diện của ứng dụng gồm ba màn hình: Một màn hình ở chế độ yêu cầu đăng nhập và chọn hình thức kết nối. Một màn hình ở chế độ điều khiển bằng Bluetooth.

Một màn hình ở chế độ điều khiển bằng Wifi.

Hình 4.20. Màn hình đăng nhập và kết nối - Màn hình đăng nhập và kết nối gồm hai layout.

VerticalArrangement1: layout sắp xếp theo dạng hàng dọc chứa các thành phần sau.

TextBox1

TextBox2

Button1

Hình 4.21. VerticalArrangement1

TextBox1: dùng để nhập tên tài khoản người dùng. TextBox2: dùng để nhập mật khẩu tài khoản người dùng. Button1: kiểm tra thông tin và bắt đầu sử dụng

HorizontalArrangement1: layout sắp xếp theo dạng hàng ngang chứa các thành phần sau.

Button

Hình 4.22. HorizontalArrangement1

Button_Bluetooth : dùng để chọn chế độ Bluetooth. Button_Wifi: dùng để chọn chế độ Wifi

Hình 4.23. Giao diện màn hình Bluetooth của app. - Màn hình Bluetooth gồm bảy Layout.

HorizontalArrangement5: layout sắp xếp theo dạng hàng ngang chứa các thành phần sau.

Label

Hình 4.24. HorizontalArrangement5.

Label1: dùng để hiển thị cho người dùng biết trạng thái.

HorizontalArrangement6: layout sắp xếp theo dạng hàng ngang chứa các thành phần sau.

Button

Hình 4.25. HorizontalArrangement6.

Button_ketnoi: dùng để kết nối với thiết bị Bluetooth. Button_ngatketnoi: dùng để ngắt kết nối bluetooth.

HorizontalArrangement4: layout sắp xếp theo dạng hàng ngang chứa một thành phần sau.

ListPicker

Hình 4.26. TableArrangement4.

ListPicker1: dùng để hiển thị danh sách các thiết bị để kết nối. HorizontalArrangement10: layout sắp xếp theo dạng hàng ngang chứa các thành phần sau.

Label

HorizontalArrangement

Hình 4.27. HorizontalArrangement10. HorizontalArrangement9: thông báo nhiệt độ. HorizontalArrangement11: thông báo độ ẩm. Label7: nhiệt độ.

Labelnhietdo: hiển thị nhiệt độ. Label8: độ ẩm.

Labeldoam: hiển thị độ ẩm.

HorizontalArrangement7: layout sắp xếp theo dạng hàng ngang chứa các thành phần sau.

Button

Hình 4.28. HorizontalArrangement7.

Button1,s0,s1,s2,s3: dùng để quay lại màn hình 1 và để điều khiển các mức độ của động cơ.

HorizontalScrollArrangement1: layout sắp xếp theo dạng hàng ngang chứa các thành phần sau.

Button VerticalArrangement

Label

Hình 4.292. HorizontalScrollArrangement1.

VerticalArrangement: dùng để chứa hai button điều khiển. Button: điều khiển trạng thái các đèn.

Label: hiển thị tên thiết bị. - Màn hình Wifi gồm có ba layout chính.

Hình 4.30. Màn hình điều khiển bằng Wifi.

Nhìn chung không có khác biệt nhiều so với màn hình điều khiển bằng Bluetooth. Một số điểm khác biệt chính như:

Label

Hình 4.31. Label_text.

Label_text: dùng để hiển thị những gì nhận được khi ra lệnh bằng giọng nói.

Button

Button_nutlenh: khi nhấn vào thiết bị sẽ bắt đầu nhận giọng nói. - Ngoài ra, còn có các thành phần ẩn khác:

BluetoothClient: cho phép ứng dụng sử dụng tính năng bluetooth trên thiết bị di động.

TextToSpeech: công cụ chuyển đổi văn bản thành giọng nói.

SpeechRecognizer: cho phép ứng dụng sử dụng tính năng nhận diện giọng nói để chuyển giọng nói thành văn bản.

Notifier1: cho phép ứng dụng cảnh báo người dùng bật Bluetooth.

Clock: cho phép ứng dụng lấy thông tin thời gian thực từ thiết bị di động như ngày, tháng, năm, giờ, phút, giây… đồng thời cũng có thể sử dụng như một timer.

FirebaseDB1: cho phép ứng dụng liên kết với một cơ sở dữ liệu bên ngoài.

Hình 4.33. Các thành phần ẩn.

Lưu đồ giải thuật

Hình 4.34. Lưu đồ chương trình App điện thoại Android.

Hình 4.35. Lưu đồ cập nhật dữ liệu + Giải thích lưu đồ:

Đầu tiên ta mở ứng dụng Android, đăng nhập để được sử dụng và chọn chế độ

bluetooth hoặc wifi. Khi sử dụng ở chế độ wifi, biến chung ban đầu sẽ được đặt sẵn là 15, các thủ tục được lập trình sẵn. Khi ra lệnh bằng giọng nói, hệ thống sẽ phân tích và xử lý giọng nói, nếu đúng sẽ xử lý thực hiện như cài đặt. Hoặc nếu sử dụng các nút nhấn thì chương trình sẽ xử lý. Sau mỗi lần có thay đổi hoặc sau mỗi 200ms, sẽ cập nhật mới dữ liệu một lần và được đưa lên Firebase. Khi sử dụng Bluetooth thì cách hoạt động tương tự vậy.

Quá trình cập nhật sẽ diễn ra liên tục, các giá trị sẽ liên tục cập nhật và đưa lên Firebase sau đó xử lý. Song song quá trình này thì sẽ cập nhật liên tục giữa màn hình

Một phần của tài liệu ĐỒ án tốt NGHIỆP NGÀNH CÔNG NGHỆ kỹ THUẬT điện tử TRUYỀN THÔNG đề tài hệ THỐNG điều KHIỂN và GIÁM sát các THIẾT bị TRONG NHÀ (Trang 46)

Tải bản đầy đủ (DOCX)

(129 trang)
w