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

pbl3 thiết kế tb ưd vi đk và cảm biến

52 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

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.. ESP8266 Mạch thu phát Wifi SoC ESP8266 12F là phiên bản nâng cấp của dòng 12E với

Trang 1

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ

~~~~~~*~~~~~~

PBL3: THIẾT KẾ TB ƯD VI ĐK VÀ CẢM BIẾN

Giảng viên hướng dẫn : TS ĐOÀN LÊ ANH

Sinh viên thực hiện : VÕ ĐỨC THÀNH TRẦN TUẤN ANH

Lớp sinh hoạt : 21CDT Lớp học phần : 21.04

ĐÀ NẴNG – 2024

Trang 2

2

LỜI NÓI ĐẦU

Trước hết, chúng em xin gửi lời cảm ơn sâu sắc đến thầy Đoàn Lê Anh đã hướng dẫn, giúp đỡ và hỗ trợ chúng em trong suốt quá trình thực hiện đồ án này

Đồ án thiết kế thiết bị ứng dụng vi điều khiển và cảm biến là môn học vô cùng quan trọng, không thể thiếu đối với sinh viên ngành kỹ thuật nói chung và đặc biệt với chương trình Kỹ sư ngành Cơ điện tử nói riêng với mục đích mang lại cho sinh viên cho sinh viên những kiến thức cơ bản về cảm biến và vi điều khiển công nghiệp Trong quá trình học hai môn này chúng em đã làm quen với cảm biến, lập trình để điều khiển cảm biến, thiết bị ngoại vi, gia công mạch,

Để thực hiện đồ án chúng em đã liên kết những kiến thức của các môn Vi điều khiển, Cảm biến Công nghiệp nhằm ứng dụng vào đồ án Qua quá trình thực hiện, chúng em đã nắm bắt được kiến thức về vi điều khiển, cảm biến và kỹ năng thiết kế.Chúng em tin rằng những kiến thức, kinh nghiệm này sẽ là nền tảng quý giá cho bọn em trong tương lai Trong báo cáo này, chúng em sẽ trình bày về quá trình thực hiện đồ án, từ việc giới thiệu linh kiện, thiết kế mạch, lập trình, triển khai và kết quả Chúng em rất mong nhận được sự phản hồi và góp ý từ thầy để đồ án của chúng em có thể hoàn thiện hơn

Trang 3

MỤC LỤC

LỜI NÓI ĐẦU 2

PHẦN 1: GIỚI THIỆU ĐỀ TÀI 5

2.2 Chân/cổng của ESP8266 16

2.3 Cách kết nối với PIC16F877A 17

3 Khối hiển thị LCD 21

3.1 Tổng quan về LCD 20x4 21

3.2 Chức năng của các chân LCD 20x4 22

3.3 Cách kết nối LCD với vi điều khiển 23

4 PIC16F877A 24

4.1 Các chân của PIC16F877A 25

4.2 Các cổng của PIC16F877A 26

4.3 Cổng nối tiếp PIC16F877A 29

4.4 Giao tiếp I2C PIC16F877A 29

4.5 Ngắt PIC16F877A 29

5 TDS Sensor 30

5.1 Tổng quan về TDS Sensor 30

5.2 Chân cổng của TDS Sensor 32

5.3 Bộ chuyển đổi ADC 32

Trang 5

PHẦN 1: GIỚI THIỆU ĐỀ TÀI

ĐO CHẤT LƯỢNG NƯỚC TRONG THỜI GIAN THỰC GỬI LÊN THINGSPEAK

1 Tính tất yếu:

Kỹ thuật đo chất lượng nước thông thường là lấy mẫu thủ công và gửi đến phòng thí nghiệm để phân tích, nhưng kỹ thuật này tốn nhiều thời gian và không kinh tế Vì việc lấy mẫu nước đến phòng thí nghiệm sau mỗi giờ để đo chất lượng là không khả thi Hệ thống đo chất lượng nước có thể đo các chất lượng thiết yếu của nước theo thời gian thực Hệ thống bao gồm nhiều cảm biến đo tiêu chuẩn nước, vi điều khiển và Module Wifi để gửi thông tin về trung tâm giám sát Đó là một hệ thống thời gian thực có khả năng đo liên tục tiêu chuẩn nước và có thể gửi các giá trị đo được đến trung tâm theo dõi vào mỗi thời điểm được xác định trước Hệ thống dựa trên vi điều khiển PIC16F877A và Module Wifi

2 Nguyên lý của mô hình

Tiêu chuẩn của nước phụ thuộc vào rất nhiều thứ Chúng em đã sử dụng nhiều thông số kết hợp với nhau để xác định chất lượng của nước Chúng bao gồm: độ 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 ESP8266 V01 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 Webserver; 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

Trang 7

Tổng chất rắn hòa tan (TDS) xác định lượng khoáng chất và muối tồn tại trong nước Sử dụng TDS Sensor để đo tổng chất rắn hòa tan

Độ dẫn điện xác định khả năng dẫn điện của nước Như chúng ta đều biết nước tinh khiết có độ dẫn điện kém do đó để nước tinh khiết thì khả năng dẫn dòng điện phải kém Độ dẫn điện sẽ được xác định bằng cách chia tổng chất rắn hòa tan với một hệ số và thông thường hệ số này được lấy là 0,67 sẽ được thực hiện bằng lập trình

b PIC16F877A

PIC16F877A là một loại vi điều khiển (MCU - Microcontroller Unit) thuộc họ PIC (Peripheral Interface Controller) của hãng Microchip Technology Đây là một trong những loại vi điều khiển phổ biến nhất trên thị trường hiện nay, được sử dụng rộng rãi trong các ứng dụng điều khiển

PIC16F877A có thể điều khiển các chức năng thông qua các cổng vào và ra I/O, bao gồm các chức năng đọc cảm biến, điều khiển động cơ, ghi và đọc trạng thái bộ nhớ, và đặc biệt là các chức năng giao tiếp với các thiết bị ngoại vi khác Ngoài ra, nó còn tích hợp các tính năng như bộ timer, bộ đếm và bộ chuyển đổi Analog-to-Digital Converter (ADC) để thu thập dữ liệu từ cảm biến

PIC16F877A là một bộ vi điều khiển có khả năng thực hiện nhiều tác vụ vì nó có bộ nhớ lập trình đủ lớn (lớn về cảm biến và dự án điều khiển) Điều này là đủ để làm nhiều dự án khác nhau PIC16F877A có 40 chân x 33 đường dẫn I/O 40 chân giúp sử dụng các thiết bị ngoại vi dễ dàng hơn vì các chức năng được phân bổ trên các chân Điều này giúp dễ dàng hơn trong việc quyết định gắn thiết bị bên ngoài nào mà không phải lo lắng quá nhiều liệu có đủ chân cắm để thực hiện công việc hay không

Hình 1.3 PIC16F877A

Trang 8

8

c ESP8266

Mạch thu phát Wifi SoC ESP8266 12F là phiên bản nâng cấp của dòng 12E với nhiều cải tiến về thiết kế, PCB và Anten cho khả năng bắt sóng tốt và ổn định hơn, mạch hoàn toàn tương thích với các phiên bản cũ trước đây về kích thước và kiểu chân, ESP-12F được thiết kế thêm 6 chân IO với giao tiếp SPI ở phía dưới mạch giúp bạn có thể sử dụng nếu cần (6 chân này cũng được nối với bộ nhớ SPI Flash nội) Mạch thu phát Wifi SoC ESP8266 ESP-12F Ai-Thinker có nhân xử lý bên trong là IC Wifi SoC ESP8266, thường được sử dụng trong các ứng dụng kết nối Wifi, IoT hiện nay, mạch được sản xuất bởi chính hãng Ai-Thinker với quy trình thiết kế, gia công, đo kiểm kỹ càng cho chất lượng mạch tốt và độ ổn định cao Mạch thu phát Wifi SoC ESP8266 ESP-12F Ai-Thinker có kích thước nhỏ gọn, ra chân đầy đủ của IC ESP8266, mạch được thiết kế và gia công chất lượng tốt với vỏ bọc kim loại chống nhiễu và anten Wifi PCB tích hợp cho khoảng các truyền xa và ổn định

ESP-Hình 1.4 ESP8266

d LCD 20x4:

Màn hình LCD (Màn hình tinh thể lỏng) được sử dụng rộng rãi trong các ứng dụng khác nhau của bộ vi điều khiển LCD cung cấp một số lợi thế so với các loại màn hình khác Chúng có khả năng hiển thị nhiều loại ký tự, số và ký hiệu đồ họa một cách hấp dẫn trực quan Chúng dễ dàng giao tiếp với các giao thức truyền thông khác nhau, yêu

Trang 9

cầu tài nguyên hệ thống tối thiểu và tiết kiệm chi phí

Hình 1.5 LCD20x4

e Cảm biến nhiệt độ DS18B20

DS18B20 là cảm biến nhiệt độ có giao thức 1-wire được tích hợp tối đa Sử dụng rộng rãi để đo nhiệt độ trong các môi trường như trong dung dịch hóa chất, hầm mỏ hoặc đất, v.v Cảm biến rất chắc chắn và có thể mua với tùy chọn chống thấm nước giúp quá trình lắp đặt dễ dàng

Hình 1.6 DS18B20

Trang 10

10

PHẦN 2: GIỚI THIỆU LINH KIỆN

1 PIC16F877A: 1.1 Tổng quan:

PIC (Programmable Intelligent Computer) là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip Technology Dòng PIC đầu tiên là PIC1650 được phát triển bởi Microelectronics Division thuộc General Instrusment

PIC16F877A là vi điều khiển thuộc họ PIC16F được sản xuất bởi hãng Microchip với tập lệnh gồm 35 lệnh có độ dài 14 bit

PIC16F877A được sản xuất và đóng gói theo hai kiểu PDIP (hình 2.1) và TQFP (hình 1.2) Chúng em sẽ sử dụng PIC16F877A dưới dạng PDIP

Hình 2.1 PIC16F877A dưới dạng TQFP

Trang 11

Sơ đồ khối và các đặc điểm ngoại vi của PIC16F877A được mô tả ở Hình 1.2

1.2 Chân/cổng của PIC16F877A:

a Các chân nối nguồn và thạch anh dao động

• Chân 𝐌𝐂𝐑𝐋̅̅̅̅̅̅̅̅/Vpp

Hình 2.2 Sơ đồ khối của PIC16F877A

Trang 12

12

̅̅̅̅̅̅̅̅: là ngõ vào reset tích cực ở mức thấp Sơ đồ mạch cho cổng này ở hình 2.4

Vpp: khi lập trình cho vi điều khiển PIC thì chân này đóng vai trò là ngõ vào nhận điện áp lập trình

• Chân VDD (11,32) và VSS (12,31): là các chân cấp nguồn cho vi điều khiển PIC • Chân OSC1/CLKIN (13) và OSC2/CLKOUT (14)

Hai chân này nối với thạch anh để tạo ra xung dao động cho PIC

Hai tụ lọc C1, C2 được thêm vào để xung tạo ra từ thạch anh ổn định hơn Giá trị điện dung của hai tụ này được chọn là 30 pF (15-68 pF) khi sử dụng thạch anh 4MHz (theo datasheet của PIC)

Hình 2.3 Sơ đồ mạch Reset

b Cổng A:

Từ chân (2) đến chân (7)

Thanh ghi định hướng dữ liệu: TRISA

Là cổng xuất nhập hai chiều với 6 chân từ RA0 đến RA5 Các chân cụ thể:

• Chân RA0(1)/AN0(1) (2,3)

• Chân RA2/AN2/VREF-/CVREF (4) • Chân RA3/AN3/VREF+ (5)

• Chân RA4/T0CKI/C1OUT (6) • Chân RA5/AN4/𝐒𝐒̅̅̅/C2OUT (7) c Cổng B:

Từ chân (33) đến chân (40)

Thanh ghi định hướng dữ liệu: TRISB

Là cổng xuất nhập hai chiều với 8 chân từ RB0 đến RB7 Các chân cụ thể:

• Chân RB0(1)/INT (33)

• Chân RB1, RB2, RB4, RB5 (34, 35, 37, 38)

Trang 13

• Chân RB3/PGM (36) • Chân RB6/PGC (39) • Chân RB7/PGD (40) d Cổng C:

Từ chân (15) đến chân (18) và chân (23) đến chân (26) Thanh ghi định hướng dữ liệu: TRISC

Là cổng xuất nhập hai chiều với 8 chân từ RC0 đến RC7 Các chân cụ thể:

• Chân RC0/T1OSO/T1CKI (15) • Chân RC1/T1OSI/CCP2 (16) • Chân RC2/CCP1 (17)

• Chân RC3/SCK/SCL (18) • Chân RC4/SDI/SDA (23) • Chân RC5/SDO (24) • Chân RC6/TX/CK (25) • Chân RC7/RX/DT (26) e Cổng D:

Từ chân (19) đến chân (22) và chân (27) đến chân (30) Thanh ghi định hướng dữ liệu: TRISD

Là cổng xuất nhập hai chiều với 8 chân từ RD0 đến RD7 Các chân cụ thể:

• RDx/PSPx (19, 20, 21, 22, 27-30): RDx: xuất/nhập số

PSPx: dữ liệu cổng tới song song f Cổng E:

Từ chân (8) đến chân (10)

Thanh ghi định hướng dữ liệu: TRISE

Là cổng xuất nhập hai chiều với 3 chân từ RE0 đến RE2 Các chân cụ thể:

• Chân RE0/𝐑𝐃̅̅̅̅/AN5 (8) RE0: Xuất/nhập số

̅̅̅̅: Điều chỉnh đọc cổng tới song song AN5: Ngõ vào tương tự của kênh thứ 5 • Chân RE1/𝐖𝐑̅̅̅̅̅/AN6 (9)

RE1: xuất/nhập số

̅̅̅̅̅: điều khiển giao tiếp song song 𝐀𝐍𝟔: ngõ vào tương tự của kênh thứ 6 1.3 Ngắt PIC16F877A

Trang 14

14

PIC16F877a có tổng cộng 8 nguồn ngắt Nguồn ngắt là một số sự kiện tạo ra ngắt, nguồn này có thể là bộ đếm thời gian như các ngắt được tạo sau mỗi 1 giây hoặc cũng có thể là sự kiện thay đổi trạng thái chân, chẳng hạn như nếu trạng thái chân bị thay đổi sau đó ngắt sẽ được tạo ra

Vì vậy, ngắt PIC16F877a có thể được tạo ra bằng 8 cách sau:

• Ngắt ngoài

• Ngắt bộ định thời (Timer0 / Timer1)

• Thay đổi trạng thái cổng B

• Cổng Slave Song song Đọc / Ghi

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ể cấp cho bất kỳ bộ vi điều khiển nào 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 là một bo mạch 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 thông qua GPIO của nó với mức độ phát triển ban đầu tối thiểu và tải tối thiểu trong thời gian chạy 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 2.4 ESP8266 V01

Trang 15

Chip Wi-Fi: ESP8266EX Nguồn cấp: 3.0V ~ 3.6V DC Tiêu thụ dòng điện:

Chế độ hoạt động: 80mA ~ 170mA Chế độ chờ: < 1.0Ma

Chuẩn giao tiếp: Wi-Fi 802.11 b/g/n

Tốc độ truyền dữ liệu: 110 ~ 460800bps (tùy chọn) Điện áp: 3.3V DC

Kích thước: 24mm x 14mm x 3mm

Anten: PCB Anten hoặc IPEX anten ngoài (tùy chọn)

2.2 Chân/cổng của ESP8266:

ESP8266 có 8 chân, bao gồm RX, VCC, GPIO 0, RESET, CH_PD, GPIO 2, TX và GND Trong đó VCC và GND là các chân nguồn, trong khi RX và TX hỗ trợ giao tiếp Vì ESP8266 hoạt động ở điện áp 3,3V, phải cấp nguồn chính xác cho nó bằng nguồn điện 3,3VDC hoặc sử dụng mạch chia điện áp và bộ đổi nguồn 3,3 VDC Thận trọng khi kết

Hình 2 Chức năng các chân của ESP8266

Trang 16

16

nối nguồn điện với mô-đun ESP để tránh hư hỏng vĩnh viễn

2.3.Cách kết nối với PIC16F877A

Sơ đồ bao gồm hai mạch ổn áp, một mạch là bộ điều chỉnh +5V được sử dụng để cấp nguồn cho vi điều khiển PIC và mạch còn lại là bộ điều chỉnh 3,3V cấp nguồn cho mô-đun ESP8266 +5V được điều chỉnh bằng cách sử dụng 7805 3,3V được điều chỉnh bằng cách sử dụng LM317 Mô-đun ESP8266 tiêu thụ rất nhiều dòng điện (~800mA) do đó phải đảm bảo rằng nó có thể cung cấp dòng điện cao như vậy Ngoài ra, phải đảm bảo rằng các chân nối đất của PIC và mô-đun ESP8266 được kết nối với nhau

Chúng ta biết rằng PIC hoạt động ở điện áp +5V và ESP8266 hoạt động ở điện áp 3,3V Để thiết lập giao tiếp UART giữa hai mô-đun này, chúng ta cần có mạch chuyển đổi logic 5V - 3,3V như trong hình trên Mạch này không gì khác ngoài một bộ chia điện thế, chỉ đơn giản là chuyển đổi + 5V đầu vào thành 3,3V

2.4.Chuẩn giao tiếp UART:

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

Hình 2.6 Sơ đồ đấu dây của ESP8266 với PIC16F877A (tham khảo CircuitDigest)

Trang 17

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 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

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

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 chuỗ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

Trang 18

18

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 Chế độ truyền:

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 tạo ra

Các bước 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 19

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 bị gián đoạn

Các bước 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

3 Khối hiển thị LCD

Trang 20

20

3.1 Tổng quan về LCD 20x4

LCD 20x4 là loại màn hình tinh thể lỏng nhỏ dùng để hiển thị chữ hoặc số trong bảng mã ASCII Mỗi ô của Text LCD bao gồm các chấm tinh thể lỏng, các chấm này kết hợp với nhau theo trình tự “ẩn” hoặc “hiện” sẽ tạo nên các kí tự cần hiển thị và mỗi ô chỉ hiển thị được một kí tự duy nhất

LCD 20x4 nghĩa là loại LCD có 4 dòng và mỗi dòng chỉ hiển thị được 20 kí tự Đây là loại màn hình được sử dụng rất phổ biến trong các loại mạch điện

Hình 2.7 Hình dáng của LCD 20x4

Hình 2.8.Giá thành LCD 20x4

Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển bên trong lớp vỏ và chỉ đưa ra các chân giao tiếp cần thiết Các chân này được đánh số thứ tự và đặt tên như hình

Trang 21

Hình 2.9 Các chân của LCD 20x4

3.1 Chức năng của các chân LCD 20X4

1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với GND của mạch điều khiển

2 Vdd Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với VCC=5V của mạch điều khiển

3 Vee Lựa chọn độ tương phản của màn hình

4 RS Chân chọn thanh ghi (Register select) Nối chân RS với logic “0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi

+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)

+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD

5 R/W Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic

Trang 22

22

Bảng Chức năng của các chân LCD

3.2 Cách kết nối LCD với vi điều khiển

“0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc

6 E Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E

+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân E

+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp

Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU Có 2 chế độ sử dụng 8 đường bus này + Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7

+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7

Trang 23

TDS bao gồm các muối vô cơ và một lượng nhỏ các chất hữu cơ được hòa tan trong nước, bao gồm kim loại nặng tồn tại dưới dạng ion âm, ion dương và phân tử

Nguyên lý đo: Đo độ dẫn điện sau đó tính ra được tổng chất răn hòa tan (sai số 10%) 𝑇𝐷𝑆(𝑚𝑔

𝑙 ) = 𝑘𝑒𝐸𝐶 𝑘𝑒: Hệ số dao động

Trang 24

Chất rắn hòa tan TDS có nguồn gốc từ đâu?

Chất rắn hòa tan (TDS) trong nước có thể xuất phát từ nhiều nguồn gốc khác nhau, bao gồm cả hữu cơ và vô cơ:

Nguồn hữu cơ: Chất rắn hòa tan có thể đến từ các nguồn gốc tự nhiên như lá cây, phù sa, và sinh vật phù du, hoặc từ các chất thải công nghiệp và nước thải sinh hoạt Ngoài ra, dòng chảy từ các khu vực đô thị, phân bón và thuốc trừ sâu từ hoạt động chăn nuôi và trồng trọt, cũng góp phần làm mất cân bằng lượng TDS trong nước

Nguồn vô cơ: Các khoáng chất và vật liệu từ đá và không khí, bao gồm canxi bicarbonate, nitơ, phốt pho, sắt, lưu huỳnh và các khoáng chất khác, cũng là nguồn của TDS Những vật liệu này có thể tạo thành muối khi hòa tan trong nước, biến thành các

Trang 25

ion với điện tích dương hoặc âm, góp phần vào hàm lượng TDS

Tác động từ cơ sở hạ tầng: Hàm lượng đồng và chì trong nước cũng có thể gia tăng khi nó đi qua những đường ống cũ hoặc không đạt chuẩn Quá trình này sẽ làm tăng lượng TDS trong nước và ảnh hưởng tiêu cực đến sức khoẻ người sử dụng

TDS trong nước là một chỉ số phản ánh sự phức tạp của nguồn nước, nắm bắt cả những phần tử có lợi và có hại, từ đó cung cấp cái nhìn toàn diện về chất lượng nước

Hình 2.12 Phân bố TDS đối với nước

Thông số của TDS Sensor:

Signal Transmitter Board Input Voltage: 3.3 ~ 5.5V Output Voltage: 0 ~ 2.3V

Working Current: 3 ~ 6mA

TDS Measurement Range: 0 ~ 1000ppm

TDS Measurement Accuracy: ± 10% F.S (25 B) Module Size: 42 * 32mm

Module Interface: PH2.0-3P Electrode Interface: XH2.54-2P TDS probe Number of Needle: 2 Total Length: 83cm

Connection Interface: XH2.54-2P _ Colour: Black

Other: Waterproof Probe

4.2 Chân cổng của TDS Sensor:

Trang 26

• Độ phân giải: là đại lượng biểu thị số giá trị nhị phân tối đa mà bộ ADC có thể

biểu diễn

• Chu kỳ lấy mẫu: Bộ ADC cần đọc giá trị tương tự và chuyển đổi nó sang tín hiệu

số Thời gian giữa hai lần đọc giá trị tương tự liên tiếp nhau được gọi là một chu kỳ lấy mẫu Chu kỳ lấy mẫu càng nhỏ thì tần số lấy mẫu càng cao và kết quả càng chính xác

4.3.2 Một số khai báo quan trọng trong CCS

• #device ADC = x (chọn độ phân giải cho ADC)

• SETUP_ADC (bật/tắt ADC và chọn tần số lấy mẫu ) • SETUP_ADC_PORTS( chọn chân analog)

• SET_ADC_CHANNEL( chọn kênh ADC)

• READ_ADC(chọn chế độ lấy thông tin ADC) 4.3.2.1 Chỉ thị tiền xử lý #device ADC = x

Đây là chỉ thị tiền xử lý dùng để khai báo sử dụng bộ chuyển đổi ADC với độ phân giải bao nhiêu bit Vi điều khiển PIC16F877A hỗ trợ chuyển đổi ADC với độ phân giải 8 bit và 10 bit ( tương ứng x = 8 hoặc x =10)

ADC_CLOCK_INTERNAL Tần số lấy mẫu bằng tần số của bộ dao động nội

ADC_CLOCK_DIV_X Thời gian lấy mẫu bằng tần số của thạch anh ngoại chia cho x

Bảng Tham số của hàm SETUP_ADC

4.3.2.3 Hàm SETUP_ADC_PORT(tham số)

Ngày đăng: 29/06/2024, 06:37

Xem thêm:

w