1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

HỆ THỐNG xả lũ QUA SMS DÙNG PIC (có code và layout)

29 412 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 2,59 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

HỆ THỐNG xả lũ QUA SMS DÙNG PIC (có code và layout) ........................... HỆ THỐNG xả lũ QUA SMS DÙNG PIC (có code và layout) ........................... HỆ THỐNG xả lũ QUA SMS DÙNG PIC (có code và layout) ........................... HỆ THỐNG xả lũ QUA SMS DÙNG PIC (có code và layout) ........................... HỆ THỐNG xả lũ QUA SMS DÙNG PIC (có code và layout) ...........................

Trang 1

HỆ THỐNG XẢ LŨ QUA SMS DÙNG

PIC

Trang 2

HÌNH 1- 2: SƠ ĐỒ CHÂN CỦA PIC16F877A 2

HÌNH 1- 3: KIẾN TRÚC VON NEUMANN VÀ HARVARD 4

HÌNH 1- 4: SƠ ĐỒ KHỐI ĐIỀU KHIỂN PIC 5

HÌNH 1- 5: MODULE SIM NGOÀI THỊ TRƯỜNG 6

HÌNH 1- 6: CẢM BIẾN SIÊU ÂM NGOÀI THỊ TRƯỜNG 9Y HÌNH 2- 1: SƠ ĐỒ KHỐI CỦA HỆN THỐNG 11

HÌNH 2- 2: SƠ ĐỒ MẠCH CỦA HỆ THỐNG 12

HÌNH 2- 3: KHI CẤP NGUỒN CHO MẠCH 13

HÌNH 2- 4: TRẠNG THÁI MỨC NƯỚC THẤP 14

HÌNH 2- 5: TRẠNG THÁI MỨC NƯỚC VỪA 14

HÌNH 2- 6: TRẠNG THÁI MỨC NƯỚC CAO 1 HÌNH 3- 1: LƯU ĐỒ GIẢI THUẬT CỦA CHƯƠNG TRÌNH 16

HÌNH 3- 2: GIAO DIỆN LÀM VIỆC VỚI MIKROC 17

HÌNH 3- 3: MẶT HÀN CHÂN LINH KIỆN 18

HÌNH 3- 4: MÔ HÌNH MẠCH THỰC TẾ 18

HÌNH 3- 5: KHI ĐO ĐƯỢC MỨC NƯỚC THẤP 19

HÌNH 3- 6: KHI ĐO ĐƯỢC MỨC NƯỚC VỪA 20

HÌNH 3- 7: KHI ĐO ĐƯỢC MỨC NƯỚC CAO 20

HÌNH 3- 8: CẢNH BÁO SMS QUA DI ĐỘNG 21

Trang 3

CHƯƠNG 1 TÌM HIỂU LINH KIỆN TRONG ĐỀ TÀI

1.1 Tổng quan về vi điều khiển PIC 16F877A [1]

PIC là viết tắt của “ Programable Intelligent Computer ” do hãng GenenralInstrument đặt tên cho vi điều khiển đầu tiên của họ là PIC1650, sau đó nó đượcnghiên cứu phát triển thêm và từ đó hình thành nên nhiều dòng vi điều khiển PICngày nay

Các kí hiệu của vi điều khiển PIC:

 PIC12xxxx: độ dài lệnh 12 bit

 PIC16xxxx: độ dài lệnh 14 bit

 PIC18xxxx: độ dài lệnh 16 bit

 C: PIC có bộ nhớ EPROM ( chỉ có 16C84 là EEPROM )

 F: PIC có bộ nhớ flash

 LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp

 LV: tương tự như LF, đây là kí hiệu cũ

Trong đề tài này ta sử dụng vi xử lý PIC16F877A, nó thuộc họ vi điều khiểnPIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit Mỗi lệnh đều được thực thitrong một chu kì xung clock Tốc độ hoạt động tối đa cho phép là 20 MHz với chu

kì lệnh là 200 ns Bộ nhớ chương trình 8K x 14 bit, bộ nhớ dữ liệu EEPROM vớidung lượng 256x8 byte Số port I/O là 5 với 33 chân I/O Điện áp hoạt động từ 2Vđến 5,5V

Các đặc tính ngoại vi bao gồm các khối chức năng sau:

Hình 1- 1: PIC16F877A ngoài thị trường [2]

Trang 4

 Timer 0: Bộ đếm 8 bit với bộ chia tần số 8 bit.

 Timer 1: Bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếmdựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep

 Timer 2: 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

1.1.1 Sơ đồ chân của PIC16F877A

Hình 1- 2: Sơ đồ chân của PIC16F877A [3]

Các cổng xuất nhập của PIC 16F877A:

 PORT A: Bao gồm 6 chân I/O Đây là các chân hai chiều, nghĩa là có thểxuất và nhập được Chức năng I/O này được điều khiển bởi thanh ghi TRISA

Trang 5

( địa chỉ 85h ) Muốn xác lập chức năng của một chân trong Port A là input,

ta “set” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA vàngược lại, muốn xác lập chức năng Port A là output, ta “clear” bit điều khiểntương ứng với chân đó trong thanh ghi TRISA Thao tác này tương tự đối vớicác Port và các thanh ghi điều khiển tương ứng TRIS ( đối với PortA làTRISA, đối với PortB là TRISB, đối với PortC là TRISC, đối với PortD làTRISD và đối với PortE là TRISE ) Bên cạnh đó PortA còn là ngõ ra của bộADC, bộ so sánh, ngõ vào analog, ngõ vào xung clock của Timer 0 và ngõvào của bộ giao tiếp MSSP ( Master Synchronous Serial Port )

 PORTB: Gồm 8 chân I/O Thanh ghi điều khiển xuất nhập tương ứng làTRISB Bên cạnh đó còn có một số chân sử dụng trong quá trình nạp chươngtrình cho vi điều khiển với các chế độ nạp khác nhau PortB còn liên quanđến ngắt ngoại vi và bộ Timer 0 PortB còn được tích hợp chức năng điện trởkéo lên được điều khiển bởi chương trình

 PORTC: Gồm 8 chân I/O Thanh ghi điều khiển xuất nhập tương ứng làTRISC Có chứa các chân chức năng của bộ so sánh, bộ Timer 1, bộ PWM

và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART

 PORTD: Gồm 8 chân I/O, thanh ghi điều khiển xuất nhập tương ứng làTRISD Còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP ( Parallel SlavePort )

 PORTE: Gồm 3 chân I/O, thanh ghi điều khiển xuất nhập tương ứng làTRISE Các chân của PortE có ngõ vào analog Bên cạnh đó còn là các chânđiều khiển của chuẩn giao tiếp PSP

1.1.2 Kiến trúc bộ nhớ vi điều khiển PIC16F877A

Có 2 loại kiến trúc bộ nhớ cơ bản là kiến trúc Von Neumann và Harvard:

Trang 6

Hình 1- 3: Kiến trúc Von Neumann và Harvard [1]

Kiến trúc Von Neumann: Với kiến này thì bộ nhớ giao tiếp với CPU thông

qua 1 bus dữ liệu 8 bit, bộ nhớ có các ô nhớ chứa dữ liệu 8 bit, bộ nhớ vừalưu trữ chương trình và dữ liệu Kiến trúc này có ưu điểm là kiến trúc đơngiản và có khuyết điểm là do chỉ có 1 bus nên tốc độ truy suất chậm, khóthay đổi dung lượng lưu trữ của ô nhớ

Kiến trúc Harvard: Với kiến trúc này thì bộ nhớ được tách ra làm 2 loại

độc lập ( bộ nhớ lưu chương trình và bộ nhớ lưu dữ liệu ), CPU giao tiếp với

2 bộ nhớ độc lập nên cần 2 bus độc lập Vì độc lập nên có thể thay đổi số bitlưu trữ của từng bộ nhớ mà không ảnh hưởng đến nhau Kiến trúc này có ưuđiểm là tốc độ truy suất nhanh, tùy ý thay đổi số bit của ô nhớ và cấu trúcphức tạp là khuyết điểm của nó

Trang 7

Hình 1- 4: Sơ đồ khối điều khiển PIC[4]

Trang 8

 Dòng ở chế độ chờ: 10mA – rất tiết kiệm.

 Hỗi trợ 4 băng tần phổ biến ở Việt Nam, SIM mạng nào dùng cũng được

 Khe cắm sim: Chuẩn Micro Sim

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

 Chân NET: Lắp anten, có thể dùng anten đi kèm hoặc anten mở rộng

 Chân VCC – GND: Cấp nguồn dương – âm

 Chân reset RST: Sử dụng khi cần khởi động lại module sim

Trang 9

 RXD – TXD: Giao tiếp chuẩn serial đặc trưng của module sim.

 RING: Đổ chuông khi có cuộc gọi đến

 DTR: Chân UART DTR

 SPKP, SPKN: Ngõ ra âm thanh, nối với loa để phát âm thanh

 MICP, MICN: Ngõ vào âm thanh, phải gắn thêm micro để thu âm thanh

1.2.1 Tập lệnh AT [4]

Tập lệnh AT còn gọi là tập lệnh Hayes, bao gồm một loạt các chuỗi ký tự đượckết hợp lại để tạo thành những lệnh hoàn chỉnh cho những thao tác như gọi, giữ vàthay đổi các tham số kết nối Các tập lệnh Hayes được sử dụng rộng rãi, các lệnhnày đều bắt đầu bằng “AT”

Một cách để gửi lệnh AT đến GSM/GPRS modem là sử dụng một chương trìnhđầu cuối Chức năng của chương trình này là gửi các ký tự được gõ vàoGSM/GPRS modem, sau đó hiển thị những phản hồi nó nhận được từ modem nàylên màn hình Có thể dùng có thể dùng các chương trình như Hyper Terminal,Teraterm,…

Trong đồ án này, thiết bị đầu cuối chính là khối điều khiển chứa vi điều khiểnPIC16F877A, vi điều khiển này sẽ gửi các lệnh AT thực hiện các nhiệm vụ, chứcnăng khác nhau cho module SIM để thực hiện các lệnh

Một số lệnh AT được sử dụng :

 Lệnh ATZ : Dùng thiết lập lại tất cả các tham số hiện tại theo mẫu đượcngười dùng định nghĩa Nếu không thiết lập lại được theo mẫu của ngườidùng định nghĩa thì nó sẽ reset lại theo đúng các tham số mặc định của nhàsản xuất

 Lệnh AT+CMGR : Lệnh này được dùng để đọc tin nhắn Cấu trúcAT+CMGR=I với I là ngăn bộ nhớ chứa tin nhắn trong sim

 Lệnh AT+CMGS : Lệnh này dùng để gửi tin nhắn SMS tới một số điện thoạicho trước Cú pháp AT+CMGS= “số điện thoại cần gửi”<CR>

 Lệnh AT+CMGD : Lệnh này dùng để xóa tin nhắn trên sim

Trang 10

 Lệnh ATE : Lệnh này dùng để thiết lập chế độ lệnh phản hồi trở lại Đáp ứngtrở lại là OK Lệnh này có 2 tham số: ATE0 (tắt chế độ phản hồi), ATE1 (bậtchế độ phản hồi).

 Lệnh AT&W : Dùng để lưu cấu hình cài đặt

 Lệnh AT+CMGF : Dùng để lựa chọn định dạng tin nhắn SMS, với hai chế

độ là text và PDU

 Lệnh AT+CNMI : Lệnh này dùng để thông báo có tin nhắn mới đến

 Lệnh AT+CSAS : Dùng để lưu các thiệt lập SMS do người dùng đã cài đặttrước đó

1.3 Cảm biến siêu âm HC-SR04[4]

Hình 1- 6: Cảm biến siêu âm ngoài thị trường [2]

Sơ lược về cảm biến siêu âm:

Trang 11

 Cảm biến siêu âm dùng để đo khoảng cách với vật cản.

 Khoảng cách đo: 3cm-4m

 Nguyên lí: Sử dụng phản xạ của sóng siêu âm để đo khoảng cách

 Ứng dụng: Đo mực nước, chống trộm, robot dò đường,…

Sơ đồ chân:

 VCC : Nguồn 5V

 Trig : Chân kích để phát sóng âm đi

 Echo : Chân phát hiện có sóng âm dội lại

 GND : Chân nối đất

Giao tiếp với vi điều khiển để đo khoảng cách:

 Đo khoảng cách bằng cảm biến siêu âm chính là đo thời gian chân ECHO ở mức cao

 Để đo thời gian chân ECHO ở mức cao có thể dùng một trong các bộ Timer của vi điều khiển

 Để đo khoảng cách ta sẽ làm các bước:

o Kích chân Trigger: Xuất mức một chân Trigger và delay tối thiểu 10ms

o Sau đó đợi chân ECHO lên mức cao

o Khi chân ECHO lên mức cao kích hoạt Timer:

 Đợi chân Echo xuống thấp

 Cho phép ngắt cạnh xuống

o Khi chân Echo xuống mức thấp (hoặc trong chương trình sử lí ngắt), dừng timer và tính toán giá trị thời gian từ timer, từ đó suy ra khoảng cách

o Reset giá trị đếm của Timer để chuẩn bị cho lần đo tiếp theo

 Cách tính ra khoảng cách từ thời gian đo được:

S = 2 x d, d là khoảng cách đến vật cản

Gọi V là vận tốc của sóng âm

V = 344m/s = 34400 cm/s

Trang 13

Khối nguồn: Sử dụng nguồn 5VDC để cấp cho toàn mạch.

Module sim: Ở đây ta sử dụng module SIM800L chứa sim card cho phép

gửi tin nhắn SMS đến số điện thoại di động để cảnh báo mức nước cao

Khối xử lí: Ở đây sử dụng vi điều khiển PIC16F877A với nhiệm vụ xử lý

thông số nhận được từ cảm biến siêu âm để tính ra khoảng cách đo được vàhiển thị các mức nước lên LCD, đồng thời gửi các lệnh AT đến module sim

để điều khiển module sim cảnh báo SMS đến điện thoại di động khi mứcnước cao

Khối hiển thị: Ở đây ta sử dụng LCD 16x2 để hiển thị các mức nước đo

được của cảm biến siêu âm

Khối cảm biến: Sử dụng cảm biến siêu âm HC-SR04 để đo mức nước.

Mobile phone: Chức năng nhận tin nhắn SMS cảnh báo khi mức nước cao.

2.2 Sơ đồ mạch

Hình 2- 2: Sơ đồ mạch của hệ thống

2.3 Nguyên lý hoạt động của mạch và chức năng của linh kiện trong mạch

Trang 14

Nguyên lý hoạt động chung: Toàn mạch được cấp bởi nguồn 5VDC, sau khi

khởi tạo module sim xong thì PIC sẽ xử lý dữ liệu nhận về từ cảm biến siêu âm vàxuất khoảng cách đo được hiển thị lên LCD (nguyên lý đo khoảng cách đã đượctrình bày ở phần tìm hiểu cảm biến sêu âm), khoảng cách đo được trong khoảng từ15cm đến 20cm thì LCD sẽ hiển thị trạng thái là mức nước thấp, từ khoảng 10cmđến 15cm thì LCD hiển thị là mức nước trung bình, còn từ 5cm đến 10cm thì LCDhiển thị mức nước cao, đồng thời lúc này PIC sẽ gửi SMS cảnh báo qua điện thoại

di động

Chức năng các linh kiện trong mạch:

 Để cho vi điều khiển PIC hoạt động thì ta cần cấp xung cho nó, ở đây tadung thạch anh 16KHz để làm nguồn xung, vì xung cấp không ổn định nêncần tụ lọc gắn vào thạch anh

 Nút nhấn trên mạch sẽ có nhiệm vụ reset PIC, bình thường nút nhấn sẽ hở vàchân MCLR của vi điều khiển ở mức logic 1 ( vì được nối với nguồn quađiện trở hạn dòng ), khi nhấn nút nhấn, chân MCLR được nối với GND nênmang mức logic 0, khi đó vi điều khiển sẽ được reset

 PIC16F877A với nhiệm vụ sử lý mọi dữ liệu nhận về và điều khiển các thiết

bị theo lập trình đã được thiết lập

 LCD với chức năng hiển thị khoảng cách đo được và trạng thái các mứcnước

 Khoảng cách đo được dựa trên nguyên lí phản xạ sóng siêu âm phát ra bởimodule cảm biến siêu âm HC-SR04

 Module SIM chứa sim card với chức năng gửi SMS cảnh báo khi mức nướccao

2.4 Kết quả mô phỏng trên phần mềm Protues

Trang 15

Khi cho mạch chạy thì PIC bắt đầu khởi tạo với các tập lệnh AT để giao tiếp vớimodule sim Đồng thời lúc này khoảng cách đo được cũng hiển thị lên LCD.

Hình 2- 3: Khi cấp nguồn cho mạch

Khi khoảng cách đo được từ 15cm đến 20cm thì LCD sẽ hiển thị là mức thấp

Trang 16

Hình 2- 4: Trạng thái mức nước thấp

Khi khoảng cách đo được từ 10cm đến 15cm thì LCD hiển thị mức vừa

Hình 2- 5: Trạng thái mức nước vừa

Khi khoảng cách đo được từ 5cm đến 10cm thì LCD hiển thị là mức cao, đồngthời lúc này tin nhắn SMS với nội dung “ cảnh báo mức cao” được module sim gửitới điện thoại di động

Trang 17

Hình 2- 6: Trạng thái mức nước cao

CHƯƠNG 3 THỰC THI PHẦN CỨNG

3.1 Lưu đồ mô tả thực thi

Trang 18

Hình 3- 1: Lưu đồ giải thuật của chương trình

Giải thích lưu đồ giải thuật: Ban đầu hệ thống sẽ khởi tạo module sim, timer 1,

và thiết lập kết nối với cảm biến siêu âm, sau khi khởi tạo xong thì chương trình bắtđầu tính khoảng cách bằng cách lấy thời gian mà timer 1 đếm được chia cho 58 ( đãđược chứng minh ở trên ), khoảng cách tính được sẽ đưa vào câu lệnh “if”, nếu nhưkhoảng cách tời 15cm đến 20cm thì vi điều khiển sẽ xuất dữ liệu hiển thị lên LCD

là “MỨC THẤP”, tưởng tự như vậy khi khoảng cách từ 10cm đến 15cm thì là

“MỨC VỪA” và 5cm đến 10cm là “MỨC CAO” đồng thời lúc này vi xử lí sẽ giaotiếp với module sim bằng các tập lệnh AT thông qua giao tiếp USART để modulesim gửi tin nhắn SMS cảnh báo qua điện thoại di động

3.2 Phần mềm MikroC hỗi trợ lập trình PIC

Trang 19

Vi điều khiển PIC có thể sử dụng nhiều phần mềm lập trình chuyên dụng với cácdạng ngôn ngữ lập trình khác nhau: ASM – Hợp ngữ, ngôn ngữ C, ngôn ngữPASCAL,… Mỗi phần mềm và mỗi dạng ngôn ngữ lập trình đều có những thuận lợi

và khó khắn riêng, phụ thuộc vào người dùng để lựa chọn một công cụ phù hợp.Hiện nay có hai phần mềm hỗi trợ lập trình PIC với ngôn ngữ C linh hoạt làCCS và MikroC, và trong đề tài này ta sử dụng ngôn ngữ MikroC để lập trình choPIC

Hình 3- 2: Giao diện làm việc với MikroC

3.3 Mô hình thực thi phần cứng

Trang 20

Hình 3- 3: Mặt hàn chân linh kiện

Hình 3- 4: Mô hình mạch thực tế

Trang 21

Hình 3- 5: Khi đo được mức nước thấp

Trang 22

Khi khoảng cách đo được từ 10cm đến 15cm thì trạng thái sẽ là mức vừa được hiển thị lên LCD.

Khi khoảng cách đo được từ 5cm đến 10cm thì trạng thái sẽ là mức cao được hiển thị lên LCD, đồng thời lúc này SMS cảnh báo sẽ được gửi qua điện thoại

Hình 3- 6: Khi đo được mức nước vừa

Hình 3- 7: Khi đo được mức nước cao

Trang 23

Khi mức nước cao, tin nhắn cảnh báo sẽ được gửi qua điện thoại di động.

Hình 3- 8: Cảnh báo SMS qua di động

Trang 24

CHƯƠNG 4 KẾT LUẬN

4.1 Kết luận

Mạch sau khi hoàn đã hoạt động đúng như yêu cầu nhiệm vụ trong đề tài, mạch

có thể đo ba mức nước và hiển thị trạng thái của các mức nước lên màn hình LCD,đồng thời cảnh báo SMS qua điện thoại di động khi mức nước ở trạng thái cao.Mạch chạy ổn định, vận hành đơn giản và dễ sử dụng, các linh kiện hư hỏng cóthể thay thế và dễ tìm kiếm trên thị trường

Để hoàn thành được đồ án này, tôi đã tìm hiểu nghiên cứu các vấn đề có liênquan tới: PIC16F877A, Module SIM, cảm biến siêu âm, các tập lệnh AT để PIC cóthể giao tiếp với module sim, phần mềm lập trình MikroC với ngôn ngữ C và cácvấn đề khác liên quan đến đồ án

4.2 Hướng phát triển

Do thời gian tìm hiểu đề tài có hạn và kiến thức còn hạn hẹp nên đề tài thực hiệnxong chỉ áp dụng được một phần nhỏ của hệ thống thực tế đã hoàn chỉnh Vì vậy, đểcho đồ án này có thể ứng dụng rộng rãi hơn thì có thể phát triển thêm một vàihướng như:

 Ngoài việc có thể cảnh báo SMS qua điện thoại di động thì ta còn có thể sửdụng điện thoại di động điều khiển đóng tắt động cơ để chặn hoặc xả lũ

 Do linh kiện còn hạn chế về độ bền và hiệu năng làm việc nên sai số là điềukhó tránh khỏi, để khắc phục thì ta cần sử dụng các linh kiện có hiệu nănglàm việc có độ chính xác cao hơn và bền hơn

 Ngoài việc cảnh báo qua SMS thì có thể sử dụng các loại cảnh báo khác nhưchuông cảnh báo hoặc có thể thiết kế hệ thống tự động đóng hoặc xả lũ khicần thiết mà không cần con người điều khiển

 Ngoài thực tế khi mưa lớn thì đường xá ở thành phố thường hay bị ngập lụt ởmột vài nơi do lượng nước quá nhiều đổ từ các sông hồ ngược vào cống, vìvậy ta có thể thiết kế các hệ thống đóng mở cửa cống tự động khi mức nướcvượt quá giới hạn cho phép để đường xá sẽ không bị ngập lụt khi có mưalớn

Ngày đăng: 01/04/2018, 11:19

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w