Trong đời sống hằng ngày, cũng nhƣ trong ngành công nghiệp sản xuất chất lỏngnhƣ bia, rƣợu, nƣớc uống, hóa chất...cần phải có thiết bị để đo lƣu lƣợng dòng chảy đểđiều khiển áp suất, lƣu lƣợng, thể tích, thành phần... mà ngƣời vận hành không cầnphải trực tiếp kiểm tra và tính toán. Nhận thức đƣợc vấn đề này nhóm chúng em đãchọn phƣơng án giải quyết thực hiện đề tài “Thiết kế hệ thống đo và hiển thị lưulượng dòng chảy”Trên cơ sở những kiến thức đã đƣợc trang bị trong quá trình học tập, tài liệu thamkhảo kết hợp cùng với sự hƣớng dẫn nhiệt tình của thầy Nguyễn Ngọc Hà và các thầycô bộ môn cơ điện tử, các anh chị em bạn bè tạo điều kiện để chúng em hoàn thành đồán. Trong quá trình làm nhóm chúng em còn nhiều lỗi sai, hạn chế về mặt kiến thức.Rất mong nhận đƣợc sự góp ý, giúp đỡ của các thầy cô bạn bè.
GIỚI THIỆU CHUNG
ĐẶT VẤN ĐỀ
Ngành kỹ thuật cơ điện tử ngày càng trở nên quan trọng trong cuộc sống hiện đại, với sự phát triển đa dạng của các hệ thống cơ điện tử Những hệ thống này không chỉ thay thế các công việc đơn giản mà còn đảm nhận các nhiệm vụ phức tạp như điều khiển tín hiệu đèn giao thông, đo tốc độ động cơ và các thiết bị đồng hồ số.
Các hệ thống điện tử thông minh hiện nay thường ưu tiên sử dụng hệ thống số thay vì hệ thống tương tự, nhờ vào những lợi ích nổi bật như độ tin cậy cao, chi phí thấp, và dễ dàng trong thiết kế, lắp đặt cũng như vận hành.
Với mong muốn áp dụng kiến thức đã học và củng cố chuyên môn, chúng em quyết định chọn đề tài "Thiết kế hệ thống đo và hiển thị lưu lượng dòng chảy".
MỤC TIÊU CỦA ĐỀ TÀI
- Nhằm tìm hiều và nghiên cứu về các thiết bị điện tử, linh kiện điện tử, cảm biến đo, thiết bị đo
- Vận dụng linh hoạt giữa lý thuyết đã đƣợc học tập và nghiên cứu áp dụng chúng vào thực tế
Rèn luyện kỹ năng làm việc nhóm và kỹ năng làm việc thực tế thông qua việc sử dụng mô hình và sản phẩm thật giúp người học nhận ra sự khác biệt rõ rệt giữa mô phỏng trên máy tính và trải nghiệm thực tế.
- Thiết kế và chế tạo được hệ thống đo và hiển thị lưu lượng dòng chảy có sử dụng các cảm biến đo
Hệ thống được thiết kế nhằm tiết kiệm thời gian làm việc cho con người, hoạt động tự động và hoàn toàn độc lập.
Dựa trên phương pháp nghiên cứu và phân tích đặc tính của các thiết bị điện công nghiệp, cùng với kiến thức đã học và sự hướng dẫn của giáo viên, chúng em đã thiết kế thành công hệ thống đo và hiển thị lưu lượng dòng chảy với nhiều chức năng hữu ích.
+ Đo được lưu lượng của dòng chảy và đưa ra kết quả cho người đo
+ Đảm bảo thiết bị luôn an toàn đối với người sử dụng
1.4 VAI TRÒ VÀ VỊ TRÍ CỦA HỆ THỐNG ĐO
Hệ thống đo lường bao gồm các cảm biến thu thập các tín hiệu mà máy tính không thể đọc được, như khối lượng, vận tốc, nhiệt độ và độ ẩm Các tín hiệu này được gửi đến bộ điều khiển để xử lý và phục vụ cho các công đoạn tiếp theo.
Các phần tử của một hệ thống đo lường
Cảm biến trong hệ thống đo lường có chức năng nhận diện các đại lượng điện và không điện, sau đó chuyển đổi chúng thành tín hiệu điện phù hợp để thiết bị thu nhận tín hiệu có thể xử lý.
Gia công tín hiệu là quá trình chuyển đổi các tín hiệu từ cảm biến thành trạng thái phù hợp để hiển thị hoặc đưa vào mô-đun xử lý, nhằm thực hiện các chuỗi điều khiển hiệu quả.
Hệ thống hiển thị là nơi mà tín hiệu đầu ra từ bộ gia công tín hiệu được thể hiện dưới dạng số (hiển thị số) hoặc dưới dạng biểu đồ (hiển thị tương tự), giúp người dùng dễ dàng nhận biết và phân tích thông tin.
1.5 VAI TRÒ CỦA VIỆC ĐO LƯU LƯỢNG DÒNG CHẢY
Lưu lượng các chất chảy qua ống dẫn là một tham số quan trọng trong quá trình công nghệ Để nâng cao chất lượng sản phẩm và hiệu quả của hệ thống điều khiển tự động, việc đo chính xác thể tích và lưu lượng các chất là cần thiết Mỗi môi trường đo có những đặc trưng về tính chất lý hóa và yêu cầu công nghệ khác nhau, do đó có nhiều phương pháp đo dựa trên các nguyên lý khác nhau.
Gia công tín hiệu Đại lƣợng đang đƣợc đo
Giá trị đại lượng được xác định thông qua khối lượng và thể tích, với các đơn vị đo như kg, tấn, m³ và lít Lưu lượng vật chất được đo bằng số lượng chất chảy qua tiết diện ngang của ống dẫn trong một đơn vị thời gian Cảm biến đo lưu lượng đóng vai trò quan trọng trong việc giám sát và điều khiển chất lỏng, không chỉ phục vụ cho mục đích kiểm kê mà còn trong tự động hóa quy trình sản xuất Do đó, việc hiểu rõ phương pháp đo và đặc tính của thiết bị đo lưu lượng là rất cần thiết.
VAI TRÒ VÀ VỊ TRÍ CỦA HỆ THỐNG ĐO
Hệ thống đo lường bao gồm các cảm biến thu nhận tín hiệu mà máy tính không thể đọc được, như khối lượng, vận tốc, nhiệt độ và độ ẩm Những thông tin này được cảm biến thu thập và chuyển đến bộ điều khiển để xử lý cho các bước tiếp theo.
Các phần tử của một hệ thống đo lường
Cảm biến là phần tử quan trọng trong hệ thống đo lường, có khả năng cảm nhận các đại lượng điện và không điện Chúng chuyển đổi các đại lượng này thành tín hiệu điện phù hợp, giúp thiết bị thu nhận tín hiệu xử lý thông tin một cách hiệu quả.
Gia công tín hiệu là quá trình chuyển đổi tín hiệu từ cảm biến thành trạng thái phù hợp để hiển thị hoặc đưa vào mô đun xử lý, nhằm thực hiện các chu trình điều khiển hiệu quả.
Hệ thống hiển thị là phần quan trọng trong việc truyền tải tín hiệu từ bộ gia công tín hiệu, cho phép người dùng quan sát thông tin dưới dạng số (hiển thị số) hoặc dưới dạng biểu đồ (hiển thị tương tự).
VAI TRÒ CỦA VIỆC ĐO LƯU LƯỢNG DÒNG CHẢY
Lưu lượng chất chảy qua ống dẫn là một tham số quan trọng trong quá trình công nghệ, ảnh hưởng đến chất lượng sản phẩm và hiệu quả của hệ thống điều khiển tự động Để nâng cao hiệu quả này, việc đo chính xác thể tích và lưu lượng các chất là cần thiết Mỗi môi trường đo có những đặc điểm lý hóa và yêu cầu công nghệ riêng, do đó có nhiều phương pháp đo khác nhau dựa trên các nguyên lý khác nhau.
Gia công tín hiệu Đại lƣợng đang đƣợc đo
Giá trị đại lượng trong đo lưu lượng rất quan trọng, vì nó không chỉ xác định số lượng vật chất qua khối lượng và thể tích (kg, tấn, m³, lít) mà còn ảnh hưởng đến việc giám sát và điều khiển trong nhiều ứng dụng Các cảm biến đo lưu lượng được sử dụng để đo chất lỏng, đóng vai trò thiết yếu trong việc kiểm kê và tự động hóa quy trình sản xuất Do đó, việc hiểu rõ phương pháp đo và đặc tính của thiết bị đo lưu lượng là điều cần thiết.
CƠ SỞ LÝ THUYẾT CỦA PHƯƠNG PHÁP ĐO
LƯU LƯỢNG DÒNG CHẢY LÀ GÌ
Lưu lượng dòng chảy là khối lượng chất lỏng di chuyển qua mặt cắt ngang của ống dẫn trong một khoảng thời gian nhất định Thông số này thường được sử dụng để đo các loại chất lỏng như nước, dầu và dung môi.
Chỉ số này đóng vai trò quan trọng trong việc xác định lịch trình vận động của chất lỏng, từ đó giúp tính toán thời gian và công suất lọc phù hợp.
Tuỳ theo đơn vị tính lượng chất lưu (theo thể tích hoặc khối lượng) người ta phân biệt:
- Lưu lượng thể tích (Q) tính bằng m 3 /s, m 3 /giờ
- Lưu lượng khối (G) tính bằng kg/s, kg/giờ
- Lưu lượng trung bình trong khoảng thời gian (t = t2 – t1 ) xác định bởi biểu thức:
Q = V/t hoặc G = m/t Trong đó: V, m là thể tích và khối lượng chất lưu chảy qua ống trong khoảng thời gian khảo sát
Lưu lượng tức thời xác định theo công thức:
Để đo lưu lượng, người ta sử dụng các lưu lượng kế khác nhau tùy thuộc vào tính chất của chất lưu và yêu cầu công nghệ Nguyên lý hoạt động của các lưu lượng kế này dựa trên các cơ sở khoa học nhất định.
- Đếm trực tiếp thể tích chất lưu chảy qua công tơ trong một khoảng thời gian xác định Δt
- Đo vận tốc chất lưu chảy qua công tơ khi lưu lượng là hàm của vận tốc
- Đo độ giảm áp qua tiết diện thu hẹp trên dòng chảy, lưu lượng là hàm phụ thuộc độ giảm áp
Tín hiệu đo biến đổi trực tiếp thành tín hiệu điện hoặc nhờ bộ chuyển đổi điện thích hợp.
ĐO LƯU LƯỢNG BẰNG CÔNG TƠ TỐC ĐỘ
Công tơ tốc độ tuabin hướng trục bao gồm các bộ phận chính như tuabin nhỏ (2) được lắp đặt theo hướng dòng chảy Để đảm bảo dòng chảy ổn định, bộ chỉnh dòng chảy (1) được đặt trước tuabin nhằm làm phẳng dòng rối và loại bỏ xoáy Chuyển động quay của tuabin được truyền qua bộ bánh răng - trục vít (3) đến thiết bị đếm (4).
Hình 2.2 Cấu tạo công tơ tốc độ tuabin hướng trục
1) Bộ chỉnh dòng chảy 2) Tuabin
3) Bộ truyền bánh răng-trục vít 4) Thiết bị đếm Tốc độ quay của công tơ tỉ lệ với tốc độ dòng chảy:
Trong đó: k - hệ số tỉ lệ phụ thuộc cấu tạo công tơ
Lưu lượng thể tích chất lưu chảy qua công tơ:
F - tiết diện dòng chảy n - tốc độ quay của tuabin (số vòng quay trong một giây)
Sử dụng cơ cấu đếm để tính tổng số vòng quay của công tơ trong khoảng thời gian từ t1 đến t2 cho phép xác định thể tích chất lỏng đã chảy qua công tơ.
Công tơ tốc độ tuabin hướng trục có đường kính từ 50 - 300 mm, cho phép đo lưu lượng từ 50 - 300 m³/giờ với các cấp chính xác 1, 1.5 và 2 Để đo lưu lượng nhỏ, công tơ tốc độ kiểu tiếp tuyến được sử dụng, với sơ đồ cấu tạo như hình 20.16.
Tuabin công tơ được lắp đặt trên trục quay vuông góc với dòng chảy, cho phép chất lưu đi qua màng lọc và ống dẫn vào công tơ theo hướng tiếp tuyến, làm quay tuabin Cơ cấu đếm liên kết với trục tuabin truyền tín hiệu đến mạch đo.
Hình 2.3 Công tơ tốc độ kiểu tuabin tiếp tuyến
1) Tuabin 2) Màng lọc 3) ống dẫn Công tơ kiểu tiếp tuyến với đường kính tuabin từ 15 - 40 mm có phạm vi đo từ 3
HIỆU ỨNG HALL
Hiệu ứng Hall, được phát hiện bởi Edwin Herbert Hall vào năm 1879, là một trong những hiện tượng cơ bản trong vật lý học Hiệu ứng này xảy ra khi một vật dẫn có dòng điện chạy qua được đặt trong một từ trường.
Khi áp dụng một từ trường vuông góc lên một thanh Hall làm bằng kim loại, chất bán dẫn hoặc chất dẫn điện có dòng điện chạy qua, hiệu ứng vật lý được thực hiện tạo ra hiệu điện thế Hall tại hai mặt đối diện của thanh Tỷ số giữa hiệu điện thế Hall và dòng điện chạy qua thanh được gọi là điện trở Hall, đặc trưng cho vật liệu của thanh Hall, thường là một chất bán dẫn.
LINH KIỆN ĐIỆN TỬ VÀ ARDUINO ĐIỀU KHIỂN
ARDUINO UNO R3 DIP
Hình 3.1 Arduino Uno R3 chíp cắm
Arduino Uno R3 là một board mạch vi điều khiển đƣợc phát triển bởi
Arduino.cc, một nền tảng điện tử mã nguồn mở chủ yếu dựa trên vi điều khiển
Arduino Uno R3 hiện tại tích hợp giao diện USB, 6 chân đầu vào analog và 14 cổng kỹ thuật số I/O, cho phép kết nối dễ dàng với các mạch điện tử và thiết bị bên ngoài Trong số 14 cổng I/O, có 6 chân hỗ trợ đầu ra xung PWM, giúp các nhà thiết kế kiểm soát và điều khiển các thiết bị ngoại vi một cách trực quan và hiệu quả.
Arduino Uno R3 đƣợc kết nối trực tiếp với máy tính thông qua USB để giao tiếp với phần mềm lập trình IDE, tương thích với Windows, MAC hoặc Linux
Systems, tuy nhiên, Windows thích hợp hơn để sử dụng Các ngôn ngữ lập trình nhƣ C và C ++ đƣợc sử dụng trong IDE
Ngoài USB, người dùng có thể dùng nguồn điện ngoài để cấp nguồn cho bo mạch
Bo mạch Arduino Uno tương tự như các loại bo mạch khác trong dòng Arduino về chức năng và cách sử dụng, nhưng điểm khác biệt là chúng không được trang bị chip điều khiển FTDI USB to Serial.
Arduino Uno là phiên bản bo mạch chính thức phổ biến nhất, được trang bị vi điều khiển Atmega328 8 bit AVR Atmel và có bộ nhớ RAM 32KB.
Khi nhiệm vụ trở nên phức tạp, việc kết nối thẻ nhớ SD Micro với Arduino sẽ giúp lưu trữ nhiều thông tin hơn.
Hình 3.2 Sơ đồ chân của Arduino Uno R3 chip cắm
Một vài thông số của Arduino UNO R3
Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ đƣợc cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader
EEPROM 1 KB (ATmega328) Đèn LED: Arduino Uno đi kèm với đèn LED tích hợp đƣợc kết nối thông qua chân 13 Cung cấp mức logic HIGH tương ứng ON và LOW tương ứng tắt
Vin là điện áp đầu vào cung cấp cho board mạch Arduino, khác với 5V từ cổng USB Điện áp này được sử dụng để cấp nguồn cho toàn bộ mạch qua jack nguồn, thường nằm trong khoảng 7-12VDC.
Chân 5V trên Arduino được sử dụng để cung cấp điện áp đầu ra, cho phép thiết bị hoạt động hiệu quả Arduino có thể nhận nguồn điện qua ba phương thức: cổng USB, chân Vin trên bo mạch, hoặc qua giắc nguồn DC.
USB: Hỗ trợ điện áp khoảng 5V trong khi Vin và Power Jack hỗ trợ dải điện áp trong khoảng từ 7V đến 20V
GND: Chân mass chung cho toàn mạch Arduino
Reset: Chân reset để thiết lập lại về ban đầu
IOREF: Chân này rất hữu ích để cung cấp tham chiếu điện áp cho Arduino
PWM: PWM đƣợc cung cấp bởi các chân 3,5,6,9,10, 11 Các chân này đƣợc cấu hình để cung cấp PWM đầu ra 8 bit
SPI: Chân này đƣợc gọi là giao diện ngoại vi nối tiếp Các chân 10 (SS), 11
(MOSI), 12 (MISO), 13 (SCK) cung cấp liên lạc SPI với sự trợ giúp của thƣ viện
SPI.AREF: Chân này được gọi là tham chiếu tương tự, được sử dụng để cung cấp điện áp tham chiếu cho các đầu vào tương tự
TWI: Chân Giao tiếp TWI đƣợc truy cập thông qua thƣ viện dây Chân A4 và
A5 đƣợc sử dụng cho mục đích này
Serial Communication: Giao tiếp nối tiếp đƣợc thực hiện thông qua hai chân 0 (Rx) và 1 (Tx)
Rx: Chân này đƣợc sử dụng để nhận dữ liệu trong khi chân Tx đƣợc sử dụng để truyền dữ liệu
External Interrupts (Ngắt ngoài): Chân 2 và 3 đƣợc sử dụng để cung cấp các ngắt ngoài
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
Vi điều khiển có 32KB bộ nhớ Flash để lưu trữ các đoạn lệnh lập trình Trong số đó, khoảng vài KB thường được sử dụng cho bootloader, nhưng bạn có thể yên tâm rằng hiếm khi bạn cần sử dụng quá 20KB bộ nhớ này.
SRAM (Static Random Access Memory) có dung lượng 2KB, nơi lưu trữ giá trị các biến mà bạn khai báo trong lập trình Số lượng biến càng nhiều thì yêu cầu bộ nhớ RAM càng lớn Tuy nhiên, việc thiếu hụt bộ nhớ RAM hiếm khi là vấn đề đáng lo ngại Lưu ý rằng khi mất điện, dữ liệu trên SRAM sẽ bị mất.
A 1KB EEPROM (Electrically Erasable Programmable Read-Only Memory) functions like a mini hard drive, allowing you to read and write data securely Unlike traditional data storage, EEPROM retains information even during power outages, ensuring your data remains safe and accessible.
Arduino UNO có thể nhận nguồn 5V qua cổng USB hoặc từ nguồn bên ngoài với điện áp khuyên dùng từ 7-12V DC, và giới hạn là 6-20V Nếu không có nguồn từ cổng USB, việc sử dụng pin vuông 9V là lựa chọn hợp lý nhất.
Nếu cấp nguồn vƣợt quá ngƣỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO
GND (Ground) là cực âm của nguồn điện cung cấp cho Arduino UNO Khi sử dụng các thiết bị với nguồn điện riêng biệt, cần phải nối các chân GND này lại với nhau để đảm bảo hoạt động ổn định.
5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA
3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA
Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND
Trên Arduino UNO, chân IOREF cho phép đo điện áp hoạt động của vi điều khiển, và giá trị này luôn ổn định ở mức 5V Tuy nhiên, cần lưu ý rằng bạn không nên sử dụng chân này để cấp nguồn.
5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET đƣợc nối với GND qua 1 điện trở 10KΩ
Hình 3.3 Các cổng vào – ra của Arduino
Arduino UNO có 14 chân digital cho phép đọc và xuất tín hiệu với hai mức điện áp là 0V và 5V Mỗi chân có dòng vào/ra tối đa là 40mA và được tích hợp các điện trở pull-up trong vi điều khiển ATmega328.
(mặc định thì các điện trở này không đƣợc kết nối)
Một số chân digital có các chức năng đặc biệt nhƣ sau:
2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive
Arduino Uno có khả năng giao tiếp với các thiết bị khác thông qua 2 chân dữ liệu TTL Serial Kết nối Bluetooth thường được coi là một hình thức kết nối Serial không dây Nếu không cần thiết phải giao tiếp Serial, bạn nên tránh sử dụng 2 chân này.
MÀN HÌNH TINH THỂ LỎNG LCD 1602
Ngày nay, trong lĩnh vực thông tin giải trí, màn hình CRT truyền thống đang dần được thay thế bởi màn hình LCD (Liquid Crystal Display) Màn hình LCD có nhiều ưu điểm vượt trội như độ dày nhỏ hơn, kích thước đa dạng từ nhỏ đến cực lớn, tiêu thụ ít năng lượng và an toàn hơn so với màn hình CRT.
Hình dáng và kích thước:
Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, trên hình 1 là loại LCD thông dụng
Hình 3.5: Hình dáng của loại LCD 1602
Trong quá trình sản xuất màn hình LCD, nhà sản xuất đã tích hợp chip điều khiển HD44780 bên trong lớp vỏ, chỉ để lại 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 rõ ràng, như thể hiện trong hình 3.6.
Hình 3.6: Sơ đồ chân của LCD
Chân Ký hiệu Mô tả
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 Điều chỉnh độ tương phản của LCD
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 “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
Trong chế độ ghi, dữ liệu trên bus sẽ được chuyển vào thanh ghi nội bộ của LCD khi tín hiệu chân E phát hiện một xung chuyển đổi từ cao sang thấp.
Khi ở chế độ đọc, dữ liệu từ LCD sẽ được xuất ra các chân DB0 đến DB7 khi có sự chuyển đổi từ thấp sang cao (low-to-high transition) tại chân E Dữ liệu này sẽ được giữ lại trên bus cho đến khi chân E trở về 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
15 - Nguồn dương cho đèn nền
Để lập trình LCD, cần thiết lập chân RS=0 để gửi lệnh và chân RS=1 để gửi dữ liệu Sau đó, gửi một xung từ cao xuống thấp đến chân E để xác nhận dữ liệu với LCD Quan trọng là phải đảm bảo có độ trễ lớn trong quá trình xuất dữ liệu hoặc lệnh ra LCD.
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7
MODULE I2C ARDUINO
LCD có quá nhiều nhiều chân gây khó khăn trong quá trình đấu nối và chiếm dụng nhiều chân trên vi điều khiển
Module I2C LCD ra đời và giải quyết vấn để này cho bạn
Thay vì phải mất 6 chân vi điều khiển để kết nối với LCD 16x2 (RS, EN, D7,
D6, D5 và D4) thì module IC2 bạn chỉ cần tốn 2 chân (SCL, SDA) để kết nối
Module I2C hỗ trợ các loại LCD sử dụng driver HD44780(LCD 16x2, LCD
20x4, ) và tương thích với hầu hết các vi điều khiển hiện nay Ƣu điểm
Tiết kiệm chân cho vi điều khiển
Dễ dàng kết nối với LCD
Điện áp hoạt động: 2.5-6V DC
Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780)
Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2)
Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt
Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD.
CẢM BIẾN LƯU LƯỢNG NƯỚC SEA YF–S201 DN15
Cảm biến hoạt động dựa trên cơ chế cánh quạt nước và cảm biến Hall bên trong Khi nước chảy qua, cánh quạt sẽ quay, kích hoạt cảm biến Hall để tạo ra xung vuông từ NPN.
Cảm biến lưu lượng dòng chảy hoạt động dựa trên cảm biến Hall và cánh quạt bên trong Khi nước chảy qua, cánh quạt quay, tạo ra tín hiệu xung từ cảm biến Hall Từ tần số của tín hiệu xung, ta có thể xác định tốc độ dòng chảy một cách chính xác.
Cảm biến lưu lượng dòng chảy được sử dụng trong các ứng dụng như: Máy nước nóng; Máy bán nước tự động; Thiết bị giám sát lưu lượng nước…
Hình 3.8 Mô phỏng hoạt động cảm biến
Hình 3.7 Cảm biến đo lưu lượng nước YF–S201 DN15
Chức năng 3 dây ngõ ra
Chịu áp lực đến: 1.75Mpa
Nhiệt độ hoạt động: < 120 độ C Độ ẩm: 35% – 90% RH
Hình 3.8 Kích thước của cảm biến lưu lượng YF–S201 DN15
THIẾT KẾ MẠCH
SƠ ĐỒ TRÊN PROTEUS 8
Hình 4.2 Mô phỏng hệ thống đo lưu lượng trên Proteus
Các phần tử chính đƣợc sử dụng trong mạch điện:
- Màn hình LCD 16x2 kèm modul I2C
CODE ARDUINO UNO R3
Một số lệnh trong code
- int: là khai báo biến kiểu số nguyên chính được dùng trong chương trình
Arduino Kiểu int chiếm 2 byte bộ nhớ ! (Trên mạch Arduino Uno, nó có đoạn giá trị từ -2 15 đến 2 15 -1 (16 bit))
- float: là khai báo kiểu số thực
Từ khóa "const" được sử dụng trước một khai báo biến để biến biến đó thành biến chỉ có thể đọc, tức là "read-only" Nếu bạn vô tình thay đổi giá trị của biến hằng, trình biên dịch sẽ thông báo lỗi cho bạn.
- pulseIn: Đọc một xung tín hiệu trả về chu kì của xung tức là thời gian tín hiệu chuyển từ mức HIGH xuống LOW hoặc ngƣợc lại
Hình 4.3 Lập trình code trên Arduino
Code chương trình trên Arduino ( chân tín hiệu đặt vào chân 2)
LiquidCrystal_I2C lcd(0x27,16,2); int X; int Y; float TIME = 0; float XUNG = 0; float LUULUONG = 0; float THETICH = 0; float LS = 0; const int input = 2; void setup()
To initialize the LCD and display a message, use the command `Serial.begin(9600);`, followed by `lcd.init();` and `lcd.begin(16,2);` to set up the LCD dimensions Activate the backlight with `lcd.backlight();`, then clear the display using `lcd.clear();` Position the cursor at the start with `lcd.setCursor(0,0);` and print "DO LUU LUOG NUOC" on the first line, then move to the second line with `lcd.setCursor(0,1);` to display "***VU***THANG***" After a 2000-millisecond delay, set the input pin mode with `pinMode(input, INPUT);` and configure the built-in LED as an output using `pinMode(LED_BUILTIN, OUTPUT);`.
{ lcd.clear(); lcd.setCursor(0,0); lcd.print("LUULUOG:0.00"); lcd.setCursor(0,1); lcd.print("THETICH:"); lcd.print(THETICH); lcd.print(" L");
Serial.println(XUNG); lcd.clear(); lcd.setCursor(0,0); lcd.print("LUULUOG:"); lcd.print(LUULUONG); lcd.print(" L/M"); lcd.setCursor(0,1); lcd.print("THETICH:"); lcd.print(THETICH); lcd.print(" L");