Cấp của một bể nước với một vi điều khiển


24

Làm thế nào để tôi đo mức của một bể nước với một vi điều khiển?


1
Điều này không xứng đáng là một câu trả lời nhưng một người bạn của tôi đã làm điều này cho một dự án nghệ thuật vài năm trước. Bất cứ ai quan tâm tôi đều vui lòng giới thiệu bạn và tôi chắc chắn anh ấy sẽ rất vui khi giải thích cách anh ấy làm điều đó. Dự án của anh ấy đã kết thúc tại đây: unixarts.com/sealevel.html Điều này kết hợp cả máy bơm và cảm biến và yêu cầu đủ độ chính xác để lặp lên xuống mà không bị lệch quá nhiều
cyphunk

7
Khi vi điều khiển ngừng hoạt động - đó là dưới nước.
John U

Câu trả lời:


23

Chà, giả sử bạn đang hoạt động ở đây trên trái đất (trái ngược với quỹ đạo), bạn có thể sử dụng cảm biến nổi mà bạn đo bằng micro. Câu hỏi là: Bạn có cần biết mức độ chính xác, hoặc bạn chỉ cần một số loại chuyến đi khi nó lên cao / thấp?

Trong chủ đề 'chuyến đi ở cấp độ cụ thể', bạn có thể nhận được các công tắc như thế này - nói chung phao chứa một số loại công tắc cảm biến thái độ. Khi mực nước thấp hơn, phao kết thúc ở phía bên của nó và công tắc bị 'tắt', trong khi việc nâng mức nước sẽ khiến phao đứng thẳng, và do đó 'bật'. Chúng thường được sử dụng cho máy bơm bể phốt. Chúng khá đáng tin cậy và rất dễ đối phó, mặc dù bạn phải cẩn thận để neo chúng một cách chính xác, và bạn phải chắc chắn rằng không có gì cản trở sự nổi.

Nếu bạn cần biết mức độ thực tế, thì bạn đã có rất nhiều sự lựa chọn, nhưng nó không đơn giản. Bạn có thể đi với một cái gì đó giống như một cảm biến siêu âm (chùm siêu âm bắn xuống từ đỉnh bể để phản xạ mực nước).

Những kẻ này dường như tạo ra các chỉ số cấp độ cho xe tăng LỚN bao gồm một chiếc phao và trọng lượng bên ngoài gắn kết với nhau. Khi phao di chuyển lên xuống trên chất lỏng, chỉ báo bên ngoài di chuyển một cách thích hợp. Bạn có thể xây dựng một cái gì đó tương tự, không có gì phức tạp hơn các ô hình ảnh để đọc cấp độ (nếu đó là một bể lớn hoặc bạn muốn có nhiều chi tiết, bạn cần rất nhiều ô hình ảnh).

Thay phiên, lấy ý tưởng float đã bật, bạn có thể đặt một bánh xe làm biếng di chuyển bất cứ khi nào cáp di chuyển, và sau đó gắn một bộ mã hóa vào đó. Điều này sẽ cho phép bạn theo dõi cấp độ với độ chính xác khá cao.


15

Tôi biết rằng cuốn sách sắp phát hành Arduino thực tế có dự án cảm biến độ sâu bể nước , sử dụng bộ chuyển đổi áp suất chênh lệch để đo áp suất nước ở đáy bể, và từ đó tính toán mức độ đầy của bể.

Các sơ đồ nằm trên liên kết trên, cùng với một liên kết đến mã nguồn trên github.

(Tiết lộ đầy đủ: Tôi không có liên quan đến cuốn sách, nhưng đã gặp một trong những tác giả một vài lần tại các không gian tin tặc địa phương của chúng tôi.)


11

Một phương pháp tôi thích, nhưng chưa thử là đặt hai tấm cách điện vào chất lỏng. Không ngưng tụ, điện phân, contanimation ....... Chúng tạo thành các tấm của một nắp. và được sử dụng trong một số loại dao động (tùy theo bạn) Bởi vì nước là một phép quay số tốt, nên độ chính xác phụ thuộc rất nhiều vào lượng nước giữa các tấm. Meaure tần số để có được độ sâu.

Bạn có thể có được kết quả tương tự bằng cách áp dụng tín hiệu ac và đo mức hiện tại thông qua nắp.


Tâm trí, nó phụ thuộc rất nhiều vào hằng số biện chứng của chất lỏng. Trừ khi tôi nhầm, cảm biến điện dung được sử dụng nhiều hơn để phát hiện sự hiện diện / vắng mặt hơn mức độ. Dường như mọi phương pháp tôi chạy vào đều phụ thuộc vào trọng lực cụ thể. Bể chứa chất lỏng của thành phần biến là khó khăn để điều tiết.
wackyvorlon

Các cảm biến mức chất lỏng dựa trên điện dung hoạt động tốt nhất trong việc phát hiện sự hiện diện hoặc vắng mặt của chất lỏng. Để đọc mức sạc / xả mực nước bằng các điện trở cố định và đo thời gian. Như đã đề cập ở trên, việc thêm các chất gây ô nhiễm vào nước (như muối) có thể gây ra sự thay đổi mạnh mẽ về điện dung và do đó bạn đọc được mức chất lỏng cố định. Nếu chất lỏng bạn đang đo là đồng nhất thì đây không phải là vấn đề.
mjh2007

Tôi đã tạo ra một bộ dao động dynatron với một cuộn dây SM đơn giản, được cộng hưởng với các tấm cách điện như tiếng Nga. Các sinewave đã được đặt lên và một số người khác đếm các xung trong phần sụn, nói cách khác là những gì Nga nói DOES hoạt động.
Tự kỷ

10

Nhiều chi tiết sẽ có ích, nhưng tôi nghĩ rằng phương pháp siêu âm có lẽ là đơn giản nhất, về mặt khái niệm, dù sao (do đó cần thêm chi tiết: -]). Tôi đã ném một bộ cảm biến mức cho thùng dầu nhiên liệu trong tầng hầm của mình bằng đầu dò siêu âm MaxSonar. Tôi đang chuyển sang cảm biến Parallax Ping, ngay khi tôi có thể chạm tay vào một cái. Đơn vị MaxSonar đã tỏ ra hơi đau đớn; Hóa ra nó chỉ có độ phân giải một inch (2,54cm), tương đương với gần 7 gallon trong bể của tôi. Tôi đặt thiết bị MaxSonar trong một nắp PVC ở đầu bể hướng xuống (ngoài tầm với của chất lỏng).


7

Một cách để làm điều này là đặt một đèn led ở dưới cùng của bể chỉ lên đỉnh và một điốt quang ở đỉnh bể, đối diện với đèn LED. Đèn LED sẽ bị suy giảm bởi nước trong bể, bạn sẽ cần thử nghiệm để xác định mức độ. Ngoài ra, tốt nhất là thực hiện một loạt các phép đo nhanh và lấy trung bình chúng khi sử dụng phương pháp này.


1
có vẻ rất dễ bị lỗi, ánh sáng xung quanh, trượt, v.v.
Jason S

7

Tôi sử dụng một cảm biến stud giá rẻ từ cửa hàng phần cứng địa phương với một bóng bán dẫn hình ảnh để cảm nhận đèn led. Với cái này được dán ở bên cạnh bể, nó cảm nhận được khi mức nước tăng lên trên cảm biến và cảnh báo chúng ta về tình trạng nước cao.


6

Có một số cách đáng ngạc nhiên để kiểm tra mức độ. Có những cảm biến sử dụng RF, gửi một xung xuống ống dẫn sóng và phát hiện sự phản xạ khỏi bề mặt chất lỏng trong bể. Có siêu âm, phao, ống sủi bọt, vòi áp lực ... Phương pháp được sử dụng phụ thuộc vào kích thước của bể, nội dung, môi trường xung quanh và các yếu tố khác.


4

Tôi ngạc nhiên về tất cả các giải pháp điện tử phức tạp ở đây, tôi sẽ sử dụng một chiết áp đơn giản. Hầu hết các bộ điều khiển vi mô có một i / p tương tự cơ bản.

 +V
-----
  |
  |
  /
  \
  /<----------> to analog i/p
  \
  |
  |
-----
 GND

Sử dụng phao van nước tiêu chuẩn (có thể đã có một cái). Vấn đề còn lại là ghép phao vào nồi để có được lực xoay tối đa (bạn cũng có thể sử dụng nồi trượt).

                  |-|
                  | |
                  |o| <--------Slider pot.
                  |||
                  |||
                   |
                   |  <--------Coupling.
                   |
   ____            |
  (float)----------o-----o  <--Anchor point of float.
   ----

Làm thế nào để bạn chắc chắn rằng nồi trở lại vị trí ban đầu của nó?

Trọng lượng của phao sẽ kéo nó xuống khi mực nước giảm ...
ttt

Không chắc chắn về điều đó. Tìm trọng lượng chính xác của phao sao cho nó nổi khi có nước và làm rơi nồi trong điều kiện không có nước là không dễ dàng. Hầu hết các nồi có ma sát tĩnh khá cao. Tôi đoán là có thể, tuy nhiên, được thiết lập đúng cơ học.

Rất nhiều nồi trượt dài hơn có độ ma sát rất thấp (được sử dụng trong các máy trộn điều khiển bằng đầu ngón tay và sàn DJ). Tôi đã sử dụng một thanh trượt 4 "từ hộp bit của mình và thử nghiệm nó với một bể nước bình thường. Nó thậm chí còn hoạt động trên một bể chứa bồn cầu nhỏ hơn! Nhân tiện, tôi sẽ sử dụng một ống nối cố định nối tiếp với nồi để thậm chí nếu nó quần short trong môi trường ẩm ướt, nó sẽ không vượt quá đầu ra của cổng bộ điều khiển (hoặc lấy quá nhiều dòng điện từ Vref cố định). Tôi đã sử dụng một resister 10k với một nồi 10k trong thiết lập thử nghiệm của mình.
ttt

Trong thử nghiệm tôi chỉ sử dụng một đoạn dây uốn cong để bám vào cánh tay phao. Trong bồn cầu nhà vệ sinh, cánh tay là nhựa hình vuông nên sẽ rất dễ dàng để khoan một lỗ nhỏ để làm cho các tập tin đính kèm.
ttt

4

Cách tiếp cận đơn giản nhất

Đặt một ống nhỏ vào một góc của bể có đường kính lớn hơn một chút so với quả bóng bàn.

Đặt một đèn LED hồng ngoại ở một bên của ống và một quang điện trở đối diện với đèn LED (bằng cách khoan một lỗ trên ống của nó mờ đục hoặc đặt bên ngoài nếu nó trong suốt). Keo nóng các bộ phận điện để chống thấm chúng và thả quả bóng bàn vào ống.

Khi mực nước tăng hoặc giảm đến mức quả bóng bàn phá vỡ tia hồng ngoại, bạn sẽ biết nó chạm mức mong muốn. Điều này hoạt động nếu bạn chỉ cần một chỉ báo mức độ (bật / tắt) riêng biệt.

Hệ thống này cũng được sử dụng trong súng bắn đạn sơn được thiết kế để ngăn bạn cắt bóng bằng cách đảm bảo rằng toàn bộ quả bóng nằm trong buồng bắn trước khi cho phép cò điện tử kích hoạt điện từ bắn.

Nó đơn giản, hiệu quả và đòi hỏi ít hoặc không cần hiệu chuẩn.



1

Một cách tiếp cận thông minh hơn: Tận dụng tính dẫn nhiệt lớn hơn của nước (chất lỏng). Ý tưởng là để có cảm biến nhiệt độ và đo sự khác biệt của việc tự sưởi ấm khi ngập nước và khi ở trong không khí tự do.


Điều này thực tế đã được thực hiện ở CHCH NewZ Zealand nơi tôi đang ở, nhưng tôi đã không làm điều đó, tôi nghĩ nó khoảng 20 tuổi. Có một hàng nhiều bộ điều nhiệt ở bên ngoài bể. Vì vậy, nó hoạt động tốt để bạn nhận được phiếu bầu của tôi.
Tự kỷ

1

Một giải pháp khác (không có ý định chơi chữ);

Sử dụng một chiết áp như đề xuất ở trên. Phạm vi xoay bình thường là 270 độ. Gắn phao vào chiết áp bằng cánh tay cần. (chiều dài = 1 đơn vị)

Giữa đầy đủ và trống rỗng, cánh tay bùng nổ sẽ di chuyển 90 độ.

ADC trên PIC là 256 hoặc 1024 bước (có, không là một bước).

Tôi sẽ sử dụng 256 bước cho rõ ràng.

270 độ = 256 bước ADC. 270/90 = 3 (một phần ba phạm vi chiết áp)
255/3 = 85 bước ADC

Lập trình một số mã để đánh dấu điểm 0 độ (bể trống) khi nhấn nút.

Điều này lưu trữ một điểm bù trong eeprom PIC. Bây giờ chiết áp không phải chính xác bằng 0 vì điểm hiệu chuẩn này có thể được đặt.

Sử dụng trigometry tính toán một bảng tra cứu (gợi ý: tập lệnh php) để tương ứng với từng bước của ADC.

Gợi ý: mỗi bước ADC tương ứng với 90/85 = 1.0588 độ.

Vâng, bạn nên chú ý nhiều hơn trong lớp toán. lãng phí thời gian trở lại sau đó, bây giờ không thể vượt qua. tham gia não. học lượng giác. dạy người khác.

Từ viết tắt: Người Ả Rập cổ đại mang theo một bao tải nặng.

Các hypontenuse là chiều dài của cánh tay bùng nổ. Làm cho nó dài 1 đơn vị. Bảng tra cứu sau đó cung cấp tỷ lệ phần trăm của độ sâu bể. (nhân với 100 khóa học)


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.