Professional Documents
Culture Documents
Automatic Water Level Warning System
Automatic Water Level Warning System
Automatic Water Level Warning System
HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
CHUYÊN NGÀNH ĐIỆN TỬ- VIỄN THÔNG
---------------o0o---------------
ĐỒ ÁN
HỆ THỐNG CẢNH BÁO MỰC NƯỚC VÀ CHẤT
LƯỢNG NƯỚC TRONG BỂ CHỨA
Ngày…….Tháng……..Năm……….
Lời cảm ơn GVHD: Nguyễn Lý Thiên Trường
Đồ án được hoàn thành đúng thời gian thời gian quy định, đầy đủ các
phần và đạt được kết quả mong muốn không chỉ là nỗ lực của riêng em mà còn
nhờ có sự hướng dẫn tận tình của thầy Nguyễn Lý Thiên Trường cũng như các
bạn sinh viên khác đã nỗ lực giúp đỡ em rất nhiều trong thời gian thực hiện đồ
án này.
Trong suốt quá trình thực hiện đề tài, mặc dù em đã rất cố gắng, thiếu sót
là điều không thể tránh khỏi. Hy vọng thầy bỏ qua 1 số sơ sót nhỏ và đưa ra
nhận xét thích hợp giúp cho đồ án của em có thể hoàn thiện hơn trong tương
lai.
Em xin cam đoan đồ án này là hoàn toàn là công sức và chất xám của em
cũng như dưới sự hướng dẫn của thầy Nguyễn Lý Thiên Trường, nếu như em
ăn cắp chất xám từ người khác để thực hiện đồ án này em xin chịu toàn bộ
trách nhiệm.
i
GVHD: Nguyễn Lý Thiên Trường
TÓM TẮT ĐỒ ÁN
Khoa học kĩ thuật ngày một phát triển kèm theo đó là nhu cầu sự dụng các
dụng cụ khoa học tiên tiến để phục vụ các hoạt động của con người và giúp họ
hoàn thành công việc một cách nhanh chóng hơn.
Với sự ra đời của và phát triển nhanh chóng của ngành điện tử đã tạo ra
hàng loạt dụng cụ điện tử hoạt động tiện lợi hơn, nhanh hơn, tiết kiệm năng
lượng hơn,…góp phần giúp cho các hoạt động của con người được hoàn thành
một cách nhanh chóng và chính xác hơn. Một trong số những thiết bị tạo ra đột
phá cho ngành điện tử thì không thể không kể đến các thiết bị có sử dụng cảm
biến siêu âm và điều khiển từ xa.
Từ đấy thầy Nguyễn Lý Thiên Trường đã giới thiệu cho em một đề tài rất
hay để em có thể thực hiện đó là: Hệ thống cảnh báo mực nước và chất lượng
nước trong bể chứa. Hệ thống sử dụng cảm biến âm thanh HC-SR04 để nhận
diện mực nước từ đó gửi qua vi điều khiển xử lý và được module truyền phát
uart HC-12 để gửi thông tin về bộ xử lý trung tâm thông qua module RF nhận,
từ đó bộ xử lý trung tâm sẽ xử lý và hiện thị mực nước và chất lượng nước cho
người dùng biết để vệ sinh.
ii
GVHD: Nguyễn Lý Thiên Trường
MỤC LỤC
1.Giới thiệu
1.1.Tổng quan………………………………………………………..8
1.2.nhiệm vụ đề tài……………………………………………………8
2,Lý thuyết
2.1. Cảm biến siêu âm HC-SR04
2.1.1. Giới thiệu HC-SR04……………………………………………8
2.1.2.Sơ đồ chân HC-SR04……………………………………………9
2.1.3.Tính toán khoảng cách…………………………………………..10
2.2. Vi điều khiển PIC 16F887
2.2.1.Giới thiệu PIC16F887……………………………………………10
2.2.2.Thông số của PIC16F887………………………………………….16
2.3. Module truyền nhận UART RF HC-12 433Mhz
2.3.1.Giới thiệu…………………………………………………………17
2.3.2.Cách kết nối với vi điều khiển…………………………………..19
2.4.Cảm biến độ đục
2.4.1.Giới thiệu…………………………………………………………20
2.4.2.Các thông số kĩ thuật………………………………………………21
3.Thiết kế phần cứng
3.1.Sơ đồ khối…………………………………………………………..22
3.2.Sơ đồ nguyên lý……………………………………………………..23
3.3.Layout……………………………………………………………….24
4.Thiết kế phần mềm
4.1.Sơ đồ giải thuật……………………………………………………25
4.2.Chương trình ………………………………………………………27
4.3.Kết quả…………………………………………………………….28
iii
GVHD: Nguyễn Lý Thiên Trường
5.Kết luận
5.1.Kết luận……………………………………………………………31
5.2.Hướng phát triển…………………………………………………..31
6.Tài liệu tham khảo
iv
GVHD: Nguyễn Lý Thiên Trường
v
GVHD: Nguyễn Lý Thiên Trường
1. GIỚI THIỆU
1.1 Tổng quan
“Hệ thống cảnh báo mực nước và chất lượng nước trong bể chứa” khai thác hai
công nghệ khiến em cực kì thích thú đó là cảm biến siêu âm và hệ thống truyền
tín hiệu từ xa thông qua module RF. Thông qua đề tài đồ án này em có thể hiểu
biết sâu hơn về hai công nghệ thú vị này và cũng như học được cách làm hoàn
chỉnh một mạch điện tử là như thế nào.
1.2Nhiệm vụ đề tài
Nội dung 1: Tìm hiểu nguyên lý, lý thuyết và cách thức hoạt động của các
linh kiện sử dụng trong đồ án
Nội dung 2: Vẽ sơ đồ khối của mạch từ đó vẽ schematic và layout cho
mạch.
Nội dung 3: Vẽ sơ đồ giải thuật cho chương trình từ đó viết chương trình
điều khiển hệ thống.
Nội dung 4: Hoàn thiện mạch thực tế và nạp chương trình.
Nội dung 5: Nếu mạch không chạy hoặc chạy không đúng như yêu cầu
thì cần xem lại mạch và chương trình, nếu mạch chạy tốt thì tối ưu hoá chương
trình.
2. LÝ THUYẾT
2.1. Cảm biến siêu âm HC-SR04
2.1.1.Giới thiệu HC-SR04
Cảm biến siêu âm được sử dụng rất nhiều trong các mạch ứng dụng điện
tử, trong các lĩnh vực thông thường như robot, mô hình hay đến những lĩnh
vực chuyên dụng như đo độ sâu, quét địa hình đáy biển, đo độ dày bê tông
trong xây dựng hoặc các ứng dụng trong quân sự….
1
GVHD: Nguyễn Lý Thiên Trường
Các thông số kỹ thuật của HC-SF04 được trình bày dưới đây:
Điện áp hoạt động: 5VDC
Dòng tiêu thụ: 10~40mA
Tín hiệu giao tiếp: TTL
Chân tín hiệu: Echo, Trigger.
Góc quét:<15 độ với lý thuyết (Trên thực tế thì khoảng 30 độ)
Tần số phát sóng: 40Khz
Khoảng cách đo được: 2~400cm (khoảng cách xa nhất đạt được ở điều
khiện lý tưởng với không gian trống và bề mặt vật thể bằng phẳng, trong
điều kiện bình thường cảm biến cho kết quả chính xác nhất ở khoảng cách
<100cm).
Sai số: 0,3 cm (khoảng cách càng gần, bề mặt vật thể càng phẳng sai số
càng nhỏ).
Kích thước: 43mm x 20mm x 17mm
2.1.2. Sơ đồ chân HC-SR04.
HC-SR04 có 4 chân:
2
GVHD: Nguyễn Lý Thiên Trường
Tốc độ âm thanh trong không khí là 344m/s (hằng số) tương đương 29 us/cm
(1/29 cm/us)
S=V*t/2 (do thời gian này tính cả đi và về)
s=
ν∗t
2 (cm)
Với t: thời gian sóng gửi đi và quay lại (micro second)
t
s= 29∗2 (cm)
PIC 16F887 là PIC thuộc họ PIC16XX với 1 số đặc điểm như sau:
-PIC16F887 là loại vi điều khiển 8-bit tầm trung của hãng microchip.
-PIC16F887 có kiến trúc havard, sử dụng kiểu tập lệnh RISC (Reduced
Instruction Set Computer) với chỉ 35 tập lệnh cơ bản.
-Tất cả các lệnh đều chỉ thực hiện trong 1 chu kì lệnh ngoại trừ lệnh rẽ
nhánh.
3
GVHD: Nguyễn Lý Thiên Trường
PIC16F887A có 40/44 chân với sự phân chia cấu trúc như sau:
Có 5 port xuất/nhập.
Có 14 kênh chuyển đổi A/D 10-bit.
Có 3 bộ định thời: timer0, timer1, timer2.
Có giao tiếp truyền nối tiếp theo: RS232, I2C …
Có giao tiếp LCD.
Có module capture, compare và điều chế xung PWM:
+ Có bộ capture 16 bit có thể đếm được xung với chu kỳ cao nhất
là 12,5ns.
+ Có bộ so sánh 16 bit có thể so sánh xung đếm với chu kỳ lớn
nhất là 200ns.
+ Có bộ điều chế xung PWM có thể lập trình với
tần số lớn nhất là 20kHz.
4
GVHD: Nguyễn Lý Thiên Trường
trình.
-RE3:xuấ t/nhậ p số
5
GVHD: Nguyễn Lý Thiên Trường
12 VSS Châ n nố i đấ t
6
GVHD: Nguyễn Lý Thiên Trường
7
GVHD: Nguyễn Lý Thiên Trường
31 VSS Châ n nố i đấ t
-RB1:Xuấ t/nhậ p số
-AN10:ngõ và o tương tự kênh 10
34 RB1/AN10/12IN3
-C12IN3:ngõ và o â m thứ 3 củ a bộ so sá nh C1
hoặ c C2
-Timer:
+timer0: bộ đếm 8 bit với bộ chia tần số 8 bit.
+timer1: bộ đếm 16 bit, có thể đếm dựa và xung clock ngoại
vi cả khi vi điều khiển ở chế độ sleep.
+timer2: bộ đếm 8 bit.
-2 bộ Capture/compare/PWM.
-Các chuẩn giao tiếp nối tiếp gồm: SSP( Synchronous Serial Port),
SPI (Serial Peripheral Bus), I2C (Inter-Intergrated circuit).
-Chuẩn giao tiếp nối tiếp USART
-Analog:
+Có 14 kênh ADC.
+ 2 bộ so sánh.
1 số tính năng khác của vi điều khiển PIC16F887:
-Có bộ nhớ flash với khả năng khi nhớ lên tới 100.000 lần.
-Dữ liệu của bộ nhớ EEPROM cho phép lập trình trên 1 triệu lần và có
thể lưu trữ lên tới 40 năm.
-Khả năng tự nạp chương trình qua phần mềm.
-Có khả năng nạp chương trình ngay trên mạch thông qua 2 chân hoặc
thông qua bộ nạp mạch chuyên dụng.
-Có bộ Watchdog timer với bộ dao động trong.
-Có chức năng bảo mật.
-Có nhiều dạng Oscillator khác nhau.
10
GVHD: Nguyễn Lý Thiên Trường
Tần số hoạt động: 433.4 - 473.0MHz công suất phát tối đa 100mW (có
thể cài đặt)
Kích thước: 27.8mm × 14.4mm × 4mm
Cài đặt mặc định: chế độ FU3, tốc độ 9600bps, kênh CH001 (433.4MHz)
11
GVHD: Nguyễn Lý Thiên Trường
GND Mass
VCC 5V
*Chú ý:
- Cả module truyền và nhận phải cùng cài đặt (tốc độ baud, kênh, địa chỉ ,…)
-Cần khai báo truyền nhận uart trong chương trình thì mới có thể sử dụng
được.
12
GVHD: Nguyễn Lý Thiên Trường
13
GVHD: Nguyễn Lý Thiên Trường
Khối nguồn
Khối hiển thị Khối điều khiển 1 Khối nhận tín hiệu
14
GVHD: Nguyễn Lý Thiên Trường
Khối nguồn
Khối truyền tín hiệu Khối điều khiển 2 Khối cảm biến
Khối nguồn: Có chức năng biến đổi nguồn điện DC 12V thành nguồn DC 5V
ổn định.
Khối truyền tín hiệu: Sử dụng module transmitter RF 433Mhz để truyền các
thông số nguồn nước trong bể chứa về cho mạch trong nhà.
Khối nhận tín hiệu: Sử dụng module receiver RF 433Mhz để nhận dữ liệu từ
module phát và gửi về cho khối điều khiển.
Khối cảm biến: Sử dụng sensor âm thanh HC-SR04 để tìm khoảng cách từ cảm
biến đến nguồn nước và từ đó tính toán % mực nước trong bể và gửi về cho
khối xử lý. Ngoài ra còn sử dụng cảm biện độ đục để tìm được độ được của
nước trong bể gửi về thành các mức điện áp thấp và cao.
Khối điều khiển 1:Dùng PIC 16F877A để nhận dữ liệu từ khối nhận tín hiệu và
xử lý để xuất ra khối hiện thị giúp người dùng dễ dàng quan sát hơn.
Khối hiển thị 2: Dùng PIC 16F877A để nhận thông tin từ khối cảm biến và xử
lý rồi truyền qua cho khối truyền tín hiệu gửi về cho mạch trong nhà.
Khối hiển thị: Hiển thị các dữ liệu từ cảm biến âm thanh và độ đục xuất ra màn
hình LCD.
15
GVHD: Nguyễn Lý Thiên Trường
16
GVHD: Nguyễn Lý Thiên Trường
3.3.Layout
Mạch trong nhà:
17
GVHD: Nguyễn Lý Thiên Trường
18
GVHD: Nguyễn Lý Thiên Trường
19
GVHD: Nguyễn Lý Thiên Trường
20
GVHD: Nguyễn Lý Thiên Trường
4.2.Chương trình:
//Mach gui tin hieu void main()
{
#include <16F887.h> SETUP_ADC(ADC_OFF);
#device ADC = 10 //ADC 10bit //khong xai ADC
#fuses INTRC_IO, NOMCLR, PUT, HS, SETUP_ADC_PORTS(NO_ANALOGS);
NOWDT, NOLVP, NOBROWNOUT setup_oscillator(OSC_8MHZ);
//dao dong RC noi. , NO_Masterclear, Power // dao dong noi 8Mhz
up timer, thach anh tren 4Mhz, NO_watch output_high(PIN_E0); //bat led bao nguon`
dog timer, khong reset khi Vdd duoi output_b(0); //tat het led
nguong~ cho phep set_tris_b(1); // chan B0 input
#use delay(clock = 8MHz) delay_ms(1000);
#use fast_io(B) Setup_timer_1(T1_internal | T1_div_by_2);
#use rs232(baud=9600, xmit=PIN_C6, // f=8/(4*2)=1Mhz --> 1us dem 1 xung
rcv=PIN_C7, bits=8, parity=N, errors) while(TRUE)
//khai bao uart {
int16 i, distance; do_duc();
// gui xung 10us den chan B1
int1 wait_sensor() output_high(PIN_B1);
//ham` con kiem tra sensor da~ nhan dc delay_us(10);
xung chua output_low(PIN_B1);
{ // Doc xung tu chan Echo(B0)
i = 0; if(wait_sensor())
set_timer1(0); // Reset timer1 {
while(!input(PIN_B0) && (i < 1000)) distance = get_distance();
i = get_timer1(); //luu gia tri vao bien i if(distance > 24990)
if(i > 990) //tren 400cm thi khoang cach co the do duoc
return 0; {
else delay_ms(1000);
return 1; }
} else
int16 get_distance() {
//ham` con lay gia tri khoang cach distance = i/58;
{ //Tinh khoang cach s=t/(29*2)
i = 0; if(distance <=5)
set_timer1(0); //>90% thi bat led B7 va tat motor
while(input(PIN_B0) && (i < 25000)) {
// duoi 400cm output_high(PIN_B7);
i = get_timer1(); output_low(PIN_B2);
return i; output_low(PIN_B3);
} output_low(PIN_B4);
output_low(PIN_B5);
output_low(PIN_B6);
output_low(PIN_D0);
putc('a');
void do_duc() //ham` con kiem tra do duc }
{ else if((distance >5) && (distance <=11))
if (input(PIN_C0)==0) //75-90% bat led B6
//la 0 thi nuoc duc {
{ output_high(PIN_C1); output_high(PIN_B6);
21
GVHD: Nguyễn Lý Thiên Trường
putc('g'); output_low(PIN_B2);
} output_low(PIN_B3);
else //la 1 thi la nuoc trong output_low(PIN_B4);
{ output_low(PIN_B5);
output_low(PIN_C1); output_low(PIN_B7);
putc('h'); putc('b');
} }
} else if((distance > 11) && (distance <=22))
//50-75% bat led B5
{
output_high(PIN_B5);
output_low(PIN_B2);
output_low(PIN_B3);
output_low(PIN_B4);
output_low(PIN_B6);
output_low(PIN_B7);
putc('c');
}
else if((distance >22) && (distance <=33))
//25-50% bat led B4
{
output_high(PIN_B4);
output_low(PIN_B2);
output_low(PIN_B3);
output_low(PIN_B5);
output_low(PIN_B6);
output_low(PIN_B7);
putc('d');
}
else if((distance >33) && (distance <=40))
//10-25% bat led B3
{
output_high(PIN_B3);
output_low(PIN_B2);
output_low(PIN_B4);
output_low(PIN_B5);
output_low(PIN_B6);
output_low(PIN_B7);
putc('e');
}
else //<10% bat led B2
{
output_high(PIN_B2);
output_low(PIN_B3);
output_low(PIN_B4);
output_low(PIN_B5);
output_low(PIN_B6);
output_low(PIN_B7);
output_high(PIN_D0);
putc('f');
}
22
GVHD: Nguyễn Lý Thiên Trường
}
}
}
delay_ms(100);
}
Kết quả:
24
GVHD: Nguyễn Lý Thiên Trường
5.Kết luận
5.1.Kết luận
Ưu điểm:
-Mạch đã thi công thành công, có thể ứng dụng vào thực tiễn.
-Giá thành không quá đắt đỏ.
-Hệ thống hoàn toàn tự động trong phần xử lý mực nước và bơm nước.
Nhược điểm :
-Hệ thống sẽ không hoạt động nếu bể chứa có độ sâu lớn hơn 400m , sai số của
cảm biến còn khá cao do giá thành rẻ không đảm bảo chất lượng.
-Mạch cần hoạt động ở những bình chứa lớn ( do góc quét của cảm biến rộng),
nếu bình chứa nhỏ sẽ gây ra tính toán sai khoảng cách.
-Hệ thống khá đơn giản.
-Mỗi lần thay đổi hình dáng bể chứa thì phải thay đổi giá trị trong phần mềm
(mã nguồn của hệ thống) để hệ thống tính toán chính xác.
5.2.Hướng phát triển
-Đề tài còn có nhiều hướng phát triển rộng. Ta có thể nâng cấp thành máy bơm
nước 2 chiều có thể bơm và xả nước theo yêu cầu, ngoài ra còn có thể kết hợp
thêm 1 cánh tay robot đảm nhiệm vai trò lau chùi và dọn dẹp bể chứa.
-Ngoài ra còn có thể thêm một module sim kết hợp với hệ thống giúp ta biết
được hoạt động của bể chứa ngay cả khi ở rất xa và có thể điều khiển hệ thống
một cách gián tiếp thông qua một chiếc điện thoại di động.
-Đề tài còn có thể sử dụng cho các mục đích đo khoảng cách và chất lượng ở
các nơi các không gian khác nhau.
25
GVHD: Nguyễn Lý Thiên Trường
26