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

ĐỒ ÁN: Điều khiển thiết bị điện tử bằng androi thông qua 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 (755.54 KB, 26 trang )

ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC BÁCH KHOA HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
Bộ Môn Viễn Thông

ĐỒ ÁN MÔN HỌC 2

Điều khiển thiết bị điện tử bằng
androi thông qua Bluetooth
Giáo Viên Hướng Dẫn:

TS.Huỳnh Phú Minh Cường

Sinh Viên Thực Hiện:

Nguyễn Thanh Phúc
Nguyễn Hoàng Ni

41204765
41004193

Tp.Hồ Chí Minh,Ngày 20 Tháng 6 năm 2017
Page 1


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH



Page 2


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH

Trường Đại Học Bách Khoa Hồ Chí Minh
Khoa Điện Điện - Tử

Điều khiển thiết bị điện tử
bằng androi thông qua
Bluetooth
Giáo Viên Hướng Dẫn: TS. Huỳnh Phú Minh Cường
Sinh Viên Thực Hiện:

Nguyễn Thanh Phúc

41204765

Nguyễn Hoàng Ni 41004193

Page 3


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH

LỜI CẢM ƠN
- Đồ án là tiền đề nhằm trang bị cho sinh viên những kĩ năng nghiên cứu, những kiến


thức quan trọng trước khi bắt tay vào thực tập và làm luận văn.
- Trước hết chúng em xin chân thành cảm ơn các thầy cô khoa Điện – Điện Tử, đặc biệt
các thầy cô trong bộ môn Viễn Thông đã tận tình chỉ dạy và trang bị cho chúng em
những kiến thức cần thiết trong suốt thời gian ngồi trên giảng đường làm nền tảng
cho việc thực hiện đồ án này.
Xin trân trọng cảm ơn thầy Huỳnh Phú Minh Cường đã tận tình giúp đỡ giúp em giải
quyết được những khúc mắc để có thể hoàn thành đồ án này.

Page 4


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH

NHẬN XÉT
Của giảng viên

……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………

……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………

Ngày ..20.. tháng .6. năm 2017

Page 5


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH

Mục Lục
I)Giới thiệu………………………………………………….1
1)
2)
3)
4)

Tóm tắt nội dung
Mở đầu
Tìm hiểu công Nghệ không dây Bluetoot
Phương phá và đối tượng nghiêm cứu

II)Thiết kế hệ thống………………………………………….2
1)
2)


Sơ đồ khối………………………………………….2
Mô hình thực tế……………………………………2
A) Khối Nguồn…………………………………….2
B) Khối module bluetoot…………………………3
C) Khối vi điều khiển Arduino…………………...4
1) Thông số kỹ thuật Arduino……………….4
2) Chức năng các bộ phận Arduino………..5
D) Khối Replay…………………………………….7
E) Khối công tắc…………………………………..8
F) Khối Androi……………………………………..8

III) Hoạt động của hệ thống……………………………….9
1) Nguyên lý hoạt động của hệ thống……………....9
2) Sơ đồ giải thuật……………………………………10
A) Sơ đồ giải thuật hệ thống…………………….10
B) Sơ đồ giải thuật android………………………11

IV) Điều khiển động cơ……………………………………12
1) Giới thiệu…………………………………………..12

2)
3)
4)
5)
6)

A) Động cơ bước………………………………...12
B) Mạch cầu H……………………………………13
Nguyên lý hoạt động……………………………..14
Mạch cầu HL298………………………………….15

Sơ đồ giải thuật điều khiển động cơ……………16
Giải thuật đóng cửa………………………………17
Giải thuật mở cửa………………………………..18

V) Kết quả và kết luận…………………………...19
Tài liệu tham khảo………………………………..20

Page 6


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
I)
1)

Giới thiệu

Tóm tắt nội dung

Ngày nay trên thế giới với sự bùng nổ của các ngành công nghệ thông tin, điện tử đã làm cho đời
sống của con người ngày càng hoàn thiện. Các thiết bị thông minh đã ngày càng được ứng dụng
vào cuộc sống sinh hoạt hằng ngày của mỗi con người. Đặc biệt, smartphone đã trở thành một
phần quen thuộc trong cuộc sống thường nhật của mỗi cá nhân và nhu cầu ứng dụng các ứng
dụng của smartphone vào đời sống ngày càng thiết thực. Vì vậy với nhu cầu thông minh hóa các
thiết bị điện tử trong đời sống hằng ngày bài viết này chúng em sẽ trình bày một cách ngắn gọn
một ứng dụng trong thực tế điều khiển thiết bị bằng điện thoại Android qua sóng Bluetooth để
nâng cao chất lượng cuộc sống con người và đáp ứng các nhu cầu ngày càng mạnh mẽ trong thời
đại công nghệ số.
2) Mở đầu
Với sự phát triển ngày càng mạnh mẽ của khoa học công nghệ, vi điều khiển AVR và vi điều khiển

PIC ngày càng thông dụng và hoàn thiện hơn, nhưng có thể nói sự xuất hiện của Arduino vào
năm 2005 tại Italia đã mở ra một hướng đi mới cho vi điều khiển. Sự xuất hiện của Arduino đã hỗ
trợ cho con người rất nhiều trong lập trình và thiết kế, mà không cần quá nhiều kiến thức về vi
xử lý, Phần cứng của thiết bị đã được tích hợp nhiều chức năng cơ bản và là mã nguồn mở. Ngôn
ngữ lập trình trên nền Java lại vô cùng dễ sử dụng tương thích với ngôn ngữ C và hệ thư viện rất
phong phú và được chia sẻ miễn phí. Chính vì những lý do như vậy nên Arduino hiện đang dần
phổ biến và được phát triển ngày càng mạnh mẽ trên toàn thế giới. Trong đề tài mô hình được
đề cập là Master/Slaver, trong đó điện thoại đóng vai trò là Master, Kit Arduino đóng vai trò
Slaver. Khoảng cách truyền trong mạng này là khỏang 20m, đó cũng là mặt hạng chế của sóng
Bluetooth. Tuy nhiên với khoảng cách này là đủ để Bluetoot được ứng dụng trong điều khiển các
thiết bị gia dụng trong gia đình.
3) Tìm hiểu công nghệ không dây Bluetoot
Bluetooth là một công nghệ không dây cho phép truyền thông giữa các thiết bị với nhau. 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 đều có thể truyền thông với các thiết bị khác với một 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 sóng.
4) Phương pháp và đối tượng nghiêm cứu của đề tài
Phương Pháp nghiêm cứu:
- Tham khảo tài liệu : các tài liệu liên quan, tìm kiếm tài liệu trên internet.
- Tự tiến hành thiết kế ,thi hành mô phỏng trên máy tính. Xác định lỗi và thi hành làm
phần cứng.
- Viết code theo hướng dẫn của tài liệu tham khảo và thực hiện nạp thực nghiệm trên
phần cứng.
Đối tượng nghiêm cứu:
Trong đề tài này chúng ta nghiêm cứu về Modul Bluetoot HC06, kết nối với vi điều khiển là
Arduino và được điều khiển qua Androi để điều khiển các thiết bị điện dân dụng hằng ngày.

II)

Thiết Kế Hệ Thống

Page 7


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
1)

Sơ đồ khối:

2)

Mô hình trong thực tế:

A)

Khối nguồn

Khối nguồn tạo ra dòng điện và điện thế ổn định cung cấp an toàn cho cả mạch. Do dùng nguồn
5V DC nên ta dùng bốn diode để chỉnh lưu dòng xoay chiều đi qua và IC ổn áp 7805 để tạo nguồn
5v cung cấp cho mạch.

Page 8


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
B)

Khối Module Bluetoot HC-06


-

-

-

-

-

-

Module Bluetooth SLAVE cho phép vi điều khiển kết nối với các thiết bị ngoại vi:
smartphone, laptop, usb bluetooth... thông qua giao tiếp Serial gửi và nhận tín hiệu 2
chiều. Module bluetooth được tích hợp trên board cho phép bạn sử dụng nguồn từ DC
3.5 - 5V.
Module Bluetooth SLAVE cho phép vi điều khiển kết nối với các thiết bị ngoại vi:
smartphone, laptop, usb bluetooth... thông qua giao tiếp Serial gửi và nhận tín hiệu 2
chiều.
Module bluetooth được tích hợp trên board cho phép bạn 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.
Module Bluetooth gồm 6 chân theo thứ tự: KEY, VCC, GND, TX, RX, STATE.Đây là module
bluetooth SLAVE nghĩa là bạn không thể chủ động kết nối bằng vi điều khiển, mà cần sử
dụng smartphone, laptop, bluetooth usb... để dò tín hiệu và kết nối (pair) từ
smartphone, laptop, bluetooth usb... Sau khi pair thành công, bạn có thể gửi và nhận tín
hiệu từ vi điều khiển đến các thiết bị này.
Không được gắn lộn dây Vcc và Gnd vì sẽ gây hỏng module bluetooth ngay lập tức.Mặc
định, module bluetooth SLAVE sử dụng baud rate là 9600, PIN là 1234. Bạn có thể tùy
chỉnh baud rate bằng tập lệnh AT .Bluetooth module SLAVE có thể dễ dàng kết nối với các

dòng smartphone Android thông qua thư viện AMARINO.
Modul Bluetooth HC06: được thiết kế để chuyển đổi giao tiếp nối tiếp không đồng bộ và
thành giao tiếp không dây Bluetooth và ngược lại.
• Cấu hình Slave là cấu hình ban đầu, không thay đổi được
• Sử dụng chip CSR Bluetooth V2.0
• Điện áp sử cho 3.3V ( Hỗ trợ IC ổn áp đầu vào 5V)
• Thứ tự chân: STATE RXD TXD GND VCC WAKEUP
• Tốc Độ Hỗ Trợ: 200,2400,4800,9600,19200,38400,57600,115200
• Kích thước Module: 28mm x 15 mm x 2.35mm
• Dòng hoạt động: 20-30mA
• Tần số: 2.4GHz ISM band
• Tốc độ:
+ Asynchronous: 2.1Mbps(Max)/160kbps
+ Synchronous: 1Mbps/1Mbps
• Bảo mật: Authentication and encryption
• Giao tiếp: Bluetooth serial port
• Nhiệt độ làm việc: -20 ~ 75 độ C
Page 9


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH



-

Độ nhạy: -80dBm 2.1.
Module có 2 chế độ làm việc:
+ Kết nối truyền thông.

+ Đáp ứng theo lệnh: khi làm việc ở chế độ này, chúng ta có thể gửi các lệnh AT để giao
tiếp và cài đặt module.
Chức năng từng chân của modul hc -06:

• Chân UART_TXD có chức năng truyền dữ liệu tới chân RXD, nối với chân RXD của vi
điều khiển.
• Chân UART_R XD chức năng nhận dữ liệu từ chân TXD truyền tới, nối với chân TXD của
vi điều khiển.
• Chân VCC sử dụng nguồn áp 3.3 V,dải áp hoạt động từ 3.0V -> 4.2V
• Chân GN
C)

Khối Vi Điều Khiển Arduino

1. thông số kỹ thuật của arduino
Vi điều khiển

ATmega328 họ 8bit

Điện áp hoạt động

5V DC (chỉ được cấp qua cổng USB)

Tần số hoạt động

16 MHz

Dòng tiêu thụ

khoảng 30mA


Điện áp vào khuyên dùng

7-12V DC

Điện áp vào giới hạn

6-20V DC

Số chân Digital I/O

14 (6 chân hardware PWM)

Số chân Analog

6 (độ phân giải 10bit)

Dòng tối đa trên mỗi chân I/O

30 mA
Page 10


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
Dòng ra tối đa (5V)

500 mA

Dòng ra tối đa (3.3V)


50 mA

Bộ nhớ flash

32 KB (ATmega328) với 0.5KB dùng bởi bootloader

SRAM

2 KB (ATmega328)

EEPROM

1

KB (ATmega328)

2. Chức năng từng bộ phận của Arduino
- Vi điều khiển

-

-

Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8, ATmega168,
ATmega328. Vi điều khiển này có thể xử lí những tác vụ đơn giản như điều khiển đèn LED
nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ - độ ẩm và hiển
thị lên màn hình LCD.
Thiết kế tiêu chuẩn của Arduino UNO sử dụng vi điều khiển cung cấp cho người dùng:




32KB bộ nhớ Flash: những đoạn lệnh lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều
khiển. Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader



2KB cho SRAM (Static Random Access Memory): giá trị các biến khai báo khi lập trình sẽ lưu
ở đây. Khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM.



EEPROM (Electrically Eraseble Programmable Read Only Memory): đây giống như một chiếc
ổ cứng mini – nơi có thể đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp
điện giống như dữ liệu trên SRAM.

-

Các chân năng lượng



GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi dùng các thiết bị sử dụng
những nguồn điện riêng biệt thì những chân này phải được nối với nhau.

Page 11


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH



5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.



3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.



Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, khi nối cực dương của nguồn với
chân này và cực âm của nguồn với chân GND.



IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân này. Và
dĩ nhiên nó luôn là 5V. Mặc dù vậy không được lấy nguồn 5V từ chân này để sử dụng bởi
chức năng của nó không phải là cấp nguồn.



RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân
RESET được nối với GND qua 1 điện trở 10KΩ

-

Các cổng vào/ ra

• Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2 mức điện áp
là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân đều có các điện trở

pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này
không được kết nối).Có các chức năng đặc, một số chân digital biệt như sau:
• 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL
Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này. Kết nối bluetooth
thường thấy nói nôm na chính là kết nối Serial không dây. Nếu không cần giao tiếp Serial, bạn
không nên sử dụng 2 chân này nếu không cần thiết
• Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit
(giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite(). Nói một cách đơn giản,
bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở
mức 0V và 5V như những chân khác.
• Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các chức năng thông
thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác.
• LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút Reset, bạn sẽ
thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13. Khi chân này được người
dùng sử dụng, LED sẽ sáng.
• Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 2 10-1) để
đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên board, bạn có thể để đưa vào
điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu bạn cấp điện áp 2.5V vào chân
này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ
phân giải vẫn là 10bit.
Page 12


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
• Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết
bị khác.
- Jack nguồn: để chạy Arduino thì có thể lấy nguồn từ cổng USB ở trên máy tính nhưng nếu
không có thì ta có thể dùng nguồn này khoảng 9v đến 12v.


-

Cổng USB : đây là cổng giao tiếp để ta upload code từ PC lên vi điểu khiển. Đồng thời nó
cũng là giao tiếp serial để truyền dữ liệu giữa vi điểu khiển với máy tính. Đây cũng là nguồn
cấp cho Arduino.

D)

Khối Relay

-

Thiết kế bảo vệ sử dụng opto cách ly với mạch điều khiển. Dễ dàng điều khiển bởi hầu hết
các dòng vi điều khiển Arduino, 8051, AVR, PIC, DSP, ARM, PLC, MSP430, TTL, logic ...
Page 13


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
-

E)

Relay hiệu suất cao: 250VAC/10A; 30VDC/10A. Mỗi kênh chỉ cần dòng 15-20mA để điều
khiển Relay được tác động ở mức thấp (LOW)
Khối Công suất gồm: Rơle 5V.
Relay là một công tắc điều khiển từ xa đơn giản, nó dùng một dòng nhỏ để điều khiển một
dòng lớn vì vậy nó được dùng để bảo vệ công tắc nên cũng được xem là một thiết bị bảo vệ.
Một Relay điển hình điều khiển mạch và cả điều khiển nguồn. Kết cấu relay gồm có một lõi
sắt, một cuộn từ và một tiếp điểm.


Khối công tắc

Công tắc 3 cực làm nhiệm vụ kết hợp cới relay 3 chân, cho việc điều khiển các thiết bị cơ động
hơn.Tạo mối liên kết chặt chẽ giữa phần mềm điều khiển trên điện thoại và thao tác phần cứng.
Điều khiển bằng tay và điều khiển bằng phần mềm.
F)

Khối Androi

Ở đây chúng em sử dụng phần mềm Arduino Bluetoot có sẵn trên CHplay.
- Arduino Bluetooth là ứng dụng điều khiển thiết bị cho phép bạn điều khiển các thiết bị điện
khác nhau lên đến tám thiết bị và kiểm soát độc lập.
- Sử dụng thiết bị di động Android Bluetooth để điều khiển từ xa thiết bị của bạn với Serial
Module Bluetooth và Arduino .
- Có thể thiết lập Timer để ON / OFF thiết bị và hiển thị đồng hồ đếm ngược ( Timer có thể
được thiết lập để 1 phút , 15 phút , 30 phút, 1 giờ, 2 giờ , 4 giờ) . .

Page 14


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH

III)
-

-

-


-

Hoạt động của hệ thống

1) Nguyên lý hoạt động của hệ thống
Đầu tiên, khởi động phần mềm Android "Điều khiển thiết bị". Phần mềm xuất hiện thông báo
bạn có muốn bật bluetooth không (yes or no). Click yes để bật bluetooth và thực hiện tự
động kết nối đến module bluetooth.
Phần mềm tự động lấy địa chỉ Mac của Module Bluetooth (nhập vào khi lập trình).Khi kết nối
thành công phần mềm hiện thị Toast thông báo là đã kết nối.
Phần mềm gồm 8 Button dùng để điều khiển bật tắt 8 thiết bị trong nhà và 1 seekbar dùng
để điều động cơ cửa hoặc độ rông mở cửa. Phần cứng còn kết nối với các công tắc 3 cực để
bật hoặc tắt thiết bị( bật bằng công tắc và tắt bằng điện thoại hoặc tắt bằng điện thoại và bật
bằng công tắc), phòng trường hợp điện thoại hết pin hay bị trục trặc.
Khi bật thiết bị: Khi click vào một button thì phần mềm android sẻ gởi gói tin (chứa lệnh mở
thiết bị) thông qua thiết bị Bluetooth của điện thoại đến Module Bluetooth HC-06. Lúc này
Module Bluetooth HC-05 sẽ nhận gói tin và truyền về module Arduino để đưa tín hiệu ra
đóng các Opto làm cấp điện cho các Relay đóng.
Khi tắt thiết bị: Khi click một lần nữa vào một button thì phần mềm android sẻ gởi gói tin
(chứa lệnh đóng thiết bị) thông qua thiết bị Bluetooth của điện thoại đến Module Bluetooth
HC-06. Lúc này Module Bluetooth HC-06 sẽ nhận gói tin và truyền về module Arduino để đưa
tín hiệu ra mở các Opto làm mất điện cho các Relay mở.

Page 15


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH


2)

Sơ đồ giải thuật
A) Giải thuật trên Androi
start

Hiển thị” Ứng dụng
muốn bật Bluetoot”

No

Đóng ứng dụng

Chọn yes/no

Yes
Nếu lần đầu mở úng dụng thì
nhập pass

Tìm thiết bị Bluetoot

No

Yes
Kết nối với module Bluetoot

No

Có Botton được chọn?


Yes
Ứng dụng sẽ gửi đi các ký tự “ tắt ứng với chữ
cái thường(a,b,c…),mở với chữ hoa(A,B,C..)”
đến Arduino để tiến hành lệnh tương ứng

End
Page 16


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH

B) Giải thuật trên Arduino

start

Kết nói serial port, khởi tạo
giá trị USART, và định dạng
biến
Kết nối module bluetoot và
các thiết bị điện

No

Nhận được “ký tự” tự module
Bluetoot

Yes
Tiến hành so sánh và tiến nhanh đưa ra lệnh thực
hiện chứ năng tương ứng với ký tự nhận được đã

định danh ở khai báo
Thực hiện lệnh?

Lệnh điều khiển thiết lập tại các cổng
out tương ứng nói với các thiết bị

stop

Page 17


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
IV)
1)

Điều khiển động cơ
Giới thiệu

A) Động cơ bước
Động cơ bước được chia làm hai loại, nam châm vĩnh cửu và biến từ trở (cũng có
loại động cơ hỗn hợp nữa, nhưng nó không khác biệt gì với động cơ nam châm vĩnh
cửu). Nếu mất đi nhãn trên động cơ, các bạn vẫn có thể phân biệt hai loại động cơ này
bằng cảm giác mà không cần cấp điện cho chúng. Động cơ nam châm vĩnh cửu dường
như có các nấc khi bạn dùng tay xoay nhẹ rotor của chúng, trong khi động cơ biến
từ trở thì dường như xoay tự do (mặc dù cảm thấy chúng cũng có những nấc nhẹ bởi
sự giảm từ tính trong rotor). Bạn cũng có thể phân biệt hai loại động cơ này bằng ohm
kế. Động cơ biến từ trở thường có 3 mấu, với một dây về chung, trong khi đó, động
cơ nam châm vĩnh cửu thường có hai mấu phân biệt, có hoặc không có nút trung tâm.
Nút trung tâm được dùng trong động cơ nam châm vĩnh cửu đơn cực. Động cơ bước

phong phú về góc quay. Các động cơ kém nhất quay 90 độ mỗi bước, trong khi đó
các động cơ nam châm vĩnh cửu xử lý cao thường quay 1.8 độ đến 0.72 độ mỗi bước.
Với một bộ điều khiển, hầu hết các loại động cơ nam châm vĩnh cửu và hỗn hợp đều có
thể chạy ở chế độ nửa bước, và một vài bộ điều khiển có thể điều khiển các phân bước
nhỏ hơn hay còn gọi là vi bước. Đối với cả động cơ nam châm vĩnh cửu hoặc động
cơ biến từ trở, nếu chỉ một mấu của động cơ được kích, rotor (ở không tải) sẽ nhảy đến
một góc cố định và sau đó giữ nguyên ở góc đó cho đến khi moment xoắn vượt qua giá
trị moment xoắn giữ (hold torque) của động cơ.

Loại động cơ sử dụng trong đề tài là loại nam châm vĩnh cửu 4 đầu dây 2 pha.
Mạch điều khiển cho động cơ đòi hỏi một mạch điều khiển cầu H cho mỗi mấu;
Tóm lại, một cầu H cho phép cực của nguồn áp đến mỗi đầu của mấu được điều khiển một
cách độc lập. Các dãy điều khiển cho mỗi bước đơn của loại động cơ này được nêu bên
dưới, dùng + và ‐ để đại diện cho các cực của nguồn áp được áp vào mỗi đầu của động cơ.

Page 18


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH

B) Mạch cầu H
Giả sử bạn có một động cơ DC có 2 đầu A và B, nối 2 đầu dây này với một nguồn điện
DC (ắc qui điện – battery). Ai cũng biết rằng nếu nối A với cực (+), B với cực (-) mà động
cơ chạy theo chiều thuận (kim đồng hồ) thì khi đảo cực đấu dây (A với (-), B với (+)) thì
động cơ sẽ đảo chiều quay. Tất nhiên khi bạn là một “control guy” thì bạn không hề
muốn làm công việc “động tay động chân” này (đảo chiều đấu dây), bạn ắt sẽ nghĩ đến
một mạch điện có khả năng tự động thực hiện việc đảo chiều này, mạch cầu H (H-Bridge
Circuit) sẽ giúp bạn. Như thế, mạch cầu H chỉ là một mạch điện giúp đảo chiều dòng
điện qua một đối tượng. Tuy nhiên, rồi bạn sẽ thấy, mạch cầu H không chỉ có một tác

dụng “tầm thường” như thế. Nhưng tại sao lại gọi là mạch cầu H, đơn giản là vì mạch
này có hình chữ cái H.

2 đầu V và GND là 2 đầu (+) và (-) của ắc qui, “đối tượng” là động cơ DC mà chúng ta cần
điều khiển, “đối tượng” này có 2 đầu A và B, mục đích điều khiển là cho phép dòng điện
qua “đối tượng” theo chiều A đến B hoặc B đến A. Thành phần chính tạo nên mạch cầu
H của chúng ta chính là 4 “khóa” L1, L2, R1 và R2 (L: Left, R:Right). Ở điều kiện bình
thường 4 khóa này “mở”, mạch cầu H không hoạt động.

Page 19


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
2) Nguyên lý hoạt động của mạch cầu H

Giả sử bằng cách nào đó (cái cách nào đó chính là nhiệm vụ của người thiết kế
mạch) mà 2 khóa L1 và R2 được “đóng lại” (L2 và R1 vẫn mở), bạn dễ dàng hình
dung có một dòng điện chạy từ V qua khóa L1 đến đầu A và xuyên qua đối tượng
đến đầu B của nó trước khi qua khóa R2 và về GND (như hình 2a). Như thế, với giả
sử này sẽ có dòng điện chạy qua đối tượng theo chiều từ A đến B. Bây giờ hãy giả
sử khác đi rằng R1 và L2 đóng trong khi L1 và R2 mở, dòng điện lại xuất hiện và lần
này nó sẽ chạy qua đối tượng theo chiều từ B đến A như trong hình 2b (V->R1->B>A->L2->GND). Vậy là đã rõ, chúng ta có thể dùng mạch cầu H để đảo chiều dòng
điện qua một “đối tượng” (hay cụ thể, đảo chiều quay động cơ) bằng “một cách
nào đó”.
Chuyện gì sẽ xảy ra nếu ai đó đóng đồng thời 2 khóa ở cùng một bên (L1 và L2
hoặc R1 và R2) hoặc thậm chí đóng cả 4 khóa? Rất dễ tìm câu trả lời, đó là hiện
tượng “ngắn mạch” (short circuit), V và GND gần như nối trực tiếp với nhau và hiển
nhiên ắc qui sẽ bị hỏng hoặc nguy hiểm hơn là cháy nổ mạch xảy ra. Cách đóng các
khóa như thế này là điều “đại kị” đối với mạch cầu H. Để tránh việc này xảy ra,

người ta thường dùng thêm các mạch logic để kích cầu H. Phần này không đề cập ở
đây.
Giả thuyết cuối cùng là 2 trường hợp các khóa ở phần dưới hoặc phần trên cùng
đóng (ví dụ L1 và R1 cùng đóng, L2 và R2 cùng mở). Với trường hợp này, cả 2 đầu A,
B của “đối tượng” cùng nối với một mức điện áp và sẽ không có dòng điện nào chạy
qua, mạch cầu H không hoạt động. Đây có thể coi là một cách “thắng” động cơ
(nhưng không phải lúc nào cũng có tác dụng). Nói chung, chúng ta nên tránh trường
hợp này xảy ra, nếu muốn mạch cầu không hoạt động thì nên mở tất cả các khóa
thay vì dùng trường hợp này.
Sau khi đã cơ bản nắm được nguyên lý hoạt động của mạch cầu H, phần tiếp
theo chúng ta sẽ khảo sát cách thiết kế mạch này bằng các loại linh kiện cụ thể. Như
tôi đã trình bày trong phần trước, thành phần chính của mạch cầu H chính là các
“khóa”, việc chọn linh kiện để làm các khóa này phụ thuộc vào mục đích sử dụng
mạch cầu, loại đối tượng cần điều khiển, công suất tiêu thụ của đối tượng và cả
hiểu biết, điều kiện của người thiết kế. Nhìn chung, các khóa của mạch cầu H
thường được chế tạo bằng rờ le (relay), BJT (Bipolar Junction Transistor) hay
Page 20


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
MOSFET (Metal Oxide Semiconductor Field-Effect Transistor). Phần thiết kế mạch
cầu H vì vậy sẽ tập trung vào 3 loại linh kiện này. Trong mỗi cách thiết kế, tôi sẽ giải
thích ngắn gọn nguyên lý cấu tạo và hoạt động của từng loại linh kiện để bạn đọc dễ
nắm bắt hơn.
3)

Module mạch cầu HL298

Bên trong được tích hợp 2 mạch cầu H. Chúng ta sẽ dùng nó để điều khiển động có bước

Chân cấp nguồn +12V power và GND power. Để module hoat động thì cần nối jum A
Enable và B Enable như hình. Để điều khiển động cơ ta nối chân OUTA vào pha A của
động cơ bước (OUT1-> 1a , OUT2->1b). OUTB vào pha B của động cơ bước (OUT3-> 2a ,
OUT4->2b).
Chân 4 chân INPUT (IN1->IN4) nối lần lượt tương úng với chân 4-5-6-7 của anduino
Ta kích chân IN1-IN2=01 hoặc 10 thì đầu OUT1=12V, OUT2=0v hoặc OUT1=0V, OUT2=12V
Có nghĩa OUT 1-OUT2 sẽ đổi chiều âm dương mỗi khi ta kích 01, 10. Tương tự chân IN3IN4, và OUT3-OUT4 tương tự như vậy.
4)

Giải thuật điều khiển động cơ

Lúc khởi động mạch thì điều khiển động cơ kéo thanh trượt vị trí về 0, bằng cách đọc liên
tục tiếp điểm, nối vào chân số 3 của anduino; nếu thanh trượt về vị trí 0 nó sẽ đụng tiếp
điểm, làm cho chân số 3 xuống mức logic 0. Ta kích dừng động cơ lại.
Trong vòng lặp chính, đọc kí tự từ UART , kiểm tra xem nếu kí tự ‘m’ mà trước đó cửa
đang đóng thì thực hiện mở, nếu cửa đang mở trước đó thì không làm gì cả. Tương tự
với kí tự ‘d’ ta cũng kiểm tra cờ flag và thực hiện đóng cửa hoặc không.

Main

Đọc
Đọc
kíkítựtốc
tựtừtừ
UART==’m’
UART==’d’
Cài đặt
UART
độ
baud 9600;

Page
Cài đặt chân 3 Input trở21
nội kéo
Điều khiển động mở cửa
lên nguồn,Chân
cài đặt
chân 4567 là
số 3==0
Điều khiển động
có kéo thanh
Output
trượt vềno
yes

Điều khiển động đóng cửa
yes

yes


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH

Page 22


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
5)


Giải thuật đóng cửa

Nạp giá trị TimerOut
Lấy giá trị của millis() lưu vào biến
time

Chân số 3==0 && millis()-time < TimerOut
no

yes
Điều khiển động có kéo thanh
trượt về

Dừng động cơ

Thoát khỏi hàm

Page 23


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
6)

Giải thuật mở cửa

Nạp giá trị TimerOut
Lấy giá trị của millis() lưu vào biến
time


Chân số 2==0 && millis()-time < TimerOut
no

yes
Điều khiển động cơ đẩy thanh
trượt ra

Dừng động cơ

Thoát khỏi hàm

Page 24


ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
V)

Kết Quả Và Kết Luận

1) Kết Quả

2) Kết Luận

-

Sau 4 tháng nổ lực chúng tôi đã hoàn thành đề tài “ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI
ANDROID QUA SÓNG BLUETOOTH” đúng thời gian quy định. Về cơ bản đã giải quyết được
các vấn đề đặt ra về nội dung cũng như hình thức. Đây là một đề tài mang tính tổng hợp
bao gồm cả thiết kế thi công mạch và kỹ thuật lập trình.

Mặc dầu, chúng tôi đã tìm hiểu được các hoạt động các đặc trưng về phần cứng cũng như
phần mềm lập trình module Arduino, nắm bắt được các tính năng ưu việt của module điều
khiển này trong việc ứng dụng đo lường giám sát, điề khiển và đã có nhiều cố gắng tìm tòi
nghiên cứu, tuy nhiên đề tài cũng có một số mặt hạn chế cần phát triển tiếp.
Ưu điểm:
Thiết bị hoạt động tốt, các module nhỏ gọn.
Hệ thống đơn giẩn dể thực hiện
Giá thành các thiết bị rẻ phù hợp túi tiền
Phần cứng nhỏ gọn ,phần mềm code đơn giản dể hiểu giao diện lập trình quên thuộc
Giao diện android dể dùng
Khuyết điểm:
Khoảng cách điều khiển còn hạn chế
Chưa quản lý tốt thiết bị về mặt như tốc đọ , độ sang tối,…
Chưa trải qua lắp đặt ngoài thực tế
Giao điện Androi chưa phong phú
3) Hướng phát triển
Phát triển app kiểm soát hoặc số lần đóng mở thiết bị .
Tích hợp với thiết bị chống trộm với app .
Điều khiển đóng mở thiết bị bằng mật khẩu hoặc thẻ RFID.
Kết hợp nhiều mô hình lại với nhau để mở rộng phạm vi và thiết bị điều khiển
Có thể xây dựng hệ thống mạng để quản lý thiết bị và hoạt động của hệ thống.

Page 25


×