TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
BÁO CÁO ĐỒ ÁN 2
THIẾT KẾ THIẾT BỊ THU THẬP DỮ LIỆU
NHIỆT ĐỘ VÀ ĐỘ ẨM TỪ XA
Nguyễn Quang Trung
Ngành KT Điều khiển & Tự động hóa
Chuyên ngành Kỹ thuật Đo và Tin học cơng nghiệp
Giảng viên hướng dẫn:
TS. Nguyễn Hồng Nam
Bộ mơn:
Viện:
Kỹ thuật Đo và Tin học công nghiệp
Điện
HÀ NỘI, 1/2022
1
BỘ GIÁO DỤC & ĐÀO TẠO
TRƯỜNG ĐH BÁCH KHOA HÀ NỘI
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do - Hạnh phúc
NHIỆM VỤ
ĐỒ ÁN 2
Họ và tên sinh viên: ...................................................................
Khóa…………
1. Tên đề tài:
Trường Điện-Điện tử
Ngành: KS ĐK &TĐH
……………………………………………………………………………
2. Nội dung đề tài:
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
3. Cán bộ hướng dẫn:
Phần
Họ tên cán bộ
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
4. Thời gian giao đề tài:.............................................
5. Thời gian hoàn thành:……………………………
Ngày...... tháng …...năm 2022
LÃNH ĐẠO BỘ MÔN
CÁN BỘ HƯỚNG DẪN
SINH VIÊN THỰC HIỆN
(Ký và ghi rõ họ tên)
2
LỜI MỞ ĐẦU
Ngày này trên thế giới nói chung và nước ta nói riêng, sự phát triển của
khoa học kỹ thuật đang diễn ra mạnh mẽ và toàn diện trên mọi lĩnh vực của đời
sống, hoạt động của xã hội lồi người. Cuộc cách mạng cơng nghiệp 4.0 đã tác
động tới mọi hoạt động sản xuất, sinh hoạt của con người, giúp cải tiến phương
thức sản xuất, nâng cao năng suất lao động, giúp cuộc sống trở nên văn minh
hơn. Các công việc thực hiện thủ công đang dần được thay thế bằng máy móc và
các thiết bị điện tử, trong đó có việc thu thập dữ liệu mơi trường ở nước ta – một
công việc mà trước đây thường được đo và lấy mẫu thủ công.
Từ những lý do nêu trên, với những kiến thức đã học được, em quyết định
thực hiện đề tài : Thiết kế thiết bị thu thập dữ liệu nhiệt độ và độ ẩm từ xa.
Thiết bị này có thể được phát triển và ứng dụng trong nhiều lĩnh vực cần đến
thông số môi trường như: trồng trọt, chăn nuôi, thời tiết, nhà thông minh… giúp
cuộc sống của con người trở lên tiện ích hơn.
Trong quá trình thực hiện đề tài này, do vốn kiến thức còn hạn chế cũng
như những yếu tố khách quan khác nên khơng tránh khỏi những thiếu sót. Vì thế
em rất mong có được sự đóng góp ý kiến, phê bình và hướng dẫn thêm từ thầy
giáo để em có thể hoàn thiện đề tài của minh.
Cuối cùng, em xin chân thành cảm ơn thầy giáo TS.Nguyễn Hoàng Nam
đã giúp đỡ em rất nhiều trong quá trình tìm hiểu, thiết kế và hoàn thành đồ án 2
này
Hà Nội, ngày tháng năm 2022
Sinh viên thực hiện
3
MỤC LỤC
LỜI MỞ ĐẦU .................................................................................................... 3
MỤC LỤC.......................................................................................................... 4
DANH MỤC HÌNH VẼ ..................................................................................... 5
CHƯƠNG 1. TỔNG QUAN ĐỀ TÀI ............................................................... 6
1.1
Giới thiệu về Arduino Uno....................................................................... 6
1.2
Giới thiệu module SIM800L .................................................................... 8
1.3
Giới thiệu về DS1307 .............................................................................. 9
1.4
Giới thiệu về cảm biến DHT22 .............................................................. 12
1.5
Giới thiệu về LCD 16x02 ....................................................................... 14
CHƯƠNG 2. THIẾT KẾ THIẾT BỊ .............................................................. 17
2.1
Nguyên lý hoạt động .............................................................................. 17
2.2
Sơ đồ khối của thiết bị ........................................................................... 17
2.2.1
MCU ....................................................................................... 18
2.2.2
Khối cảm biến ......................................................................... 18
2.2.3
Khối thời gian thực ................................................................. 20
2.2.4
Khối hiển thị ........................................................................... 21
2.2.5
Khối truyền thông ................................................................... 21
2.2.6
Khối nguồn ............................................................................. 22
CHƯƠNG 3. VẼ MẠCH PCB VÀ THIẾT KẾ HỘP .................................... 24
CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................ 29
4.1
Kết luận ................................................................................................. 29
4.2
Hướng phát triển .................................................................................... 29
TÀI LIỆU THAM KHẢO ............................................................................... 30
4
DANH MỤC HÌNH VẼ
Hình 1-1 Board Arduino Uno R3 ......................................................................... 6
Hình 1-2 Sơ đồ các chân của Arduino Uno R3 .................................................... 7
Hình 1-3 Vi điều khiển Atmega328P trên Arduino .............................................. 7
Hình 1-4 Sơ đồ các chân module SIM800L ......................................................... 8
Hình 1-5 IC DS1307 ............................................................................................ 9
Hình 1-6 Sơ đồ các chân của DS1307 ..................................................................9
Hình 1-7 Tổ chức bộ nhớ của DS1307 ............................................................... 10
Hình 1-8 Tổ chức các thanh ghi thời gian .......................................................... 11
Hình 1-9 Tổ chức của thanh ghi điều khiển ....................................................... 12
Hình 1-10 Cảm biến DHT11 ............................................................................. 12
Hình 1-11 Sơ đồ các chân của DHT22............................................................... 13
Hình 1-12 Cấu trúc bên trong của DHT22 ......................................................... 13
Hình 1-13 NTC Thermistor và đồ thị ................................................................. 14
Hình 1-14 Cấu trúc bến trong của cảm biến độ ẩm ............................................ 14
Hình 1-15 Màn hình LCD 16x02 ....................................................................... 15
Hình 2-1 Sơ đồ khối của thiết bị ........................................................................ 17
Hình 2-2 Sơ đồ kết nối của MCU ...................................................................... 18
Hình 2-3 Sơ đồ kết nối khối cảm biến ................................................................ 18
Hình 2-4 Bit 0 và bit 1 ....................................................................................... 20
Hình 2-5 Sơ đồ kết nối khối thời gian thực ........................................................ 20
Hình 2-6 Sơ đồ kết nối khối hiển thị .................................................................. 21
Hình 2-7 Sơ đồ kết nối khối truyền thơng .......................................................... 21
Hình 2-8 Module LM2596 ................................................................................. 22
Hình 2-9 Sơ đồ kết nối khối nguồn .................................................................... 22
Hình 2-10 18650 Battery Charge Shield Board V8 ............................................ 23
Hình 3-1 Mạch 2D............................................................................................. 24
Hình 3-2 Mặt trên của PCB ............................................................................... 25
Hình 3-3 Mặt dưới của PCB .............................................................................. 25
Hình 3-4 Mặt bên trên của hộp .......................................................................... 26
Hình 3-5 Hộp nhìn theo góc nghiêng ................................................................. 27
Hình 3-6 Mặt bên phải của hộp.......................................................................... 27
Hình 3-7 Mặt bên trái của hộp ........................................................................... 28
5
CHƯƠNG 1. TỔNG QUAN ĐỀ TÀI
Thiết bị được em thiết kế trong đề tài giúp cho việc đo lường giám sát
nhiệt độ, độ ẩm trở nên dễ dàng và tự động. Đề tài sử dụng các module và thiết bị
điện tử phổ biến rất dễ tiếp cận được trình bày bên dưới, như vậy sẽ hạ thấp giá
thành sản phẩm khi được hoàn thành và dễ dàng đến tay người dùng.
1.1 Giới thiệu về Arduino Uno
Arduino Uno là một board mạch vi điều khiển được phát triển bởi
Arduino.cc, một nền tảng điện tử mã nguồn mở chủ yếu dựa trên vi điều khiển
AVR Atmega328P. Phiên bản hiện tại của Arduino Uno R3 đang được sử dụng
rất phổ biến trên toàn thế giới
Hình 1-1 Board Arduino Uno R3
Cấu tạo của Arduino Uno gồm các thành phần chính sau:
- Cổng USB: đây là loại cổng giao tiếp để ta upload code từ máy tính 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à máy tính. Ta cũng có thể sử dụng nó làm cổng cấp nguồn với điện áp là 5V.
- Jack nguồn: đây cũng là một cổng cấp nguồn khác cho Arduino Uno với nguồn
vào thường từ 7V đến 12V.
- Có 14 chân digital đánh số từ 0 đến 13 dùng để đọc hoặc xuất tín hiệu. Chúng
có 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. Có 6
chân analog (từ A0 đến A5) cung cấp độ phân giải tín hiệu 10 bit (0 đến 210 -1)
để đọc điện áp trong khoảng 0V đến 5V. Ngồi ra cịn có các chân khác như 5V,
3.3V, Vin, RESET, IOREF, GND.
6
Hình 1-2 Sơ đồ các chân của Arduino Uno R3
- Vi điều khiển AVR ATmega328P đây là bộ xử lý trung tâm của tồn board
mạch. Ngồi ra cịn có thêm con chip Atmega16U2 (phiên bản chip dán sử dụng
CH340).
Hình 1-3 Vi điều khiển Atmega328P trên Arduino
Bảng 1-1 Thông số chi tiết của Arduino Uno R3
Vi điều khiển
ATmega328P (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ụ
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 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
7
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)
1.2 Giới thiệu module SIM800L
Hiện nay, với sự phủ sóng của Internet các thiết bị có thể dễ dàng truy cập
Internet thông qua Wifi, 3G/4G…Để thiết bị thu thập và giám sát nhiệt độ, độ ẩm
có thể truyền dữ liệu đi từ xa, em sử dụng module SIM800L.
Module SIM800L GSM / GPRS là một module GSM thu nhỏ, module này
để thực hiện hầu hết mọi thứ mà một chiếc điện thoại di động bình thường có thể
làm: tin nhắn văn bản SMS, thực hiện hoặc nhận các cuộc gọi điện thoại, kết nối
với internet thông qua GPRS (2G), TCP / IP,… Đặc tính nổi bật module là giá
thành thấp và kích thước nhỏ và hỗ trợ bốn băng tần, có nghĩa là nó hoạt động
được ở nhiều loại mạng khác nhau ở các quốc gia khác nhau trên thế giới.
Thông số kỹ thuật:
- Nguồn cấp: 3.4V đến 4.4V.
- Khe cắm sim: MICROSIM.
- Dòng hoạt động ở chế độ chờ: 10mA.
- Dòng khi hoạt động: 100mA đến 2A.
- Hỗ trợ 4 băng tần: GSM850, EGSM900, DSC1800, PCS1900 (MHz)
- Kích thước: 25mm x 22mm
Hình 1-4 Sơ đồ các chân module SIM800L
Chức năng các chân của module SIM800L:
- NET là chân kết nối với antena bên ngoài.
- Vcc là chân cấp nguồn cho module.
- GND là chân nối đất.
8
- Chân RST: chân reset sử dụng khi khởi động lại module.
- Chân TXD: chân truyền UART TX.
- Chân RXD: chân nhận UART RX.
- Chân DTR: chân UART DTR. Đặt chân này ở mức cao sẽ đưa module vào
trạng thái ngủ, disable giao tiếp UART. Kéo chân xuống mức thấp sẽ đánh thức
hoạt động của module.
- Chân RING: báo có cuộc gọi đến.
- Chân SPKP, SPKN: ngõ ra âm thanh, kết nối với loa để phát âm thanh.
- MICP, MICN: ngõ vao âm thanh, phải gắn thêm Micro để thu âm thanh.
1.3 Giới thiệu về DS1307
IC thời gian thực (RTC) DS1307 có chức năng cung cấp thơng tin thời
gian hiện tại (thời gian thực): giờ, phút, giây, thứ, ngày tháng, năm một cách
chính xác.
Hình 1-5 IC DS1307
Hình 1-6 Sơ đồ các chân của DS1307
9
Chức năng các chân của DS1307:
- X1 và X2 là đầu vào dao động cho DS1307
- Vbat là nguồn nuôi cho chip. Nguồn này từ ( 2V- 3.5V) ta lấy pin có nguồn 3V.
Đây là nguồn cho chip hoạt động liên tục khi khơng có nguồn Vcc mà DS1307
vẫn hoạt động theo thời gian.
- Vcc là nguồn cho giao tiếp I2C. Nếu mà Vcc khơng có mà Vbat có thì DS1307
vẫn hoạt động bình thường nhưng mà khơng ghi và đọc được dữ liệu.
- GND là nguồn nối đất chung cho cả Vcc và Vbat
- SQW/OUT là một ngõ ra phụ tạo xung dao động (xung vuông), tần số của xung
được tạo có thể được lập trình. Như vậy chân này hầu như không liên quan đến
chức năng của DS1307 là đồng hồ thời gian thực.
- SCL và SDA là hai bus dữ liệu của DS1307. Thông tin truyền và ghi đều được
truyền qua 2 đường truyền này theo chuẩn I2C
Thông số kỹ thuật:
- Điện áp cung cấp là 5V.
- X1 và X2 cần dao động thạch anh 32,768KHz.
- Dải nhiệt độ hoạt động: -40oC ~ 85oC.
- Khả năng thiết lập ngày đến năm 2100.
* Trong bộ nhớ của DS1307 có tất cả 64 thanh ghi địa chỉ từ 0 đến 63 bắt
đầu từ 0x00 đến 0x3F nhưng trong đó chỉ có 8 thanh ghi đầu là thanh ghi thời
gian thực cần được tìm hiểu kỹ.
Hình 1-7 Tổ chức bộ nhớ của DS1307
10
Hình 1-8 Tổ chức các thanh ghi thời gian
- Thanh ghi giây (0x00): từ bit 0 đến bit 3 là dùng để mã hóa số BCD hàng đơn
vị của giây. Tiếp theo từ bit 4 đến bit 6 dùng để mã hóa BCD hàng chục của giây
(chỉ cần sử dụng 3 bit này vì giây lớn nhất chỉ đến 59). Cịn bit thứ 7 có tên là
“CH” (Clock Halt – Treo đồng hồ), bit này được đưa lên 1 tức là khóa đồng hồvơ hiệu hố bộ dao động trong DS1307.
- Thanh ghi phút (0x01): được tổ chức tương tự như thanh ghi giây, chỉ khác bit
thứ 7 đã được mặc định bằng 0.
- Thanh ghi giờ (0x02): từ bit 0 đến bit 3 nó dùng để mã hóa BCD của chữ số
hàng đơn vị của giờ. Ở đây giờ được chia làm 2 chế độ 24h và 12h nên nó có bit
6 để phân chia. Nếu bit 6=0 thì ở chế độ 24h, do chữ số hàng chục lớn nhất là 2
nên nó chỉ dùng 2 bit (bit 4 và bit 5) để mã hóa BCD chữ số hàng chục của giờ.
Nếu bit 6 =1 thì ở chế độ 12h, do chữ số của hàng chục của giờ bằng 1 nên do đó
bit thứ 4 là đủ để mã hóa BCD, bit thứ 5 nó lại dùng để chỉ buổi sáng hay chiều,
nếu mà bit 5 = 0 là AM và bit 5 =1 là PM. Bit thứ 7 cũng được mặc định bằng 0.
- Thanh ghi thứ (0x03): nó dùng số để chỉ thứ trong tuần từ 1 đến 7 tương đương
từ thứ hai đến chủ nhật. Nên dùng 3 bit thấp (bit 0 đến bit 2) để mã hóa BCD
Cịn các bit từ 3 đến 7 được mặc định bằng 0.
- Thanh ghi ngày (0x04): do trong các tháng có số ngày khác nhau nằm trong
khoảng từ 1 đến 31 ngày. Dùng 4 bit thấp (bit 0 đến bit 3) dùng để mã hóa BCD
ra chữ số hàng đơn vị của ngày trong tháng. Chữ số hàng chục của ngày trong
tháng chỉ lớn nhất là 3 nên chỉ dùng bit 4 và bit 5 là đủ mã hóa BCD rồi. Cịn bit
6 và bit 7 đưọc mặc định bằng 0
- Thanh ghi tháng (0x05): 1 năm có 12 tháng, 4 bit thấp (từ bit 0 đến bit 3) mã
hóa BCD hàng đơn vị của tháng, bit thứ 4 để mã hóa BCD ra chữ số hàng chục.
11
Các bit còn lại được mặc định bằng 0
- Thanh ghi năm (0x06): DS1307 chỉ lưu trữ 100 năm nên tương đương với 00
đến 99 nên nó dùng tất cả các bit thấp và bit cao để mã hóa BCD.
- Thanh ghi điều khiển (0x07):
Hình 1-9 Tổ chức của thanh ghi điều khiển
+ OUT: lựa chọn mức logic xuất ra tại chân SQW/OUT khi chức năng
SQW khơng được kích hoạt (SQW = 0)
OUT = 1: xuất ra mức logic 1
OUT = 0: xuất ra mức logic 0
+ SQW = 1, cho phép tạo xung vuông ra trên chân SQW/OUT, tần số
xung vuông được thiết lập bởi RS0, RS1:
RS1
RS0
Tần số
0
0
1
1
0
1
0
1
1Hz
4.096KHz
8.192KHz
32.768KHz
1.4 Giới thiệu về cảm biến DHT22
Cảm biến nhiệt độ và độ ẩm DHT22 là cảm biến rất thông dụng hiện nay,
đây là phiên bản cải tiến hơn của DHT11 có thơng số kỹ thuật tốt hơn, lấy dữ liệu
thơng qua giao tiếp 1 wire (giao tiếp digital 1 dây truyền dữ liệu duy nhất). Cảm
biến được tích hợp bộ tiền xử lý tín hiệu giúp có được dữ liệu chính xác mà
khơng phải qua bất kỳ tính tốn nào.
Hình 1-10 Cảm biến DHT11
12
Thông số kỹ thuật của cảm biến DHT22:
- Điện áp hoạt động: 3.3 đến 5V.
- Dòng điện tiêu thụ: 2.5mA.
- Phạm vi cảm biến nhiệt độ: -40°C ~ 80°C, sai số ± 0.5°C.
- Phạm vi cảm biến độ ẩm: 0% - 100% RH, sai số 2 - 5% RH.
- Tần số lấy mẫu tối đa: 0.5Hz (tức là 2s lấy mẫu 1 lần).
- Kích thước: 27mm x 59mm x 13.5mm.
Hình 1-11 Sơ đồ các chân của DHT22
Chức năng các chân của DHT22:
- Vcc: chân cấp nguồn cho cảm biến.
- GND: chân nối đât.
- Data: chân đầu ra kỹ thuật số.
- N/C: khơng có chức năng gì hết (hiện đang để ngỏ cho thiết kế trong tương lai)
* Nguyên lý đo nhiệt độ và độ ẩm trong DHT11
Hình 1-12 Cấu trúc bên trong của DHT22
13
- Đo nhiệt độ: để đo nhiệt độ, DHT22 sử dụng cảm biến nhiệt điện trở NTC (hệ
số điện trở âm) được gắn trên bề mặt trong vỏ nhựa. Giá trị điện trở giảm khi
nhiệt độ tăng. Cảm biến này thường được làm bằng gốm bán dẫn hoặc polyme
giúp đo giá trị điện trở lớn hơn ngay cả khi nhiệt độ thay đổi nhỏ nhất.
Hình 1-13 NTC Thermistor và đồ thị
- Đo độ ẩm: đối với đo độ ẩm, nó sử dụng cảm biến độ ẩm điện dung , có hai
điện cực và vật liệu nền (thường là muối hoặc polyme nhựa dẫn điện) ở giữa. Các
ion được giải phóng bởi chất nền khi hơi nước bị nó hấp thụ, do đó làm tăng độ
dẫn điện giữa các điện cực. Sự thay đổi điện trở giữa hai điện cực tỷ lệ với độ ẩm
tương đối. Độ ẩm tương đối cao hơn làm giảm điện trở giữa các điện cực, trong
khi độ ẩm tương đối thấp hơn làm tăng điện trở giữa các điện cực.
Hình 1-14 Cấu trúc bến trong của cảm biến độ ẩm
1.5 Giới thiệu về LCD 16x02
Hiện nay, thiết bị hiển thị LCD16x02 đang được sử dụng khá là phổ biến,
nó có nhiều ưu điểm so với các dạng hiển thị khác như khả năng hiển thị kí tự đa
dạng (chữ, số, kí tự đồ họa); dễ dàng đưa vào mạch ứng dụng theo nhiều giao
thức giao tiếp khác nhau, tiêu tốn rất ít tài nguyên hệ thống, giá thành rẻ,…
Thông số kĩ thuật LCD 16x02:
14
- Hoạt động ổn định : 2.7-5.5V
- Dòng điện cấp nguồn : 350uA - 600uA
- Nhiệt độ hoạt động : - 30 - 75 độ C
Hình 1-15 Màn hình LCD 16x02
Bảng 1-2 Chức năng các chân của LCD
Chân
Chức năng
Ký hiệu
VSS
Chân nối đất cho LCD được nối với GND của mạch
điều khiển.
2
VDD
Chân cấp nguồn cho LCD, được nối với Vcc=5V của
mạch điều khiển.
3
VE
Điều chỉnh độ tương phản của LCD.
RS
Chân chọn thanh ghi (Register select). Nối chân RS với
logic “0” (GND) hoặc logic “1” (VCC) để chọn thanh
ghi.
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh
IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ
đếm địa chỉ của LCD (ở chế độ “đọc” - read)
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ
liệu DR bên trong LCD.
1
4
15
5
6
7 – 14
R/W
Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/W
với logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối
với logic “1” để LCD ở chế độ đọc.
E
Chân cho phép (Enable). Sau khi các tín hiệu được đặt
lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có
1 xung cho phép của chân E.
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển
vào(chấp nhận) thanh ghi bên trong nó khi phát hiện
một xung (high-to-low transition) của tín hiệu chân E.
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0DB7 khi phát hiện cạnh lên (low-to-high transition) ở
chân E và được LCD giữ ở bus đến khi nào chân E
xuống mức thấp.
Tám đường của bus dữ liệu dùng để trao đổi thông tin
với MCU. Có 2 chế độ sử dụng 8 đường bus này :
+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường,
DB0 – DB7
với bit MSB là bit DB7.
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ
DB4 tới DB7, bit MSB là DB7
15
A
Nguồn dương cho đèn nền.
16
K
Nguồn âm cho đèn nền.
16
CHƯƠNG 2. THIẾT KẾ THIẾT BỊ
2.1 Nguyên lý hoạt động
Để có thể hoạt động linh hoạt ở các nhiều địa điểm khác nhau, thiết bị
được cấp nguồn bởi pin. Khi hoạt động, cảm biến sẽ đo thông số nhiệt độ và độ
ẩm gửi về vi điều khiển xử lý, dữ liệu sẽ được đi kèm với thời gian từ khối thời
gian thực.
Sau khi vi điều khiển xử lý xong dữ liệu sẽ hiển thị ra bên ngồi thơng qua
khối hiển thị, đồng thời cũng gửi qua khối truyền thông để đưa lên máy chủ đám
mây ThingSpeak để phân tích và hiển thị giúp người dùng có thể theo dõi, giám
sát dữ liệu từ xa.
2.2 Sơ đồ khối của thiết bị
Hình 2-1 Sơ đồ khối của thiết bị
17
2.2.1
MCU
Hình 2-2 Sơ đồ kết nối của MCU
MCU ở đây sử dụng con vi xử lý AVR ATmega328. Là trung tâm điều
khiển hoạt động của toàn bộ thiết bị. Kết nối với các module làm các nhiệm vụ
như xử lý tín hiệu từ khối cảm biến và khối thời gian thực, gửi dữ liệu đã xử lý
tới khối hiển thị và khối truyền thơng.
2.2.2
Khối cảm biến
Hình 2-3 Sơ đồ kết nối khối cảm biến
Cảm biến đo nhiệt độ và độ ẩm được sử dụng là DHT22.
Dữ truyền về của DHT22 gồm 40 bit dữ liệu (5 byte). Trong đó:
- Byte 1: giá trị phần nguyên của độ ẩm.
18
- Byte 2: giá trị phần thập phân của độ ẩm.
- Byte 3: giá trị phần nguyên của nhiệt độ.
- Byte 4: giá trị phần thập phân của nhiệt độ.
- Byte 5 : kiểm tra tổng.
- Nếu byte 5 = (byte 1 + byte 2 + byte 3 + byte 4) thì giá trị nhiệt độ và độ ẩm là
chính xác, nếu sai thì kết quả đo khơng có nghĩa.
Ví dụ: vi xử lý nhận 40 bit dữ liệu từ DHT22
0011 0101 0000 0000 0001 1000 0000 0000 0100 1101
Tính toán:
8 bit checksum: 0011 0101 + 0000 0000 + 0001 1000 + 0000 0000 = 0100 1101
- Độ ẩm: 0011 0101 = 35H = 53%
- Nhiệt độ: 0001 1000 = 18H = 24°C
Khi bit nhiệt độ cao nhất là 1, có nghĩa là nhiệt độ dưới 0°C.
* Nguyên lý hoạt động: Vi xử lý gửi tín hiệu Start tới DHT22, sau đó cảm
biến sẽ xác nhận. Sau khi đã giao tiếp với DHT22, cảm biến sẽ gửi lại 5 byte dữ
liệu nhiệt độ và độ ẩm đo được.
- Bước 1: vi xử lý gửi tín hiệu Start
MCU thiết lập chân data là output, kéo chân data xuống 0 trong khoảng >
10ms để đảm bảo cảm biến phát hiện tín hiệu của MCU.
Sau đó MCU kéo chân data lên 1, và đợi 20 - 40us, DHT22 sẽ kéo chân
data xuống thấp. Nếu > 40us mà chân data không được kéo xuống thấp
nghĩa là không giao tiếp được với DHT22.
Chân data sẽ ở mức thấp 80us sau đó sẽ được kéo lên cao trong 80us.
Thông qua việc giám sát chân này, MCU có thể biết được có giao tiếp
được với DHT22 khơng. Nếu tín hiệu đo được là cao, khi đó hồn tất q
trình giao tiếp của MCU với DHT22.
- Bước 2: đọc giá trị dữ liệu trên DHT22.
Sau khi tiến hiệu được đưa về 0, ta đợi chân data của DHT22 được MCU
kéo lên 1. Nếu chân DATA là 1 trong khoảng 26 – 28 µs thì là bit 0, cịn
nếu tồn tại 70 µs là bit 1. Do đó trong lập trình ta bắt sườn của chân data,
sau đó delay 50 µs. Nếu giá trị đo được là 0 thì ta đọc được bit 0, nếu giá
trị đo được là 1 thì ta đọc được là bit 1. Cứ như thế đọc các bit tiếp theo.
19
Hình 2-4 Bit 0 và bit 1
2.2.3
Khối thời gian thực
Hình 2-5 Sơ đồ kết nối khối thời gian thực
Sử dụng IC DS1307 để làm khối thời gian thực, cung cấp thời gian cho
thiết bị. DS1307 giao tiếp với vi điều khiển thông qua giao tiếp I2C.
20
2.2.4
Khối hiển thị
Hình 2-6 Sơ đồ kết nối khối hiển thị
Sử màn hình LCD 16x02 để hiển thị thơng tin thời gian, thơng tin nhiệt độ
và độ ẩm.
2.2.5
Khối truyền thơng
Hình 2-7 Sơ đồ kết nối khối truyền thông
Khối truyền thông sử dụng module SIM800L để có thể truyền dữ liệu đi
lên ThingSpeak.
* ThingSpeak là một mã nguồn mở cho các ứng dụng của IoT (Internet of
Things). Với ThingSpeak, bạn có thể tạo ra các ứng dụng phân tích dữ liệu,
lưu trữ dữ liệu, quản lý dữ liệu một cách đơn giản.
Một điều cần lưu ý là module SIM800L yêu cầu điện áp từ 3.4V đến 4.4V.
Dòng hoạt động từ 100mA đến 2A tuỳ theo các chế độ hoạt động. Arduino cung
cấp điện áp 5V có thể gây hỏng, cịn điện áp 3.3V khơng thể cấp dịng tối đá q
100mA, module có thể khơng hoạt động. Để giải quyết vấn đề này em sử dụng
bộ chuyển đổi Buck dựa trên LM2596 để giảm áp nguồn 5V của Arduino.
21
Hình 2-8 Module LM2596
Khi cấp điện vào chân VIN, dịng điện sẽ được đưa qua các tụ lọc nhiễu,
sau đó được đưa qua IC LM2596. Thông qua biến trở điều chỉnh ngõ vào của
chân Feedback, IC sẽ tạo điện áp tương ứng phụ thuộc vào giá trị biến trở và đưa
điện áp ra chân Outputđưa ra ngồi.
Thơng số kỹ thuật của IC LM2596
- Điện áp đầu vào: 4.5V – 50V.
- Điện áp đầu ra: 3V – 30V.
- Dòng điện ngõ ra: max 3A.
- Dải nhiệt độ: -45°C đến 125°C.
2.2.6
Khối nguồn
Hình 2-9 Sơ đồ kết nối khối nguồn
22
Khối nguồn ta sử dụng phần nguồn của Arduino Uno R3. Nguồn được
cung cấp từ pin. Ta có thể sử dụng loại pin có tái sử dụng nhiều lần bằng cách sử
dụng bộ sạc để sạc lại nó.
Hình 2-10 18650 Battery Charge Shield Board V8
23
CHƯƠNG 3. VẼ MẠCH PCB VÀ THIẾT KẾ HỘP
Altium Designer trước kia có tên gọi quen thuộc là Protel DXP, là một
trong những công cụ vẽ mạch điện tử mạnh nhất hiện nay. Được phát triển bởi
hãng Altium Limited. Altium designer là một phần mềm chuyên nghành được sử
dụng trong thiết kế mạch điện tử. Nó là một phần mềm mạnh với nhiều tính năng
thú vị và khá được ưa chuộng ở Việt Nam.
Altium Designer cung cấp một ứng dụng kết hợp tất cả công nghệ và chức
năng cần thiết cho việc phát triển sản phẩm điện tử hoàn chỉnh, như thiết kế hệ
thống ở mức bo mạch và FPGA, phát triển phần mềm nhúng cho FPGA và các
bộ xử lý rời rạc, bố trí mạch in (PCB)… Altium Designer thống nhất tồn bộ các
q trình lại và cho phép bạn quản lý được mọi mặt quá trình phát triển hệ thống
trong mơi trường tích hợp duy nhất. Khả năng đó kết hợp với khả năng quản lý
dữ liệu thiết kế hiện đại cho phép người sử dụng Altium Designer tạo ra nhiều
hơn những sản phẩm điện tử thông minh, với chi phí sản phẩm thấp hơn và thời
gian phát triển ngắn hơn.
Từ những gì đã thực hiện bên trên em đã vẽ trên mạch PCB thơng qua
Altium.
Hình 3-1 Mạch 2D
24
Hình 3-2 Mặt trên của PCB
Hình 3-3 Mặt dưới của PCB
25