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 đ
Trang 1B Ộ 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
Trang 2L Ờ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
Trang 3M ục Lục
I)Giới thiệu……….1
1) Tóm tắt nội dung 2) Mở đầu 3) Tìm hiểu công Nghệ không dây Bluetoot 4) 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
Trang 4I) 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 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
Trang 5II) 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
Trang 6B) 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
Bảo mật: Authentication and encryption
Giao tiếp: Bluetooth serial port
Nhiệt độ làm việc: -20 ~ 75 độ C
Trang 7 Độ 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
Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Đ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)
Trang 8Dòng tối đa trên mỗi chân I/O 30 mA
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
Trang 9 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ó 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Ω
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 →
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
Trang 10- 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
- 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 15-20mA để điều khiển Relay được tác động ở mức thấp (LOW)
Trang 11- 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
Ở đâ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ờ)
Trang 12III) 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ở
Trang 132) Sơ đồ giải thuật
A) Gi ải thuật trên Androi
Kết nối với module Bluetoot
Có Botton được chọn?
Ứ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
Trang 14B) Giải thuật trên Arduino
No
Yes
Nhận được “ký
tự” tự module Bluetoot
start
Kết nói serial port, khởi tạo giá trị USART, và định dạng biến
Thực hiện lệnh?
stop
Kết nối module bluetoot
và các thiết bị điện
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
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ị
Trang 15IV) Đ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ơ