Tải bản đầy đủ (.doc) (81 trang)

THIẾT KẾ XE MÔ HÌNH ĐIỀU KHIỂN TỪ XA BẰNG THIẾT BỊ DI ĐỘNG CHẠY HỆ ĐIỀU HÀNH ANDROID THÔNG QUA CHUẨN BLUETOOTH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.86 MB, 81 trang )

LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi dưới sự hướng
dẫn của TS.Phạm Văn Hà, các nội dung tham khảo được trích dẫn rõ ràng, các kết
quả nghiên cứu nêu trong luận văn là trung thực và chưa từng được công bố trong
bất kỳ các công trình nào khác. Nếu sai tôi xin hoàn toàn chịu trách nhiệm.

Tác giả

Phạm Hữu Điệp


LỜI CẢM ƠN
Tôi xin chân trọng cảm ơn Trung tâm sau đại học, Khoa điện tử Trường đại
học công nghiệp Hà Nội, đã tạo điều kiện thuận lợi giúp đỡ cho tôi trong suốt quá
trình học tập và nghiên cứu.
Tôi xin bày tỏ lòng biết ơn sâu sắc TS. Phạm Văn Hà, người hướng dẫn
khoa học cho tôi. Tôi cũng xin chân thành cảm ơn các thầy cô giáo, các bạn đồng
nghiệp đã đóng góp nhiều ý kiến quý báu và giúp đỡ tận tình để luận văn được
hoàn thành.

Tác giả

Phạm Hữu Điệp


MỤC LỤC
LỜI CAM ĐOAN......................................................................................................I
Tác giả.......................................................................................................................I
LỜI CẢM ƠN..........................................................................................................II
Tác giả......................................................................................................................II
MỤC LỤC...............................................................................................................III


DANH MỤC SƠ ĐỒ, HÌNH VẼ...........................................................................VII
DANH MỤC BẢNG BIỂU.....................................................................................XI
DANH SÁCH TỪ VIẾT TẮT...............................................................................XV
MỞ ĐẦU....................................................................................................................I
CHƯƠNG 1 - TỔNG QUAN...................................................................................1
1.1. TỔNG QUAN VỀ VI ĐIỀU KHIỂN STM32F407VG VÀ KIT STM32F4DISCOVERY.........................................................................................................................1
1.1.1. Tổng quan về vi điều khiển STM32F407VG.............................................................1
1.1.2. Tổng quan về KIT phát triển STM32F4Discovery....................................................2
Hình 1.1.KIT STM32F4 Discovery......................................................................................3
Hình 1.2. STM32F4DISCOVERY Extension Board...........................................................4
1.2. TỔNG QUAN VỀ CÔNG NGHỆ TRUYỀN KHÔNG DÂY BLUETOOTH............5
1.2.1. Giới thiệu về Bluetooth...............................................................................................5
Hình 1.3. Các tầng giao thức trong Bluetooth......................................................................7
1.2.1.Tìm hiểu Bluetooth API trên hệ điều hành Android...................................................8
Hình 1.4. Kiến trúc bậc cao của J2ME CDLC/MIDP và Bluetooth....................................9
Hình 1.5. Hộp thoại yêu cầu mở Bluetooth........................................................................13


Hình 1.6. Hộp thoại xác nhận ghép nối thiết bị..................................................................16
1.3.TÌM HIỂU API HỖ TRỢ LẬP TRÌNH CHO CẢM BIẾN GIA TỐC........................21
1.3.1.Tổng quan về cảm biến trong Android......................................................................21
Hình 1.7.Hệ thống tọa độ thể hiện các giá trị dữ liệu từ cảm biến trên điện thoại............22
1.3.2.Cảm biến sử dụng trong đề tài...................................................................................22
1.4.TỔNG QUAN MODULE BLUETOOTH HC-05 ......................................................23
1.4.1.Cấu tạo, nguyên lý hoạt động và một số thông số kỹ thuật của HC-05 ...................23
Hình 1.9. Sơ đồ các chân của HC-05..................................................................................24
Bảng 1.1. Các chân kết nối trong Bluetooth HC-05...........................................................25
1.4.2.Bộ truyền nhận nối tiếp USART...............................................................................27
Hình 1.31.Tín hiệu tương đương của UART và RS232.....................................................28
Hình 1.42. Truyền 8 bit theo phương pháp song song và nối tiếp.....................................28

1.5.MODULE ĐIỀU KHIỂN ĐỘNG CƠ L298................................................................32
1.5.1.Cấu tạo và nguyên lý hoạt động của Module L298..................................................32
Hình 1.5.Module L298V1...................................................................................................32
Hình 1.6.Nguyên lý hoạt động của mạch cầu H.................................................................32
Hình 1.7. Sơ đồ nguyên lý..................................................................................................33

CHƯƠNG 2- THIẾT KẾ XE MÔ HÌNH, XÂY DỰNG ỨNG DỤNG CHO VI
ĐIỀU KHIỂN VÀ THIẾT BỊ DI ĐỘNG ANDROID.............................................34
2.1. THIẾT KẾ PHẦN CỨNG...........................................................................................34
2.1.1. Xe mô hình................................................................................................................34
Hình 2.1. Mô hình giao tiếp giữa xe mô hình và thiết bị di động Android.......................34
Hình 2.2. Sơ đồ khối tổng quát...........................................................................................35
2.1.2. Sơ đồ nguyên lý ghép nối.........................................................................................35
Hình 2.3.Sơ đồ nguyên lý ghép nối trên xe mô hình..........................................................36
2.1.3.Thiết kế mô hình xe...................................................................................................36


Hình 2.4. Mô hình xe..........................................................................................................37
2.2. THIẾT KẾ PHẦN MỀM.............................................................................................37
2.2.1. Phần mềm điều khiển xe mô hình trên vi điều khiển STM32F407VG...................37
Bảng 2.1. Kết nối giữa KIT STM32F4Discovery và Module L298..................................37
Hình 2.5. Sơ đồ nguyên lý kết nối KIT, module L298 và các động cơ.............................38
Bảng 2. 2. các trạng thái của xe tương ứng với xung PWM..............................................39
Hình 2.6. Bộ điều xung PWM............................................................................................40
Hình 2.7. Sóng vuông.........................................................................................................41
Hình 2.8. Tạo xung vuông bằng phương pháp so sánh......................................................43
2.2.2. Phần mềm truyền nhận dữ liệu qua cổng Bluetooth cho vi điều khiển
STM32F407VG....................................................................................................................45
Hình 2.9. Kết nối HC-05 và KIT STM32F4Discovery......................................................45
2.2.3. Phần mềm cho thiết bị di động chạy hệ điều hành Android....................................46

Hình 2.10. Mô hình hoạt động của các activities trong ứng dụng.....................................47
Hình 2.11. Các luồng thao tác chính...................................................................................52
Hình 2.12.: Các luồng ngoại lệ...........................................................................................53
Hình 2.13. Thông báo ngoại lệ...........................................................................................54
2.3.KẾT LUẬN CHƯƠNG................................................................................................55

CHƯƠNG 3 - THỬ NGHIỆM VÀ ĐÁNH GIÁ.....................................................56
3.1. Cài đặt phần mềm trên KIT và trên thiết bị di động...................................................56
3.1.1. Cài đặt phần mềm nhúng trên KIT STM32F407VG...............................................56
3.1.2. Cài đặt phần mềm trên thiết bị di động chạy hệ điều hành Android.......................56
Hình 3.1. Màn hình chờ trong quá trình tải ứng dụng........................................................56
Hình 3.3. Màn hình làm việc với Bluetooth.......................................................................57
3.2.KẾT QUẢ CHẠY THỬ NGHIỆP PHẦN MỀM.........................................................58
3.3.ĐÁNH GIÁ...................................................................................................................59


KẾT LUẬN.............................................................................................................60
TÀI LIỆU THAM KHẢO.......................................................................................61


DANH MỤC SƠ ĐỒ, HÌNH VẼ
LỜI CAM ĐOAN......................................................................................................I
Tác giả.......................................................................................................................I
LỜI CẢM ƠN..........................................................................................................II
Tác giả......................................................................................................................II
MỤC LỤC...............................................................................................................III
DANH MỤC SƠ ĐỒ, HÌNH VẼ...........................................................................VII
DANH MỤC BẢNG BIỂU.....................................................................................XI
DANH SÁCH TỪ VIẾT TẮT...............................................................................XV
MỞ ĐẦU....................................................................................................................I

CHƯƠNG 1 - TỔNG QUAN...................................................................................1
1.1. TỔNG QUAN VỀ VI ĐIỀU KHIỂN STM32F407VG VÀ KIT STM32F4DISCOVERY.........................................................................................................................1
1.1.1. Tổng quan về vi điều khiển STM32F407VG.............................................................1
1.1.2. Tổng quan về KIT phát triển STM32F4Discovery....................................................2
Hình 1.1.KIT STM32F4 Discovery......................................................................................3
Hình 1.2. STM32F4DISCOVERY Extension Board...........................................................4
1.2. TỔNG QUAN VỀ CÔNG NGHỆ TRUYỀN KHÔNG DÂY BLUETOOTH............5
1.2.1. Giới thiệu về Bluetooth...............................................................................................5
Hình 1.3. Các tầng giao thức trong Bluetooth......................................................................7
1.2.1.Tìm hiểu Bluetooth API trên hệ điều hành Android...................................................8
Hình 1.4. Kiến trúc bậc cao của J2ME CDLC/MIDP và Bluetooth....................................9
Hình 1.5. Hộp thoại yêu cầu mở Bluetooth........................................................................13
Hình 1.6. Hộp thoại xác nhận ghép nối thiết bị..................................................................16


1.3.TÌM HIỂU API HỖ TRỢ LẬP TRÌNH CHO CẢM BIẾN GIA TỐC........................21
1.3.1.Tổng quan về cảm biến trong Android......................................................................21
Hình 1.7.Hệ thống tọa độ thể hiện các giá trị dữ liệu từ cảm biến trên điện thoại............22
1.3.2.Cảm biến sử dụng trong đề tài...................................................................................22
1.4.TỔNG QUAN MODULE BLUETOOTH HC-05 ......................................................23
1.4.1.Cấu tạo, nguyên lý hoạt động và một số thông số kỹ thuật của HC-05 ...................23
Hình 1.9. Sơ đồ các chân của HC-05..................................................................................24
Bảng 1.1. Các chân kết nối trong Bluetooth HC-05...........................................................25
1.4.2.Bộ truyền nhận nối tiếp USART...............................................................................27
Hình 1.31.Tín hiệu tương đương của UART và RS232.....................................................28
Hình 1.42. Truyền 8 bit theo phương pháp song song và nối tiếp.....................................28
1.5.MODULE ĐIỀU KHIỂN ĐỘNG CƠ L298................................................................32
1.5.1.Cấu tạo và nguyên lý hoạt động của Module L298..................................................32
Hình 1.5.Module L298V1...................................................................................................32
Hình 1.6.Nguyên lý hoạt động của mạch cầu H.................................................................32

Hình 1.7. Sơ đồ nguyên lý..................................................................................................33

CHƯƠNG 2- THIẾT KẾ XE MÔ HÌNH, XÂY DỰNG ỨNG DỤNG CHO VI
ĐIỀU KHIỂN VÀ THIẾT BỊ DI ĐỘNG ANDROID.............................................34
2.1. THIẾT KẾ PHẦN CỨNG...........................................................................................34
2.1.1. Xe mô hình................................................................................................................34
Hình 2.1. Mô hình giao tiếp giữa xe mô hình và thiết bị di động Android.......................34
Hình 2.2. Sơ đồ khối tổng quát...........................................................................................35
2.1.2. Sơ đồ nguyên lý ghép nối.........................................................................................35
Hình 2.3.Sơ đồ nguyên lý ghép nối trên xe mô hình..........................................................36
2.1.3.Thiết kế mô hình xe...................................................................................................36
Hình 2.4. Mô hình xe..........................................................................................................37


2.2. THIẾT KẾ PHẦN MỀM.............................................................................................37
2.2.1. Phần mềm điều khiển xe mô hình trên vi điều khiển STM32F407VG...................37
Bảng 2.1. Kết nối giữa KIT STM32F4Discovery và Module L298..................................37
Hình 2.5. Sơ đồ nguyên lý kết nối KIT, module L298 và các động cơ.............................38
Bảng 2. 2. các trạng thái của xe tương ứng với xung PWM..............................................39
Hình 2.6. Bộ điều xung PWM............................................................................................40
Hình 2.7. Sóng vuông.........................................................................................................41
Hình 2.8. Tạo xung vuông bằng phương pháp so sánh......................................................43
2.2.2. Phần mềm truyền nhận dữ liệu qua cổng Bluetooth cho vi điều khiển
STM32F407VG....................................................................................................................45
Hình 2.9. Kết nối HC-05 và KIT STM32F4Discovery......................................................45
2.2.3. Phần mềm cho thiết bị di động chạy hệ điều hành Android....................................46
Hình 2.10. Mô hình hoạt động của các activities trong ứng dụng.....................................47
Hình 2.11. Các luồng thao tác chính...................................................................................52
Hình 2.12.: Các luồng ngoại lệ...........................................................................................53
Hình 2.13. Thông báo ngoại lệ...........................................................................................54

2.3.KẾT LUẬN CHƯƠNG................................................................................................55

CHƯƠNG 3 - THỬ NGHIỆM VÀ ĐÁNH GIÁ.....................................................56
3.1. Cài đặt phần mềm trên KIT và trên thiết bị di động...................................................56
3.1.1. Cài đặt phần mềm nhúng trên KIT STM32F407VG...............................................56
3.1.2. Cài đặt phần mềm trên thiết bị di động chạy hệ điều hành Android.......................56
Hình 3.1. Màn hình chờ trong quá trình tải ứng dụng........................................................56
Hình 3.3. Màn hình làm việc với Bluetooth.......................................................................57
3.2.KẾT QUẢ CHẠY THỬ NGHIỆP PHẦN MỀM.........................................................58
3.3.ĐÁNH GIÁ...................................................................................................................59

KẾT LUẬN.............................................................................................................60


TÀI LIỆU THAM KHẢO.......................................................................................61


DANH MỤC BẢNG BIỂU
LỜI CAM ĐOAN......................................................................................................I
Tác giả.......................................................................................................................I
LỜI CẢM ƠN..........................................................................................................II
Tác giả......................................................................................................................II
MỤC LỤC...............................................................................................................III
DANH MỤC SƠ ĐỒ, HÌNH VẼ...........................................................................VII
DANH MỤC BẢNG BIỂU.....................................................................................XI
DANH SÁCH TỪ VIẾT TẮT...............................................................................XV
MỞ ĐẦU....................................................................................................................I
CHƯƠNG 1 - TỔNG QUAN...................................................................................1
1.1. TỔNG QUAN VỀ VI ĐIỀU KHIỂN STM32F407VG VÀ KIT STM32F4DISCOVERY.........................................................................................................................1
1.1.1. Tổng quan về vi điều khiển STM32F407VG.............................................................1

1.1.2. Tổng quan về KIT phát triển STM32F4Discovery....................................................2
Hình 1.1.KIT STM32F4 Discovery......................................................................................3
Hình 1.2. STM32F4DISCOVERY Extension Board...........................................................4
1.2. TỔNG QUAN VỀ CÔNG NGHỆ TRUYỀN KHÔNG DÂY BLUETOOTH............5
1.2.1. Giới thiệu về Bluetooth...............................................................................................5
Hình 1.3. Các tầng giao thức trong Bluetooth......................................................................7
1.2.1.Tìm hiểu Bluetooth API trên hệ điều hành Android...................................................8
Hình 1.4. Kiến trúc bậc cao của J2ME CDLC/MIDP và Bluetooth....................................9
Hình 1.5. Hộp thoại yêu cầu mở Bluetooth........................................................................13
Hình 1.6. Hộp thoại xác nhận ghép nối thiết bị..................................................................16


1.3.TÌM HIỂU API HỖ TRỢ LẬP TRÌNH CHO CẢM BIẾN GIA TỐC........................21
1.3.1.Tổng quan về cảm biến trong Android......................................................................21
Hình 1.7.Hệ thống tọa độ thể hiện các giá trị dữ liệu từ cảm biến trên điện thoại............22
1.3.2.Cảm biến sử dụng trong đề tài...................................................................................22
1.4.TỔNG QUAN MODULE BLUETOOTH HC-05 ......................................................23
1.4.1.Cấu tạo, nguyên lý hoạt động và một số thông số kỹ thuật của HC-05 ...................23
Hình 1.9. Sơ đồ các chân của HC-05..................................................................................24
Bảng 1.1. Các chân kết nối trong Bluetooth HC-05...........................................................25
1.4.2.Bộ truyền nhận nối tiếp USART...............................................................................27
Hình 1.31.Tín hiệu tương đương của UART và RS232.....................................................28
Hình 1.42. Truyền 8 bit theo phương pháp song song và nối tiếp.....................................28
1.5.MODULE ĐIỀU KHIỂN ĐỘNG CƠ L298................................................................32
1.5.1.Cấu tạo và nguyên lý hoạt động của Module L298..................................................32
Hình 1.5.Module L298V1...................................................................................................32
Hình 1.6.Nguyên lý hoạt động của mạch cầu H.................................................................32
Hình 1.7. Sơ đồ nguyên lý..................................................................................................33

CHƯƠNG 2- THIẾT KẾ XE MÔ HÌNH, XÂY DỰNG ỨNG DỤNG CHO VI

ĐIỀU KHIỂN VÀ THIẾT BỊ DI ĐỘNG ANDROID.............................................34
2.1. THIẾT KẾ PHẦN CỨNG...........................................................................................34
2.1.1. Xe mô hình................................................................................................................34
Hình 2.1. Mô hình giao tiếp giữa xe mô hình và thiết bị di động Android.......................34
Hình 2.2. Sơ đồ khối tổng quát...........................................................................................35
2.1.2. Sơ đồ nguyên lý ghép nối.........................................................................................35
Hình 2.3.Sơ đồ nguyên lý ghép nối trên xe mô hình..........................................................36
2.1.3.Thiết kế mô hình xe...................................................................................................36
Hình 2.4. Mô hình xe..........................................................................................................37


2.2. THIẾT KẾ PHẦN MỀM.............................................................................................37
2.2.1. Phần mềm điều khiển xe mô hình trên vi điều khiển STM32F407VG...................37
Bảng 2.1. Kết nối giữa KIT STM32F4Discovery và Module L298..................................37
Hình 2.5. Sơ đồ nguyên lý kết nối KIT, module L298 và các động cơ.............................38
Bảng 2. 2. các trạng thái của xe tương ứng với xung PWM..............................................39
Hình 2.6. Bộ điều xung PWM............................................................................................40
Hình 2.7. Sóng vuông.........................................................................................................41
Hình 2.8. Tạo xung vuông bằng phương pháp so sánh......................................................43
2.2.2. Phần mềm truyền nhận dữ liệu qua cổng Bluetooth cho vi điều khiển
STM32F407VG....................................................................................................................45
Hình 2.9. Kết nối HC-05 và KIT STM32F4Discovery......................................................45
2.2.3. Phần mềm cho thiết bị di động chạy hệ điều hành Android....................................46
Hình 2.10. Mô hình hoạt động của các activities trong ứng dụng.....................................47
Hình 2.11. Các luồng thao tác chính...................................................................................52
Hình 2.12.: Các luồng ngoại lệ...........................................................................................53
Hình 2.13. Thông báo ngoại lệ...........................................................................................54
2.3.KẾT LUẬN CHƯƠNG................................................................................................55

CHƯƠNG 3 - THỬ NGHIỆM VÀ ĐÁNH GIÁ.....................................................56

3.1. Cài đặt phần mềm trên KIT và trên thiết bị di động...................................................56
3.1.1. Cài đặt phần mềm nhúng trên KIT STM32F407VG...............................................56
3.1.2. Cài đặt phần mềm trên thiết bị di động chạy hệ điều hành Android.......................56
Hình 3.1. Màn hình chờ trong quá trình tải ứng dụng........................................................56
Hình 3.3. Màn hình làm việc với Bluetooth.......................................................................57
3.2.KẾT QUẢ CHẠY THỬ NGHIỆP PHẦN MỀM.........................................................58
3.3.ĐÁNH GIÁ...................................................................................................................59

KẾT LUẬN.............................................................................................................60


TÀI LIỆU THAM KHẢO.......................................................................................61


DANH SÁCH TỪ VIẾT TẮT

Từ viết tắt

Từ đầy đủ tiếng anh

Từ đầy đủ tiếng việt

PC

Personal Computer

Máy tính cá nhân

PWM


Pulse Width Modulation

Độ rộng xung điều chế

ADC

Analog to Digital Converter

Chuyển đổi từ analong sang số

ARM

Acorn RISC Machines


I

MỞ ĐẦU
LÝ DO CHỌN ĐỀ TÀI
Trong những năm gần đây người ta nói nhiều đến kỷ nguyên hậu PC, tức thời
kỳ mà máy tính cỡ lớn sẽ gần như biến mất, thay vào đó nó hiện hữu trong mọi ngõ
ngách của cuộc sống dưới các hình thức nhỏ gọn hơn hoặc tích hợp vào các hệ
thống cần sự trợ giúp về tính toán, điều khiển, truyền tin. Một trong những biểu
hiện của nó là sự bùng nổ của điện thoại thông minh và máy tính bảng. Một biểu
hiện khác âm thầm hơn, nhưng cũng không kém phần mạnh mẽ, đó chính là các hệ
thống nhúng. Các hệ thống này đang có mặt không chỉ trong trong các hệ thống
công nghiệp, quan trắc, truyền tin, xe cộ… mà thậm chí hiện hữu ngay trong mỗi
gia đình, trong các thiết bị thông dụng như tivi, tủ lạnh, máy giặt, lò vi sóng, nồi
cơm điện… Các hệ thống nhúng thường bao gồm các thành phần phần cứng và
phần mềm, trong đó “bộ não” của nó là các chip vi điều khiển, chúng đảm nhận

mọi yêu cầu tính toán, điều khiển, giao tiếp… cho hệ thống. Nhu cầu nhân lực phát
triển các hệ thống nhúng ngày một cao, không chỉ ở các nước có nền công nghiệp
điện tử - tin học phát triển mà ngay ở các nước chuyên gia công phần mềm như
nước ta. Chính vì lý do đó mà em quyết định chọn đề tài “THIẾT KẾ XE MÔ
HÌNH ĐIỀU KHIỂN TỪ XA BẰNG THIẾT BỊ DI ĐỘNG CHẠY HỆ ĐIỀU HÀNH
ANDROID THÔNG QUA CHUẨN BLUETOOTH”. Đây là một đề tài hấp dẫn, cập
nhật công nghệ, có tính ứng dụng cao và phù hợp với nội dung đào tạo Thạc sĩ
ngành Kỹ thuật điện tử tại Trường Đại học Công nghiệp Hà Nội mà trong đó môn
học Hệ thống nhúng đóng một vai trò quan trọng.
TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Khoảng 99% các chip vi xử lý ngày nay nằm ở các thiết bị nhúng, chỉ duy nhất
1% dành cho máy tính cá nhân. Điều này cho thấy vị thế đặc biệt quan trọng của
các hệ thống nhúng. Trong số các chip vi xử lý hiện đang lưu hành thì tới 75% có
kiến trúc ARM. Có rất nhiều công ty sản xuất chip mang kiến trúc ARM. Họ mua
bản quyền thiết kế lõi vi điều khiển từ công ty ARM Holdings, sau đó bổ xung
thêm bộ nhớ, các thiết bị ngoại vi và các thành phần khác để tạo nên các dòng chip
của riêng mình. Đi đầu trong các công ty sản xuất chip ARM có thể kể đến các
công ty như Atmel, Broadcom, Freescale, NXP, Qualcomm, Samsung,
STMicroelectronics, Texas Instruments, Toshiba…
Trong số các dòng chip ARM phổ biến thì dòng ARM Cortex-M4 được đánh
giá rất cao nhờ hiệu năng xử lý và cấu hình cao, giá thành rẻ, dễ học, dễ chuyển
đổi. Công ty STMicroelectronics (hiện đứng số 1 ở Châu Âu về điện tử bán dẫn và
có văn phòng ở Việt Nam) đã cho ra đời các dòng KIT giá rẻ được đánh giá rất cao


II
phục vụ việc học tập và thử nghiệm, trong đó có KIT STM32F4Discovery. Đây là
KIT phát triển xây dựng trên vi điều khiển ARM Cortex-M4 STM32F407VG, tích
hợp sẵn mạch nạp và nhiều thành phần ngoại vi cơ bản. Tuy vậy trên KIT
STM32F4Discovery không tích hợp sẵn khả năng truyền dữ liệu không dây cũng

như không có module điều khiển động cơ. Trong khi đó nhu cầu truyền dữ liệu
không dây trong các ứng dụng đo lường, điều khiển và nhu cầu điều khiển động cơ
luôn hiện hữu. Như vậy bài toán đặt ra là cần cung cấp khả năng điều khiển động
cơ và khả năng truyền dữ liệu không dây cho chip STM33F407VG thông qua một
chuẩn không dây phổ biến, giá thành triển khai thấp, tốc độ truyền cao và khoảng
cách truyền không quá ngắn, chẳng hạn như công nghệ Bluetooth. Yêu cầu đó cho
thấy tính cấp thiết của đề tài luận văn.
MỤC TIÊU VÀ PHƯƠNG PHÁP NGHIÊN CỨU
Mục tiêu của đề tài
Tìm hiểu kiến trúc và các kỹ thuật lập trình cho vi điều khiển STM32F407VG,
thiết kế xe mô hình với 2 động cơ DC, phát triển ứng dụng cho KIT
STM32F407VG thu nhận tín hiệu điều khiển truyền qua Bluetooth và thực hiện
việc điều khiển động cơ theo các lệnh nhận được, xây dựng ứng dụng trên thiết bị
Android cho phép điều khiển xe mô hình từ xa.
Nội dung nghiên cứu
Để đạt được mục tiêu của đề tài cần thực hiện các nội dung nghiên cứu sau:
- Tìm hiểu kiến trúc vi điều khiển STM32F407VG, KIT STM32F4Discovery
và các kỹ thuật lập trình cho vi điều khiển đó.
- Tìm hiểu về chuẩn truyền thông Bluetooth.
- Thiết kế xe mô hình với 2 động cơ DC.
- Xây dựng module Bluetooth cho KIT phát triển STM32F4Discovery.
- Xây dựng ứng dụng giao tiếp giữa KIT STM32F4Discovery với thiết bị di
động chạy hệ điều hành Android thông qua chuẩn Bluetooth. Ứng dụng cho phép
nhận lệnh điều khiển xe từ thiết bị Android.
- Xây dựng phần mềm cho thiết bị di động chạy hệ điều hành Android cho
phép sử dụng thiết bị đó như một module điều khiển từ xa.
Phương pháp nghiên cứu
Nghiên cứu làm chủ KIT STM32F4Discovery, xây dựng giải pháp kết nối KIT
với module serial Bluetooth như HC-05 và module điều khiển động cơ L298N; sử
dụng thiết bị di động như máy tính bảng hoặc điện thoại thông minh làm công cụ

thử nghiệm trao đổi dữ liệu qua Bluetooth, trên cơ sở đó xây dựng ứng dụng demo
điều khiển xe mô hình từ xa bằng thiết bị di động.


III
TÓM TẮT LUẬN VĂN
Ngoài phần mở đầu, kết luận và tài liệu tham khảo, phần chính của luận văn
gồm 3 chương:
Chương 1: Trình bày khái quát về kiến trúc vi điều khiển STM32F407VG,
giới thiệu về KIT STM32F4Discovery và chuẩn giao tiếp không dây Bluetooth,
đồng thời khảo sát các công trình đã đăng tải liên quan đến đề tài luận văn, nêu
những vấn đề còn tồn tại, chỉ ra những vấn đề mà đề tài luận văn quan tâm.
Chương 2: Đề cập tới việc thiết kế xe mô hình và phát triển các phần mềm
điều khiển, truyền nhận dữ liệu trên KIT và trên thiết bị di động chạy hệ điều hành
Android.
Chương 3: Trình bày các kết quả chạy thử nghiệm và đánh giá các kết quả đạt
được.


1

CHƯƠNG 1 - TỔNG QUAN
Chương này trình bày khái quát về kiến trúc vi điều khiển STM32F407VG,
giới thiệu về KIT phát triển STM32F4Discovery và chuẩn giao tiếp không dây
Bluetooth, đồng thời khảo sát các công trình đã đăng tải liên quan đến đề tài luận
văn, nêu những vấn đề còn tồn tại, chỉ ra những vấn đề mà đề tài luận văn quan
tâm.
1.1. TỔNG QUAN VỀ VI ĐIỀU KHIỂN STM32F407VG VÀ KIT STM32F4DISCOVERY
Để thực hiện đề tài, tác giả sử dụng KIT phát triển STM32F4Discovery của
công ty ST Microelectronics làm thiết bị điều khiển động cơ, thu thập dữ liệu và

truyền thông tin. Vi điều khiển được sử dụng trên KIT có tên gọi STM32F407VG.
Phần này của luận văn sẽ khảo sát về vi điều khiển và KIT phát triển nói trên.
1.1.1. Tổng quan về vi điều khiển STM32F407VG
Ngày nay, hơn 75% CPU nhúng 32-bit là thuộc họ ARM, điều này khiến
ARM trở thành cấu trúc 32-bit được sản xuất nhiều nhất trên thế giới. CPU ARM
được tìm thấy khắp nơi trong các sản phẩm thương mại điện tử, từ thiết bị cầm tay
(PDA, điện thoại di động, máy đa phương tiện, máy trò chơi cầm tay, và máy tính
cầm tay) cho đến các thiết bị ngoại vi máy tính (ổ đĩa cứng, bộ định tuyến để bàn)
[]. Một nhánh nổi tiếng của họ ARM là ARM Cortex.
ARM Cortex
ARM Cortex là dòng vi xử lý thế mới với kiến trúc chuẩn cho nhu cầu đa dạng
về công nghệ. Không giống như các chip ARM khác, dòng Cortex có lõi xử lý hoàn
thiện, CPU và kiến trúc hệ thống có chuẩn chung. Dòng Cortex gồm có 3 phân
nhánh chính: Dòng A dành cho các ứng dụng cao cấp, dòng R dành cho các ứng
dụng thời gian thực như các đầu đọc và dòng M dành cho các ứng dụng vi điều
khiển và chi phí thấp.
ARM Cortex-M4
Bộ vi xử lý ARM Cortex-M4 là thế hệ vi xử lý thứ 2 của dòng Cortex-M dựa
trên kiến trúc ARMv7-M, được giới thiệu vào năm 2010. Nó được mở rộng thêm
về tập lệnh và kiến trúc mới. Corex-M4 gồm một lõi CPU 32-bit, các thanh ghi 32bit, đường dẫn dữ liệu nội bộ 32-bit và giao diện bus 32-bit, cùng một số thành
phần khác. Ngoài ra, Cortex-M4 cũng đã hỗ trợ một số hoạt động liên quan đến dữ
liệu. Các bộ vi xử lý này được thiết kế dành cho các ứng dụng đòi hỏi chức năng xử
lý tín hiệu số, những ứng dụng nhúng sâu yêu cầu tính năng đáp ứng ngắt nhanh
chóng. Dưới đây là một số ưu điểm của các chip ARM Cortex-M4:
• Hiệu suất xử lý vượt trội kết hợp với xử lý ngắt nhanh chóng.


2
• Tăng cường hệ thống gỡ lỗi với breakpoint và khả năng theo vết mở rộng.
• Giao diện bus on-chip dựa trên công nghệ ARM AMBA (Advanced

Microcontroller Bus Architecture) cho phép nâng cao khả năng truyền dữ liệu.
• Tiêu thụ điện năng cực thấp với chế độ ngủ tích hợp (sleep mode) và một
chế độ ngủ sâu tùy chọn (standby mode).
• Nền tảng bảo mật vững mạnh, với tùy chọn đơn vị bảo vệ bộ nhớ (MPU)
tích hợp.
Các bộ vi xử lý Cortex-M4 được xây dựng trên lõi xử lý hiệu suất cao, với
đường ống kiến trúc Harvard 3 giai đoạn, khiến cho nó trở nên lý tưởng với các
ứng dụng nhúng. Các bộ vi xử lý mang lại hiệu quả năng lượng đặc biệt thông qua
một lệnh đặt hiệu quả và tối ưu hóa thiết kế rộng rãi, cung cấp phần cứng xử lý cao
cấp bao gồm tùy chọn IEEE754.
Các bộ vi xử lý Cortex-M4 được thiết kế để thực thi tập lệnh Thumb-2, là một
sự pha trộn của lệnh 16-bit và 32-bit. Tập lệnh thumb-2 cải tiến 26% mật đọ mã so
với tập lệnh ARM 32-bit và 25% hiệu suất so với tập lệnh Thumb16-bit. Tập lệnh
Thumb-2 có một số lệnh nhân được cải tiến, có thể thực hiện trong một chu kỳ đơn
và khả năng thực hiện phép chia bằng phần cứng và chỉ mất từ 2-7 chu kỳ.
Các bộ vi xử lý Cortex-M4 tích hợp bộ xử lý ngắt lồng nhau (Nested Vectored
Interrupt Controller - NVIC) với hiệu suất xử lý ngắt cực nhanh. Để tối ưu hóa thiết
kế công suất thấp, các NVIC tích hợp với chế độ ngủ, trong đó bao gồm một chức
năng ngủ sâu tùy chọn.
STM32F407VG là vi điều khiển thuộc họ ARM Cortex-M4 được sản xuất bởi
công ty bán dẫn lớn nhất châu Âu là ST Microelectronics. Nó là sự kết hợp của các
chức năng điều khiển và xử lý tín hiệu hiệu quả cao nhưng chi phí thấp. Dễ dàng sử
dụng những lợi ích của vi xử lý ARM Cotex-M cho các giải pháp linh hoạt, đặc
biệt áp dụng cho điều khiển động cơ, ô tô, quản lý điện năng và tự động hóa…
1.1.2. Tổng quan về KIT phát triển STM32F4Discovery
STM32F4Discovery là board vi điều khiển dành cho người mới học hoặc dành
cho lập trình viên chuyên nghiệp trong lĩnh vực điều khiển tự động hóa… Board
được tích hợp chip ARM Cortex-M4 cùng với bộ tính toán số thực (FPU) và bộ xử
lý tín hiệu số DSP, hoạt động với tần số rất cao 168 MHz, tỷ suất DMIPS/MHZ cao
1.25 giúp cho hệ thống có thể đạt được hiệu năng 210 DMIPS, board rất thích hợp

cho các ứng dụng với yêu cầu tính toán xử lý nhanh, ví dụ như DSP, điều khiển
robot, thậm chí xử lý ảnh.


3

Hình 1.1.KIT STM32F4 Discovery
Thông số kỹ thuật
• Sử dụng vi điều khiển lõi ARM Cortex-M4 32-bit STM32F407VGT6, 1
MB Flash, 192 KB RAM đóng gói LQFP100 (100 chân)
• Tích hợp sẵn mạch nạp ST-LINK/V2
• Nguồn cung cấp cho board: qua USB bus hoặc từ nguồn điện ngoài 5V
• Cấp nguồn cho ứng dụng ngoài: 3V và 5V
• Cảm biến chuyển động ST MEMS LIS302DL
• Cảm biến âm thanh ST MEMS MP45DT02
• Audio DAC CS43L22 với driver loa lớp D tích hợp
• 8 đèn LED:
o LD1 (red/green) dùng cho giao tiếp USB
o LD2 (red) báo hiệu nguồn 3.3 V đang bật
o 4 đèn LED người dùng: LD3 (orange), LD4 (green), LD5 (red) và LD6
(blue)


4
o 2 đèn LED cho USB OTG: LD7 (green) VBus và LD8 (red) overcurrent
• 2 nút bấm (user và reset)
Khả năng mở rộng
STM32F4Discovery hỗ trợ trong việc tìm hiểu dòng vi điều khiển
STM32F407/417 và hỗ trợ phát triển ứng dụng một cách dễ dàng hơn. Nó cung cấp
hầu hết mọi thứ cho những người mới bắt đầu và cả những người đã có kinh

nghiệm về lập trình nhúng. Tuy nhiên trên KIT STM32F4Discovery không tích
hợp sẵn nhiều khả năng, cụ thể là khả năng truyền dữ liệu không dây sử dụng trong
đề tài này. Vì vậy, KIT STM32F4Discovery cung cấp khả năng mở rộng kết nối
như Ethernet, khe cắm micro SD Card™, LCD, camera, UARTS, SPI, …. Và được
gọi là STM32F4DIS-EXT (STM32F4DISCOVERY extension board). Các đặc
điểm chính của STM32F4DIS-EXTđược nêu dưới đây:

Hình 1.2. STM32F4DISCOVERY Extension Board
• Bảng mạch chính
o Khe cắm thẻ Micro SD


5
o 10/100 Ethernet with IEEE 1588v2 (RJ45 connector)
o Kết nối với bảng mạch camera
o Kết nối với bảng mạch LCD
o Kết nối với UART, I2C, SPI, CAN, PWM and GPIOs
• Bảng mạch LCD
o IC: SSD2119
o Kích cỡ: 320 * 240
o Màu: 262K colors
o Ánh sáng đèn: do PWM điều khiển
• Bảng mạch camera
o Cảm biến hình ảnh: CMOS 1.3 Megapixel
o Resolution: Up to 1280 * 1024
o Tỉ lệ khung hình: 15 fps cho SXGA, 30 fps cho VGA and CIF.
• Bảng mạch wifi
o 2.4GHz IEEE 802.11b/g/n
o Hỗ trợ chế độ kép AP/STA
o Tích hợp TCP/IP, HTTP, DHCP, DNS and Web Server

o Hỗ trợ bảo mật WPA/WPA2 PSK
o Giao tiếp chính: UART, SPI Interface & Standalone
o Giao tiếp khác: GPIO, ADC, DAC, I2C
o Nguồn:- 5V Power Jack- chân cắm mini usb.
1.2. TỔNG QUAN VỀ CÔNG NGHỆ TRUYỀN KHÔNG DÂY BLUETOOTH
1.2.1. Giới thiệu về Bluetooth
Bluetooth là công nghệ không dây cho phép các thiết bị điện, điện tử giao tiếp
với nhau trong khoảng cách ngắn, bằng sóng vô tuyến qua băng tần chung ISM
(Industrial, Scientific, Medical) trong dãy 2.40 – 2.48 GHz và có khả năng truyền
tải giọng nói và dữ liệu.
Bluetooth được thiết kế nhằm mục đích thay thế cable giữa máy tính và các
thiết bị truyền thông cá nhân, kết nối vô tuyến giữa các thiết bị điện tử lại với nhau
một cách thuận lợi với giá thành rẻ.
Công nghệ không dây Bluetooth là một tiêu chuẩn trong thực tế, dùng cho các
thiết bị cỡ nhỏ, chi phí thấp, sóng ngắn liên kết giữa PC di động, điện thoại di động
và giữa các thiết bị hỗ trợ cá nhân PDA (Personal Digital Assistant).


6
Bluetooth Special Interest Group (Bluetooth SIG) là tổ chức gồm những công
ty hàng đầu trong lĩnh vực viễn thông, máy tính và công nghiệp mạng đang cố gắng
phát triển công nghệ này và cung cấp rộng rãi trên thị trường.
Đặc điểm
• Tiêu thụ năng lượng thấp
• Cho phép ứng dụng được nhiều loại thiết bị bao gồm các thiết bị cầm tay và
điện thoại di động
• Giá thành ngày một giảm (giá một con chip Bluetooth đang giảm dần)
• Khoảng cách giao tiếp cho phép :
o Khoảng cách giữa 2 thiết bị đầu cuối có thể lên đến 10m ngoài trời và
5m trong tòa nhà.

o Khoảng cách thiết bị đầu cuối và Access point có thể lên tới 100m ngoài
trời và 30m trong nhà.
• Bluetooth sử dụng bằng tần 2,4GHz, tốc độ truyền dữ liệu có thể đạt tới
mức tối đa 1Mbps mà các thiết bị không cần phải trực tiếp thấy nhau.
Bluetooth hỗ trợ tốc độ truyền tải dữ liệu lên tới 720Kbps trong phạm vi
10m.
• Dễ dàng trong việc phát triển ứng dụng: Bluetooth kết nối một ứng dụng
này với một ứng dụng khác thông qua các chuẩn “Bluetooth profiles”, do
đó có thể độc lập về phần cứng cũng như hệ điều hành sử dụng.
• An toàn và bảo mật: được tích hợp với sự xác nhận và mã hóa.
• Tính tương thích cao, được nhiều nhà sản xuất phần cứng cũng như phần
mềm hỗ trợ.
Hoạt động
Bluetooth là chuẩn kết nối không dây tầm ngắn, thiết kế cho các kết nối thiết
bị cá nhân hay mạng cục bộ nhỏ trong phạm vi băng tần từ 2.4GHz đến 2.485GHz.
Bluetooth hoạt động dựa trên 79 tần số đơn lẻ. Khi kết nối, nó sẽ tự động tìm ra tần
số tương thích để di chuyển đến thiết bị cần kết nối trong khu vực nhằm đảm bảo
sự liên tục.


7
Các tầng giao thức trong Bluetooth

Hình 1.3. Các tầng giao thức trong Bluetooth
• OBEX (Object exchange): giao thức giao tiếp được sử dụng để trao đổi dữ
liệu vật lý như các tập tin, hình ảnh và kể cả các định dạng nhị phân
• L2CAP (Logical Link Control and Adaptation Protocol): được sử dụng để
gửi các gói dữ liệu giữa máy chủ và máy khách.
• RFCOMM (Radio Frequency COMMunication): được sử dụng cho luồng
dữ liệu đơn giản.

Lưu ý: Bluetooth API thuộc JSR-82, có khả năng cung cấp cả 3 giao thức kể
trên. Nhưng trong phạm vi đề tài này, ta sẽ chỉ tập trung vào giao thức đơn giản
nhất là RFCOMM.
RFCOMM protocol
Giao thức RFCOMM cho phép giả lập cổng serial thông qua giao thức
L2CAP. Giao thức này dựa trên tiêu chuẩn ETSI TS 07.10, chỉ có một phần của
chuẩn TS 07.10 được dùng và được chỉnh sửa cho phù hợp với Bluetooth.
RFCOMM hỗ trợ tối đa 60 kết nối cùng một lúc giữa 2 thiết bị Bluetooth theo
mặc định, nhưng hiện nay số kết nối tối đa tùy thuộc vào nhà sản xuất. Đối với
RFCOMM, một kết nối bao gồm 2 ứng dụng chạy trên 2 thiết bị riêng biệt (2 thiết
bị đầu cuối).
Loại thiết bị: Về cơ bản, RFCOMM cung cấp cho 2 loại thiết bị:
o Loại 1: là những thiết bị đầu cuối như máy tính hay máy in
o Loại 2: là những thành phần để truyền dữ liệu, chẳng hạn modem.


×