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

THIẾT kế và THI CÔNG ROBOT ĐÁNH TRỐNG TRONG TRƯỜNG học

99 160 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 99
Dung lượng 4,76 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

TRƯỜ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 2

Chuyê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 3

III 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 4

Tê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 7

LỜ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 8

LỜ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 10

2.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 11

CHƯƠ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 12

Hì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 13

Hì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 14

Hì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 15

Hì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 16

LIỆ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 17

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 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 18

CHƯƠ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 20

CHƯƠ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 22

Hì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 24

L 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 25

2.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 26

Bả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 27

phầ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 28

Hì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 29

Hì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 30

Mộ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 31

chuyể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 32

2.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 33

2.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 34

cũ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 35

CHƯƠ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 36

Chứ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 37

Trong đó 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 38

Hì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 39

o 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 40

3.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

Ngày đăng: 10/10/2019, 07:26

TỪ KHÓA LIÊN QUAN

w