CHƯƠNG 1: GIỚI THIỆU1.1 Giới thiệu chungNgày này ta có cách thiết bị điều khiển bị động dựa vào tác động hoặc thay đổi bên ngoài.. Nhưng điều đó chưa đủ, Chúng ta cần có những thiết bị t
Trang 1ĐỒ ÁN 1MẠCH ĐO MỰC NƯỚC DÙNG PIC
Trang 2MỤC LỤC
CHƯƠNG 1:GIỚI THIỆU 7
1.1 Giới thiệu chung 7
1.2 Mục đích thực hiện đề tài 7
1.3 Nhiệm vụ đề tài 7
CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG 8
2.1 Thiết kế sơ đồ khối 8
2.2 GIỚI THIỆU CÁC LINH KIỆN 8
2.2.1 VI ĐIỀU KHIỂN PIC 8
2.2.2 Cảm biến siêu âm SRF04 12
2.2.2.1 Thông số kĩ thuật SRF04 12
2.2.2.2 Sơ đồ chân 12
2.2.2.3 Giao tiếp với vi điều khiển 12
2.2.2.4 Cách tính khoảng cách từ thời gian đo được 13
2.2.3 LCD 16x02 13
CHƯƠNG 3: PHẦN MỀM 15
3.1 Lưu đồ hoạt động 15
3.2 Mô phỏng 16
3.3 Thi công mạch 16
CHƯƠNG 4: KẾT LUẬN 17
4.1 Kết luận 17
4.2 HƯỚNG PHÁT TRIỂN ĐỀ TÀI 17
PHỤ LỤC 19
Trang 3DANH MỤC CÁC HÌNH VẼ
Hình 2.1: Sơ đồ khối của mạch 8
Hình 2.2.1: Sơ đồ chân và hình dạng của PIC 16F877A 9
Hình 2.2.2-1: SRF04 12
Hình 2.2.2-2: Khoảng cách từ SRF04 tới vật 13
Hình 2.2.3: LCD 16x02 14
Hình 3.1: Lưu đồ hoạt động 15
Hình 3.2: Mạch mô phỏng proteus 16
Hình 3.3: Mạch in 16
Trang 4DANH MỤC BẢNG BIỂU
Bảng 2.2.1: Chức năng các chân 9 Bảng 2.2.2-1:Sơ đồ chân SRF04 12 Bảng 2.2.3: Sơ đồ chân trong LCD 14
Trang 5CHƯƠNG 1: GIỚI THIỆU1.1 Giới thiệu chung
Ngày này ta có cách thiết bị điều khiển bị động dựa vào tác động hoặc thay đổi bên ngoài Nhưng điều đó chưa đủ, Chúng ta cần có những thiết bị tự chuẩn đoán, dự báo để điều khiển thiết bị một cách thông minh hơn
Trang 6CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG
2.1 Thiết kế sơ đồ khối
Hình 2.1: Sơ đồ khối của mạch
Khối SRF-04: có chức năng đo khoảng cách từ mạch tới vật cản và đưa giá trị
về khối vi điều khiển
Khối điều khiển: Có chứa vi điều khiển PIC16F877A Nhận tín hiệu từ khối
cảm biến đưa về, cho hiển thị trên LCD
Khối LCD: hiển thị thông tin từ khối khối điều khiển đưa tới.
Khối nguồn: có chức năng biến đổi dòng soay chiều 220v thành dòng 1 chiều
cung cấp cho các khối hoạt động
Nguyên lý hoạt động: Khi PÍC6F877A nhận được tín hiệu từ SRF-04 đưa về,
khối vi điều khiển xử lý và tính toán ra khoảng cách từ SRF-04 tới vật thể và gửi tínhiệu cho LCD hiển thị
2.2 Giới thiệu các linh kiện
2.2.1 Vi điều khiển PIC
PIC16F877A có 40/44 chân với sự phân chia cấu trúc như sau :
Trang 7 Có giao tiếp truyền nối tiếp: chuẩn RS 232, I2C…
2 RA0/AN0 - RA0 : xuất/nhập số - AN0 : ngõ vào tương tự
3 RA1/AN1 - RA1 : xuất/nhập số - AN1 : ngõ vào tương tự
4 RA2/AN2/VREF-/CVREF
- RA2 : xuất/nhập số
- AN2 : ngõ vào tương tự
- VREF -: ngõvào điện áp chuẩn (thấp) của bộ A/D
5 RA3/AN3/VREF+
- RA3 : xuất/nhập số
- AN3 : ngõ vào tương tự
- VREF+ : ngõ vào điện áp chuẩn (cao) của bộ A/D
6 RA4/TOCKI/C1OUT - RA4 : xuất/nhập số - TOCKI : ngõ vào xung clock bên ngoài cho timer0
- C1 OUT : Ngõ ra bộ so sánh 1
7 RA5/AN4/ /C2OUT - RA5 : xuất/nhập số - AN4 : ngõ vào tương tự 4
- SS : ngõ vào chọn lựa SPI phụ
Trang 8- C2 OUT : ngõ ra bộ so sánh 2
8 RE0/ /AN5 - RE0 : xuất nhập số - RD : điều khiển việc đọc ở port nhánh song song
- AN5 : ngõ vào tương tự
9 RE1/ /AN6 - RE1 : xuất/nhập số - WR : điều khiển việc ghi ở port nhánh song song
- AN6 : ngõ vào tương tự
10 RE2/ /AN7 - RE2 : xuất/nhập số - CS : Chip lựa chọn sự điều khiển ở port nhánh song
song
- AN7 : ngõ vào tương tự
13 OSC1/CLKI Ngõ vào dao động thạch anh hoặc xung clock bênngoài.
- OSC1 : ngõ vào dao động thạch anh hoặc xung
clock bên ngoài Ngõ vào Schmit trigger khi đượccấ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
14 OSC2/CLKO - OSC2 : Ngõ ra dao động thạch anh Kết nối đếnNgõ vào dao động thạch anh hoặc xung clock
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
15 RC0/T1 OCO/T1CKI - 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
16 RC1/T1OSI/CCP2 - 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õ
19 RD0/PSP0 - RD0 : xuất/nhập số - PSP0 : dữ liệu port nhánh song song
20 RD1/PSP1 - RD1 : xuất/nhập số - PSP1 : dữ liệu port nhánh song song
Trang 921 RD2/PSP2 - RD2 : xuất/nhập số - PSP2 : dữ liệu port nhánh song song
22 RD3/PSP3 - RD3: xuất/nhập số - PSP3 : dữ liệu port nhánh song song
23 RC4/SDI/SDA - RC4 : xuất/nhập số - SDI : dữ liệu vào SPI
- SDA : xuất/nhập dữ liệu vào I2C
24 RC5/SDO - RC5 : xuất/nhập số - SDO : dữ liệu ra SPI
25 RC6/TX/CK - RC6 : xuất/nhập số - TX : truyền bất đồng bộ USART
- CK : xung đồng bộ USART
26 RC7/RX/DT - RC7 : xuất/nhập số - RX : nhận bất đồng USART
- DT : dữ liệu đồng bộ USART
27 RD4/PSP - RD4: xuất/nhập số - PSP4 : dữ liệu port nhánh song song
28 RD5/PSP5 - RD5: xuất/nhập số - PSP5 : dữ liệu port nhánh song song
29 RD6/PSP6 - RD6: xuất/nhập số - PSP6 : dữ liệu port nhánh song song
30 RD7/PSP7 - RD7: xuất/nhập số - PSP7 : dữ liệu port nhánh song song
33 RB0/INT - RB0 : xuất/nhập số - INT : ngắt ngoài
Trang 102.2.2 Cảm biến siêu âm SRF04
SRF04 là cảm biến siêu âm dung để đo khoảng cách tới vật cản
Khoảng cách đo: 3cm-4cm
Ứng dụng: chống trộm, đo mực nước, robot dò đường……
Hình 2.2.2-1: SRF04 2.2.2.1 Thông số kĩ thuật SRF04
+ Nguồn cung cấp: 5V DC
+ Dòng: 30mA (Max 50mA)
+ Tần số hoạt động: 40KHz
+ Khoảng cách lớn nhất đo được: 6m
+ Khoảng cách nhỏ nhất đo được: 3 cm
+ Góc quét: 45 ° [3]
2.2.2.2 Sơ đồ chân
Bảng 2.2.2-1: Sơ đồ chân SRF04 2.2.2.3 Giao tiếp với vi điều khiển
Đo khoảng cách bằng cảm biến siêu âm SRF04 chính là đo thời gian chân Echo ở mức cao
Để đo khoảng cách ta làm các bước sau:
Trang 11 Kích chân Trigger: xuất mức 1 ra chân Trigger và delay tối thiểu 10ms.
Sau đó đợi chân Echo lên mức cao
Khi chân Echo lên mức cao, kích hoạt Timer
Khi chân Echo xuống mức thấp (hoặc trong chương trình xử lý ngắt), dừng Timer và tính toán giá trị từ Timer, sau đó suy ra khoảng cách
Reset giá trị đếm cho Timer, chuẩn bị lần đo tiếp theo
2.2.2.4 Cách tính khoảng cách từ thời gian đo được
d
D = t/58
Trang 13CHƯƠNG 3: PHẦN MỀM3.1 Lưu đồ hoạt động
Hình 3.1: Lưu đồ hoạt động
Trang 143.2 Mô phỏng
Hình 3.2: Mạch mô phỏng proteus 3.3 Thi công mạch
Hình 3.3: Mạch in
Trang 15CHƯƠNG 4: KẾT LUẬN4.1 Kết luận
Sau hơn một thời gian tìm hiểu, nghiên cứu, tham khảo nhiều tài liệu và được sự hướng
dẫn của thầy cô, em đã thực hiện xong đề tài : ‘‘Mạch đo mực nước. Việc hoàn thành đề
tài với những nội dung và mục tiêu đề ra ban đầu đã đem lại cho em thực hiện một lượng kiến thức bổ ích, thiết thực và có khả năng ứng dụng trong thực tế Sau thời gian thực hiện đồ án, em đã hoàn thành được những công việc sau :
Xây dựng, thiết kế thi công mạch
Tìm hiểu vầ thiết kế mạch
4.2 HƯỚNG PHÁT TRIỂN ĐỀ TÀI
Đề tài ‘‘mạch đo mực nước” được thực hiện trên mô hình thí nghiệm Để đưa đề tài này vào áp
dụng 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ệ thống hơn nữa Ngoài ra, dựa vào ứng dụng và tầm 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……
Trang 16Tài liệu tham khảo
[1] Giáo trình vi điều khiển: 123doc.org pic-16f877a.htm
//document/1250977-giao-trinh-vi-dieu-khien-[2] Vi điều khiển PIC16f877A: tailieu.tv/tai-lieu/vi-dieu-khien-pic16f877a-17967/[3] http://mualinhkien.vn/san-pham/34/cam-bien-sieu-am-srf04.html
[4] Hocavr.com
Trang 17#separate void LCD_khoitao (void);
#separate void LCD_thietlap (unsigned int cX);
#separate void LCD_VIETKITU (unsigned int cX);
#separate void LCD_GUILENH (unsigned int cX);
#separate void LCD_Kichhoatxung (void);
#separate void LCD_SetData (unsigned int cX);
Trang 18#separate void LCD_thietlap (unsigned int cX)
#DEFINE TRIGGER PIN_C4
#DEFINE ECHO PIN_C5
FLOAT KC1, KC2;
UNSIGNED INT32 I, GT_TRAN, K,KQ;
Trang 19ENABLE_INTERRUPTS(GLOBAL); // cho phép ngat
ENABLE_INTERRUPTS(INT_TIMER1); // cho phep ngat timer 1 K=1;
}
VOID DOC_SRF04()
{
KC2=0; // reset gia tri
FOR(I=0;I<K;I++) // dem 1 lan tinh trung binh
{
GT_TRAN=0; //bao gia tri tran
TAO_XUNG_TRIGGER(); // khi tran thi doc gia tri
Trang 21LCD_VIETKITU("DO KHOANG CACH ");