1. Trang chủ
  2. » Luận Văn - Báo Cáo

thiết kế vi điều khiển và cảm biến đo chất lượng nước trong thời gian thực

25 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Thiết kế vi điều khiển và cảm biến đo chất lượng nước trong thời gian thực
Tác giả Võ Đức Thành, Trần Tuấn Anh
Người hướng dẫn T.S Đoàn Lê Anh
Trường học Trường Đại học Bách Khoa Đại học Đà Nẵng
Chuyên ngành Cơ Khí
Thể loại Dự án môn học
Thành phố Đà Nẵng
Định dạng
Số trang 25
Dung lượng 2,42 MB

Nội dung

CHUẨN GIAO TIẾP USART truyền nhận đồng bộ/bất đồng bộ đa dụng, chức năng chính của nó là truyền nhận dữ liệu nối tiếp.. Giao tiếp USART còn được gọi là giao tiếp truyền thông nối tiếp

Trang 1

PBL 3: THIẾT KẾ VI ĐIỀU KHIỂN VÀ

Giảng viên hướng dẫn: T.S Đoàn Lê Anh

Sinh viên thực hiện: Võ Đức Thành

Trần Tuấn Anh Lớp: 21CDT2

21CDT1

1

Trang 2

1 GIỚI THIỆU ĐỀ TÀI VÀ NGUYÊN LÝ MÔ HÌNH

Các thông số đo: độ dẫn điện, tổng chất rắn hòa tan, độ ẩm và nhiệt độ Hệ thống đo chất lượng nước sử dụng nhiều cảm biến, mô-đun thu thập thông tin và mô-đun truyền dữ liệu Mô-đun thu thập thông tin bao gồm vi điều khiển PIC16F877A Mô-đun truyền dữ liệu bao gồm mô-đun GSM Có rất nhiều cảm biến đo nhiệt độ, độ pH, độ dẫn điện và tổng chất rắn hòa tan có trong nước Các giá trị đo được sau đó được truyền đến trung tâm giám sát qua GSM; nó cũng được hiển thị trên màn hình LCD bởi vi điều khiển Hệ thống này có ưu điểm là độ chính xác cao và giá thành thấp

Hình 1 Hệ thống mô hình khảo sát chất lượng nước trong thời gian thực

Trang 4

CHI PHÍ

Trang 5

2 MODULE ESP8266-ESP01

Module WiFi ESP8266 là một SOC (System on a chip) độc

lập với chồng giao thức TCP/IP tích hợp có thể cho bộ vi

điều khiển quyền truy cập vào mạng WiFi ESP8266 có

khả năng lưu trữ một ứng dụng hoặc giảm tải tất cả các

chức năng kết nối mạng Wi-Fi từ bộ xử lý ứng dụng

khác Mô-đun ESP8266 có giá rẻ với cộng đồng khổng lồ

và ngày càng phát triển Mô-đun này có khả năng lưu trữ

và xử lý tích hợp đủ mạnh cho phép nó được tích hợp với

các cảm biến và các thiết bị ứng dụng cụ thể khác Mức

độ tích hợp trên chip cao của nó cho phép sử dụng tối

thiểu mạch điện bên ngoài, bao gồm cả mô-đun mặt

trước, được thiết kế để chiếm diện tích PCB tối thiểu

Hình 3 Module ESP8266-ESP01

Trang 6

MODULE ESP8266-ESP01

Trang 7

SƠ ĐỒ CHÂN CỦA ESP8266-01

Hình 4 Sơ đồ chân của ESP8266

Trang 8

KẾT NỐI ESP8266 VỚI PIC16F877A

Trang 9

CHUẨN GIAO TIẾP

USART (truyền nhận đồng bộ/bất đồng bộ đa dụng), chức năng chính

của nó là truyền nhận dữ liệu nối tiếp Giao tiếp USART còn được gọi là

giao tiếp truyền thông nối tiếp

Chia làm hai nhóm chính:

• Giao tiếp đồng bộ nối tiếp: Sử dụng đường truyền dữ liệu và đường

truyền xung clock đồng bộ.

• Giao tiếp bất đồng bộ nối tiếp: Không truyền xung đồng bộ giữa thiết

bị truyền và nhận.

Chế độ UART là chế độ hoạt động bất đồng bộ Ở chế độ này, các bit

truyền đi sẽ bao gồm 1 bit START (luôn ở mức 0), 8 hoặc 9 bit DATA và 1

bit STOP (luôn ở mức 1).

Trang 10

CHUẨN GIAO TIẾP

Hai chân dùng cho giao diện

Tốc độ Baud là số gói dữ liệu

truyền đi trong 1 giây.

Hình 5 Sơ đồ kết nối ESP8266 với PIC16F877A

Trang 11

CHUẨN GIAO TIẾP Ở CHẾ ĐỘ BẤT ĐỒNG BỘ

CSRC: Clock Source Select bit

Chế độ bất đồng bộ: không quan tâm

TX9: 9-bit Transmit Enable Bit Bit cho phép truyền dữ liệu 9 bit

1 = Chọn truyền 9 bit 0= Chọn truyền 8 bitTXEN: Transmit Enable bit Bit cho phép truyền dữ liệu

1 = Đã cho phép truyền 0 = Đã vô hiệu hóa truyền

SYNC: USART Mode Select bit Lựa chọn chế độ USART

1 = Synchronous mode 0 = Asynchronous mode

BRGH: High Baud Rate Select bit Lựa chọn tốc độ baud (chỉ

dùng ở chế độ bất đồng bộ)

1 = High speed 0 = Low speed

TRMT: Transmit Shift Register Status bit Trạng thái thanh ghi

dịch khi truyền dữ liệu

1 = TSR empty 0 = TSR full

TX9D: 9th bit of Transmit Data Bit chứa bit dữ liệu thứ 9 khi

truyền nhận dữ liệu 9 bit

Trang 12

CHUẨN GIAO TIẾP Ở CHẾ ĐỘ BẤT ĐỒNG BỘ

SPEN: Serial Port Enable bit Bit cho phép cổng nối tiếp hoạt động.

1 = cho phép cổng nối tiếp hoạt động 0 = không cho phép cổng nối tiếp hoạt động

RX9: 9-bit Receive Enable bit Bit cho phép nhận dữ liệu 9 bit

1 = nhận dữ liệu 9 bit 0= nhận dữ liệu 8 bit

TXEN: Transmit Enable bit Bit cho phép truyền dữ liệu.

1 = Đã cho phép truyền 0 = Đã vô hiệu hóa truyền

SREN: Single Receive Enable bit Bit cho phép nhận 1 byte dữ liệu Không quan tâm ở chế độ bất đồng bộ CREN: Continuous Receive Enable bit Cho phép nhận một choỗi dữ liệu liên tục

1 = Cho phép 0 = Không cho phép

ADDEN: Address Detect Enable bit Cho phép xác nhận địa chỉ trong quá trình nhận.

1 = Cho phép 0 = Không cho phép

Bit báo xuất hiện lỗi framing” trong quá trình nhận dữ liệu (khối nhận không nhận được bit STOP đúng thời điểm mong muốn

1 = Phát hiện lỗi 0 = không có lỗi

OERR: Overrun Error bit Bit báo lỗi tràn dữ liệu.

1 = Phát hiện lỗi 0 = không có lỗi

RX9D: 9th bit of Received Data Bit chứa bit dữ liệu thứ 9 khi truyền nhận dữ liệu 9 bit.

Trang 13

TRUYỀN TRONG CHẾ ĐỘ BẤT ĐỒNG BỘ

Thành phần quan trọng nhất của quá

trình truyền dữ liệu trong chế độ bất

đồng bộ là thanh ghi dịch TSR

(Transmit Shift Register) Dữ liệu cần

truyền sẽ đứa trước vào thanh ghi

TXREG, sau đó thanh ghi TSR sẽ lấy

dữ liệu từ thanh ghi đệm TXREG Do

đó TXREG bị rỗng và cờ ngắt TXIF set

lên 1

Trạng thái của thanh ghi TSR sẽ thể

hiện thông qua cờ ngắt TRMT

TSR không có trong bộ nhớ dữ liệu

mà chỉ được điều khiển bởi CPU

Khối truyền dữ liệu được cho phép

hoạt động khi bit TXEN set lên 1 Quá

trình truyền khi có dữ liệu trong thanh

ghi TXREG và xung truyền baud được

Trang 14

CÁC BƯỚC TRUYỀN

Các bước thực hiện khi truyền:

1 Tạo xung truyền tốc độ baud (đưa giá trị vào thanh ghi SPBRG).

2 Cho phép cổng giao tiếp nối tiếp bất đồng bộ hoạt động bằng cách xóa bit

SYNC và set bit SPEN.

3 Set bit TXIE nếu cần sử dụng ngắt.

4 Set bit TX9 nếu cần truyền 9 bit dữ liệu.

5 Set bit TXEN để cho phép truyền dữ liệu.

6 Đưa bit thứ 9 vào TX9D nếu truyền dữ liệu 9 bit.

7 Đưa 8 bit dữ liệu cần truyền vào thanh ghi TXREG.

8 Kiểm tra bit GIE và PEIE nếu sử dụng ngắt truyền

Trang 15

NHẬN TRONG CHẾ ĐỘ BẤT ĐỒNG BỘ

Dữ liệu sẽ được nhận từ RC7/RX/DT và đi

qua khối phục hồi dữ liệu

Bit cho phép quá trình nhận dữ liệu là

CREN

Thành phần quan trọng nhất của việc

nhận dữ liệu là thanh ghi dịch RSR

(Receive Shift Register)

Dữ liệu nhận được trong thanh ghi RSR sẽ

được đưa vào thanh ghi RCREG, sau đó cờ

ngắt nhận RCIF sẽ set lên 1 (bằng 0 khi

dữ liệu tại RCREG đã được đọc) RCREG là

thanh ghi có bộ đệm kép hoạt động theo

cơ chế FIFO

Cần phải lấu hết dữ liệu của thanh RCREG

trước khi nhận dữ liệu tiếp theo, vì khi

thanh ghi này tràn thì cờ báo tràn OERR

được set, dữ liệu trong RSR sẽ bị mất và

quá trình đưa dữ liệu từ RSR đến RCREG

Trang 16

CÁC BƯỚC NHẬN

Các bước thực hiện khi nhận:

1 Tạo xung truyền tốc độ baud (đưa giá trị vào thanh ghi SPBRG)

2 Cho phép cổng giao tiếp nối tiếp bất đồng bộ hoạt động bằng cách xóa bit SYNC và set bit

SPEN

3 Set bit RCIE nếu cần sử dụng ngắt

4 Set bit RX9 nếu cần nhận 9 bit dữ liệu

5 Set bit CREN để cho nhận dữ liệu

6 Cờ RCIF được set sau khi nhận được dữ liệu

7 Đọc thanh ghi RCSTA để đọc bit thứ 9 và kiểm tra xem quá trình nhận dữ liệu có bị lỗi không

8 Đọc dữ liệu 8 bit từ thanh ghi RCREG

9 Nếu quá trình nhận dữ liệu bị lỗi thì xóa lỗi đó bằng cách xóa bit CREN

10 Kiểm tra bit GIE và PEIE nếu sử dụng ngắt nhận

Trang 17

VÍ DỤ

Kiểm tra xem kết nối giữa ESP8266 và PIC16F877A có thành công hay không, sau đó tạo mạng WIFI

(SoftAP) với tên và mật khẩu ưa thích Chương trình hoàn chỉnh và mô phỏng tương tự.

#define _XTAL_FREQ 20000000 //Đặt tần số thạch anh

LCD_Write_String("ESP not found");

} while (!esp8266_isStarted()); //đợi đến khi ESP truyền lại"OK"

//do nothing }

}

Trang 18

3 TDS SENSOR

Trang 19

kết nối với chip vi điều khiển

khá đơn giản (chỉ thông qua

Giới thiệu chung:

Trang 21

chân cho người sử dụng

Hình 11 Các chân của cảm biến DHT22

Trang 22

Hình 12 Sơ đồ kết nối

Hình 13 Sơ đồ kết nối với PIC

Trang 23

Quá trình giao

tiếp:

Quá trình giao tiếp giữa DHT22 và PIC được thực hiện chỉ bằng một đường tín hiệu( chân Dout) và thường diễn ra trong khoảng 40 ms

Dữ liệu truyền từ DHT22 đến PIC có độ dài

40 bit với bit MSB được truyền đi trước

8 bit 8 bit 8 bit 8 bit 8 bit

Độ ẩm

Phần nguyên

Độ ẩm Phần thập phân

Nhiệt độ Phần nguyên

Nhiệt độ Phần thâp phân

Check - sum

Trang 24

Quá trình chuyển nhận dữ liệu của cảm biến DHT22

• Đầu tiên PIC gửi tín hiệu “START” đến chân DOUT của DHT22: tín hiệu chuyển

từ mức “1” xuống mức “0” và phải duy trì trong một khoảng thời gian 18 ms Sau

đó, vi điều khiển sẽ thiết lập chân này lên lại mức “1” trong khoảng 20 – 40 để đợi đáp ứng từ DHT22

Hình 14 Quá trình chuyển nhận dữ liệu DHT22

Ngày đăng: 26/05/2024, 06:45

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

TÀI LIỆU LIÊN QUAN

w