Trong nhà trường cũng thế, ngoài việc giảng dạy được áp dụng những trang thiết bị tiên tiến như máy chiếu, tivi giúp hỗ trợ tối đa cho công tác giảng dạy, trong thi cử thì có thể áp dụ
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
Nguyễn Gia Hậu MSSV: 15141155
Tp Hồ Chí Minh - 7/2019
Trang 2Chuyên ngành: Kỹ thuật Điện tử - Truyền thông Mã ngành: 52510302
I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG ROBOT ĐÁNH TRỐNG TRONG
TRƯỜNG HỌC
II NHIỆM VỤ
1 Các số liệu ban đầu:
- Nguyễn Đình Phú, Giáo trình Thực Hành Vi Điều Khiển – ARM STM32, Trường Đại
học Sư Phạm Kỹ Thuật TP Hồ Chí Minh, 2014
- Phan Vân Hoàn, Giáo trình Vi Điều Khiển Nâng Cao, Trường Đại học Sư Phạm Kỹ
Thuật TP Hồ Chí Minh
2 Nội dung thực hiện:
- Hoạt động của các vi điều khiển, màn hình cảm ứng
- Cách thức tạo ra một ứng dụng di động chạy trên nền tảng hệ điều hành Android
- Tìm hiểu về thời gian thực
- Các ngôn ngữ lập trình, thiết kế
- Tìm hiểu về hoạt động của động cơ cũng như các vật liệu về cơ khí
Trang 3III NGÀY GIAO NHIỆM VỤ: 18/2/2019
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 18/6/2019
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Phan Vân Hoàn
Trang 4Tên đề tài: ROBOT ĐÁNH TRỐNG TRONG TRƯỜNG HỌC
Trang 5-Báo cáo tiến độ với GVHD
-Lập trình giao tiếp giữa STM32F07 với động
cơ bước và màn hình cảm ứng
Tuần 7
Từ 1/4/2019
đến 7/4/2019
-Báo cáo tiến độ với GVHD
-Thiết kế giao diện cho màn hình cảm ứng và thi công khung Robot
Tuần 8
Từ 8/4/2019
đến 14/4/2019
- Báo cáo tiến độ với GVHD
- Tìm hiểu điều khiển màn hình bằng cảm ứng
-Giao tiếp Module ESP8266
Tuần 9
Từ 15/4/2019
đến 21/4/2019
-Tiếp tục điều khiển màn hình bằng cảm ứng
- Giao tiếp giữa ESP8266 với Firbase.trình giao diện bán hàng hoàn chỉnh
Tuần 10
Từ 22/4/2019
đến 28/4/2019
- Viết App trên điện thoại
- Điều khiển động cơ đánh trống theo nhịp
- Báo cáo tiến độ với GVHD
-Chỉnh sửa phần điều khiển cảm ứng và giao diện điều khiển
- Chỉnh sửa giao diện App
Tuần 13
Từ 13/5/2019
-Chỉnh sửa điều khiển đánh trống
-Viết báo cáo
Trang 6đến 26/5/2019
Tuần 15
Từ 27/5/2019
đến 2/6/2019
-Báo cáo tiến độ với GVHD
- Kiểm tra hoạt động của toàn hệ thống
Trang 7LỜI CAM ĐOAN
Đề tài này là do nhóm tự thực hiện dựa vào một số tài liệu trước đó và không sao chép
từ tài liệu hay công trình đã có trước đó
Người thực hiện đề tài
Nguyễn Gia Hậu
Trang 8LỜI CẢM ƠN
Để có thể hoàn thành đề tài này, nhóm sinh viên thực hiện xin chân thành cảm ơn quý thầy cô Trường ĐH Sư phạm Kỹ thuật TP Hồ Chí Minh đã hướng dẫn, truyền đạt kiến thức cho nhóm trong suốt quá trình học tập Đặc biệt, nhóm xin chân thành cảm ơn Thầy Phan Vân Hoàn đã tận tình hướng dẫn và tạo điều kiện thuận lợi cho nhóm trong suốt thời gian thực hiện đồ án tốt nghiệp Nhóm xin được phép gửi đến thầy lòng biết
ơn, lời cảm ơn chân thành và sâu sắc nhất
Bên cạnh đó, nhóm cũng xin cảm ơn các anh, chị khóa trước cũng như các bạn sinh viên trong lớp 15141DT1B đã nhiệt tình đóng góp ý kiến và chia sẻ kinh nghiệm, cảm ơn gia đình đã tạo điều kiện, động viên, chia sẻ và tiếp thêm động lực để giúp nhóm
có thể hoàn thành đề tài này
Cuối cùng, dù đã cố gắng hoàn thành nhiệm vụ đề tài đặt ra đảm bảo thời hạn nhưng do kiến thức còn hạn chế nên trong quá trình thực hiện đề tài không tránh khỏi những thiếu sót Nhóm rất mong nhận được ý kiến đóng góp của quý thầy cô và các bạn
để đồ án được hoàn thiện hơn
Xin chân thành cảm ơn!
Người thực hiện đề tài
Trần Trung Nam Nguyễn Gia Hậu
Trang 9
TRANG BÌA i
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ii
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iv
LỜI CAM ĐOAN vii
LỜI CẢM ƠN viii
MỤC LỤC ix
LIỆT KÊ HÌNH VẼ xii
LIỆT KÊ BẢNG xvi
TÓM TẮT xvii
CHƯƠNG 1: TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ: 1
1.2 MỤC TIÊU 1
1.3 NỘI DUNG NGHIÊN CỨU 1
1.4 GIỚI HẠN 2
1.5 BỐ CỤC 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 3
2.1 GIỚI THIỆU VI ĐIỀU KHIỂN STM32F4VG: 3
2.1.1 Giới thiệu: 3
2.1.2 Thông số kỹ thuật: 3
2.2 ESP8266 VÀ MODULE NODEMCU v1.0 4
2.2.1 Giới thiệu ESP8266 4
2.2.2 Thông số kỹ thuật 5
2.2.3 Chức năng của module ESP8266 5
2.2.4 NodeMCU v1.0 6
2.3 MODULE ĐIỀU KHIỂN ĐỘNG CƠ TB6600 7
2.3.1 Giới thiệu: 7
2.3.2 Thông số kỹ thuật: 8
Trang 102.4.2 Các loại động cơ bước 10
2.4.3 Cách điều khiển động cơ bước 12
2.5 MÀN HÌNH CẢM ỨNG 13
2.5.1 Giới thiệu 13
2.5.2 Thông số kỹ thuật: 13
2.6 CHUẨN GIAO TIẾP UART 13
2.6.1 Giới thiệu 13
2.6.2 Các thông số cơ bản của chuẩn truyền 15
2.7 GOOGLE FIREBASE 15
2.7.1 Giới thiệu 15
2.7.2 Các chức năng chính của Google Firebase 16
2.7.3 Những lợi ích từ Google 16
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ 18
3.1 GIỚI THIỆU: 18
3.2 YÊU CẦU VÀ SƠ ĐỒ KHỐI HỆ THỐNG: 18
3.2.1 Yêu cầu của hệ thống: 18
3.2.2 Sơ đồ khối và chức năng mỗi khối: 18
3.2.3 Hoạt động của hệ thống: 19
3.3 THIẾT KẾ: 19
3.3.1 Khối điều khiển trung tâm chính: 19
3.3.2 Khối giao tiếp WiFi: 21
3.3.3 Khối công suất: 23
3.3.4 Khối động cơ: 24
3.3.5 Khối điều khiển và hiển thị: 26
3.3.6 Khối nguồn: 28
3.3.7 Khối Firebase - app Android: 31
3.4 SƠ ĐỒ NGUYÊN LÝ TOÀN MẠCH: 32
3.4.1 Sơ đồ nguyên lý toàn mạch: 32
3.4.2 Giải thích sơ đồ: 32
Trang 11CHƯƠNG 4: THI CÔNG 36
4.1.GIỚI THIỆU 36
4.2 THI CÔNG BO MẠCH 36
4.2.1 Thi công bo mạch: 36
4.2.2 Lắp ráp và kiểm tra: 38
4.3 ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH: 41
4.3.1 Đóng gói bộ điều khiển: 41
4.3.2 Thi công mô hình: 41
4.4 LẬP TRÌNH HỆ THỐNG 45
4.4.1 Lưu đồ giải thuật 45
4.4.2 Phần mềm lập trình: 50
4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC: 65
4.5.1 Viết tài liệu hướng dẫn 65
4.5.2 Quy tắc thao tác 72
CHƯƠNG 5: KẾT QUẢ THỰC HIỆN 73
5.1 KẾT QUẢ ĐẠT ĐƯỢC: 73
5.2 KẾT QUẢ THỰC NGHIỆM: 73
5.2.1 Mô hình sản phẩm: 73
5.2.2 Khởi động hệ thống: 74
5.2.3 Quan sát thời gian: 74
5.2.4 Đánh trống: 75
5.3 NHẬN XÉT - ĐÁNH GIÁ: 77
5.3.1 Nhận xét: 77
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 80
6.1 KẾT LUẬN 80
6.2 HƯỚNG PHÁT TRIỂN: 80
TÀI LIỆU THAM KHẢO xviii
Trang 12Hình Trang
Hình 2.1 Kit STM32F407VG 3
Hình 2.2 Module NodeMCU ESP8266 5
Hình 2.3 Sơ đồ chân board NodeMCU v1.0 7
Hình 2.4 Module TB6600 7
Hình 2.5 Động cơ bước đơn cực 10
Hình 2.6 Động cơ bước lưỡng cực 11
Hình 2.7 Hình dây động cơ 12
Hình 2.8 Truyền dữ liệu UART 14
Hình 2.9 Hệ thống CSDL Realtime của Firebase 15
Hình 2.10 Tạo Project mới trong Firebase 16
Hình 3.1 Sơ đồ khối 18
Hình 3.2 Sơ đồ của STM32F407VG……… 20
Hình 3.3 Module ESP8266 22
Hình 3.4 Giao tiếp ESP8266 với STM32F407VG 22
Hình 3.5 Module TB6600 23
Hình 3.6 Kết nối của module TB6600 với STM32F407VGT6 24
Hình 3.7 Động cơ bước 57HS11240A4D8 25
Hình 3.8 Kết nối động cơ với Module TB6600 25
Hình 3.9 Màn hình cảm ứng 27
Hình 3.10 Giao tiếp màn hình cảm ứng với STM32F407VGT6 28
Hình 3.11 Nguồn tổ ông 24V-5A 29
Hình 3.12 Nguồn Adapter 12V-2A 30
Hình 3.14 Sơ đồ nguyên lý toàn mạch 32
Hình 3.15 Cơ chế đòn bẫy 33
Hình 3.16 Khung máy 33
Hình 3.17 Thép hộp 34
Hình 3.18 Ống thép liền mạch 34
Hình 3.19 Vòng bi và gói đỡ 35
Trang 13Hình 4.2 Sơ đồ mạch in lớp dưới của mạch nguồn 37
Hình 4.3 Sơ đồ bố trí linh kiện của mạch điều khiển, giao tiếp và hiển thị 37
Hình 4.4 Sơ đồ mạch in lớp dưới của mạch điều khiển, giao tiếp và hiển thị 38
Hình 4.5 Mặt trên của mạch nguồn 39
Hình 4.6 Mặt dưới của mạch nguồn 39
Hình 4.7 Mặt trên của mạch điều khiển, giao tiếp và hiển thị 40
Hình 4.8 Mặt dưới của mạch điều khiển, giao tiếp và hiển thị 40
Hình 4.9 Bộ điều khiển được gắn lên tấm Formex 41
Hình 4.10 Mô hình khi vẽ 41
Hình 4.11 Gia công khung robot 42
Hình 4.12 Gia công đế gác trống 43
Hình 4.13 Khung Robot sau khi được gắn các thiết bị 43
Hình 4.14 Khung Robot sau khi được gia công hoàn chỉnh 44
Hình 4.15 Hình thi công hoàn chỉnh 45
Hình 4.16 Lưu đồ thuật toán chương trình 46
Hình 4.17 Lưu đồ thuật toán điều khiển bằng màn hình 47
Hình 4.18 Lưu đồ thuật toán điều khiển bằng điện thoại 48
Hình 4.19 Lưu đồ đọc dữ liệu từ Firebase 49
Hình 4.20 Lưu đồ xử lý dữ liệu 49
Hình 4.21 Lưu đồ thuật toán điều khiển động cơ 49
Hình 4.22 Phần mềm STM32CubeMX 50
Hình 4.23 Tạo Project 51
Hình 4.24 Chọn ngoại vi 51
Hình 4.25 Điều chỉnh xung nhịp 52
Hình 4.26 Cấu hình ngoại vi 53
Hình 4.27 Xuất mã nguồn 53
Hình 4.28 Phần mềm Keil C Unision 5 54
Hình 4.29 Tạo Project Keil C 54
Hình 4.30 Đặt tên cho project 55
Trang 14Hình 4.34 Tạo thêm Folder User 57
Hình 4.35 Cài đặt project 57
Hình 4.36 Chuyển sang task C/C++ 58
Hình 4.37 Trỏ tất cả đường dẫn tới folder chưa file 58
Hình 4.38 Cài đặt mạch nạp 59
Hình 4.39 Tạo file main.c 59
Hình 4.40 Lưu file main.c 60
Hình 4.41 Phần mềm Android studio 60
Hình 4.42 Tạo Project Android Studio 61
Hình 4.43 Chọn Phone and Tablet 61
Hình 4.44 Chọn Activity 62
Hình 4.45 Nhập tên cho Activity 62
Hình 4.46 Tạo thành công project 63
Hình 4.47 Đăng ký tài khoản Firebase 63
Hình 4.48 Tạo project trên Frebase 64
Hình 4.49 Điền thông tin tạo project 64
Hình 4.50 Giao diện sau khi tạo project 64
Hình 4.51 Tạo Database cho project 65
Hình 4.52 Giao diện sau khi tạo firebase 65
Hình 4.53 Giao diện trang chủ 66
Hình 4.54 Giao diện hiển thị các thông tin thời gian 66
Hình 4.55 Giao diện đăng nhập 67
Hình 4.56 Giao diện điều khiển 68
Hình 4.57 Giao diện đăng nhập 68
Hình 4.58 Đăng ký tài khoản 69
Hình 4.59 Giao diện trang chủ của app 69
Hình 4.60 Giao diện giới thiệu mô hình 70
Hình 4.61 Giao diện cài đặt thời gian 71
Hình 4.62 Cách gửi dữ liệu lên Firebase 71
Trang 15Hình 5.1 Mô hình Robot đánh trống trong trường học 73
Hình 5 2 Màn hình khi cấp nguồn 74
Hình 5.3 App Android khi mới mở lên 74
Hình 5.4 Giao diện chuyển sang quan sát thời gian 75
Hình 5.5 Giao diện điện thoại hiển thị giờ chỉnh 75
Hình 5.6 Giao diện chuyển sang trang cài đặt thời gian 76
Hình 5.7 Giao diện chỉnh và cài đặt thời gian trên App Android 76
Hình 5.8 Robot đánh trống khi đúng thời gian 77
Trang 16LIỆT KÊ BẢNG
Bảng Trang
Bảng 2.1 Cách vào chế độ Boot của NodeMCU 6
Bảng 2.2 Cài đặt cường độ dòng điện 8
Bảng 2.3 Cài đặt vi bước cho driver 9
Bảng 3.1 Danh sách các thiết bị để thiết kế mạch nguồn 31
Bảng 4.1: Bảng thống kê số linh kiện sử dụng 39
Bảng 5.1 Số liệu giám sát thực tế 79
Trang 17Cùng những tiêu chí phát triển của xã hội, chúng ta nhận thấy rằng việc áp dụng rộng rãi các khoa học - kỹ thuật vào đời sống con người đem lại hiệu quả và lợi ích vô cùng lớn về mặt thời gian, hiệu suất công việc Trong nhà trường cũng thế, cần những công cụ hỗ trợ để nâng cao hiệu quả giảng dạy
Với tính cấp thiết và tầm quan trọng việc ứng dụng khoa học kỹ thuật và hiện đại hóa trong môi trường học tập, Robot đánh trống tự động đã được một số nơi áp dụng vào trường học Bên cạnh đó mô hình này vẫn chưa được áp dụng rộng rãi và vẫn có thể cải tiến thêm và đây là lý do mà nhóm thực hiện lựa chọn đề tài này
Nội dung chính của đề tài là thiết kế Robot đánh trống tự động, trong đó:
- Sử dụng board STM32F407VG làm vi điều khiển của khối điều khiển trung tâm
- Ứng dụng truyền nhận và giám sát dữ liệu trên Firebase, điều khiển thông qua App điện thoại
- Hiển thị và điều khiển trên màn hình cảm ứng
- Điều chỉnh thời gian và nhịp điệu đánh trống thông qua phần mềm
Trang 18CHƯƠNG 1: TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ:
Xã hội con người ngày một phát triển, bên cạnh đó các ngành khoa học - kỹ thuật cũng không ngừng đi đến những thành công mới Nhiều công trình khoa học, những phát minh của các nhà khoa học đã đi vào cuộc sống, phục vụ lợi ích của con người Ngày nay các công việc của con người dần được thay thế bằng máy móc tự động hóa, Robot được ứng dụng rộng rãi trong các ngành công nghiệp, những nơi có môi trường độc hại, nguy hiểm và các công việc hằng ngày của con người
Cùng những tiêu chí phát triển của xã hội chúng ta nhận thấy rằng cần áp dụng rộng rãi hơn các khoa học - kỹ thuật vào đời sống con người Trong nhà trường cũng thế, ngoài việc giảng dạy được áp dụng những trang thiết bị tiên tiến như máy chiếu, tivi giúp
hỗ trợ tối đa cho công tác giảng dạy, trong thi cử thì có thể áp dụng trong việc ra đề thi, chấm thi trắc nghiệm, điểm danh của giáo viên cũng như học sinh thông qua hệ thống quét vân tay… Với tính cấp thiết và tầm quan trọng việc ứng dụng khoa học kỹ thuật, nhóm chúng em quyết định ứng dụng tự động hóa vào trong môi trường giảng dạy, cụ thể là tự động hóa việc đánh trống bằng một robot đánh trống
Được sự quan tâm, tạo điều kiện của lãnh đạo nhà trường cùng với sự hướng dẫn tận tình của giáo viên Nhóm chúng em đã tìm hiểu, nghiên cứu và chế tạo thành công
“Robot đánh trống trong trường học” và được giao đề tài này làm đề tài tốt nghiệp
1.2 MỤC TIÊU
Mục tiêu nghiên cứu của đề tài bao gồm các vấn đề sau:
Xây dựng mô hình Robot đánh trống
Hoạt động của các vi điều khiển, màn hình cảm ứng
Cách thức tạo ra một ứng dụng di động chạy trên nền tảng hệ điều hành Android
Tìm hiểu về thời gian thực
Các ngôn ngữ lập trình, thiết kế
Tìm hiểu về hoạt động của động cơ cũng như các vật liệu về cơ khí
1.3 NỘI DUNG NGHIÊN CỨU
Đối tượng nghiên cứu của đề tài bao gồm:
Vi điều khiển STM32_F407VG, ESP8266
Màn hình WS-C LCD cảm ứng điện dung I2C
Động cơ bước DC 3NM
Trang 19 Cách thức hoạt động của công cụ thiết kế ứng dụng trên Android studio
Thiết kế giao diện và các ngôn ngữ hỗ trợ
Trao đổi dữ liệu giữa App, màn hình cảm ứng và phần cứng của mô hình
1.4 GIỚI HẠN
Phạm vi nghiên cứu của đề tài gồm có:
Nghiên cứu và xây dựng mô hình Robot đánh trống (đa số ở các trưởng tiểu học và trung học) với tính năng đặt lịch đánh trống (có thể đặt giờ, phút, ngày tháng, năm) và thay đổi chế độ đánh trống theo buổi học
Điều khiển đánh trống dựa trên cơ chế đòn bẫy, momen lực động cơ kéo < 3NM
Xây dựng ứng dụng giám sát, điều khiển trên hệ điều hành Android và màn hình cảm ứng
Trao đổi dữ liệu giữa CSDL và các thiết bị phần cứng thông qua module WiFi ESP8266 Node MCU
1.5 BỐ CỤC:
Bố cục của đồ án được trình bày thành 5 phần như sau:
Chương 1: Tổng quan: Trong chương này, nhóm thực hiện đề tài trình bày tổng
quan về tình hình nghiên cứu, về mạng Wifi Mục tiêu, đối tượng và phạm vi nghiên cứu của đề tài
Chương 2: Cơ sở lý thuyết: Giới thiệu về sơ lược về STM32, mạng Wifi, module
ESP8266 Node MCU, chuẩn giao tiếp UART, hệ quản trị CSDL, các ngôn ngữ để thiết kế lập trình và thiết kế giao diện
Chương 3: Thiết kế và thi công: Trong chương này, nhóm thực hiện đề tài sẽ đưa
ra các yêu cầu khi thiết kế, các thiết kế về phần cứng và phần mềm
Chương 4: Kết quả thi công: Đưa ra kết quả mà nhóm đạt được, số liệu, hình ảnh
hệ thống sau khi thi công
Chương 5: Kết luận và hướng phát triển: Đưa ra kết luận và hướng phát triển của
đề tài
Trang 20CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU VI ĐIỀU KHIỂN STM32F4VG:
2.1.1 Giới thiệu:
Kit phát triển STM32F407VG ARM Cortex-M4 sử dụng Vi điều khiển STM32F407 là loại được sử dụng ở rất nhiều trường đại học hiện nay trong giảng dạy vi điều khiển ARM, kit có thiết kế ra chân đầy đủ với các ngoại vi cơ bản: USB, MicroSD, Flash, Pin RTC và cổng nạp chuẩn Jtag tích hợp, kit có giá thành phải chăng, là sự lựa chọn hợp lý cho các bạn mới bắt đầu tìm hiểu về dòng STM32F4 đầy mạnh mẽ
Hình 2.1 Kit STM32F407VG
2.1.2 Thông số kỹ thuật:
Bộ nhớ Flash lên tới 1 Mbyte
192 + 4 Kbyte SRAM bao gồm RAM dữ liệu 64-Kbyte CCM (bộ nhớ kết hợp lõi)
Bộ điều khiển bộ nhớ tĩnh linh hoạt hỗ trợ các bộ nhớ Compact Flash, SRAM, PSRAM, NOR và NAND
Giao diện song song LCD, chế độ 8080/6800
Cung cấp ứng dụng 1.8V đến 3.6V và I /O
POR, PDR, PVD và BOR
Bộ tạo dao động tinh thể 4 đến 26 MHz
RC cắt bên trong nhà máy 16 MHz (độ chính xác 1%)
Trang 21 Dao động 32 kHz cho RTC với hiệu chuẩn RC 32 kHz bên trong có hiệu chuẩn
Bộ chuyển đổi D/A 2 × 12 bit DMA đa năng: Bộ điều khiển
DMA 16 luồng với hỗ trợ FIFO và hỗ trợ cụm
Lên đến 17 bộ định thời: tối đa 12 bộ định thời 16 bit và 2 bộ định thời
32 bit lên đến 168 MHz, mỗi bộ có tối đa 4 IC / OC / PWM hoặc bộ đếm xung
140 cổng I/O với khả năng ngắt
136 I/O nhanh lên đến 84 MHz
Giao diện lên tới 3 × I 2 C (SMBus / PMBus)
4 USART / UART (10,5 Mbit / s, giao diện ISO 7816, LIN, IrDA, điều khiển modem)
3 SPI (42 Mbits/giây), 2 với I2S song công hoàn chỉnh để đạt được độ chính xác của lớp âm thanh thông qua PLL âm thanh bên trong hoặc đồng hồ bên ngoài
Giao diện 2 × CAN (Hoạt động 2.0B)
Giao diện SDIO
Giao diện camera song song 8- đến 14 bit lên tới 54 Mbyte/s
Trình tạo số ngẫu nhiên thực
Đơn vị tính CRC ID duy nhất 96 bit
RTC: độ chính xác cao
2.2 ESP8266 VÀ MODULE NODEMCU v1.0
2.2.1 Giới thiệu ESP8266
ESP là viết tắt của Electronic Stability Program nghĩa là hệ thống cân bằng điện
tử Module ESP8266 là một module với bộ xử lý 32 bit, dựa trên giao thức TCP/IP, là một chip tích hợp được thiết kế dùng cho chuẩn kết nối mới Có thể lưu trữ ứng dụng hoặc xử lý các kết nối WiFi từ bộ xử lý tích hợp trên chip, có khả năng tạo kết nối giống như một máy chủ hoặc một cầu nối trung gian và có thể download dữ liệu từ Internet
Trang 22Hình 2.2 Module NodeMCU ESP8266
Đây là module truyền nhận WiFi đơn giản dựa trên chip ESP8266 SoC (System
on Chip) của hãng Espressif Module ESP8266 V1 thường được sử dụng cho các ứng dụng IoT (Internet of Things) Module này đã được nạp sẵn firmware giúp người dùng giao tiếp với wifi rất dễ dàng qua tập lệnh AT thông qua giao tiếp UART (baudrate mặc định 9600) quen thuộc
2.2.2 Thông số kỹ thuật
Module ESP8266 có các thông số kỹ thuật như sau:
Hỗ trợ chuẩn 802.11 n/g/n
Điện áp hoạt động 3.3v
Wifi 2.4 Ghz, hỗ trợ WPA/WPA2
Chuẩn giao tiếp nối tiếp UART với tốc độ Baud lên đến115200 Có 3 chế
độ hoạt động: Client, Access Point, Both (Client and Access Point)
Hỗ trợ các chuẩn bảo mật như: OPEN, WEP, WPA_PSK, WPA2_PSK, WPA WPA2_PSK Hỗ trợ cả 2 giao tiếp TCP và UDP
Làm việc như 1 Access Point có thể kết nối với 5 Device Công suất đầu
ra 19.5dBm ở chế độ 802.11b
Tích hợp giao thức TCP / IP stack
2.2.3 Chức năng của module ESP8266
Module ESP8266 có các chức năng chính như sau:
Hỗ trợ chuẩn 802.11 n/g/n
Điện áp hoạt động 3.3v
Wifi 2.4 Ghz, hỗ trợ WPA/WPA2
Chuẩn giao tiếp UART với tốc độ Baud lên đến 115200
Trang 23 Giao thức TCP, UDP
Có ba chế độ hoạt động: Client/Acesspoint, Both
Hỗ trợ các chuẩn bảo mật như: WEP, WPA_PSK, WPA2_PSK
ESP8266 là một chip tích hợp cao, được thiết kế cho nhu cầu của một thế giới kết nối mới, thế giới Internet of thing (Iot) Nó cung cấp một giải pháp kết nối mạng Wi-Fi đầy đủ và khép kín, cho phép nó có thể lưu trữ các ứng dụng hoặc để giảm tải tất cả các chức năng kết nối mạng Wi-Fi từ một bộ xử lý ứng dụng Ngoài ra, ESP8266 khả năng
xử lý và lưu trữ mạnh mẽ cho phép nó được tích hợp với các bộ cảm biến, vi điều khiển
và các thiết bị ứng dụng cụ thể khác thông qua GPIOs (General Purpose Input Output) với một chi phí tối thiểu và một PCB (Printed Circuit Board) tối thiểu
2.2.4 NodeMCU v1.0
NodeMCU Wifi v1.0 là kit phát triển dựa trên nền chip Wifi SoC
ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp trình biên dịch của Arduino để lập trình và nạp code, điều này khiến việc sử dụng và lập trình các ứng dụng trên ESP8266 trở nên rất đơn giản
*Thông số kỹ thuật:
9 chân GPIO
1 chân ADC
1 giao tiếp UART
1 giao tiếp SPI và hỗ trợ PWM
Tích hợp 2 nút nhấn
IC CH340 chuyển đổi USB -UART
IC chính: ESP8266 Wifi SoC
Chip nạp và giao tiếp UART: CH340G
Cấp nguồn: 5VDC MicroUSB hoặc V-in
GPIO giao tiếp mức 3.3VDC
Tích hợp Led báo trạng thái, nút Reset, Flash
Tương thích hoàn toàn với trình biên dịch Arduino
Bảng 2.1 Cách vào chế độ Boot của NodeMCU MTDO
(GPIO15)
Trang 24L H H Flash Boot from SPI Flash
Hình 2.3 Sơ đồ chân board NodeMCU v1.0
2.3 MODULE ĐIỀU KHIỂN ĐỘNG CƠ TB6600
2.3.1 Giới thiệu:
Hình 2.4 Module TB6600
Module sử dụng IC TB6600HQ/HG cho khả năng điều khiển động cơ bước 2 pha với công suất tối đa lên 40V 4A Driver có thiết kế vỏ hộp kim loai chắc chắn, chống nhiễu cùng với tản nhiệt lớn cho hoạt động ổn định Ứng dụng trong làm máy như CNC, Laser hay các máy tự động khác
Trang 252.3.2 Thông số kỹ thuật:
Nguồn đầu vào là 9V - 42V
Dòng cấp tối đa là 4A
Ngõ vào có cách ly quang, tốc độ cao
Có tích hợp đo quá dòng quá áp
Cân nặng: 200G
Kích thước: 96 * 71 * 37mm
2.3.3 Cài đặt và ghép nối:
DC+: Nối với nguồn điện từ 9 - 40VDC
DC-: Điện áp (-) âm của nguồn
A+ và A -: Nối vào cặp cuộn dây của động cơ bước
B+ và B-: Nối với cặp cuộn dây còn lại của động cơ
PUL+: Tín hiệu cấp xung điều khiển tốc độ (+5V) từ BOB cho M6600
PUL-: Tín hiệu cấp xung điều khiển tốc độ (-) từ BOB cho M6600
DIR+: Tín hiệu cấp xung đảo chiều (+5V) từ BOB cho M6600
DIR-: Tín hiệu cấp xung đảo chiều (-) từ BOB cho M6600
ENA+ và ENA -: khi cấp tín hiệu cho cặp này động cơ sẽ không có lực momen giữ và quay nữa
Có thể đấu tín hiệu dương (+) chung hoặc tín hiệu âm (-) chung
Bảng 2.2 Cài đặt cường độ dòng điện
Trang 26Bảng 2.3 Cài đặt vi bước cho driver
Động cơ bước là một loại động cơ điện có nguyên lý và ứng dụng khác biệt với
đa số các loại động cơ điện thông thường
Động cơ bước thực chất là một động cơ đồng bộ dùng để biến đổi các tín hiệu điều khiển dưới dạng các xung điện rời rạc kế tiếp nhau thành các chuyển động góc quay hoặc các chuyển động của roto và có khả năng cố định roto vào những vị trí cần thiết Động cơ bước làm việc được là nhờ có bộ chuyển mạch điện tử đưa các tín hiệu điều khiển vào stato theo một thứ tự và một tần số nhất định Tổng số góc quay của roto tương ứng với số lần chuyển mạch, cũng như chiều quay và tốc độ quay của roto, phụ thuộc vào thứ tự chuyển đổi và tần số chuyển đổi Khi một xung điện áp đặt vào cuộn dây stato (phần ứng) của động cơ bước thì roto (phần cảm) của động cơ sẽ quay đi một góc nhất định, góc ấy là một bước quay của động cơ Khi các xung điện áp đặt vào các cuộn dây
Trang 27phần ứng thay đổi liên tục thì roto sẽ quay liên tục (nhưng thực chất chuyển động đó vẫn
là theo các bước rời rạc)
2.4.2 Các loại động cơ bước
Phân loại theo rotor của động cơ bước:
Động cơ bước có rotor được tác động bằng dây quấn hoặc nam châm vĩnh cửu
Động cơ bước có rotor không được tác động nhưng có phần từ cảm ứng, phản kháng – còn gọi là động cơ bước thay đổi từ trở
Động cơ bước có cấu tạo rotor kết hợp cả 2 loại trên
Động cơ bước có nhiều loại như động cơ biến trở từ, động cơ đơn cực, động cơ lưỡng cực:
Động cơ bước đơn cực, có thể bao gồm cả động cơ bước loại nam châm vĩnh cửu hoặc động cơ bước loại hỗn hợp Nhưng ở các cuộn dây luôn có đầu trung tâm được nối
ra từ chính giữa mỗi cuộn dây
Hình 2.5 Động cơ bước đơn cực
Động cơ bước lưỡng cực, có thể bao gồm cả động cơ bước loại nam châm vĩnh cửu hoặc động cơ bước loại biến từ trở Nhưng ở các cuộn dây sẽ không có đầu dây nối
ra từ trung tâm
Trang 28Hình 2.6 Động cơ bước lưỡng cực
Phân loại theo số pha của động cơ bước:
Động cơ bước 2 pha, là loại động cơ bước 4 dây, động cơ bước 6 dây hoặc động cơ bước 8 dây
Động cơ bước 3 pha, là loại động cơ bước 3 dây hoặc động cơ bước 4 dây
Động cơ bước 5 pha, là loại động cơ bước có 5 dây hoặc động cơ bước 10 dây
Về step thì có loại là 0.36°/step, loại 0.72°/step và thông dụng nhất là loại 1.8°/step Tức là 200 step sẽ được 1 vòng
Trên thị trường chúng ta hay gặp nhất là động cơ đơn cực và lưỡng cực Khi đi mua thì hay gặp động cơ 4 dây, 5 dây, 6 dây, 8 dây Trong đó 4 dây và 6 dây là gặp thường xuyên nhất Dưới đây là sơ đồ dây của hãng Oriental:
Trang 29Hình 2.7 Hình dây động cơ
2.4.3 Cách điều khiển động cơ bước
Động cơ bước có nhiều cách điều khiển Có thể điều khiển các dây trực tiếp qua
4 cổng qua MCU thông qua Driver đệm công suất Cách này hơi phức tạp một chút, cần phải hiểu rõ bên trong động cơ và thường chỉ điều khiển được full bước
Cách thông dụng nhất là dùng các IC chuyên dụng điều khiển động cơ bước Các
IC hay gặp nhất là TB6560, TB6600, L297, A4988, DRV8825, MA860H [10] …
Mỗi một loại động cơ bước sẽ có đặc tuyến khác nhau, vì vậy cách điều khiển sẽ khác nhau Tùy thuộc vào lực kéo (moment) và tốc độ quay yêu cầu mà ta có thể dùng các cách điều khiển sau đây:
- Trường hợp động cơ bước chỉ cần chạy ở tốc độ thấp: sử dụng phương pháp điều khiển cấp điện áp trực tiếp, chính nội trở cuộn dây của động cơ sẽ tạo ra một dòng điện và giới hạn dòng điện này phụ thuộc vào điện áp cấp trực tiếp cho động cơ bước
- Trường hợp động cơ bước chạy ở tốc độ cao: nếu tiếp tục sử dụng phương pháp cấp điện áp trực tiếp thì lực kéo (moment) sẽ bị giảm nghiêm trọng vì đặc tuyến cảm của cuộn dây sẽ kìm hãm khả năng của dòng điện
Trang 30Một thực tế ở cách điều khiển động cơ bước bằng cách cấp điện trực tiếp sẽ làm cho động cơ và mạch điều khiển động cơ bước rất nóng Trường hợp cần cải thiện và nâng cao hiệu suất của động cơ ở tốc độ thấp và cần tăng tốc độ cao thì nên sử dụng phương pháp điều khiển băm xung Cách điều khiển động cơ bước dựa vào băm xung nhằm duy trì tần số không đổi, theo nguyên tắc duy trì dòng điện qua các cuộn dây của động cơ không đổi với mọi cấp độ Cách điều khiển này còn gọi là điều khiển theo dòng điện Thực tế điều khiển cho thấy, cách điều khiển động cơ bước bằng cách băm xung
sẽ giúp cho động cơ bước chạy mạnh hơn, êm hơn, và ít nóng hơn
2.5 MÀN HÌNH CẢM ỨNG
2.5.1 Giới thiệu
Màn hình HMI UART cảm ứng điện dung 7 inch được phát triển với mục đích giúp người sử dụng có thể thiết kế các giao diện điều khiển và hiển thị (GUI) trên màn cảm ứng 1 cách dễ dàng và trực quan nhất Các điểm mạnh về tính năng:
Giao tiếp UART, với chỉ 2 dây tín hiệu (TX, RX) rất dễ dàng giao tiếp và điều khiển
Phần phểm thiết kế giao diện trên máy tính trực quan và dễ sử dụng, giao tiếp với màn hình qua giao tiếp UART
Có bộ nhớ lưu trữ và xử lý hình ảnh, tích hợp khe thẻ nhớ, nên giảm thiểu được hầu hết các tác vụ về xử lý hình cho mạch điều khiển trung tâm, chỉ truyền về trung tâm các dữ liệu thao tác cảm ứng
Thiết kế cảm ứng điện trở giúp dễ dàng thao tác khi mang găng tay trong môi trường lao động
Mạch có chất lượng gia công tốt, độ bền cao
2.5.2 Thông số kỹ thuật:
Màn hình HMI 7 inch cảm ứng điện dung
Giao tiếp UART mức TTL (3 - 5VDC)
Trang 31chuyển đổi dữ liệu nhận được dạng dữ liệu nối tiếp thành dạng dữ liệu song song cho CPU có thể đọc vào bus hệ thống
Hình 2.8 Truyền dữ liệu UART
UART của PC hỗ trợ cả hai kiểu giao tiếp là giao tiếp đồng thời và giao tiếp không đồng thời Giao tiếp đồng thời tức là UART có thể gửi và nhận dữ liệu vào cùng một thời điểm Còn giao tiếp không đồng thời (không kép) là chỉ có một thiết bị có thể chuyển
dữ liệu vào một thời điểm, với tín hiệu điều khiển hoặc mã sẽ quyết định bên nào có thể truyền dữ liệu Giao tiếp không đồng thời được thực hiện khi mà cả 2 chiều chia sẽ một đường dẫn hoặc nếu có 2 đường nhưng cả 2 thiết bị chỉ giao tiếp qua một đường ở cùng một thời điểm Thêm vào đường dữ liệu, UART hỗ trợ bắt tay chuẩn RS232 và tín hiệu điều khiển như RTS, CTS, DTR, DCR, RT và CD Để thuận tiện, các chương trình gửi
và nhận dữ liệu trong định dạng không đồng bộ đơn giản hơn PC và nhiều vi xử lý khác
có một bộ phận gọi là UART (universal asynchronous receiver/transmitter: truyền /nhận không đồng bộ chung) vì thế có thể vận dụng phần lớn những chi tiết truyền và nhận dữ liệu Trong PC, hệ điều hành và ngôn ngữ lập trình hỗ trợ cho lập trình liên kết nối tiếp
mà không cần phải hiểu rõ chi tiết cấu trúc UART Để mở liên kết, ứng dụng lựa chọn một tần số dữ liệu hoặc là thiết lập khác hoặc cho phép truyền thông tại các cổng Để gửi
1 byte, ứng dụng ghi byte này vào bộ đệm truyền của cổng được lựa chọn, và UART gửi
dữ liệu này, từng bit một, trong định dạng yêu cầu, thêm bit Start, bit Stop, bit chẵn lẻ khi cần Trong một cách đơn giản, byte nhận được tự động được lưu trữ trong bộ đệm UART có thể dùng nhanh một ngắt để báo cho CPU và các ứng dụng biết dữ liệu đang nhận được và các sự kiện khác Một vài vi điều khiển không bao gồm UART, và thỉnh thoảng bạn cần nhiều hơn các UART mà vi xử lý có Trong trường hợp này, có 2 lựa chọn: thêm UART ngoài, hoặc mô phỏng UART trong mã chương trình Basic Stamp của Parallax là một ví dụ của chip với một UART bổ sung trong mã chương trình UART
là một thiết bị đơn giản hỗ trợ tốt cả hai0 kiểu truyền thông đồng bộ và không đồng bộ
Trang 322.6.2 Các thông số cơ bản của chuẩn truyền
Baud rate (tốc độ Baud): Khi truyền nhận không đồng bộ để hai module hiểu được nhau thì cần quy định một khoảng thời gian cho 1 bit truyền nhận, nghĩa là trước khi truyền thì tốc độ phải được cài đặt đầu tiên Theo định nghĩa thì tốc độ baud là số bit truyền trong một giây
Frame (khung truyền): Do kiểu truyền thông nối tiếp này rất dễ mất dữ liệu nên ngoài tốc độ, khung truyền cũng được cài đặt từ ban đầu để giảm bớt sự mất mát dữ liệu này Khung truyền quy định số bit trong mỗi lần truyền, các bit thông báo như start, stop, các bit kiểm tra như parity, và số bit trong một data
Bit Start: Là bit bắt đầu trong khung truyền Bit này nhằm mục đích báo cho thiết
bị nhận biết quá trình truyền bắt đầu Trên AVR bit Start có trạng thái là 0
Data: Dữ liệu cần truyền data không nhất thiết phải 8 bit có thể là 5, 6, 7, 8, 9 Trong UART bit LSB được truyền đi trước, bit MSB được truyền đi sau
Parity bit: Là bit kiểm tra dữ liệu Có 2 loại parity: chẵn (even parity), lẻ (old parity) Parity chẵn là bit parity thêm vào để số số 1 trong data + parity = chẵn Parity lẻ
là bit parity thêm vào để số số 1 trong data + parity = lẻ Bit parity là không bắt buộc nên
Hình 2.9 Hệ thống CSDL Realtime của Firebase
Trang 332.7.2 Các chức năng chính của Google Firebase
Với Google Firebase, bạn có thể tạo ra các ứng dụng chat như Yahoo Message của ngày xưa hoặc như Facebook, Messager của ngày nay trong thời gian cực ngắn như khoảng một ngày thậm chí là vài giờ bởi đơn giản là bạn chỉ cần lo phần client còn phần server và database đã có firebase lo Firebase là sự kết hợp giữa nền tảng cloud với hệ thống máy chủ cực kì mạnh mẽ tới từ Google, để cung cấp cho chúng ta những API đơn giản, mạnh mẽ và đa nền tảng trong việc quản lý, sử dụng database Cụ thể hơn Google Firebase cung cấp tới chúng ta những chức năng chính sau:
Realtime Database – Cơ sở dữ liệu thời gian
Firebase Authentication – Hệ thống xác thực của Firebase
Firebase Hosting – Tạo tên miền
Hình 2.10 Tạo Project mới trong Firebase
Bảo mật Firebase hoạt động dựa trên nền tảng cloud và thực hiện kết nối thông qua giao thức bảo mật SSL, chính vì vậy bạn sẽ bớt lo lắng rất nhiều về việc bảo mật của dữ liệu cũng như đường truyền giữa client và server Không chỉ
có vậy, việc cho phép phân quyền người dùng database bằng cú pháp javascipt
Trang 34cũng nâng cao hơn nhiều độ bảo mật cho ứng dụng của bạn, bởi chỉ những user mà bạn cho phép mới có thể có quyền chỉnh sửa cơ sở dữ liệu
Tính linh hoạt và khả năng mở rộng: Sử dụng Firebase sẽ giúp bạn dễ dàng hơn rất nhiều mỗi khi cần nâng cấp hay mở rộng dịch vụ Ngoài ra firebase còn cho phép bạn tự xây dựng server của riêng mình để bạn có thể thuận tiện hơn trong quá trình quản lý
Sự ổn định: Firebase hoạt động dựa trên nền tảng cloud đến từ Google vì vậy hầu như bạn không bao giờ phải lo lắng về việc sập server, tấn công mạng như DDOS, tốc độ kết nối lúc nhanh lúc chậm nữa bởi đơn giản là Firebase hoạt động trên hệ thống server của Google Hơn nữa nhờ hoạt động trên nền tảng Cloud nên việc nâng cấp, bảo trì server cũng diễn ra rất đơn giản mà không cần phải dừng server để nâng cấp như truyền thống
Giá thành Google Firebase có rất nhiều gói dịch vụ với các mức dung lượng lưu trữ cũng như băng thông khác nhau với mức giá dao động từ Free đến
$500 đủ để đáp ứng được nhu cầu của tất cả các đối tượng Chính vì vậy bạn
có thể lựa chọn gói dịch vụ phù hợp nhất với nhu cầu của mình Điều này giúp bạn tới ưu hóa được vốn đầu tư và vận hành của mình tùy theo số lượng người
sử dụng Ngoài ra còn không mất chi phí để bảo trì, nâng cấp, khắc phục các
sự cố bởi vì những điều này đã có Firebase hỗ trợ
Trang 35CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
3.1 GIỚI THIỆU:
Trong chương này, trình bày về cách tính toán, sơ đồ khối, sơ đồ nguyên lý của các board mạnh của hệ thống: mạch điều khiển, giao tiếp, hiển thị và mạch nguồn
3.2 YÊU CẦU VÀ SƠ ĐỒ KHỐI HỆ THỐNG:
3.2.1 Yêu cầu của hệ thống:
Hệ thống có các chức năng sau:
o Đặt lịch đánh trống trên màn hình cảm ứng
o Đặt lịch đánh trống trên app Android
o Chỉnh tốc độ quay động cơ bằng TB6600
o Giám sát hoạt động thông qua app Android
o Xây dựng giao diện app Android và màn hình cảm ứng:
Trang đăng nhập: hiển thị các thông tin người dùng
Trang điều khiển: hiển thị thời gian và thiết lập thời gian
3.2.2 Sơ đồ khối và chức năng mỗi khối:
Hình 3.1 Sơ đồ khối
Trang 36Chức năng từng khối:
Khối điều khiển trung tâm: Nhận dữ liệu từ khối ESP8266 và khối màn hình cảm ứng tiến hành xử lý rồi đưa ra lệnh điều khiển đến khối động cơ, gửi các dữ liệu cần thiết lên CSDL theo thời gian thực (Realtime) trên Firebase Đồng thời nhận lệnh điều khiển
từ app Android của người dùng
Khối Module TB6600 nhận tín hiệu từ khối điều khiển trung tâm, đệm dòng để điều khiển động cơ
Khối động cơ: nhận tín hiệu từ khối module TB6600 để hoạt động
Khối Firebase – App Android: Nhận dữ liệu và lưu trữ vào CSDL Realtime Firebase Truyền nhận dữ liệu với khối xử lý trung tâm thông qua app Android
Khối nguồn: Cung cấp nguồn cho các khối hoạt động
Khối màn hình cảm ứng thiết lập thời gian để gửi dữ liệu cho khối điều khiển trung tâm
Khối ESP8266: khối trung gian để trao đổi dữ liệu giữa khối Firebase App Android và khối điều khiển trung tâm
3.2.3 Hoạt động của hệ thống:
Khi hệ thống được cấp nguồn hệ thống sẽ hoạt động theo trình tự như sau:
Bước 1: Khi được cấp nguồn toàn bộ hệ thống sẽ khởi động và sẽ chờ tín hiệu từ khối điều khiển trung tâm
Bước 2: Khối điều khiển trung bắt đầu tìm và kết nối với Wifi, sau đó tiến hành kết nối với Realtime database
Bước 3: Khối điều khiển trung tâm đọc dữ liệu từ khối màn hình cảm ứng cũng như thông tin về khối động cơ và cập nhật lên Realtime database
Bước 4: Khi nhận được dữ liệu mới các khối Realtime database cập nhật,
xử lý và hiển thị trên giao diện trên app Android
Bước 5: Khối điều khiển trung tâm tiến hành đọc dữ liệu từ app Android sau đó xử lý và đưa ra lệnh điều khiển cho khối động cơ thực thi
3.3 THIẾT KẾ:
3.3.1 Khối điều khiển trung tâm chính:
Về thiết bị phần cứng, chúng ta có rất nhiều sự lựa chọn vi điều khiển phù hợp với mức độ muốn tìm hiểu và khả năng của mình Hiện nay, tập trung chủ yếu vào các loại như PIC, AT mega, AVR, ARM…
Trang 37Trong đó ARM có những ưu điểm để nhóm chọn làm được xây dựng theo kiểu cấu trúc mở: quy trình xử lý các thuật toán hiệu quả hơn để bảo vệ CPU không bị quá tải, tiết kiệm bộ nhớ và năng lượng:
Thumb ® -2 - Cải thiện đáng kể mật độ code
DSP - Xử lý tín hiệu trực tiếp trong lõi RISC
Jazelle ® - Java tăng tốc; TrustZone ®
Môi trường phần cứng/phần mềm được bảo mật tối đa
o Bộ xử lý: Thông qua những ứng dụng mạnh mẽ và đa năng, các vi xử lý chạy từ 1MHz đến1 GHz có cải tiến về cấu trúc nên mang lại hiệu năng xử
lý cao trong các ứng dụng Multimedia và Java
o Công cụ lựa chọn (Tools of choice): Bộ vi xử lý ARM có phạm vi ứng dụng rộng rải nhất vì luôn có sẵn các Tools hỗ trợ phần cứng và phần mềm cho bất kỳ cấu trúc 32-bit nào
o Tiêu thụ điện năng thấp: Các giải pháp dùng vi xử lý ARM luôn tiêu thụ thấp nhất điện năng trong ngành công nghiệp và MIPS mỗi Watt Điều này cho phép pin chạy lâu hơn với các tính năng rất tiên tiến
o Chi phí silicon thấp: Bộ xử lý ARM và các sản phẩm IP khác làm cho việc
sử dụng silicon và bộ nhớ hiệu quả hơn để tương thích với của các thiết bị không dây Các đặc tính của cấu trúc như công nghệ lõi Thumb và Thumb-
2 làm giảm kích thước code, tối thiểu footprint và chi phí của silicon
o Hỗ trợ rộng khắp: ARM là cấu trúc vi xử lý được luôn có được sự hỗ trợ tốt nhất Vì có một loạt các hệ điều hành OS, Middleware và Tools đáp ứng sự lựa chọn phong phú của các giải pháp multimedia codec đã được tối ưu hóa cho bộ vi xử lý ARM, tất cả đều có sẵn trong ARM Connected Community
Bên cạnh việc xử lý dữ liệu từ màn hình cảm ứng, khối xử lý trung tâm còn phải đảm bảo giao tiếp được với Wifi để có thể trao đổi dữ liệu với CSDL Một trong những linh kiện đặc thù đảm nhiệm vai trò Wireless hiện nay tại thị trường Việt Nam đó là ESP8266 Tuy nhiên với số lượng module cần giao tiếp cũng như điều khiển phần động
cơ thì các dòng sản phẩm của ARM rất phổ biến hiện nay với các mã nguồn, thư viện phong phú Tiêu biểu cho dòng vi điều khiển này là board STM32F407VGT6
Với những đặc điểm thuận lợi trên nhóm thực hiện quyết định chọn board NodeMCU v1.0 để đảm nhiệm chức năng trao đổi dữ liệu giữa khối điều khiển trung tâm và app Android để điều khiển động cơ cho đề tài của mình
Trang 38Hình 3.2 Sơ đồ của STM32F407VG
3.3.2 Khối giao tiếp WiFi:
Khối này có nhiệm vụ nhận dữ liệu từ app Android và truyển cho khối điều khiển trung tâm thông qua UART
Nhóm đã chọn ESP8266 để giao tiếp mới những tính năng nổi trội: Là kit phát triển dựa trên nền chíp Wifi SoC ESP8266 với thiết kế dễ dàng sửa dụng vì tích hợp sẵn mạch nạp sử dụng chíp CP2102 trên board Bên trong ESP8266 có sẵn một lõi vi xử lý
vì thế bạn có thể trực tiếp lập trình cho ESP8266 mà không cần thêm bất kì con vi xử lý nào nữa
o Các lệnh cấu hình hoạt động của chip: Cho phép các bạn có thể kiểm tra trạng thái hoạt động, thực hiện reset chip, đọc thông tin firmware version, hoặc cấu hình thông số UART, Sleep mode v.v…
o Các lệnh xác lập thông tin mạng Wifi: Hỗ trợ các lệnh như chế độ hoạt động (Station, AP, AP+ station), đọc các danh sách các mạng Wifi xung quanh, cấu hình thông tin mạng Wifi sẽ kết nối, hoặc cấu hình DHCP, WPS, MDNS, smart config, … Đa phần các cấu hình liên quan đến Wifi đều được hỗ trợ đầy đủ cho
Trang 39o Các tập lệnh cấu hình TCP/IP: cho phép cấu hình TCP, UDP, SSL, các lệnh Ping, cấu hình timeout cho truyền dữ liệu, DNS, … Phần này hỗ trợ chủ yếu cho truyền nhận data
GPIO giao tiếp mức logic 3.3V
Giao tiếp với ESP8266 qua chuẩn UART nên chỉ cần kết nối 2 tín hiệu TX/RX
và 2 dây nguồn (VCC, GND)
Hình 3.4 Giao tiếp ESP8266 với STM32F407VG
Hai chân 3.3V và GND để cấp nguồn cho ESP8266
Hai chân TX, RX để truyền nhận dữ liệu giữa STM32F407VG với ESP8266
Trang 403.3.3 Khối công suất:
Động cơ bước không quay theo cơ chế thông thường, chúng quay theo từng bước nên có độ chính xác rất cao về mặt điều khiển học Chúng làm việc nhờ các bộ chuyển mạch điện tử đưa các tín hiệu điều khiển vào stato theo thứ tự và một tần số nhất định Tổng số góc quay của rôto tương ứng với số lần chuyển mạch, cũng như chiều quay và tốc độ quay của rôto phụ thuộc vào thứ tự chuyển đổi và tần số chuyển đổi
Mỗi động cơ bước sẽ có một thống cứng quan trọng, do nhóm sử dụng động cơ
có số step là 200, 4.2A nên điều khiển ổn định đã chọn module TB6600 để điều khiển
Khối này là mạch điều khiển động cơ bước, TB6600 sử dụng IC TB6600HQ/HG, dùng cho các loại động cơ bước: 42/57/86 2 pha hoặc 4 dây có dòng tải là 4A/42VDC Ứng dụng trong làm máy như CNC, Laser hay các máy tự động khác
Hình 3.5 Module TB6600
*Thông số kỹ thuật:
Dòng vào: 0~5A
Dòng ra: 0.5~4A
Tín hiệu điều khiể: 3.3~24V
Công suất max: 160W
Micro Step: 1, 2/A, 2/B, 4, 8, 16, 32
Khối lượng: 200g
Kích thước: 96 * 71 * 37 mm