Đ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
Tp.Hồ Chí Minh
Page 1
Đ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ể hồn thành
đồ án này.
Page 2
Đ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) Sơ đồ khối………………………………………….2
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
A) Động cơ bước………………………………...12
B) Mạch cầu H……………………………………13
2) Nguyên lý hoạt động……………………………..14
3) Mạch cầu HL298………………………………….15
4) Sơ đồ giải thuật điều khiển động cơ……………16
5) Giải thuật đóng cửa………………………………17
6) 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 3
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
I)
Page 4
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
II)Giới thiệu
1) 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 hồ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à hồ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 q 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.
Page 1
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
III) Thiết Kế Hệ Thống
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 2
Đ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.
Page 3
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
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
Độ 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
Page 4
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
Đ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
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
Page 5
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
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.
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ó ln 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
Page 6
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
-
-
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). Ngồ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 → 210-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.
Đặ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
Page 7
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
-
-
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 ...
Relay hiệu suất cao: 250VAC/10A; 30VDC/10A. Mỗi kênh chỉ cần dòng 1520mA để đ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.
E) 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
Page 8
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
Ở đâ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ờ) . .
IV)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.
Page 9
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
-
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 HC06 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ở.
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”
Đóng ứng
dụng
No
Chọn yes/no
Page 10
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
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
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
Nhận được “ký tự” tự module
Bluetoot
Kết nối
module
Page
11
bluetoot và các thiết bị
điện
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
No
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 12
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
V) Điều khiển động cơ
1) 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 13
Đ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 14
Đ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
Page 15
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
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 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 ngun 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 IN3-IN4, 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.
Page 16
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
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ài đặt UART tốc độ baud
9600; Cài đặt chân 3 Input
trở nội kéo lên nguồn, cài
đặt chân 4567 là Output
yes
Chân số 3==0
no
Điều khiển động có kéo
thanh trượt về
Đọc kí tự từ UART==’d’
yes
no
Đọc kí tự từ UART==’m’
yes
Điều khiển động
Page mở
17 cửa
Điều khiển động đóng cửa
Đ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ơ
Thốt khỏi hàm
Page 18
Đ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 19
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
VI) 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 đã hồ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 số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.
Page 20
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG
BLUETOOTH
-
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.
Tài liệu tham khảo
/>%C6%B0%E1%BB%9Bc
/> /> /> /> /> /> /> />%20NCKH/2015/T2015-68-Nguyen%20Van%20Hiep.pdf
Page 21