có sơ đồ nguyên lý, sơ đồ khối và lưu đồ giải thuật, mạch in và code đầy đủ cho mạch điều khiển thiết bị bằng bluetooth dùng PIC16F ...............................................................................................................................................................
Trang 1MỤC LỤC
DANH MỤC HÌNH ẢNH
Hình 1.1: Sơ đồ khối……….……7
Hình 2.1: Vi điều khiển PIC16F877A……….….….9
Hình 2.2: Chức năng cơ bản của PIC 16F887A……….… 9
Hình 2.3: Sơ đồ chân vi điều khiển 16F887A……… …
10 Hình 2,4: Module Bluetooth HC-06……… ….….10
Hình 4.1: Sơ đồ khối của mạch điều khiển thiết bị qua Bluetooth……….……
14 Hình 4.2: Sơ đồ nguyên lý của mạch……… 15
Hình 4.3: Khối nguồn……… ….
….15 Hình 4.4: Khối Relay……….……….16
Hình 4.5: Khối thạch anh……… 17
Hình 4.6: Khối vi điều khiển và kết nối với module Bluetooth……… 17
Hình 4.7: Khối Reset……… 18
Hình 5.1: Sơ đồ mạch in……….19
Hình 5.2: Mạch thực tế……… …20
Trang 2Chương 1: GIỚI THIỆU VỀ ĐỀ TÀI 1.1 Mục đích:
Giao tiếp không dây phổ biến và linh hoạt như Bluetooth cho phép các thiết bị dễ dàng kết nối trao đổi dữ liệu trong khoảng cách ngắn một cách đơn giản nhất Nó cho phép việc kết nối không dây với các thiết bị điện, điện tử trở nên tiện dụng và hiệu quả hơn
Kết hợp các yếu tố trên, việc xây dựng một hệ thống điều khiển các thiết bị điện gia dụng bằng Smartphone thông qua giao tiếp Bluetooth là ứng dụng rất thực tế và mang tính hiệu quả, tiện lợi cao để hướng đến một cuộc sống tiện nghi, hiện đại
1.2 Nội dung và nhiệm vụ:
Nội dung của đề tài:
Xây dựng phần mềm điều khiển trên Smartphone,một ưu điểm là hầu như các thiết bị Smartphone đều được tích hợp công nghệ Bluetooth, vì thế người dùng có thể
dễ dàng kết nối được với mạch để điều khiển Việc điều khiển trở lên thuận tiện và tiết kiệm chi phí so với làm bộ điều khiển, ứng dụng này sẽ có chức năng chính là truyền, nhận dữ liệu qua Bluetooth để điều khiểnthiết bị
Sử dụng một Module Bluetooth để truyền nhận dữ liệu với Smartphone và việc truyền nhận này được điều khiển bởi một vi điều khiển Vi điều khiển ở đây là PIC16F877A, vi điều khiển này có 2 nhiệm vụ chính: xử lý dữ liệu và điều khiển kích đóng ngắt các Relay để điềukhiển các thiết bị điện
Nhiệm vụ của đề tài:
Phần mềm điều khiển trên điện thoại phải kết nối nhanh với mạch điều khiển, chính xác và an toàn tuyệt đối
Hệ thống mạch cứng của vi xử lý có độ ổn định, bền, nhỏ gọn và điều khiển chính xác các thiết bị điện như đã thao tác trên Smartphone
Trang 3Hạn chế tối đa nhiễu khi sử dụng với các thiết bị điện khác nhau, đặc biệt là các thiết bị có nhiễu từ trường cao
Khoảng cách điều khiển giữa điện thoại Android và mạch điều khiển đảm bảo hợp lý trong khoảng cách dưới 100m
Giá thành phải phù hợp với một hệ thống ổn định và có tính ứng dụng thực tiễn cao
1.3 Phương pháp:
Thiết bị được điều khiển Khối vi điều khiển Module Bluetooth Khối nguồn Giao diện điều khiển trên Smartphone
Khối Relay
Tổng quan về các khối:
• Khối nguồn:
- Module Bluetooth : 3.3V ( Hỗ trợ IC ổn áp đầu vào 5V)
- Khối vi điều khiển: Vinput = 5V
- Khối Relay: Vinput = 5V
- Điều khiển thiết bị 12V
• Khối vi điều khiển: sử dụng vi điều khiển PIC16F877A
• Khối Relay: gồm hai mạch relay điều khiển đóng ngắt hai thiết bị
• Khối giao diện điều khiển trên Smartphone: sử dụng Smartphone có hệ điều hành Android
• Khối module Bluetooth HC-06
Hình 1.1: Sơ đồ khối
Trang 4Chương 2: GIỚI THIỆU PHẦN CỨNG 2.1 Vi điều khiển PIC16F877A:
2.1.1 Giới thiệu về vi điều khiển:
Các đặc trưng của vi điều khiển PIC16F877A:
Hình 2.1: Vi điều khiển PIC16F877A
- PIC16F877A là loại vi điều khiển 8bit tầm trung của hãng microchip
- PIC16F877A có kiến trúc Havard, sử dụng tập lệnh kiểu RISC (Reduced Instruction Set Computer) với chỉ 35 lệnh cơ bản
- Tất cả các lệnh được thực hiện trong một chu kì lệnh ngoại trừ các lệnh rẽ nhánh
Các chức năng cơ bản của PIC16F877A:
Hình 2.2: Chức năng cơ bản của PIC 16F887A
PHìnhICHkvdskvmdsvkm16F
Hình 3.2: Chức năng PIC16F877A
Trang 52.1.2 Sơ đồ chân:
Hình 2.3: Sơ đồ chân vi điều khiển 16F887A
2.2 Module Bluetooth HC-06:
Hình 2,4: Module Bluetooth HC-06
Module bluetooth HC-06 master / slave dùng để thiết lập kết nối Serial giữa hai thiết bị bằng sóng bluetooth Điểm đặc biệt của module bluetooth HC-06 là module có thể hoạt động được ở hai chế độ: MASTER hoặc SLAVE
Hình 3.3: Sơ đồ chân Hình 3.3: Sơ đồ chân
Hình 3.4: Module Bluetooth HC-06
Trang 6- Ở chê độ SLAVE: cần thiết lập kết nối từ smartphone, laptop, usb bluetooth để
dò tìm module sau đó pair với mã PIN là 1234 Sau khi pair thành công sẽ có 1 cổng serial từ xa hoạt động ở baud rate 9600
- Ở chế độ MASTER: module sẽ tự động dò tìm thiết bị bluetooth khác và tiến hành pair chủ động mà không cần thiết lập gì từ máy tính hoặc smartphone
Thông số kỹ thuật:
• Giao tiếp UART với tốc baud lập trình được
• Tích hợp anten
• Kết nối ở biên mạch
• Cấu hình Slave hay Master là cấu hình ban đầu, không thay đổi được
• Điện áp sử dụng 3.3V ( Hỗ trợ IC ổn áp đầu vào 5V)
• Thứ tự chân: KEY RXD TXD 5.0 3.3 GND
• Tốc độ hỗ trợ: 200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
• Kích thước: 28x15x2.35 mm
• Dòng hoạt động: 20-30 mA
• Tần số: 2.4 GHz ISM band
• Cấu hình mặc định: 9600 baud rate, N, 8, 1
Giao tiếp bằng lệnh AT:
• Kết nối Module với USB TO COM set KEY xuống mức thấp (GND)
• Cấp nguồn cho Module và chuyển key lên 3.3V
Chương 3 TỔNG QUAN VỀ GIAO TIẾP BLUETOOTH 3.1 Khái niệm 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 song vô tuyến qua băng tần chung ISM (Industrial, Scientific, Medical) trong dãy tầng 2.40-2.48 GHz Đây là dãy băng tầng không cần
Trang 7đăng ký được dành riêng để dung cho các thiết bị không dây trong công nghiệp, khoa học, y tế
3.2 Tính năng trong hoạt động:
Ưu điểm của bluetooth:
- Tiêu thụ năng lượng thấp, cho phép ứng dụng được trong nhiều loại thiết bị, bao gồm cả các thiết bị cầm tay và điện thoại di động
- Khoảng cách giao tiếp cho phép :
• Khoảng cách giữa hai thiết bị đầu cuối có thể lên đến 10m ngoài trời, và 5m trong tòa nhà
• 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 tòa nhà
- Bluetooth được dùng trong giao tiếp dữ liệu tiếng nói: có 3 kênh để truyền tiếng nói, và 7 kênh để truyền dữ liệu trong một mạng cá nhân
- 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ợ
- Có khả năng bảo mật từ 8->128 bits
Khuyết điểm của bluetooth:
- Khoảng cách kết nối còn ngắn so với các 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 độ truyền của Bluetooth không cao
- Dễ bị nhiễu
- Bảo mật còn thấp
3.3 Hoạt động của Bluetooth:
Kỹ thuật Bluetooth có thể coi là phức tạp Nó dung kỹ thuật nhảy tần số trong các time slot (TS), được thiết kế để làm việc trong môi trường nhiễu tần số radio, Bluetooth dùng chiến lược nhảy tần để tạo nên sức mạnh liên kết truyền thông và truyền thông thông minh Cứ mỗi lần gửi hay nhận một packet xong, Bluetooth lại nhảy sang một tần số mới, như thế sẽ tránh được nhiễu từ các tín hiệu khác
So sánh với các hệ thống khác làm việc trong cùng băng tần, song radio của Bluetooth nhảy tần nhanh và dung packet ngắn hơn Vì nhảy nhanh và packet ngắn sẽ làm giảm va chạm với song từ lò vi song và các phương tiện gây nhiễu khác trong khí quyển
Trang 8Có 3 phương pháp được sử dụng trong việc kiểm tra tính đúng đắn của dữ liệu truyền đi:
- ForwadErrorCorrrection: thêm 1 số bit kiểm tra vào phần Header hay Payload của packet
- Automatic Repeat Request:dữ liệu sẽ được truyền lại cho tới khi bên nhận gửi thông báo là đã nhận đúng
- Cyclic Redundancy Check: mã CRC thêm vào các packet để kiểm chứng liệu Payload có đúng không
Bluetooth hỗ trợ 1 kênh dữ liệu bất đồng bộ, hay 3 kênh tín hiệu thoại đồng
bộ nhau cùng một lúc, hay 1 kênh hỗ trợ cùng lúc dữ liệu bất đồng bộ và tín hiệu đồng bộ
Trang 9Chương 4: THIẾT KẾ PHẦN CỨNG
Sơ đồ khối:Thiết bị được điều khiển
Khối vi điều khiển Module Bluetooth Khối nguồn Giao diện điều khiển trên Smartphone
Khối Relay
4.1
4.2 Sơ đồ nguyên lý:
Hình 4.1: Sơ đồ khối của mạch điều khiển thiết bị qua Bluetooth
Trang 104.3 Chức năng từng khối theo sơ đồ nguyên lý:
4.3.1 Khối nguồn:
Hình 4.2: Sơ đồ nguyên lý của mạch
Hình 4.3: Khối nguồn
Trang 11Điện áp đầu vào là 12Vdc được lấy từ Power Adaptor chuyển đổi từ nguồn điện xoay chiều 220V, điện áp 12V đó được cấp cho thiết bị được điều khiển Điện áp 12V
đó sau khi qua IC LM7805 xuất ra điện áp 5Vdc chính là Vcc cấp cho hai khối Relay hoạt động và cấp cho khối vi điều khiển Khối module Bluetoothhoạt động ở 3.3V nhưng với tích hợp IC ổn áp nên hoạt động tốt khi cấp nguồn Vcc = 5V
4.3.2 Khối Relay ( khối công suất ):
• Relay (Rơ-le) là một công tắc (khóa K) Nhưng khác với công tắc ở một chỗ cơ bản, rơ-le được kích hoạt bằng điện thay vì dùng tay người Chính vì lẽ đó, rơ-le được dùng làm công tắc điện tử Vì rơ-le là một công tắc nên nó có 2 trạng thái: đóng và mở
• Trong hình 4.4, điện áp vào là 5V, sử dụng Transistor NPN (C1815) để điều khiển Khi S2 = 1; Q3 thông, có dòng điện cấp cho cuộn hút của Relay Tiếp điểm 1 nối với 3, đèn LED3 sáng, thiết bị được điều khiển đóng Khi S2 = 0; Q3 tắt, không có dòng qua cuộn hút Tiếp điểm 1 nối với 2, đèn LED3 tắt, thiết bị được điều khiển ngắt
Hình 4.4: Khối Relay
Trang 124.3.3 Khối thạch anh (khối tạo xung):
Tần số thạch anh chọn 20MHz
4.3.4 Khối vi điều khiển và sơ đồ kết nối với Module Bluetooth:
Hình 4.5: Khối thạch anh
Hình 4.6: Khối vi điều khiển và kết nối với module bluetooth
Trang 13Vi điều khiển PIC16F877A kết nối với module bluetooth qua bốn chân : Tx, Rx, Vcc, GND tương ứng với các chân 25, 26, 32, 31 của PIC như hình trên
4.3.5 Khối reset:
Khối RESET có tác dụng đưa vi điều khiển về trạng thái ban đầu Khi nút Reset được ấn điện
áp +5V từ nguồn được nối vào chân Reset của vi điều khiển được chạy thẳng xuống đất lúc này điện áp tại chân vi điều khiển thay đổi đột ngột về 0, VĐK nhận biết được sự thay đổi này và khởi động lại trạng thái ban đầu cho hệ thống.
Hình 4.7: Khối Reset
Trang 14Chương 5: SƠ ĐỒ MẠCH IN VÀ KẾT QUẢ THIẾT KẾ 5.1 Sơ đồ mạch in:
Hình 5.1: Sơ đồ mạch in
Trang 155.2 Mạch thực tế:
Hình 5.2: Mạch thực tế
Trang 16Chương 7: KẾT LUẬN
7.1 Kết quả đạt được:
- Mạch được thiết kế trên phần mềm thiết kế Altium
- Kích thước của mạch 10x7cm
- Mạch được phủ đồng để chống nhiễu tuyệt đối
- Code được xử lý trên chương trình biên dịch PIC C Compiler
- Thiết kế được mạch điều khiển thiết bị với nguồn điện áp đầu vào ban đầu là 12V Điện áp cấp cho khối vi điều khiển và module Blutooth hoạt động ở 5V, điện áp cấp cho khối relay điều khiển thiết bị hoạt động tốt là 5V Theo như kết quả thực tế, thiết bị được điều khiển có điện áp 12V được dùng là quạt
- Được kết nối bluetooth, với giao diện điều khiển trên Smartphone, khi thao tác
ta điều khiển đóng ngắt được quạt hoặc thiết bị khác
7.2 Ưu điểm:
- Mạch thiết kế có kích thước nhỏ gọn
- Dễ lắp đặt, giá thành rẻ, dễ dàng kết nối với thiết bị để điều khiển
- Điều khiển tốt trong phạm vi <30m
7.3 Nhược điểm:
• Chưa nhớ được địa chỉ Module Bluetooth vào điện thoại nên mỗi lần kết nối phải Search Device, tốn nhiều thời gian
• Ứng dụng còn ít chức năng cũng như các tùy chọn còn ít
• Khoảng cách điều khiển còn tùy thuộc vào từng thiết bị
• Mạch điều khiển được thiết kế còn khá đơn giản, số cổng điều khiển chỉ mới có
2 cổng Còn nhiễu khi sử dụng các thiết bị từ trường cao
7.4 Hướng phát triển:
- Thiết kế phần mạch điện hoàn hảo hơn, tích hợp thêm nhiều tính năng mới như: điều khiển, cảnh báo, đo đạc…vv
- Thêm các chuẩn kết nối khác trên mạch điện, điều khiển qua tín hiệu RF Wifi, hay qua mạng LAN…
- Tiếp tục nghiên cứu mạch điều khiển, cũng như ứng dụng trên Mobile Android
để thêm nhiều tính năng mới, cũng như độ ổn định của hệ thống tăng thêm
Trang 18Tài liệu tham khảo:
1 Hồ Trung Mỹ, Vi xử lý, Nhà xuất bản Đại học quốc gia TP Hồ Chí Minh – 2013
2. www.dientuvietnam.net
3 www.banlinhkien.vn
4 https://vi.wikipedia.org/wiki
Trang 19PHỤ LỤC
Code được sử dụng trong mạch:
#include <16F877A.h>
#fuses NOWDT,NOPUT,HS,NOPROTECT,NOLVP
#USE DELAY(CLOCK=20000000)//thach anh 20Mhz
#define TB1 pin_b0
#define TB2 pin_b1
#use rs232(uart,baud=9600,parity=N,bits=8)
int state;
#INT_RDA
void recive()
{
char state1;
state1=getchar();
state=state1;
}
void main()
{
enable_interrupts(GLOBAL);
enable_interrupts(INT_RDA);
//khi bluetooth gui thi ngat toan bo phia sau
while(true)
{
switch (state)
{
case '1':
Trang 20output_high(TB1);
break;
case '2':
output_high(TB2);
break;
case '3':
output_high(TB1);
output_high(TB2);
break;
case '5':
output_low(TB1);
output_low(TB2);
break;
}
}
}
32.59%