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

Mạch báo mực nước dùng PIC (có code và sơ đồ mạch)

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 (1.5 MB, 24 trang )

ĐỒ ÁN 1

Mạch Báo Mực Nước


Mục lục

MỞ ĐẦU.....................................................................................................8
CHƯƠNG 1. GIỚI THIỆU VỀ SRF04..................................................9
1.1.Giới thiệu về SRF04..................................................................9
1.2.Sơ đồ chân SRF04.....................................................................9
1.3.Nguyên lý hoạt động của SRF04..............................................10
1.4.Tính toán khoảng cách.............................................................11
CHƯƠNG 2. TỔNG QUAN VỀ HỌ VI ĐIỀU KHIỂN......................12
2.1 Giới thiệu vi điều khiển PIC16F877A......................................12
2.2. Một vài thông số về vi điều khiển PIC16F877A.....................16
CHƯƠNG 3. THIẾT BỊ PHỤ TRỢ.....................................................19
LCD 16x2 (HD44780)...................................................................19
CHƯƠNG 4. THIẾT KẾ.......................................................................21
Sơ đồ khối của hệ thống điều khiển.........................................21
Thiết kế phần cứng..................................................................21
4.2.1 Khối điều khiển...............................................................22
4.2.2. Khối hiển thị LCD............................................................23
Thiết kế phần mềm...................................................................24
Lưu đồ chương trình.................................................................24
Kết Luận.................................................................................................25
Hướng Phát Triển Đề Tài..................................................................25
PHỤ LỤC..................................................................................................26

Danh sách các hình ảnh



Hình 1.1: Hình ảnh SRF04.....................................................................9
Hình 1.2: Sơ đồ chân SRF04..................................................................9
Hình 1.3: Sơ đồ nguyên lý...................................................................10
Hình 2.1: Sơ đồ chân và hình dạng của PIC 16F877A...............12
Hình 2.2: Cấu trúc bên trong của PIC 16F877A...........................17
Hình 3.1: Hình ảnh LCD 16x2.............................................................19
Hình 4.1: Sơ đồ khối của hệ thống điều khiển.........................21
Hình 4.2: Mô phỏng khối nguồn 5V.................................................22
Hình 4.3: Mô phỏng của PIC6F877A...............................................22
Hình 4.4: Mô phỏng khối cảm biến SRF04...................................23
Hình 4.5: Mô phỏng khối hiển thị LCD...........................................23
Hình 4.6: Lưu đồ chương trình........................................................24
Hình 4.7: Mạch in cảnh báo mực nước..........................................24


Danh sách các bảng:

Bảng 2.1: Chức năng các chân vi điều khiển PIC16F877A......13
Bảng 3.1: Chức năng chân LCD 16x2..............................................19


MỞ ĐẦU
Tính cần thiết của đề tài: Ngày nay, với sự phát triển mạnh mẽ của
khoa học kỹ thuật hiện đại, việc điều khiển các thiết bị điện tử từ đơn
giản đến phức tạp đã không còn quá khó khăn. Trong thực tế yêu cầu về
đo mức chất lỏng xuất hiện trong nhiều lĩnh vực:
 Sản xuất nông nghiệp: đảm bảo lượng nước tưới tiêu cho cây
trồng, đảm bảo lượng nước trong các bể hồ nuôi thủy sản .
 Đo mức xăng dầu trong khai thác dầu khí.

 Khống chế mức nước trong thủy điện, nhiệt điện.
 Đo mức chất lỏng trong các phòng thí nghiệm, xét nghiệm .
Ý nghĩa khoa học và thực tiễn của đề tài: Tùy theo yêu cầu độ chính
xác về mức chất lỏng trong từng ứng dụng mà lựa chọn các loại cảm biến
khác nhau. Có nhiều phương pháp đo mức: thổi bọt khí, chênh áp, đo l ực
căng, phao nổi, công tắc khoảng hở, loadcell, độ dẫn điện, h ạt nhân, radar,
RF Admittance, siêu âm, sóng viba…. Phổ biến là hai loại cảm biến siêu
âm, cảm biên áp suất:
Các cảm biến này biến các đại lượng vật lý thành tín hiệu analog, tín
hiệu điện được đưa về các bộ điều khiển, các bộ điều khiển này tính toán
và đưa ra được chiều cao mức nước trong thực tế. Lợi ích lớn nh ất c ủa
công nghệ đo mức nước thông qua môi trường khí siêu âm, rada và laze là
những thiết bị đo không tiếp xúc với bề mặt vật cần đo nh ằm t ạo ra
nhưng tín hiệu phản hồi về cảm biến. Điều này giải thích tại sao ch ất
lượng không khí giữa bề mặt chất lỏng cần luôn được tính đến khi s ản
xuất và lắp đặt cảm biến vì mọi nhiễu loạn về tín hiệu sẽ góp ph ần vào
sai số của phép đo.
Như vậy, cảm biến đo mức dùng siêu âm là một giải pháp phù h ợp
cho những đối tượng với những yêu cầu về hình dạng, môi trường ổn định
và có thể biết trước.
Đối tượng nghiên cứu
- Cảm biến siêu âm SRF04.
- Tổng quan về vi điều khiển PIC16F877A.
Phương pháp và nội dung nghiên cứu.
- Nghiên cứu, tìm hiểu về cảm biến siêu âm SRF04.
- Nghiên cứu, xây dựng chương trình cho vi điều khiển


PIC16F877A thực hiện việc điều khiển SRF04 để đo mực
nước xuất ra màn hình LCD.


CHƯƠNG 1. GIỚI THIỆU VỀ SRF04
1.1. Giới thiệu về SRF04

Cảm biến siêu âm là một trong những cảm biến được ứng dụng
nhiều nhấ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ự….

Hình 1.1: Hình ảnh SRF04
Các thông số kỹ thuật của SRF04 được trình bày dưới đây:
1. Điện áp: DC 5V
2. Dòng điện: 2mA
3. Output level: 5V
4. Góc cảm ứng: không quá 15 độ
5. Phát hiện khoảng cách: 2cm-450cm
6. Độ chính xác cao: lên đến 0.3cm

1.2. Sơ đồ chân SRF04.
SRF04 có 4 chân:


Hình 1.2: Sơ đồ chân SRF04.
SRF04 có 4 chân, bao gồm: VCC, Trigger, Echo và GND. (SRF05 thì có
thêm chân Out)
1. VCC: Chân cấp nguồn 5V.
2. GND: Chân nối mass (0V)
3. Trigger: Chân kích phát sóng siêu âm (ở chế độ 1). Ở chế độ 2
thì chân. Trigger vừa là chân kích vừa là chân báo tín hiệu ph ản xạ
của sóng siêu âm.

4. Echo: Chân báo có tín hiệu phản xạ của sóng siêu âm

1.3. Nguyên lý hoạt động của SRF04.
Đầu tiên là sơ đồ nguyên lý:

Hình 1.3: Sơ đồ nguyên lý
Cấu tạo của nó gồm 3 phần:
1. Phần phát tín hiệu
Các đầu phát và đầu thu siêu âm là các loa g ốm đ ược ch ế t ạo đ ặc bi ệt,
hoạt động phát siêu âm có cường độ cao nhất ở một tần số nào đó
( thường là 40kHz cho các ứng dụng đo khoảng cách). Các loa này c ần có
nguồn tín hiệu điều khiển có điện áp cao mới phát tốt được (theo
datasheet thì là ~ 30V). Chính vì vậy trong ph ần phát, ph ần đ ệm công su ất
sử dụng một con MAX232 làm nhiệm vụ đệm. Nó sẽ lấy tín hiệu từ bộ
điều khiển, khuếch đại biên độ lên +/-30V cung cấp cho loa gốm.
Để tiết kiệm nguồn cho module cảm biến, phần cấp điện cho MAX232
được điều khiển thông qua một trans PNP, khi không hoạt động, bộ điều
khiển sẽ làm cho trans này ngưng dẫn, hạn chế tiêu thụ dòng.


2. Phần thu tín hiệu
Khi loa gốm làm đầu thu ( loa này được chế tạo ch ỉ nh ạy v ới m ột t ần
số nào đó- 40KHz) thu được sóng siêu âm, nó sẽ phát ra một điện thế giữa
hai cực. Điện thế này là rất nhỏ, vì vậy nó được đ ưa qua m ột OPAM, ở đây
là TL072 ( Một số module sự dụng LM324,...). Tín hiệu này liên t ục đ ược
khuếch đại biên độ và cuối cùng là đưa qua một bộ so sánh, kết h ợp v ới
tín hiệu từ bộ điều khiển để đưa về bộ điều khiển thông qua một trans
NPN
3. Phần xử lý, điều khiển
Phần xử lý, điều khiển thường sử dụng m ột vi điều khi ển (PIC16F688,

STC11,...) làm nhiệm vụ phát xung, xử lý tính toán th ời gian t ừ khi phát đ ến
khi thu được sóng siêu âm do nó phát ra nếu nhận được tín hiệu TRIG.
Đến đây thì nguyên lý hoạt động thông thường của cảm biến này ( c ấp
xung TRIG, chờ đo độ rộng xung ECHO để tính toán th ời gian,....)

1.4.Tính toán khoảng cách.

Giản đồ định thời trên SRF04 thể hiện ở hai chế đ ộ trên. Ch ỉ c ần cung
cấp một đoạn xung ngắn 10us kích hoạt vào chế độ bắt đầu đo khoảng
cách . Các chân SRF04 sẽ cho ra môt chu kỳ 8 xung nhịp của siêu âm ở
40Khz và tăng cao dòng phản hồi của nó (hoặc chế độ kích 2 dòng). Sau đó
chờ phản hồi, và sau khi phát hiện vật cản nó sẽ giảm dòng ph ản h ồi l ại.
Dòng phản hồi là một xung có chiều rộng tỷ lệ với khoảng cách đ ến đ ối
tượng . Bằng cách đo xung ta hoàn toàn có th ể tính toán kho ảng cách theo
cm/inch hoặc đơn vị khác. Nếu không phát hiện thấy vật cản thì SRF04
giảm thấp hơn dòng phản hồi của nó sau khoảng 30ms.
SRF04 có thể đươc kích hoạt nhanh chóng với mỗi 50ms , ho ặc 20 l ần
mỗi giây. Bạn nên chờ 50ms trước khi kích hoạt kế tiếp, ngay cả khi SRF04
phát hiện một đối tượng ở gần và xung phản hồi ngắn h ơn. Đi ều này là đ ể
đảm bảo các siêu âm “beep” đã phai mờ và sẽ không gây ra sai ở ph ản h ồi
lần đo kế tiếp.


CHƯƠNG 2. TỔNG QUAN VỀ HỌ VI ĐIỀU KHIỂN
2.1 Giới thiệu vi điều khiển PIC16F877A.
PIC16F877A là PIC trong họ PIC16XX, họ vi điều khiển 8-bit, tiêu hao
năng lượng thấp, đáp ứng nhanh, chế tạo theo công nghệ CMOS, ch ống
tĩnh điện tuyệt đối.
PIC16F877A có nhiều tính năng đặc biệt làm giảm thiểu các thiết bị
ngoại vi, vì vậy kinh tế cao, có hệ thống nổi bật đáng tin c ậy và s ự tiêu th ụ

năng lượng thấp. Ở đây có 4 sự lựa chọn bộ dao dộng và ch ỉ có 1 chân k ết
nối bộ dao động RC nên có giải pháp tiết kiệm cao. Chế đ ộ Sleep ti ết ki ệm
nguồn và có thể được đánh thức bởi các nguồn reset.
PIC16F877A 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ó 8 kênh chuyển đổi A/D 10-bit.
 Có 2 bộ PWM.
 Có 3 bộ định thời: Timer0, timer1 và timer2.
 Có giao tiếp truyền nối tiếp: chuẩn RS 232, I2C…
 Có giao tiếp LCD.

Hình 2.1: Sơ đồ chân và hình dạng của PIC 16F877A.


Chức năng các chân:
Châ

Tên

Chức năng

n
1
2
3
4

5

6


7

8

9

10

: Hoạt động Reset ở mức thấp
- VPP : ngõ vào áp lập trình
- RA0 : xuất/nhập số
RA0/AN0
- AN0 : ngõ vào tương tự
- RA1 : xuất/nhập số
RA1/AN1
- AN1 : ngõ vào tương tự
- RA2 : xuất/nhập số
RA2/AN2/VREF-/CV - AN2 : ngõ vào tương tự
REF
- VREF -: ngõ vào điện áp chuẩn (thấp) của
bộ A/D
- RA3 : xuất/nhập số
RA3/AN3/VREF+
- AN3 : ngõ vào tương tự
- VREF+ : ngõ vào điện áp chuẩn (cao) của
bộ A/D
- RA4 : xuất/nhập số
RA4/TOCKI/C1OU - TOCKI : ngõ vào xung clock bên ngoài cho
T

timer0
- C1 OUT : Ngõ ra bộ so sánh 1
- RA5 : xuất/nhập số
RA5/AN4/
- AN4 : ngõ vào tương tự 4
/C2OUT
- SS : ngõ vào chọn lựa SPI phụ
- C2 OUT : ngõ ra bộ so sánh 2
- RE0 : xuất nhập số
RE0/ /AN5
- RD : điều khiển việc đọc ở port nhánh
song song
- AN5 : ngõ vào tương tự
- RE1 : xuất/nhập số
RE1/
/AN6
- WR : điều khiển việc ghi ở port nhánh
song song
- AN6 : ngõ vào tương tự
- RE2 : xuất/nhập số
RE2/ /AN7
- CS : Chip lựa chọn sự điều khiển ở port
nhánh song song
- AN7 : ngõ vào tương tự
/VPP


11

VDD


12

VSS

13

OSC1/CLKI

14

OSC2/CLKO

15

RC0/T1
OCO/T1CKI

16

RC1/T1OSI/CCP2

17

RC2/CCP1

18

RC3/SCK/SCL


19

RD0/PSP0

20

RD1/PSP1

Chân nguồn của PIC.
Chân nối đất
Ngõ vào dao động thạch anh hoặc xung
clock bên ngoài.
- OSC1: ngõ vào dao động thạch anh hoặc
xung clock bên ngoài. Ngõ vào Schmit
trigger khi được cấu tạo ở chế độ RC;
một cách khác của CMOS.
- CLKI: ngõ vào nguồn xung bên ngoài.
Luôn được kết hợp với chức năng OSC1.
Ngõ vào dao động thạch anh hoặc xung
clock
- OSC2: Ngõ ra dao động thạch anh. Kết
nối đến thạch anh hoặc bộ cộng hưởng.
- CLKO: ở chế độ RC, ngõ ra của OSC2,
bằng tần số của OSC1 và chỉ ra tốc độ
của chu kỳ lệnh.
- RC0 : xuất/nhập số
- T1OCO : ngõ vào bộ dao động Timer 1
- T1CKI : ngõ vào xung clock bên ngoài
Timer 1
- RC1 : xuất/nhập số

- T1OSI : ngõ vào bộ dao động Timer 1
- CCP2 : ngõ vào Capture 2, ngõ ra compare
2, ngõ ra PWM2
- RC2 : xuất/nhập số
- CCP1 : ngõ vào Capture 1, ngõ ra compare
1, ngõ ra PWM1
- RC3 : xuất/nhập số
- SCK : ngõ vào xung clock nối tiếp đồng
bộ/ngõ ra của chế độ SPI
- SCL : ngõ vào xung clock nối tiếp đồng
bộ/ ngõ ra của chế độ I2C
- RD0 : xuất/nhập số
- PSP0 : dữ liệu port nhánh song song
- RD1 : xuất/nhập số
- PSP1 : dữ liệu port nhánh song song


21

RD2/PSP2

22

RD3/PSP3

23

RC4/SDI/SDA

24


RC5/SDO

25

RC6/TX/CK

26

RC7/RX/DT

27

RD4/PSP

28

RD5/PSP5

29

RD6/PSP6

30

RD7/PSP7

31

VSS


32

VDD

33

RB0/INT

34

RB1

35

RB2

36

RB3

37

RB4

38

RB5

39


RB6/PGC

- RD2 : xuất/nhập số
- PSP2 : dữ liệu port nhánh song song
- RD3: xuất/nhập số
- PSP3 : dữ liệu port nhánh song song
- RC4 : xuất/nhập số
- SDI : dữ liệu vào SPI
- SDA : xuất/nhập dữ liệu vào I2C
- RC5 : xuất/nhập số
- SDO : dữ liệu ra SPI
- RC6 : xuất/nhập số
- TX : truyền bất đồng bộ USART
- CK : xung đồng bộ USART
- RC7 : xuất/nhập số
- RX : nhận bất đồng USART
- DT : dữ liệu đồng bộ USART
- RD4: xuất/nhập số
- PSP4 : dữ liệu port nhánh song song
- RD5: xuất/nhập số
- PSP5 : dữ liệu port nhánh song song
- RD6: xuất/nhập số
- PSP6 : dữ liệu port nhánh song song
- RD7: xuất/nhập số
- PSP7 : dữ liệu port nhánh song song
Chân nối đất
Chân nguồn của PIC.
- RB0 : xuất/nhập số
- INT : ngắt ngoài

Xuất/nhập số
Xuất/nhập số
- RB3 : xuất/nhập số
- Chân cho phép lập trình điện áp thấp
ICPS
- Xuất/nhập số
- Ngắt PortB
- Xuất/nhập số
- Ngắt PortB
- RB6 : xuất/nhập số


40

RB7/PGD

- PGC : mạch vi sai và xung clock lập trình
ICSP
- Ngắt PortB
- RB7 : xuất/nhập số
- PGD : mạch vi sai và dữ liệu lập trình
ICSP
- Ngắt PortB

Bảng 2.1: Chức năng các chân vi điều khiển PIC16F877A.
2.2. Một vài thông số về vi điều khiển PIC16F877A.
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có
độ dài 14 bit. Mỗi lệnh đều được thực thi trong một chu kỳ xung clock. Tốc
độ hoạt động tối đa cho phép là 20 MHz với một chu kỳ l ệnh là 200ns. B ộ
nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nh ớ d ữ

liệu EEPROM với dung lượng 256x8 byte. Số PORT I/O là 5 v ới 33 pin I/O.
Các đặc tính ngoại vi bao gồm các khối chức năng sau:
 Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit.
 Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện ch ức
năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khi ển hoạt
động ở chế độ sleep.
 Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler.
 Hai bộ Capture/so sánh/điều chế độ rông xung.
 Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và
I2C.
 Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ.
 Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều
khiển RD, WR, CS ở bên ngoài.
Các đặc tính Analog:
 8 kênh chuyển đổi ADC 10 bit.
 Hai bộ so sánh.
Bên cạnh đó là một vài đặc tính khác của vi điều khiển nh ư:


 Bộ nhớ flash với khả năng ghi xóa được 100.000 lần.
 Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm.
 Khả năng tự nạp chương trình với sự điều khiển của phần mềm.
 Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial
Programming) thông qua 2 chân.
 Watchdog Timer với bộ dao động trong.
 Chức năng bảo mật mã chương trình.
 Chế độ Sleep.
 Có thể hoạt động với nhiều dạng Oscillator khác nhau.

Hình 2.2: Cấu trúc bên trong của PIC 16F877A.

Vi điều khiển PIC có kiến trúc Harvard, trong đó CPU truy cập ch ương
trình và dữ liệu được trên hai bus riêng biệt, nên làm tăng đáng kể băng
thông so với kiến trúc Von Neumann trong đó CPU truy cập ch ương trình
và dữ liệu trên cùng một bus.Việc tách riêng bộ nhớ chương trình và bộ


nhớ dữ liệu cho phép số bit của từ lệnh có thể khác với số bit của d ữ
liệu.Ở PIC16F877A, từ lệnh dài 14 bit, từ dữ liệu 8 bit. PIC16F877A ch ứa
một bộ ALU 8 bit và thanh ghi làm việc WR (working register). ALU là đ ơn
vị tính toán số học và logic, nó thực hiện các phép tình số và đại s ố Boole
trên thanh ghi làm việc WR và các thanh ghi dữ liệu. ALU có th ể th ực hi ện
các phép cộng, trừ, dịch bit và các phép toán logic.

CHƯƠNG 3. THIẾT BỊ PHỤ TRỢ.
LCD 16x2 (HD44780).
Khối hiển thị sử dụng trong đồ án là LCD16x2. Trong các ứng dụng
thực tế thì LCD giúp cho việc giao tiếp giữa người và thiết bị trở nên trực
quan và dễ dàng hơn. Trong đồ án này, LCD 16x2 được dùng để hiện thị
các thông tin cần thiết như báo có tin nhắn mới, báo trạng thái các thiết
bị hay các chỉ thị xóa tin nhắn, hiện số điện thoại nhắn tin.
Mạch sử dụng biến trở có đầu ra nối với chân số 3 của LCD để điều
chỉnh độ tương phản của LCD.
Mặc dù LCD có 8 chân để truyền nhận dữ liệu tuy nhiên trên thực
tế người ta thường chỉ dùng đến 4 chân từ D4-D7 để tiết kiệm chân cho
vi điều khiển [5].

Hình 3.1: Hình ảnh LCD 16x2.
Chức năng của từng chân được thể hiện trong bảng 3.1
Chân số Ký hiệu


Mức logic

I/O

Chức
năng


1

Vss

-

-

Nguồn cung cấp(GND)

2

Vdd

-

-

Nguồn cung cấp(+5V)

3


Vee

-

I

Điện áp để điều chỉnh độ
tương

4

RS

0/
1

I

5

R/W

0/
1

0= Thanh ghi lệnh
1= Thanh ghi dữ liệu

I


0= Ghi vào LCD
1= Đọc từ LCD
0= Không cho LCD hoạt động

6

E

1,1→0

I

1= Cho phép hoạt động

0/
1
0/
1
0/
1
0/
1
0/
1
0/
1
0/

I/O


Từ 1 xuống 0: bắt đầu đọc/ghi
Data bus line 0(LSB)

I/O

Data bus line1

I/O

Data bus line2

I/O

Data bus line3

I/O

Data bus line4

I/O

Data bus line5

I/O

Data bus line6

I/O

Data bus line7(MSB)


Vcc

1
0/
1-

-

Nguồn cung cấp đèn LED nền

GND

-

-

Mass

7

DB1

8

DB2

9

DB3


10

DB4

11

DB5

12

DB6

13

DB7

14

DB8

15
16

Bảng 3.1: Chức năng chân LCD 16x2.


CHƯƠNG 4. THIẾT KẾ.
Sơ đồ khối của hệ thống điều khiển
Sơ đồ khối hoạt động của hệ thống cảnh báo mực nước sử dụng

cảm biến siêu âm như sau: Khối nguồn, kh ối đ ầu vào, kh ối đi ều khi ển,
khối hiển thị.

Khối nguồn

Khối hiển thị
(LCD)

Khối điều khiển
(vi điều khiển)

Khối đầu vào
(khối cảm biến)

Hình 4.1: Sơ đồ khối của hệ thống điều khiển.
Khối nguồn: có chức năng biến đổi dòng xoay chiều 12v thành
dòng 1 chiều cung cấp cho các kh ối ho ạt đ ộng.
Khối điều khiển: Có chứa vi điều khiển PIC16F877A. Nhận tín
hiệu từ các khối cảm biến đưa về cho hiển thị trên LCD, con cảm bi ến
siêu âm sẽ phát đi 1 tín hiệu xung và đo được th ời gian tín hiệu nh ận v ề
trên SRF04 và xuất hiển thị trên LCD.
Khối hiển thị: hiển thị số liệu từ con cảm biến siêu âm xuất ra
màn hình LCD
Thiết kế phần cứng
Trong phần này sẽ giới thiệu từng phần của mạch báo mực
nước sử dụng cảm biến siêu âm SRF04 hiên thị lên màn hình LCD. Khối
điều khiển và khối công suất.


4.2.1 Khối điều khiển.

Khối điều khiển bao gồm PIC16F877A, k h ố i nguồn cung cấp 5V.
Khối nguồn 5V:
Khối nguồn 5V sử dụng IC ổn áp LM7805. Sơ đồ mắc được thể hiện như
trong hình 4.5 dưới đây.
Dùng IC 7805 để được nguồn điện 5V để cung cấp cho vi điều khiển và
toàn mạch.
Trong đồ án sử dụng LM7805 này vì nó là thiết bị phổ thông, được dùng
trong hầu hết các mạch điện tử, ổn định nguồn cung cấp cho mạch và dễ
sử dụng.

+12V

U5
7805

1N4007

C1
0.1mF

JACK-DC-

3

A

VO

D11


C3

LED-NGUON

0.1mF

C2
1000mF

Hình 4.2: Mô phỏng khối nguồn 5V.
Khối PIC16F877A.

K

+

VI

330 R22

J6

1

K

GND

A


2

D2


Hình 4.3: Mô phỏng của PIC6F877A.
Khối cảm biến: Có nhiệm vụ phát và thu hồi sóng âm từ đó tính toán
khoảng cách.

Hình 4.4: Mô
phỏng khối cảm
biến SRF04

xuất ra màn hình hiển thị.

4.2.2. Khối hiển thị
LCD.
Có chứa LCD, thông
tin được đưa từ
khối điều khiển

Hình 4.5: Mô phỏng khối hiển thị LCD.


Thiết kế phần mềm

Lưu đồ chương trình:

Hình 4.6: Lưu đồ chương trình.


Mạch In:

Hình 4.7: Mạch in cảnh báo mực nước


Kết Luận
Sau khi được giao đề tài đồ án, em đã tiến hành nghiên cứu lý
thuyết cũng như xây dựng, thiết kế. các kết quả đã đạt được:
- Củng cố các kiến thức đã thu nhận được trong suốt quá trình học
tậ p .
- Hiểu rõ về cách thu phát tín hiệu của con c ảm bi ến siêu âm.
- Đã tiến hành thử nghiệm đo mực nước và đã cho được kết quả như
ý tưởng đề tài.

Hướng Phát Triển Đề Tài
Đề tài “ Cảnh báo mực nước” được dựa trên mô hình thí nghiệm. Đ ể đ ưa
đề tài này vào trong thực tiễn đời sống và sản xuất thì cần phải nâng cấp
và mở rộng hơn nữa. Chẳng hạn, đối với các bình ch ứa ch ất l ỏng c ỡ l ớn,
các cơ cấu bơm xã lớn với tần suất liên tục thì cần phải nâng cấp h ệ th ống
bơm cho phù hợp, thay cảm biên siêu âm tầm đo lớn và rộng h ơn.
Hệ thống chỉ mới đáp ứng được yêu câu đo mực chất lỏng, ch ứ ch ưa
hoàn toàn điều khiển được mực chất lỏng. Do đó trong tương lai nếu có
thể chúng ta nên kết hơp các phương pháp, các thuật toán lại v ới nhau đ ể
hệ thống có thể đáp ứng được việc để ta có thể chủ động điều khi ển hoàn
toàn mực nước như ta mong muốn.
Ngoài ra, dựa vào tầm đo và khả năng hoạt động, chúng ta có th ể phát
triển thành các đề tài khác như hệ thống ổn định lò nhiệt, hệ thông ổn
định áp suất.



PHỤ LỤC CODE CHƯƠNG TRÌNH
#DEFINE
#DEFINE

TRIGGER PIN_A0
ECHO
PIN_A1

FLOAT KCSA, KCSB;
UNSIGNED INT32 I, GT_TRAN, K,KQ,TRAM,CHUC;
#int_timer1
void interrupt_timer1()
{
GT_TRAN++;
}
VOID TAO_XUNG_TRIGGER()
{
DELAY_MS(50);
OUTPUT_HIGH(TRIGGER);
DELAY_MS(1);
OUTPUT_LOW(TRIGGER);
SET_TIMER1(0);
WHILE(!(INPUT(ECHO)));
SETUP_TIMER_1(T1_INTERNAL);
WHILE(INPUT(ECHO));
KCSA = GET_TIMER1();
SETUP_TIMER_1(T1_DISABLED);
}
VOID SETUP_SRF04()
{

SETUP_TIMER_1(T1_DISABLED);
ENABLE_INTERRUPTS(GLOBAL);
ENABLE_INTERRUPTS(INT_TIMER1);
K=1;
}
VOID DOC_SRF04()
{
KCSB=0;
FOR(I=0;I{


}

GT_TRAN=0;
TAO_XUNG_TRIGGER();
KCSB = KCSB +KCSA +GT_TRAN*65536;

KCSB = KCSB/K;
KCSB = KCSB/5;
KCSB = (KCSB/58);
KCSB = KCSB*100;
KQ = KCSB;
IF(KQ<45000)
{
TRAM = KQ/10000 + 0X30;
CHUC = KQ/1000%10+0X30;
IF(TRAM==0X30)
{
TRAM = 0X20;

IF(CHUC==0X30)
CHUC = 0X20;
}
LCD_COMMAND(0X87);
LCD_DATA(TRAM);
LCD_DATA(CHUC);
LCD_DATA(KQ/100%10+0X30);
LCD_DATA(".");
LCD_DATA(KQ/10%10+0X30);
LCD_DATA(KQ%10+0X30);
LCD_DATA("cm ");
IF(KQ<1500)
{
LCD_COMMAND(0XC0);
LCD_DATA(" NUOC LEN CAO ");
}
ELSE IF(KQ<3000)
{
LCD_COMMAND(0XC0);
LCD_DATA("NUOC TRUNG BINH ");
}
ELSE
{
LCD_COMMAND(0XC0);
LCD_DATA("NUOC XUONG THAP ");


}

}




×