Cách tạo đồng hồ đo lưu lượng nước: 7 bước
Cách tạo đồng hồ đo lưu lượng nước: 7 bước
Anonim
Cách tạo đồng hồ đo lưu lượng nước
Cách tạo đồng hồ đo lưu lượng nước

Có thể dễ dàng chế tạo đồng hồ đo lưu lượng chất lỏng chính xác, nhỏ và chi phí thấp bằng cách sử dụng các bộ phận của GreenPAK ™. Trong Tài liệu hướng dẫn này, chúng tôi trình bày một đồng hồ đo lưu lượng nước liên tục đo lưu lượng nước và hiển thị trên ba màn hình 7 đoạn. Phạm vi đo của cảm biến lưu lượng là từ 1 đến 30 lít mỗi phút. Đầu ra của cảm biến là tín hiệu PWM kỹ thuật số có tần số tỷ lệ với tốc độ dòng nước.

Ba IC ma trận tín hiệu hỗn hợp có thể lập trình GreenPAK SLG46533 đếm số lượng xung trong thời gian cơ bản T. Thời gian cơ bản này được tính toán sao cho số lượng xung bằng tốc độ dòng chảy trong khoảng thời gian đó, sau đó số được tính toán này được hiển thị trên 7 -phân đoạn hiển thị. Độ phân giải là 0,1 lít / phút.

Đầu ra của cảm biến được kết nối với đầu vào kỹ thuật số với kích hoạt Schmitt của Ma trận tín hiệu hỗn hợp đầu tiên đếm số phân số. Các chip được xếp tầng với nhau thông qua đầu ra kỹ thuật số, được kết nối với đầu vào kỹ thuật số của Ma trận tín hiệu hỗn hợp tiếp tục. Mỗi thiết bị được kết nối với màn hình cathode chung 7 phân đoạn thông qua 7 đầu ra.

Sử dụng Ma trận tín hiệu hỗn hợp có thể lập trình GreenPAK được ưu tiên hơn nhiều giải pháp khác như bộ vi điều khiển và các thành phần rời rạc. So với vi điều khiển, GreenPAK có chi phí thấp hơn, nhỏ hơn và dễ lập trình hơn. So với thiết kế mạch tích hợp logic rời rạc, nó cũng có chi phí thấp hơn, dễ xây dựng hơn và nhỏ hơn.

Để làm cho giải pháp này trở nên khả thi về mặt thương mại, hệ thống phải càng nhỏ càng tốt và được bao bọc bên trong một vỏ bọc cứng, không thấm nước để chống nước, bụi, hơi nước và các yếu tố khác để nó có thể hoạt động trong các điều kiện khác nhau.

Để kiểm tra thiết kế, một PCB đơn giản đã được chế tạo. Các thiết bị GreenPAK được cắm trên PCB này bằng cách sử dụng các đầu nối tiêu đề nữ hàng đôi 20 chân.

Thử nghiệm được thực hiện lần đầu tiên bằng cách sử dụng xung do Arduino tạo ra và trong lần thứ hai tốc độ dòng nước của nguồn nước gia đình được đo. Hệ thống đã cho thấy độ chính xác là 99%.

Khám phá tất cả các bước cần thiết để hiểu cách thức lập trình chip GreenPAK để điều khiển Đồng hồ đo lưu lượng nước. Tuy nhiên, nếu bạn chỉ muốn lấy kết quả của việc lập trình, hãy tải phần mềm GreenPAK để xem File thiết kế GreenPAK đã hoàn thành. Cắm Bộ phát triển GreenPAK vào máy tính của bạn và nhấn chương trình để tạo IC tùy chỉnh để điều khiển Đồng hồ đo lưu lượng nước của bạn. Thực hiện theo các bước được mô tả dưới đây nếu bạn muốn hiểu cách hoạt động của mạch.

Bước 1: Mô tả chung về hệ thống

Mô tả chung về hệ thống
Mô tả chung về hệ thống
Mô tả chung về hệ thống
Mô tả chung về hệ thống

Một trong những cách phổ biến nhất để đo tốc độ dòng chảy của chất lỏng cũng giống như nguyên tắc đo tốc độ gió của máy đo gió: tốc độ gió tỷ lệ thuận với tốc độ quay của máy đo gió. Bộ phận chính của loại cảm biến lưu lượng này là một loại chong chóng, có tốc độ tỷ lệ với tốc độ dòng chất lỏng đi qua nó.

Chúng tôi sử dụng cảm biến lưu lượng nước YF-S201 của hãng URUK được thể hiện trong Hình 1. Trong cảm biến này, một cảm biến Hall Effect gắn trên chong chóng tạo ra một xung với mỗi vòng quay. Tần số tín hiệu đầu ra được trình bày trong Công thức 1, trong đó Q là tốc độ dòng nước tính bằng lít / phút.

Ví dụ, nếu tốc độ dòng chảy đo được là 1 lít / phút, tần số tín hiệu đầu ra là 7,5 Hz. Để hiển thị giá trị thực của lưu lượng ở định dạng 1,0 lít / phút, chúng ta phải đếm xung trong thời gian 1,333 giây. Trong ví dụ 1,0 lít / phút, kết quả được đếm sẽ là 10, sẽ được hiển thị dưới dạng 01,0 trên màn hình bảy đoạn. Hai tác vụ được giải quyết trong ứng dụng này: thứ nhất là đếm xung và thứ hai là hiển thị số khi nhiệm vụ đếm hoàn tất. Mỗi nhiệm vụ kéo dài 1.333 giây.

Bước 2: Triển khai GreenPAK Designer

SLG46533 có nhiều macrocell chức năng kết hợp linh hoạt và chúng có thể được cấu hình như Bảng tra cứu, bộ đếm hoặc D-Flip-Flops. Tính mô đun này là điều làm cho GreenPAK phù hợp với ứng dụng.

Chương trình có 3 giai đoạn: giai đoạn (1) tạo tín hiệu số tuần hoàn để chuyển đổi giữa 2 nhiệm vụ của hệ thống, giai đoạn (2) đếm xung cảm biến lưu lượng và giai đoạn (3) hiển thị số phân số.

Bước 3: Giai đoạn đầu tiên: Đếm / Hiển thị chuyển đổi

Giai đoạn đầu tiên: Đếm / Hiển thị chuyển đổi
Giai đoạn đầu tiên: Đếm / Hiển thị chuyển đổi
Giai đoạn đầu tiên: Đếm / Hiển thị chuyển đổi
Giai đoạn đầu tiên: Đếm / Hiển thị chuyển đổi
Giai đoạn đầu tiên: Đếm / Hiển thị chuyển đổi
Giai đoạn đầu tiên: Đếm / Hiển thị chuyển đổi

Cần có đầu ra kỹ thuật số “COUNT / DISP-OUT” thay đổi trạng thái giữa mức cao và mức thấp sau mỗi 1,333 giây. Khi ở mức cao, hệ thống sẽ đếm xung và khi ở mức thấp, hệ thống sẽ hiển thị kết quả đã đếm. Điều này có thể đạt được bằng cách sử dụng DFF0, CNT1 và OSC0 có dây như trong Hình 2.

Tần số của OSC0 là 25 kHz. CNT1 / DLY1 / FSM1 được định cấu hình làm bộ đếm và đầu vào xung nhịp của nó được kết nối với CLK / 4 để tần số xung nhịp đầu vào của CNT1 là 6,25 kHz. Đối với khoảng thời gian xung nhịp đầu tiên kéo dài như được hiển thị trong Phương trình 1, đầu ra CNT1 cao và từ cạnh tăng tín hiệu của xung nhịp tiếp theo, đầu ra bộ đếm ở mức thấp và CNT1 bắt đầu giảm từ 8332. Khi dữ liệu CNT1 về 0, một xung mới trên đầu ra CNT1 là được tạo ra. Trên mỗi cạnh lên của đầu ra CNT1, đầu ra DFF0 thay đổi trạng thái, nếu thấp thì chuyển sang mức cao và ngược lại.

Cực đầu ra của DFF0 phải được định cấu hình là đảo ngược. CNT1 được đặt thành 8332 vì thời gian đếm / hiển thị T bằng như được hiển thị trong Công thức 2.

Bước 4: Giai đoạn thứ hai: Đếm xung đầu vào

Giai đoạn thứ hai: Đếm xung đầu vào
Giai đoạn thứ hai: Đếm xung đầu vào
Giai đoạn thứ hai: Đếm xung đầu vào
Giai đoạn thứ hai: Đếm xung đầu vào
Giai đoạn thứ hai: Đếm xung đầu vào
Giai đoạn thứ hai: Đếm xung đầu vào

Bộ đếm 4 bit được tạo ra bằng cách sử dụng DFF3 / 4/5/6, như thể hiện trong Hình 4. Bộ đếm này chỉ tăng trên mỗi xung khi “COUNT / DISP-IN”, là PIN 9, ở mức cao. Các đầu vào cổng AND 2-L2 là "COUNT / DISP-IN" và đầu vào PWM. Bộ đếm được đặt lại khi nó đạt đến 10 hoặc khi giai đoạn đếm bắt đầu. Bộ đếm 4 bit được đặt lại khi các chân ĐẶT LẠI DFF, được kết nối với cùng một mạng “ĐẶT LẠI”, ở mức thấp.

4-bit LUT2 được sử dụng để thiết lập lại bộ đếm khi nó đạt đến 10. Vì đầu ra DFF được đảo ngược, các số được xác định bằng cách đảo ngược tất cả các bit của biểu diễn nhị phân của chúng: hoán đổi 0s lấy 1s và ngược lại. Biểu diễn này được gọi là phần bù 1 của số nhị phân. Các đầu vào LUT2 4 bit IN0, IN1, IN2 và IN3 được kết nối với a0, a1, a2, a3 và a3 tương ứng. Bảng chân trị cho 4-LUT2 được hiển thị trong Bảng 1.

Khi 10 xung được đăng ký, đầu ra của 4-LUT0 chuyển từ cao xuống thấp. Tại thời điểm này, đầu ra của CNT6 / DLY6, được cấu hình để hoạt động ở chế độ chụp một lần, chuyển sang mức thấp trong khoảng thời gian 90 ns rồi bật lại. Tương tự như vậy, khi “COUNT / DISP-IN” chuyển từ thấp lên cao, nghĩa là. hệ thống bắt đầu đếm xung. Đầu ra của CNT5 / DLY5, được định cấu hình để hoạt động ở chế độ chụp một lần, chuyển xuống quá thấp trong khoảng thời gian 90 ns rồi bật lại. Điều quan trọng là duy trì nút RESET ở mức thấp trong một thời gian và bật lại bằng CNT5 và CNT6 để có thời gian cho tất cả các DFF thiết lập lại. Độ trễ 90 ns không ảnh hưởng đến độ chính xác của hệ thống vì tần số tối đa của tín hiệu PWM là 225 Hz. Đầu ra CNT5 và CNT6 được kết nối với đầu vào của cổng AND để xuất ra tín hiệu ĐẶT LẠI.

Đầu ra của 4-LUT2 cũng được kết nối với Chân 4, có nhãn "F / 10-OUT", sẽ được kết nối với đầu vào PWM của giai đoạn đếm của chip tiếp theo. Ví dụ: nếu "PWM-IN" của thiết bị đếm phân số được kết nối với đầu ra PWM của cảm biến và "F / 10-OUT" của nó được kết nối với "PWM-IN" của thiết bị đếm đơn vị và " F / 10-OUT "của cái sau được kết nối với" PWM-IN "của thiết bị đếm hàng chục, v.v. "COUNT / DISP-IN" của tất cả các giai đoạn này phải được kết nối với cùng một "COUNT / DISP-OUT" của bất kỳ thiết bị nào trong số 3 thiết bị cho thiết bị đếm phân số.

Hình 5 giải thích chi tiết cách thức hoạt động của giai đoạn này bằng cách chỉ ra cách đo tốc độ dòng chảy là 1,5 lít / phút.

Bước 5: Giai đoạn thứ ba: Hiển thị giá trị đo lường

Giai đoạn thứ ba: Hiển thị giá trị đo lường
Giai đoạn thứ ba: Hiển thị giá trị đo lường
Giai đoạn thứ ba: Hiển thị giá trị đo lường
Giai đoạn thứ ba: Hiển thị giá trị đo lường
Giai đoạn thứ ba: Hiển thị giá trị đo lường
Giai đoạn thứ ba: Hiển thị giá trị đo lường

Giai đoạn này có các đầu vào: a0, a1, a2 và a3 (đảo ngược), và sẽ xuất ra các chân kết nối với màn hình 7 đoạn. Mỗi phân đoạn có một chức năng logic được thực hiện bởi các LUT có sẵn. Các LUT 4-bit có thể thực hiện công việc rất dễ dàng nhưng tiếc là chỉ có 1. LUT0 4 bit được sử dụng cho phân đoạn G, nhưng đối với các phân đoạn khác, chúng tôi sử dụng một cặp LUT 3 bit như thể hiện trong Hình 6. Các LUT 3 bit ngoài cùng bên trái có a2 / a1 / a0 được kết nối với đầu vào của chúng, trong khi ngoài cùng bên phải Các LUT 3 bit có a3 được kết nối với các đầu vào của chúng.

Tất cả các bảng tra cứu có thể được suy ra từ bảng chân trị bộ giải mã 7 đoạn được trình bày trong Bảng 2. Chúng được trình bày trong Bảng 3, Bảng 4, Bảng 5, Bảng 6, Bảng 7, Bảng 8, Bảng 9.

Các chân điều khiển của GPIO điều khiển màn hình 7 đoạn được kết nối với "COUNT / DISP-IN" thông qua một biến tần dưới dạng đầu ra khi "COUNT / DISP-IN" ở mức thấp, có nghĩa là màn hình chỉ được thay đổi trong tác vụ hiển thị. Do đó, trong tác vụ đếm, màn hình TẮT và trong khi hiển thị tác vụ, chúng hiển thị các xung đếm được.

Có thể cần chỉ báo dấu phẩy thập phân ở đâu đó trong màn hình 7 đoạn. Vì lý do này, PIN5, có nhãn "DP-OUT", được kết nối với mạng "COUNT / DISP" đảo ngược và chúng tôi kết nối nó với DP của màn hình tương ứng. Trong ứng dụng của chúng tôi, chúng tôi cần hiển thị dấu thập phân của thiết bị đếm đơn vị để hiển thị các số ở định dạng "xx.x", sau đó chúng tôi sẽ kết nối "DP-OUT" của thiết bị đếm đơn vị với đầu vào DP của thiết bị 7- hiển thị phân đoạn và chúng tôi không kết nối các phân đoạn khác.

Bước 6: Triển khai phần cứng

Triển khai phần cứng
Triển khai phần cứng

Hình 7 cho thấy kết nối giữa 3 chip GreenPAK và các kết nối của mỗi chip với màn hình tương ứng của nó. Đầu ra dấu thập phân của GreenPAK được kết nối với đầu vào DP của màn hình 7 đoạn để hiển thị tốc độ dòng chảy ở định dạng chính xác, với độ phân giải 0,1 lít / phút. Đầu vào PWM của chip LSB được kết nối với đầu ra PWM của cảm biến lưu lượng nước. Các đầu ra F / 10 của các mạch được kết nối với các đầu vào PWM của chip sau. Đối với các cảm biến có tốc độ dòng chảy cao hơn và / hoặc độ chính xác cao hơn, có thể xếp nhiều chip hơn để nối thêm các chữ số.

Bước 7: Kết quả

Kết quả
Kết quả
Kết quả
Kết quả
Kết quả
Kết quả

Để kiểm tra hệ thống, chúng tôi đã xây dựng một PCB đơn giản có các đầu nối để cắm vào các ổ cắm GreenPAK sử dụng các đầu cái 20 chân hai hàng. Sơ đồ và bố trí của PCB này cũng như hình ảnh được trình bày trong Phụ lục.

Hệ thống được thử nghiệm đầu tiên với Arduino mô phỏng cảm biến tốc độ dòng chảy và nguồn nước có tốc độ dòng chảy không đổi, đã biết bằng cách tạo ra các xung ở tần số 225 Hz, tương ứng với tốc độ dòng chảy tương ứng là 30 lít / phút. Kết quả đo bằng 29,7 lít / phút, sai số khoảng 1%.

Thử nghiệm thứ hai được thực hiện với cảm biến tốc độ dòng nước và nguồn nước gia đình. Phép đo ở các tốc độ dòng chảy khác nhau là 4,5 và 12,4.

Phần kết luận

Tài liệu hướng dẫn này trình bày cách chế tạo một đồng hồ đo lưu lượng nhỏ, chi phí thấp và chính xác bằng Dialog SLG46533. Nhờ GreenPAK, thiết kế này nhỏ hơn, đơn giản hơn và dễ tạo hơn so với các giải pháp tương đương.

Hệ thống của chúng tôi có thể đo tốc độ dòng chảy lên đến 30 lít / phút với độ phân giải 0,1 lít, nhưng chúng tôi có thể sử dụng nhiều GreenPAK hơn để đo tốc độ dòng chảy cao hơn với độ chính xác cao hơn tùy thuộc vào cảm biến lưu lượng. Hệ thống dựa trên Dialog GreenPAK có thể hoạt động với nhiều loại đồng hồ đo lưu lượng tuabin.

Giải pháp đề xuất được thiết kế để đo tốc độ dòng chảy của nước, nhưng nó có thể được điều chỉnh để sử dụng với bất kỳ cảm biến nào xuất ra tín hiệu PWM, chẳng hạn như cảm biến tốc độ dòng khí.