Trong những năm gần đây công nghệ truyền nhận dữ liệu không dây đang có những bước phát triển mạnh mẽ, góp công lớn trong việc phát triển các hệ thống điều khiển, giám sát từ xa, đặc biệ
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ VIỄN THÔNG
Danh sách sinh viên
2013.4348 Vũ Đăng Tuấn KT ĐT-TT 07 K58
2013.4328 Phạm Mạnh Tuấn KT ĐT-TT 06 K58
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ VIỄN THÔNG
Trang 3MỤC LỤC
LỜI NÓI ĐẦU 6
CHƯƠNG 1: MÔ TẢ ĐỀ TÀI 8
1.1 Vài nét về đề tài 8
1.2 Yêu cầu phi chức năng 8
1.3 Kế hoạch thực hiện 8
CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN MSP430 10
2.1 Cấu trúc 10
2.2 Hệ thống định thời (clock) linh hoạt 12
2.3 Không gian địa chỉ 12
2.3.4.Những thanh ghi chức năng đặc biệt (SFRs) 14
2.3.5.Truy cập bộ nhớ 14
2.4 MSP430 LaunchPad Value Line Development Kit và chip MSP430G2553 15
2.5 Công cụ lập trình 17
CHƯƠNG 3: TÌM HIỂU VỀ HỆ ĐIỀU HÀNH, GIAO TIẾP NGOẠI VI VÀ IC ĐIỀU KHIỂN ĐỘNG CƠ L293D 19
3.1 Công nghệ không dây Bluetooth 19
3.1.2.1 Ưu điểm 20
3.1.2.2 Khuyết điểm 20
3.2 Tổng quan về hệ điều hành Android 23
Lịch sử hình thành 24
Tính năng Android 26
3.3 IC điều khiển động cơ L293D 27
Trang 44.2.1 Ứng dụng trên Android 29
4.2.2 Thiết kế phần cứng 31
CHƯƠNG 5: KẾT QUẢ & HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 33
5.1 Đánh giá kết quả thực hiện đề tài 33
5.2 Hướng phát triển 33
KẾT LUẬN 34
PHỤ LỤC: CODE ĐIỀU KHIỂN 35
Tài liệu tham khảo 39
Trang 5Thành viên Nhóm:
Nhận xét (phần GVHD ghi):
Trang 6
DANH MỤC HÌNH VẼ
Hình 1: Cấu trúc MSP430
Hình 2: Sơ đồ bộ nhớ
Hình 3: Những bit, byte và những từ trong một bộ nhớ có trật tự
Hình 4: Hình ảnh thực tế của MSP-EXP430G2 LaunchPad
Hình 5: Sơ đồ cấu trúc vi điều khiển MSP430G2553
Hình 11: Lưu đồ thuật toán ứng dụng điều khiển
Hình 12: Giao diện kết nối Bluetooth
Hình 13: Giao diện điều khiển
Hình 14: Sơ đồ khối tổng quát
Bảng 1: Kế hoạch thực hiện
Bảng 2: Thông số chip MSP430G2553
Trang 7LỜI NÓI ĐẦU
Ngày nay, xã hội phát triển mạnh mẽ, kỹ thuật ngày càng hiện đại nên nhu cầu
về trao đổi thông tin giải trí, nhu cầu về điều khiển các thiết bị từ xa, ngày càng cao Và những hệ thống dây cáp phức tạp lại không thể đáp ứng nhu cầu này, nhất là ở những khu vực chật hẹp, những nơi xa xôi, trên các phương tiện vận chuyển, Vì vậy công nghệ không dây đã ra đời và phát triển mạnh mẽ, tạo rất nhiều thuận lợi cho con người trong đời sống hằng ngày Trong những năm gần đây công nghệ truyền nhận dữ liệu không dây đang có những bước phát triển mạnh mẽ, góp công lớn trong việc phát triển các hệ thống điều khiển, giám sát từ xa, đặc biệt là các hệ thống thông minh Hiện nay,
có khá nhiều công nghệ không truyền nhận dữ liệu không dây như RF, Wifi, Bluetooth, NFC, Trong đó, Bluetooth là một trong những công nghệ được phát triển từ lâu và luôn được cải tiến để nâng cao tốc độ cũng như khả năng bảo mật Trên thị trường Việt Nam hiện nay chưa có nhiều sản phẩm điều khiển thiết bị không dây, đa số những sản phẩm hiện có đều là nhập khẩu từ nước ngoài với giá thành cao Việc nghiên cứu và thiết kế một bộ sản phẩm điều khiển thiết bị không dây có một ý nghĩa lớn, giúp tăng thêm sự lựa chọn cho ngừời sử dụng, sản phẩm được sản xuất trong nước nên giá thành rẻ và góp phần phát triển các hệ thống điều khiển thông minh Do đó, nhóm quyết định thực hiện đề tài: “Điều khiển ô tô bằng điện thoại di động thông qua Bluetooth ” Đề tài ứng dụng công nghệ Bluetooth phổ biến trên nhiều thiết bị, đặc biệt điểm mới của đề tài so với các sản phẩm hiện có là điều khiển thông qua hệ điều hành Android giúp tận dụng những thiết bị sử dụng hệ điều hành Android có sẵn của người dùng giúp giảm giá thành sản phẩm, ngoài ra với màn hình hiển thị lớn của điện thoại cho phép hiển thị nhiều thông tin hơn
Để đề tài được hoàn thành theo đúng thời gian quy định đạt được kết quả đề ra không chỉ là sự nỗ lực của nhóm thực hiện đề tài mà còn có sự giúp dỡ, sự chỉ bảo của
Trang 8 Sự chỉ dẫn và góp ý chân thành của thầy Trần Hải Nam Cảm ơn thầy đã nhiệt tình cung cấp thông tin và hỗ trợ kiểm tra, khắc phục các thông tin chưa chính xác
Các bạn/nhóm đã giúp đỡ rất nhiều về mặt phương tiện, tài liệu, ý kiến, Trong quá trình thực hiện đề tài này, mặc dù nhóm thực hiện đã rất cố gắng song sẽ không tránh khỏi thiếu sót Rất mong nhận được sự góp ý, phê bình và chỉ dẫn của quý thầy cô và các ban
Trang 9CHƯƠNG 1: MÔ TẢ ĐỀ TÀI
1.1 Vài nét về đề tài
Mô hình gồm ba phần chính: một Smartphone Android, Module Bluetooth HC05, MSP430G2553 và IC L293D
Module Bluetoth HC 05 giao tiếp thông qua Serial
Khi một nút được nhấn trên ứng dụng (giao diện App Android) dữ liệu sẽ được gửi đến Module bluetooth
Module bluetooth sẽ nhận dữ liệu và gửi nó đến MSP
MSP kiểm tra các dữ liệu nhận được và so sánh
Nếu nhận được dữ liệu thì MSP thông qua IC L293D điều khiển ô tô
Có thể mở màn hình Serial và xem các dữ liệu nhận được trong quá trình kết nối
1.2 Yêu cầu phi chức năng
Sử dụng MSP430G2553
Lập trình trên Energia
Xe di chuyển theo đúng hướng điều khiển
1.3 Kế hoạch thực hiện
Thời gian Tên công việc
24/09/2016 Lên kế hoạch thực hiện
28/09/2016
-09/10/2016 Mua linh kiện và tìm hiểu kết cấu lắp ráp ô tô
Trang 11CHƯƠNG II: TỔNG QUAN VỀ VI ĐIỀU KHIỂN MSP430
2.1 Cấu trúc
Vi điều khiển (Micro Controller Unit – MCU) là đơn vị xử lý nhỏ, nó được tích hợp toàn bộ các bộ nhớ như ROM, RAM, các cổng truy xuất, giao tiếp ngoại vi trực tiếp trên một con chip hết sức nhỏ gọn MSP430 là tên của một dòng vi điều khiển do hãng Texas Instruments (TI) sản xuất
MSP430 chứa 16 bit RISC CPU, các ngoại vi và hệ thống bộ định thời linh hoạt được kết nối với nhau theo cấu trúc Von-Neumann, có các bus liên kết như: bus địa chỉ bộ nhớ (Memory Address Bus –MAB), bus dữ liệu bộ nhớ (Memory Data Bus – MDB) Đây là một bộ xử lý hiện đại với các mô đun bộ nhớ tương tự và những kết nối ngoại vi tín hiệu số, MSP430 đã đưa ra được những giải pháp tốt cho những nhu cầu ứng dụng với tín hiệu hỗn tạp
Hình 1: Cấu trúc MSP430
Trang 12MSP430 có một số phiên bản như: MSP430x1xx, MSP430x2xx, MSP430x3xx,MSP430x4xx, MSP430x5xx Dưới đây là những đặc điểm tổng quát của
họ vi điều khiểnMSP430:
Cấu trúc sử dụng nguồn thấp giúp kéo dài tuổi thọ của Pin
- Duy trì 0.1µA dòng nuôi RAM
- Chỉ 0.8µA real-time clock
- 250 µA/MIPS
Bộ tương tự hiệu suất cao cho các phép đo chính xác
- 12 bit hoặc 10 bit ADC với tốc độ lấy mẫu 200 ksps, cảm biến nhiệt độ, VREF
- 12 bit DAC
- Bộ giám sát điện áp nguồn
16 bit RISC CPU cho phép được nhiều ứng dụng, thể hiện một phần ở kích thước code lập trình
- Thanh ghi lớn nên loại trừ được trường hợp tắt nghẽn tập tin khi đang làm việc
- Thiết kế nhỏ gọn làm giảm lượng tiêu thụ điện và giảm giá thành
- Tối ưu hóa cho những chương trình ngôn ngữ bậc cao như C, C++
- Có 7 chế độ định địa chỉ
- Khả năng ngắt theo véc tơ lớn
Trong lập trình cho bộ nhớ Flash cho phép thay đổi Code một cách linh
hoạt, phạm vi rộng, bộ nhớ Flash còn có thể lưu lại như nhật ký của dữ liệu
Trang 132.2 Hệ thống định thời (clock) linh hoạt
Hệ thống clock được thiết kế một cách đặc biệt cho những ứng dụng sử dụng nguồn cung cấp là pin Một bộ tạo xung nhịp phụ tần số thấp (A low-frequency auxiliary clock – ACLK) được cung cấp trực tiếp từ một bộ dao động thạch anh 32 KHz ACLK được sử dụng như là một real-time clock nền để kích hoạt các tính năng Một bộ dao động kĩ thuật số tốc độ cao (Digital controlled oscillator – DCO) có thể làm nguồn xung đồng hồ chính (Master clock – MCLK) sử dụng cho CPU và những kết nối ngoại vi tốc độ cao Bởi thiết kế này, DCO có thể hoạt động ổn định 1MHz trong thời gian ít hơn 2µS MSP430 được thiết kế dựa trên những giải pháp có hiệu quả
sử dụng một RISC CPU 16 bít hiệu suất cao
ACLK: Hoạt động ở chế độ sẵn sang sử dụng nguồn cực thấp
DCO: Hoạt động xử lý tín hiệu hiệu suất cao
2.3 Không gian địa chỉ
Cấu trúc Von-Neumann của vi điều khiển MSP430 có một địa chỉ không gian nhớ được chia sẻ với các thanh ghi chức năng đặc biệt (SFRs), các bộ ngoại vi, RAM,
và bộ nhớ Flash/ROM được biểu diễn trên hình vẽ Việc truy cập mã chương trình luôn luôn được thực hiện trên một địa chỉ chẵn Dữ liệu có thể được truy cập như là những byte hay những từ
Trang 14Hình 2: Sơ đồ bộ nhớ 2.3.1 Flash/ROM
Địa chỉ bắt đầu của Flash/ROM phụ thuộc vào số lượng Flash/ROM hiện có và thay đổi tùy theo loại chip Địa chỉ kết thúc cho Flash/ROM là 0FFFFh Flash có thể được sử dụng cho cả mã và chương trình Những bảng từ hay byte có thể được cất và
sử dụng trong Flash/ROM mà không cần bảng sao chép tới RAM trước khi sử dụng chúng
2.3.2 RAM
RAM có địa chỉ bắt đầu tại 0200h Địa chỉ kết thúc của RAM phụ thuộc vào số lượng RAM có và thay đổi tùy thuộc vào từng dòng vi điều khiển RAM có thể được
sử dụng cho cả mã và dữ liệu
Trang 152.3.3 Những khối ngoại vi
Những module giao tiếp ngoại vi được xắp xếp vào không gian địa chỉ Không gian địa chỉ từ 0100h tới 01FFh được dành riêng cho module ngoại vi 16 bit Những module này có thể được truy cập với những từ chỉ dẫn(lệnh)
Không gian địa chỉ từ 010h tới 0FFh được dành riêng cho module ngoại vi 8bit
2.3.4 Những thanh ghi chức năng đặc biệt (SFRs)
Một vài chức năng ngoại vi được cấu hình trong thanh ghi chức năng đặc biệt Những thanh ghi chức năng đặc biệt được nằm trong 16 byte thấp của không gian địa chỉ Những SFR phải được truy cập bằng việc sử dụng câu lệnh byte
2.3.5 Truy cập bộ nhớ
Những byte được nằm tại những địa chỉ chẵn hay lẻ Những từ chỉ nằm tại địa chỉ chẵn được biểu diễn trong hình 1-3 Khi sử dụng từ chỉ dẫn, chỉ những địa chỉ chẵn có thể được sử dụng Những byte thấp của một từ luôn luôn là một địa chỉ chẵn Byte cao
ở tại địa chỉ lẻ tiếp theo Ví dụ, nếu một từ dữ liệu nằm tại địa chỉ xxx4h, kết thúc byte thấp của từ dữ liệu nằm tại địa chỉ xxx4h, và byte cao của từ đó nằm tại địa chỉ xxx5h
Trang 16Hình 3: Những bit, byte và những từ trong một bộ nhớ có trật tự
2.4 MSP430 LaunchPad Value Line Development Kit và chip MSP430G2553
MSP430 LaunchPad Value Line Development Kit (MSP-EXP430G2 LaunchPad) thuộc dòng kit giá rẻ từ hãng sản xuất TI, MSP-EXP430G2 LaunchPadlà loại kit rất phổ biến hiện nay, đặc biệt trong giảng dạy, học tập và nghiên cứu
Trang 17Các đặc điểm nổi bật của MSP-EXP430G2 LaunchPad:
Tích hợp phần mô phỏng: Người dùng có thể nạp chương trình và gỡ lỗi project mà không cần thêm công cụ nào khác Đặc biệt hơn là bạn có thể dùng kit để nạp và gỡ lỗi cho tất cả các chip MSP430 nằm trên một mạch khác
Tương thích với các module hỗ trợ: Các chân của MSP-EXP430G2 LaunchPad được thiết kế rất thoáng Các chân này giúp cho việc cắm các module hỗ trợ khác rất dễ dàng, để thêm các tính năng như wireless, capacitive touch…
Hỗ trợ các vi điều khiển MSP430G2xx: Kit hỗ trợ các vi điều hiển dòng
MSP430G2xx Đây là các vi điều khiển tần số dao động có thể lên đến 16MHz, bộ nhớ lên đên 16KB Flash, 512B RAM, có tích hợp ADC, timer và các module giao tiếp… Chúng em lựa chọn sử dụng chip MSP430G2553 được bán kèm theo kit với các thông
số như sau:
Giao tiếp vào ra cơ
bản
(GPIO)
24 Tính năng bổ sung Watchdog
Cảm biến nhiệt độ Brown-out reset IrDA
điện dung
Trang 18ADC ADC10 – 8ch Nhiệt độ hoạt động -40oC đến 85oC
Bộ so sánh 8 đầu vào Cách thức đóng gói 20TSSOP
gói
28,6 mm24,4 mm × 6,5 mm Điện áp tối thiểu 1,8V
họ vi điều khiển MSP430 trở nên phổ biến
Lập trình cho MSP430 sử dụng ngôn ngữ lập trình C/C++ được thực hiện nhờ
Trang 19 Code Composer Studio do chính TI phát hành, dùng cho tất cả các vi điều khiển mà hãng sản xuất
IAR Embedded Workbench for MSP430 do IAR phát hành
Energia thuộc dự án mã nguồn mở Energia
Chúng em lựa chọn trình biên dịch Energia với những ưu điểm sau:
Đây là trình biên dịch miễn phí phát hành dưới dạng phần mềm nguồn mở
Hỗ trợ đầy đủ việc biên dịch ngôn ngữ C/C++
Sử dụng phương pháp lập trình dành cho Arduino (một board mạch vi xử lý rất phổ biến), bằng việc kế thừa thư viện đồ sộ của Arduino, kết hợp với thư viện có sẵn của MSP430, việc lập trình cho MSP430 càng trở nên đơn giản hơn rất nhiều
Trang 20CHƯƠNG 3: TÌM HIỂU VỀ HỆ ĐIỀU HÀNH, GIAO TIẾP NGOẠI VI VÀ IC ĐIỀU KHIỂN ĐỘNG CƠ L293D
3.1 Công nghệ không dây Bluetooth
3.1.1 Khái niệm
Bluetooth là công nghệ cho phép truyền thông giữa các thiết bị với nhau mà không cần dây dẫn Nó là một chuẩn điện tử, điều đó có nghĩa là các hãng sản xuất muốn có đặc tính này trong sản phẩm của thì họ phải tuân theo yêu cầu chuẩn này cho sản phẩm của mình Những tiêu chuẩn kỹ thuật này đảm bảo cho các thiết bị có thể nhận ra và tương tác với nhau khi sử dụng công nghệ Bluetooth
Ngày nay phần lớn các nhà máy đều sản xuất các thiết bị sử dụng công nghệ Bluetooth Các thiết bị này gồm có điện thoại di động, máy tính và thiết bị hỗ trợ cá nhân PDA (Prosonal Digital Assiistant) Công nghệ Bluetooth là một công nghệ dựa trên tần số
vô tuyến và bất cứ một thiết bị nào có tích hơp bên trong công nghệ này có thể truyền thông với các thiết bị khácvới khoảng cách nhất định về cự ly để đảm bảo công suất cho việc phát và nhận song Công nghệ này thường được sử dụng để truyền giữa hai loại thiết bị khác nhau
Logo Bluetooth là sự kết hợp của 2 ký tự Rune cổ (Hagall) và (Bjarkan) tương đương với 2 ký tự H và B trong chữ Latin làviết tắt của Harald Bluetooth
Trang 213.1.2 Đặc điểm của công nghệ Bluetooth
3.1.2.1 Ưu đ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 càng giảm
- Khoảng cách giao tiếp cho phépgiữa hai thiết bị đầu cuối có thể lên tới 10m, khoảng cách giữa thiết bị đầu cuối và access point có thể tới 100m
- Bluetooth sử dụng băng tần 2.4GHz Tốc độ truyền dữ liệu có thể đạt tối đa 1Mbps
mà các thiết bị không cần phải trực tiếp thấy nhau
- 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 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
- 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ợ
3.1.2.2 Khuyết điểm
-Không thiểt lập các ứng dụng thời gian thực
- Khoảng cách kết nối còn ngắn so với công nghệ mạng không dây khác
- Số thiết bị active, pack cùng lúc trong một piconect còn hạn chế
- Tốc độ mạng không cao
3.1.3 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
Trang 22ra 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
Về tầm phủ sóng, bluetooth có 3 class: class 1 có công suất 100mW với tầm phủ sóng gần 100m; class 2 có công suất 2,5mW tầm phủ sóng khoảng 10m; và class 3 là 1mW với tầm phủ sóng khoảng 5m
Bản thân bên trong Bluetooth hiện nay là một tập hợp nhiều giao thức hoạt động khác nhau Ví dụ, A2DP ( Advvanced Audio Distribution Profile) là cơ chế truyền dẫn âm thanh stereo qua sóng bluetooth tới các tai nghe, loa; FTP( File Transfer Protocol) là cơ chế chuyển đổi dữ liệu qua kết nối Bluetooth giữa các thiết bị ( hay còn gọi là File Transfer Services ); hay OBEX, được phát triển bởi chính nhà mạng
3.1.3 Module Bluetooth HC-05
3.1.3.1 Giới thiệu Module Bluetooth HC-05
Hình 6: Module Bluetooth HC-05