Tải bản đầy đủ (.docx) (37 trang)

Điều khiền thiết bị 220V bằng bluetooth, sử dụng PIC16F877A

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.12 MB, 37 trang )

GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

Mục lục

CHƯƠNG 1:
TỔNG QUAN VỀ ĐỀ TÀI

SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 1


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

1.1. Giới thiệu đề tài.
Tên đề tài: Điều khiển thiết bị 220V thông qua Bluetooth máy tính sử dụng
Microsoft Visual Basic 6.0
Ngày nay với sự phát triển mạnh mẽ trong khoa học kỹ thuật công nghệ đã
giúp ích rất nhiều cho cuộc sống của con người. Mọi thứ hầu như đều được tự động và
hiệu suất công việc được nâng cao hơn với sự trợ giúp của máy móc, thiết bị. Một
trong những công nghệ tiên tiến đang được áp dụng rộng rãi trong đời sống chính
là công nghệ điều khiển từ xa.
Bước đầu làm quen với việc điều khiển thiết bị từ xa, cụ thể thông qua
Bluetooth bằng chương trình Visual Basic. Vấn đề ở đây là làm thế nào xây dựng, lập
trình giao diện điều khiển bằng chương trình VB lập trình PIC nhận được dữ liệu được
gửi từ máy tính.


1.2. Mục tiêu.
Mục tiêu của đề tài trước hết là làm quen với viêc điều khiển thiết bị từ xa cơ
bản là giao tiếp máy tính bằng Bluetooth thông qua VB, từ đó có thể cải tiến xây dựng
các hệ thống điều khiển phức tạp hơn bằng các cách thức khác.
1.3. Ý nghĩa khoa học và thực tiễn.
Giúp em làm quen với lĩnh vực điều khiển thiết bị từ xa, làm quen với
Bluetooth, đồng thời có thể đóng góp những thành quả nghiên cứu được trong đề tài
này để tạo 1 nền tảng để có thể phát triển sâu hơn.
Nếu độ chính xác của ứng dụng cao, thì thật sự có thể điều khiển các thiết bị
khác phức tạp hơn như : Điều khiển cửa mở, cửa đóng từ xa, Điều khiển giám sát hệ
thống sản xuất từ xa

CHƯƠNG 2:
CÔNG NGHỆ BLUETOOTH VÀ MODULE BLUETOOTH

SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 2


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

2.1. Công nghệ Bluetooth.
Công nghệ Bluetooth được phát triển đầu tiên bởi Ericsson. Sau đó Sony
Ericsson, IBM, Intel, Toshiba và Nokia cùng ngồi lại với nhau và nghiên cứu một
công nghệ không dây tầm gần giữa các thiết bị điện tử. Mục đích của công nghệ này
là hỗ trợ việc truyền dữ liệu qua các khoảng cách ngắn giữa các thiết bị di động và cố

định, tạo nên các mạng cá nhân không dây (Wireless Personal Area Network-PANs),
sau đó nhiều công ty khác cũng tham gia với tư cách cộng tác hay hỗ trợ. Bluetooth
còn được gọi là IEEE 802.15.1.
Bluetooth có thể đạt được tốc độ truyền dữ liệu 1Mb/s. Bluetooth hỗ trợ tốc độ
truyền tải dữ liệu khoảng 720 Kbps trong phạm vi 10m. Khác với kết nối hồng ngoại
(IrDA), kết nối Bluetooth là vô hướng và sử dụng dải tần 2,40 - 2,48 GHz. Bluetooth
được ứng dụng trong việc điều khiển và giao tiếp không giây giữa một điện thoại di
động và tai nghe không dây, giao tiếp không dây với các thiết bị vào ra của máy tính,
chẳng hạn như chuột, bàn phím và máy in, truyền dữ liệu giữa các thiết bị dùng giao
thức OBEX hoặc là thay thế các điều khiển dùng tia hồng ngoại ...

Hình 2.3. Ứng dụng của công nghệ Bluetooth.
2.1.1. Ưu điểm.
- Truyền dữ liệu giữa các thiết bị không cần cáp.
- Sử dụng băng tần không cần đăng ký 2.4GHz.
- Khả năng bảo mật từ 8 đến 128 bits.
- Sử dụng ít năng lượng.
SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 3


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

- Hỗ trợ 3 kênh thoại và 1 kênh dữ liệu.
- Giá thành thiết bị rẻ, truyền dữ liệu miễn phí.
- Thiết lập kết nối dễ dàng không cần access point.

- Khả năng kết nối point-point, point-multipoint.
- Được hỗ trợ bởi nhiều tập đoàn khổng lồ.
2.1.2. Nhược điểm.
- Khoảng cách kết nối còn ngắn.
- Số lượng kết nối còn hạn chế.
- Tốc độ truyền của Bluetooth không cao.
- Bị nhiễu bởi một số thiết bị sử dụng sóng radio khác.
- Hạn chế về kỹ thuật bảo mật.
2.1.3. Cách thức hoạt động.
Bluetooth hoạt động trên băng tần ISM nên nó cũng sẽ hoạt động chung
băng tần với các thiết bị khác như mạng 802.11, hệ thống quản lý cửa gara, lò vi ba,
v.v...vì thế không trách khỏi việc nhiễu sóng.
Bluetooth sử dụng sóng vô tuyến cực ngắn và kỹ thuật trải phổ nhảy tần
(FHSS) để tránh bị nhiễu sóng. Với kỹ thuật này, mọi packet được truyền đi trên
nhũng tần số khác nhau. Tốc độ nhảy nhanh giúp tránh nhiễu tốt (1600 lần/s). Hầu hết
các nước dùng 79 bước nhảy, mỗi bước nhảy cách nhau 1 MHz, bắt đầu ở 2.402 GHz
và kết thúc ở 2.480 GHz. Ở một vài nước như Pháp, Nhật 23 bước nhảy.

Hình 2.4. Kỹ thuật trải phổ nhảy tần trong Bluetooth.
SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 4


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

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, cứ 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, sóng radio của Bluetooth nhảy tần nhanh và dùng
packet ngắn hơn. Vì nhảy nhanh và packet ngắn sẽ làm giảm va chạm với sóng từ lò
vi sóng và các phương tiện gây nhiễu khác trong khí quyển.
2.2. Module Bluetooth HC05 – HC06.
2.2.1. Thông số kỹ thuật.
Module Bluetooth HC05 ( cũng như HC06) được thiết kế để sử dụng giao tiếp
Bluetooth bằng Serial Port, truyền dữ liệu nối tiếp không dây. Khi kết nối với điện
thoại, HC05 sẽ nhận như 1 cổng Com ảo ở chế độ truyền Haft Duplex tức trong 1 thời
điểm chỉ có thể truyền hoặc nhận tín hiệu. Module bluetooth được tích hợp trên board
cho phép sử dụng nguồn từ 3.5V đến 6V cung cấp cho board mà không cần lo lắng về
chênh lệch điện áp 3V - 5V gây hỏng board.


Điện thế hoạt động của UART: 3.3 - 5V.



Dòng điện khi hoạt động: khi pairing 30 mA, sau khi pairing hoạt động truyền
nhận bình thường 8 mA.



Baudrate UART có thể chọn được: 1200, 2400, 4800, 9600, 19200, 38400,
57600, 115200.



Kích thước của module chính: 28 mm x 15 mm x 2.35 mm.




Dải tần sóng hoạt động: 2.4GHz.



Bluetooth protocol: Bluetooth Specification V2.0 + EDRo.
2.2.2. Tính năng các chân của Module Bluetooth HC05 – HC06.

SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 5


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

Hình 4.5. Module Bluetooth HC05.
Module HC05 có 6 chân:
+ Chân số 1: VCC sử dụng nguồn ổn định từ 3.3V đến 5V.
+ Chân số 2 : GND chân mass (0V) của module.
+ Chân số 3: TXD truyền dữ liệu.
+ Chân số 4: RXD nhận dữ liệu.
+ Chân số 5: KEY chân thiết lập các chức năng của module như: Master, Slave,
cài đặt mật khẩu.
+ Chân số 6: Led chân hiển thị trạng thái của module.
Bảng 2.1. Cách nối dây giữa Module Bluetooth HC05 – HC06 và Vi điều khiển
PIC 16F877A.

Module Bluetooth
VCC
GND
TX
RX

PIC 16F877A
5V
GND
RX
TX

2.2.3. Sự khác nhau giữa Module HC05 và HC06.
 HC05: Hoạt động được ở 2 chế độ: Master hoặc Slave.
SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 6


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

 HC06: Chỉ hoạt động được ở chế độ Slave.

+ Ở 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
nối tiếp từ xa hoạt động ở baud rate 9600.
+ Ở chế độ Master: module sẽ tự động dò tìm thiết bị bluetooth khác (1 module

bluetooth khác, usb bluetooth, bluetooth của laptop...) 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.

CHƯƠNG 3:
GIỚI THIỆU LINH KIỆN
SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 7


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

3.1. Vi điều khiển PIC 16F877A.
3.1.1. Giới thiệu về PIC 16F877A.
PIC là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip
Technology. PIC bắt nguồn từ chữ viết tắt “Programable Intelligent Computer”, có thể
tạm dịch là “máy tính thông minh khả trình” do hãng General Instrument đặt tên cho
vi điều khiển đầu tiên của họ. PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi
cho vi điều khiển CP1600. Vi điều khiển này sau đó được nghiên cứu phát triển thêm
và từ đó hình thành nên dòng vi điều khiển PIC ngày nay. [7]
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài
14 bit. Mỗi lệnh đều được thực thi trong một chu kì xung clock. Tốc độ hoạt động tối
đa cho phép là 20MHz với một chu kì lệnh là 200ns. Bộ nhớ chương trình 8Kx14bit,
bộ nhớ dữ liệu 368×8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256×8
byte. Số PORT I/O là 5 với 33 pin I/O.
PIC 16F877A là dòng PIC phổ biến hiện nay, đủ mạnh về tính năng, 40 chân , bộ
nhớ đủ cho hầu hết các ứng dụng thông thường. cấu trúc tổng quát của PIC 16F877A

như sau:
-

8k flash ROM.
368 byte RAM.
256 byte EFROM.
5port(A,B,C,D,E) vào ra với tín hiệu điều khiển độc lập.
2 bộ định thời 8 bit (timer0 và timer 2).
Một bộ định thời 16 bit (timer 1) có thể hoạt động trong chế độ tiết kiệm năng

-

lượng (sleep mode) với nguồn xung clock ngoài.
2 bộ CCP (capture/compare/PWM).
1 bộ biến đổi AD 10 bits, 8 ngõ vào.
2 bộ so sánh tương tự (compartor).
1 bộ định thời giám sát (watchdog timer).
1 cổng song song 8 bits với các tín hiệu điều khiển.
1 cổng nối tiếp.
15 nguồn ngắt.
Có chế độ tiết kiệm năng lượng.
Nạp chương trình bằng cổng nối tiếp ICSP.
Được chế tạo bằng công nghệ CMOS.

SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 8



GVHD: ThS. Phan Tấn Phát
-

Đồ Án Môn Học 2

35 tập lệnh.
Tần số hoạt động tối đa 20Mhz.

Hình 3.1. PIC 16F877A.

SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 9


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

Hình 3.2. Sơ đồ khối chức năng cơ bản của PIC 16F877A.

3.1.2. Giao tiếp nối tiếp trong PIC 16F877A.
USART (Universal Synchronous Asynchronous Receiver Transmitter) là một
trong hai chuẩn giao tiếp nối tiếp.USART còn gọi là giao diện giao tiếp nối tiếp SCI
(Serial Communication Interface) với các thiết ngoại vi, với các thiết bị điều khiển
hay máy tính. Các dạng USART ngoại vi bao gồm:
+ Bất đồng bộ(Asynchronous).
+ Đồng bộ Master mode.
+ Đồng bộ Salve mode.

Hai chân dùng cho giao diện này là RC6/TX/CK và RC7/RX/DT
+ RC6/TX/CK : dùng để truyền xung clock(baud rate)
+ RC7/RX/DT : dùng để truyền data.
SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 10


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

Pic16f877a được tích hợp sẵn bộ tạo tốc độ baud(Baud Rate Genetator) 8 bit
dùng cho giao diện USART. BRG là một bộ đếm có thể sử dụng cho cả hai dạng đồng
bộ và bất đồng bộ được điều khiển bời thanh ghi PSBRG: Trong đó X là giá trị của
thanh ghi RSBRG( X là số nguyên từ 0 đến 255).
Các thanh ghi liên quan đến BRG bao gồm:
+ TXSTA(địa chỉ 98h) chọn chế độ đồng bộ hay bất đồng bộ(bit SYNC) và chọn mức
tốc độ baud(bit BRGH).
+ RCSTA(địa chỉ 18h) cho phép hoạt động cổng nối tiếp(bit SPEN).
+ RSBRG(địa chỉ 99h) quyết định tốc độ baud. [1]
3.1.2.1. USART bất đồng bộ.
Ở chế độ này các bit truyền đi sẽ bao gồm 1 bit Start 8 bit dữ liệu và 1 bit Stop.
Bit LSB sẽ được truyền đi trước. Các khối truyền và nhận Data độc lập với nhau sẽ
dùng chung tần số tương ứng với tốc độ baud cho quá trình dữ liệu.
Để đảm bảo tính hiệu quả của dữ liệu thì hai khối truyền và nhận phải cùng
chung một định dạng dữ liệu.
3.1.2.2. Truyền dữ liệu qua chuẩn giao tiếp USART bất đồng bộ.
Thanh ghi TSR(Transmit Shif Register), thanh ghi TSR sẽ lấy dữ liệu từ thanh

ghi đệm dùng cho quá trình là TXREG.
Dữ liệu cần truyền phải được đưa trước vào thanh ghi TXREG, ngay sau khi bit
Stop của dữ liệu cần truyền trước đó truyền xong, dữ liệu từ thanh ghi TXREG sẽ
được đưa vào thanh ghi TSR, thanh ghi TXREG bị rỗng, ngắt xảy ra và cờ hiệu TXIF
vẫn sẽ được set bit bất chấp trạng thái của bit TXIE hay tác động của chương trình
(không thể xóa TXIF bằng chương trình) mà chỉ reset về 0 khi có dữ liệu được đưa
vào thanh ghi TXREG.

SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 11


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

Hình 3.3. Sơ đồ khối của khối truyền dữ liệu USART.
Cờ hiệu TXIF đóng vai trò chỉ trạng thái thanh ghi TXREG thì cờ hiệu TRMT
có nhiệm vụ thể hiện trạng thái thanh ghi TSR. Khi thanh ghi TSR rỗng, bit TRMT sẽ
được set lên 1. Bit này chỉ đọc và không có ngắt nào được gắn với trạng thái của nó.
Thanh ghi TSR không có bộ nhớ dữ liệu và chỉ điều khiển bằng CPU.
Khối dữ liệu truyền được phép hoạt động khi bit TXEN được set. Quá trình
truyền dữ liệu bắt đầu khi có dữ liệu trong thanh ghi TXREG và xung truyền baud
được tạo ra. Khi khối dữ liệu truyền được khởi động lần đầu tiên, thanh ghi TSR rỗng,
tại thời điểm đó dữ liệu đưa vào thanh ghi TXREG ngay lập tức được load vào thanh
ghi TSR và thanh ghi TXREG bị rỗng, lúc này ta có thể hình thành một chuỗi dữ liệu
liên tục cho quá trình truyền dữ liệu.
Trong khi quá trình truyền nếu bit TXEN bị reset về 0 quá trình sẽ kết thúc,

khối truyền dữ liệu được reset và chân RC6/TX./CK chuyển đến trạng thái
Hight_Impedance. Trong trường hợp dữ liệu cần truyền 9 bit, bit TX9(TXSTA<6>)
được set và bit dữ liệu thứ 9 sẽ được lưu trong bit TX9D. Nên ghi bit dữ liệu thứ 9 vào
trước vì khi ghi 8 bit dữ liệu vào thanh ghi TXREG có thể xảy ra trường hợp nội dung
thanh ghi TXREG sẽ được load vào thanh ghi TSR trước như vậy dữ liệu truyền sẽ bị
sai so với yêu cầu.
Tóm lại để truyền dữ liệu theo giao diện USART bất đồng bộ, ta cần thực hiện
tuần tự các bước sau:
SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 12


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

+ Tạo xung truyền baud bằng cách đưa các giá trị cần thiết vào thanh ghi RSBRG và
các bit điều khiển mức tốc độ baud BRGH.
+ Cho phép cổng giao diện nối tiếp bất đồng bộ bằng cách clear SYNC và set bit
SPEN.
+Set bit TXIE nếu cần thiết.
+ Set bit TX9 nếu định dạng dữ liệu cần truyền là 9 bit.
+ Set bit TXEN để cho phép truyền dữ liệu(lúc này bit TXIF cũng sẽ được set).
+ Nếu định dạng dữ liệu là 9 bit, đưa bit dữ liệu thứ 9 vào bit TX9D).
+ Đưa 8 bit dữ liệu cần truyền vào thanh ghi TXREG.
+ Nếu sữ dụng ngắt, cần kiểm tra lại các bit GIE và PEIE( thanh ghi INTCON).
Thanh ghi INTCON có địa chỉ 0Bh,8Bh,10Bh,18Bh chứa các bit cho phép toàn
bộ ngắt.

Thanh ghi PIR1 có địa chỉ 0Ch chứa cờ hiệu TXIF.
Thanh ghi PIE1 có địa chỉ 8Ch chứa các bit cho phép ngắt TXIE.
Thanh ghi RCSTA có địa chỉ 18h xác định trạng thái trong quá trình truyền dữ
liệu.(hai chân RC6/TX/CK và RC7/RX/DT).
Thanh ghi TXREG có địa chỉ 19h chứa dữ liệu cần truyền.
Thanh ghi TXSTA có địa chỉ 98h chứa các bit điều khiển SYNC và BRGH.
Thanh ghi SPBRG có địa chỉ 99h điều khiển tốc độ baud.
3.1.2.3. Nhận dữ liệu qua chuẩn giao tiếp USART bất đồng bộ.
Dữ liệu được đưa vào từ chân RC7/RX/DT sẽ kích hoạt khối khôi phục dữ liệu.
Khối phục hồi dữ liệu là một bộ dịch dữ liệu tốc độ cao và tần số hoạt động gấp 16 lần
hoặc 64 lần tần số baud. Trong khi đó tốc độ dịch của thanh ghi nhận dữ liệu sẽ bằng
với tần số baud hoặc với tần số Oscillator.

SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 13


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

Hình 3.4. Sơ đồ khối của khối nhận dữ liệu USART.
Bit điều khiển cho phép khối dữ liệu là bit CREN(RCSTA<4)
Thành phần quan trọng nhất của khối dữ liệu là thanh ghi nhận dữ liệu
RSR(Receive Shift Register). Sau khi nhận diện bit Stop của dữ liệu truyền tới, dữ
liệu nhận được trong thanh ghi RSR sẽ được đưa vào thanh ghi RCREG, sau đó cờ
hiệu RCIF sẽ được set và ngắt nhận được kích hoạt. Ngắt này được điều khiển bởi bit
RCIE. Bit cờ hiệu RCIF là bit chỉ đọc và không thể tác động bởi chương trình. RCIF

chỉ reset về 0 khi dữ liệu nhận vào ở thanh ghi RCREG đã được đọc và khi đó thanh
ghi RCREG rỗng. Thanh ghi RCREG là thanh ghi có bộ đệm kép(double-buffered
register) và hoạt động theo cơ chế FIFO(First In First Out) cho phép nhận 2 byte và
byte thứ 3 tiếp tục đưa vào thanh ghi RSR, nếu sau khi nhận được bit Stop của byte dữ
liệu thứ 3 mà thanh ghi RCREG vẫn còn đầy, cờ hiệu báo tràn dữ liệu OERR sẽ được
set, dữ liệu thanh ghi RSR sẽ bị mất đi và quá trình đưa dữ liệu từ thanh ghi RSR vào
thanh ghi RCREG sẽ bị gián đoạn.
Trong trường hợp này cần lấy hết dữ liệu ở thanh ghi RCREG vào trước khi
tiếp tục nhận byte dữ liệu tiếp theo. Bit OERR phải được xóa bằng phần mềm và được
thực hiện bằng cách clear bit CREN rồi set lại. Bit FERR sẽ được set khi phát hiện bit
Stop dữ liệu được nhận vào , bit dữ liệu thứ 9 sẽ được đưa vào RX9D. Khi đọc dữ liệu
từ thanh ghi RCREG, hai bit FERR và RX9D sẽ nhận được giá trị mới. Do đó cần đọc
SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 14


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

dữ liệu từ thanh ghi RCSTA trước khi đọc dữ liệu từ thanh ghi RCREG để tránh mất
dữ liệu.
Tóm lại để nhận dữ liệu theo giao diện USART bất đồng bộ, ta cần thực hiện
tuần tự các bước sau:
+ Thiết lập tốc độ baud, đưa giá trị thích hợp vào thanh ghi SPBRG và bit BRGH.
+ Cho phép cổng giao tiếp USART bất đồng bộ clear bit SYNC và set bit SPEN.
+ Nếu cần sử dụng ngắt nhận dữ liệu, set bit RCIE.
+ Nếu dữ liệu truyền nhận có định dạng là 9 bit, set bit RX9.

+ Cho phép nhận dữ liệu bằng cách set bit CREN.
+ Sau khi dữ liệu được nhận, bit RCIF sẽ được set và ngắt kích hoạt(nếu bit RCIE
được set).
+ Đọc giá trị thanh ghi RCSTA để đọc dữ liệu thứ 9 và kiểm tra xem quá trình nhận
dữ liệu có bị lỗi không.
+ Đọc 8 bit dữ liệu từ thanh ghi RCREG.
+ Nếu quá trình truyền nhận có lỗi xảy ra, xóa lỗi bằng cách xóa bit CREN.
+ Nếu sử dụng ngắt nhận cần set bit GIE và PEIE trong thanh ghi INTCON)
Thanh ghi INTCON có địa chỉ 0Bh,8Bh,10Bh,18Bh chứa các bit cho phép toàn
bộ ngắt (bit GIE và PEIE)
Thanh ghi PIR1 có địa chỉ 0Ch chứa cờ hiệu RCIE.
Thanh ghi PIE1 có địa chỉ 8Ch chứa các bit cho phép ngắt RCIE.
Thanh ghi RCSTA có địa chỉ 18h xác định trạng thái trong quá trình truyền
nhận dữ liệu.
Thanh ghi RCREG có địa chỉ 1Ah chứa dữ liệu nhận được.
Thanh ghi TXSTA có địa chỉ 98h chứa các bit điều khiển SYNC và BRGH.
Thanh ghi SPBRG có địa chỉ 99h điều khiển tốc độ baud. [1]
3.1.3. Giao tiếp giữa Smartphone và Module Bluetooth.
Smartphone giao tiếp với Module Bluetooth bằng giao tiếp nối tiếp gửi và nhận
tín hiệu 2 chiều thông qua sóng vô tuyến cực ngắn ở dải tần 2,40 - 2,48 GHz.
3.1.4. Giao tiếp giữa Module Bluetooth và PIC 16F877A.
PIC giao tiếp với Module Bluetooth qua chuẩn RS232.
SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 15


GVHD: ThS. Phan Tấn Phát


Đồ Án Môn Học 2

- Trong chuẩn RS232 có mức giới hạn trên và dưới (logic 0 và 1) là +/-12V.
- Hiện nay đang được cố định trở kháng tải trong phạm vi từ 3 KΩ đến 7 KΩ
- Mức logic 1 có điện áp nằm trong khoảng -3V đến -12V, mức logic 0 từ 3V đến 12V.
- Tốc độ truyền nhận dữ liệu cực đại là 100kbps (có thể lớn hơn).
- Các lối vào phải có điện dung nhỏ hơn 2500pF.
- Trở kháng tải phải lớn hơn 3KΩ nhưng phải nhỏ hơn 7 KΩ.
- Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối tiếp
RS232 không vượt quá 15m nếu không sử module.
- Các giá trị tốc độ truyền dữ liệu chuẩn 50, 75, 110, 750, 300, 600, 1200, 2400, 4800,
9600, 19200, 28800, 38400, 56600, … , 115200 bps.
- RS 232 sử dụng phương thức truyền thông không đối xứng, tức là sử dụng tín hiệu
điện áp chênh lệch giữa một dây dẫn và đất. Chuẩn RS232 được thiết lập trước
họ logic TTL rất lâu do vậy điện áp đầu vào và đầu ra của nó không tương thích với
mức TTL. Trong RS232 thì mức logic 1 được biểu diễn từ điện áp -3V đến -15V
trong khi đó mức 0 thì ứng với điện áp + 3V đến +15V làm cho điện áp -3V đến + 3V
là không xác định. Vì lý do này để kết nối một chuẩn RS232 bất kỳ đến một hệ vi
điều khiển thì ta phải sử dụng các bộ biến đổi điện áp để chuyển đổi các mức điện áp
RS232 về các mức điện áp TTL, sẽ được chấp nhận bởi các chân TxD và RxD
của PIC 16F877A và ngược lại.
- Ngoài mức điện áp tiêu chuẩn cũng cố định các giá trị trở kháng tải được đấu vào
bus của bộ phận và các trở kháng ra của bộ phát. Mức điện áp của tiêu chuẩn RS232C
( chuẩn thường dùng bây giờ) được mô tả như sau:
+ Mức logic 0 :+12V(+15V).
+ Mức logic 1 : -12V(-15V).
- Các mức điện áp trong phạm vi từ -3V đến 3V là trạng thái chuyển tiếp. Chính vì từ
-3V tới 3V là phạm vi không được định nghĩa, trong trường hợp thay đổi giá trị logic
từ thấp lên cao hoặc từ cao xuống thấp, một tín hiệu phải vượt qua quãng quá độ trong
một thơì gian ngắn hợp lý. Điều này dẫn đến việc phải hạn chế về điện dung của các

thiết bị tham gia và của cả đường truyền. Tốc độ truyền dẫn tối đa phụ thuộc vào
chiều dài của dây dẫn. Đa số các hệ thống hiện nay chỉ hỗ trợ với tốc độ 19,2 kB.
SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 16


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

- Truyền dữ liệu qua cổng nối tiếp RS232 được thực hiện không đồng bộ. Do vậy nên
tại một thời điểm chỉ có một bit được truyền (1 kí tự).
- Bộ truyền gửi một bit bắt đầu (bit start) để thông báo cho bộ nhận biết một kí tự sẽ
được gửi đến trong lần truyền bit tiếp theo. Bit này luôn bắt đầu bằng mức 0, tiếp theo
đó là các bit dữ liệu (bits data) được gửi dưới dạng mã ASCII( có thể là 5,6,7 hay 8 bit
dữ liệu), sau đó là một Parity bit ( Bit kiểm tra lỗi) và cuối cùng là bit dừng - bit dừng
có thể là 1, 1,5 hay 2 bit dừng.
- Tốc độ bit là một tham số đặc trưng của RS232. Tham số này chính là đặc trưng cho
quá trình truyền dữ liệu qua cổng nối tiếp RS232 là tốc độ truyền nhận dữ liệu. Tốc độ
bit được định nghĩa là số bit truyền được trong thời gian 1 giây. Tốc độ bit này phải
được thiết lập ở bên phát và bên nhận đều phải có tốc độ như nhau ( Tốc độ giữa vi
điều khiển và máy tính phải chung nhau 1 tốc độ truyền bit).
- Ngoài tốc độ bit còn một tham số để mô tả tốc độ truyền là tốc độ baud. Tốc độ baud
liên quan đến tốc độ mà phần tử mã hóa dữ liệu được sử dụng để diễn tả bit được
truyền còn tôc độ bit thì phản ánh tốc độ thực tế mà các bit được truyền. Vì một phần
tử báo hiệu sự mã hóa một bit nên khi đó hai tốc độ bit và tốc độ baud là phải đồng
nhất.
- Khi sử dụng chuẩn nối tiếp RS232 thì yêu cầu khi sử dụng chuẩn là thời gian chuyển

mức logic không vượt quá 4% thời gian truyền 1 bit. Do vậy, nếu tốc độ bit càng cao
thì thời gian truyền 1 bit càng nhỏ thì thời gian chuyển mức logic càng phải nhỏ. Điều
này làm giới hạn tốc Baud và khoảng cách truyền.
- Bit chẵn lẻ hay Parity bit đây là bit kiểm tra lỗi trên đường truyền. Thực chất của
quá trình kiểm tra lỗi khi truyền dữ liệu là bổ xung thêm dữ liệu được truyền để tìm ra
hoặc sửa một số lỗi trong quá trình truyền . Do đó trong chuẩn RS232 sử dụng một kỹ
thuật kiểm tra chẵn lẻ.

3.2. Relay:
3.2.1. Cấu tạo Relay:

SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 17


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

Relay là thiết bị đóng cắt cơ bản, nó được sử dụng rất nhiều trong cuộc sống và
trong các thiết bị điện tử.

Hình 3.5.
a. Cấu tạo trong của Relay
b. Relay ngoài thực tế
Cấu tạo Relay gồm 2 phần:
Cuộn hút:
§ Tạo ra năng lượng từ trường để hút tiếp điểm về phía mình.

§ Tùy vào điện áp làm việc người ta chia Relay ra
· DC: 5V, 12V, 24V
· AC: 110V, 220V
Cặp tiếp điểm:
§ Khi không có từ trường ( ko cấp điện cho cuộn dây). Tiếp điểm 1 được tiếp xúc với
2 nhờ lực của lò xo. Tiếp điểm thường đóng
§ Khi có năng lượng từ trường thì tiếp điểm 1 bị hút chuyển sang 3.
§ Trong Relay có thể có 1 cặp tiếp điểm, 2 cặp tiếp điểm hoặc nhiều hơn.

SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 18


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

3.2.2. Điều khiển Relay DC

Hình 3.6: Trong mạch trên là sơ đồ của 2 cặp Relay 5V

Ta phân tích hoạt động của Relay 1.(Sử dụng Transistor PNP)
o Tín hiệu S1 từ VĐK gửi tới.
§ Khi S1 = 1; Q1 khóa lại, không có dòng chạy qua cuộn hút Relay1. Đèn LED1 tắt.
Tiếp điểm 1 với 2 nối với nhau
§ Khi S1 = 0; Q1 mở, có dòng từ VCC qua khóa Q1 cấp điện cho Cuộn hút. Lúc này
có chuyển mạch của cặp tiếp điểm. Tiếp điểm 1 nối với 3. Đèn Led Q1 sáng.
§ Trong mạch có sử dụng Diode D1 mắc vào 2 đầu cuộn dây của Relay. D1 có tác

dụng xả dòng cho cuộn hút khi nó không hoạt động.
SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 19


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

o Trong sơ đồ trên nếu sử dụng Relay 12V, 24V thì cần thêm 1 mạch Buff. Do tín hiệu
điều khiển 5V, không cùng điện áp với điện áp cấp cho Relay (12V, 24V).
- Ngoài sử dụng transistor PNP điều khiển, ta có thể sử dụng Transistor NPN ( C1815)
để điều khiển.

Hình 3.7: sử dụng Transistor NPN ( C1815) để điều
khiển Relay
Khi S1 = 1; Q1 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 LED1 sáng,
Khi S1 = 0; Q1 tắt, không có dòng qua cuộn hút. Tiếp điểm 1 nối với 2, đèn
LED1 tắt.
Với sơ đồ này bạn có thể thay Relay 5V bằng 12V, 24V ( Tương ứng VCC= 12V,
24V). Mặc dùng điện áp điều khiển S1 =0, 5V. Mạch vẫn hoạt động bình thường.

SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 20



GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

3.3. Transistor C1815.

Hình 3.8: Transistor C1815

Hình 3.9: Sơ đồ chân Transistor C1815

SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 21


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

CHƯƠNG 4:
THIẾT KẾ HỆ THỐNG
4.1. Sơ đồ khối.

Laptop
(Smart
Phone, USB
Bluetooth,…)


Comm Port
(Bộ thu
phát
Bluetooth)

Bộ thu phát
Bluetooth
( HC 05 ).

Vi điều
khiển

Hình 4.1. Sơ đồ khối của hệ thống

SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 22

RELAY
(thiết bị).


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

4.2. Lưu đồ giải thuật
Bật đèn
Bắt đầu

Nhận dữ liệu từ cổng Comm
Data=A
Data=a
Bật đèn
Đ
S
S

Phát dữ liệu lên cổng Comm
Đ

Data=B
Data=B

SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 23


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

Hình 4.2. Lưu đồ giải thuật PIC nhận phát dữ liệu để điều khiển đèn.

4.3. Giao diện Visual Basic 6.0 trên máy tính điều khiển:

SVTH: Nguyễn Minh Trung
MSSV: 41203183


Trang 24


GVHD: ThS. Phan Tấn Phát

Đồ Án Môn Học 2

Hình 4.3: Giao diện đăng nhập hệ

SVTH: Nguyễn Minh Trung
MSSV: 41203183

Trang 25


×