마이크로 컨트롤러가 장착 된 물 탱크 수준


24

마이크로 컨트롤러로 물 탱크의 수위를 어떻게 측정합니까?


1
이것은 대답으로 가치가 없지만 내 친구는 몇 년 전에 예술 프로젝트를 위해 이것을했습니다. 관심이 있으신 분은 기꺼이 소개해 드리고자하며 어떻게했는지 설명해 드리겠습니다. 그의 프로젝트는 여기에 있습니다 : unixarts.com/sealevel.html 이것은 펌프와 센서를 모두 결합했으며 너무 많이
기울이지

7
마이크로 컨트롤러가 작동을 멈 추면 수중에 있습니다.
John U

답변:


23

글쎄, 당신이 지구상에서 궤도를 달리고 있다고 가정한다면, 마이크로를 사용하여 측정하는 플로트 센서를 사용할 수 있습니다. 문제는 : 정확한 수준을 알아야합니까, 아니면 높거나 낮을 때 일종의 여행이 필요합니까?

'특정 레벨에서의 여행'테마에서 이와 같은 스위치를 얻을 수 있습니다. 일반적으로 플로트에는 일종의 자세 감지 스위치가 포함되어 있습니다. 수위가 더 낮 으면 플로트가 측면에서 끝나고 스위치가 '끄기'상태가되고, 레벨을 올리면 플로트가 똑바로 세웁니다. 따라서 '켜기'입니다. 이들은 종종 섬프 펌프에 사용됩니다. 그것들은 꽤 안정적이며 다루기가 매우 쉽지만, 정확하게 고정시키기 위해 조심해야하고, 플로트에 방해가되지 않도록해야합니다.

실제 레벨을 알아야 할 경우, 다양한 선택이 가능하지만 덜 간단합니다. 초음파 센서와 같은 것을 사용할 수 있습니다 (수조를 반사하기 위해 탱크 상단에서 발사되는 초음파 빔).

이 사람들 은 플로트와 함께 연결된 외부 무게로 구성된 BIG 탱크의 레벨 표시기를 만드는 것 같습니다. 플로트가 유체에서 위 아래로 움직일 때 외부 표시기가 적절하게 움직입니다. 레벨을 읽기 위해 포토 셀보다 더 복잡한 것을 사용하여 비슷한 것을 만들 수 있습니다 (큰 탱크이거나 많은 세분성을 원한다면 많은 포토 셀이 필요합니다).

또는 케이블로 연결된 플로트 아이디어를 취하면 케이블이 움직일 때마다 움직이는 아이들러 휠을 넣은 다음 인코더를 부착 할 수 있습니다. 이를 통해 매우 정확하게 레벨을 추적 할 수 있습니다.


15

나는 곧 출시 될 책을 알고 실제 아두 이노가물 탱크 깊이 센서 탱크의 하단에있는 수압을 측정하기 위해 차동 압력 변환기를 사용하고, 그에서 탱크가 얼마나 전체 계산에 포함 프로젝트를.

회로도는 github의 소스 코드에 대한 링크와 함께 위의 링크에 있습니다.

(전체 공개 :이 책과 관련이 없지만 지역 해커 공간에서 저자 중 한 사람을 두 번 만났습니다.)


11

내가 좋아하지만 시도하지 않은 방법은 액체에 두 개의 절연 판을 넣는 것입니다. 도관, 전기 분해, 오염이 없습니다 ....... 캡의 판을 형성합니다. 물은 좋은 변증법이기 때문에 주파수는 판 사이의 물의 양에 크게 의존합니다. 깊이를 얻기 위해 주파수를 측정하십시오.

AC 신호를 적용하고 캡을 통해 전류를 측정하면 비슷한 결과를 얻을 수 있습니다.


마음, 그것은 유체의 변증법 상수에 많은 의존합니다. 내가 실수하지 않는 한, 용량 성 감지는 레벨보다 존재 유무 감지에 더 많이 사용됩니다. 그래도 내가 만난 모든 방법은 비중에 달려 있습니다. 가변 조성의 유체를 보유하는 탱크는 조절하기가 어렵다.
wackyvorlon

정전 용량 기반 액체 레벨 센서는 유체의 유무를 감지 할 때 가장 잘 작동합니다. 고정 저항을 사용하여 수위 충전 / 방전 판을 읽고 시간을 측정합니다. 위에서 언급 한 바와 같이 (염과 같은) 물에 오염 물질을 첨가하면 정전 용량의 급격한 변화를 초래할 수 있으며, 따라서 일정한 액체 레벨을 측정 할 수 있습니다. 측정하는 액체가 균질 한 경우 문제가 훨씬 적습니다.
mjh2007

나는 russ와 같이 절연 된 판으로 공명되는 간단한 선반 형 SMD 코일로 다이나 트론 발진기를 만들었습니다.
자폐증

10

자세한 내용은 도움이되지만 초음파 방법은 아마도 가장 간단하고 개념적으로 어쨌든 (따라서 자세한 내용이 필요합니다 :-]). MaxSonar 초음파 변환기를 사용하여 지하실의 연료 유 탱크 레벨 센서를 함께 던졌습니다. 시차 핑 센서로 전환하자마자 손을 get 수 있습니다. MaxSonar 유닛은 다소 고통 스러웠습니다. 그것은 단지 1 인치 (2.54cm)의 해상도만을 가졌으며, 이것은 내 탱크의 거의 7 갤런에 해당합니다. MaxSonar 장치를 탱크 상단의 아래쪽에있는 (액체가 닿지 않는) PVC 캡에 넣었습니다.


7

이 작업을 수행하는 한 가지 방법은 탱크의 바닥에 LED를 향하고 LED를 향한 포토 다이오드를 탱크의 위쪽에 배치하는 것입니다. 탱크의 물에 의해 LED가 감쇠되므로 얼마나 많은지를 결정하기 위해 실험해야합니다. 또한이 방법을 사용할 때 일련의 빠른 측정을 수행하고 평균을 측정하는 것이 가장 좋습니다.


1
오류, 주변 광, 슬로 싱 등이 발생하기 쉽습니다.
Jason S

7

로컬 트랜지스터 매장의 저렴한 스터드 센서를 포토 트랜지스터와 함께 사용하여 표시등을 감지합니다. 이것을 탱크 측면에 접착하면 레벨이 센서 위로 올라가는 것을 감지하여 높은 수위 조건을 알려줍니다.


6

레벨을 확인하는 놀라운 방법이 있습니다. RF를 사용하여 도파관 아래로 펄스를 보내고 탱크의 액체 표면에서 반사되는 것을 감지하는 센서가 있습니다. 초음파, 부유물, 버블 러 튜브, 압력 탭이 있습니다. 사용되는 방법은 탱크의 크기, 내용물, 주변 환경 및 기타 요인에 따라 다릅니다.


4

여기에있는 모든 복잡한 전자 솔루션에 놀랐습니다. 간단한 전위차계를 사용하겠습니다. 대부분의 마이크로 컨트롤러에는 기본 아날로그 i / p가 있습니다.

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

표준 물 탱크 밸브 플로트를 사용하십시오 (이미있을 수 있음). 나머지 문제는 플로트를 포트에 연결하여 최대 스윙을 얻는 것입니다 (슬라이더 포트를 사용할 수도 있습니다).

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

포트가 원래 위치로 돌아가도록하려면 어떻게해야합니까?

수위가 떨어지면 부유물의 무게가 아래로 당겨집니다.
ttt

확실하지 않습니다. 물이있는 상태에서 부유물이 떠있고 물이없는 상태에서 냄비를 떨어 뜨릴 수 있도록 올바른 무게 추를 찾는 것은 그리 쉬운 일이 아닙니다. 대부분의 냄비는 정적 마찰이 상당히 높습니다. 그러나 올바른 기계적 설정이 가능하다면 가능하다고 생각합니다.

더 긴 슬라이더 포트는 마찰이 매우 적습니다 (손가락 끝으로 제어되는 믹서 및 DJ 데크에서 사용). 비트 박스에서 4 인치 슬라이더를 사용하고 일반 물 탱크 플로트로 테스트했습니다. 심지어 작은 화장실 물통 플로트에서도 작동했습니다! 그런데 냄비와 직렬로 고정 된 저항을 사용하여 젖은 환경에서 반바지는 컨트롤러 포트의 출력을 초과 (또는 고정 VREF에서 너무 많은 전류를) 실 거예요 내 테스트 설정에서 10,000 냄비와 10K의 저항을 사용했다..
TTT

테스트에서 방금 구부러진 와이어 조각을 사용하여 플로트 암에 걸었습니다. 화장실 물통에서 팔은 사각형 단면 플라스틱이므로 작은 구멍을 뚫어 부착하기가 정말 쉽습니다.
ttt

4

가장 간단한 접근법

작은 구멍을 탱크 모서리에 탁구 공보다 약간 큰 직경으로 놓습니다.

튜브 한쪽에 적외선 LED를 배치하고, LED 반대쪽에 포토 레지스트를 배치합니다 (불투명 한 튜브에 구멍을 뚫거나 투명하면 외부에 배치). 전기 부품을 핫 접착하여 방수 처리하고 탁구 공을 튜브에 떨어 뜨립니다.

탁구 공이 적외선을 차단하는 지점까지 수위가 올라가거나 내려 가면 원하는 수위에 도달 한 것을 알 수 있습니다. 이산 (켜기 / 끄기) 레벨 표시기가 필요한 경우에만 작동합니다.

이 시스템은 전자 트리거가 발사 솔레노이드를 장착하기 전에 볼 전체가 발 사실에 있는지 확인하여 볼이 잘리지 않도록 설계된 페인트 볼 건에도 사용됩니다.

간단하고 효과적이며 보정이 거의 또는 전혀 필요하지 않습니다.



1

한 가지 더 현명한 접근 방법 : 물 (유체)의 더 큰 열전도도를 활용하십시오. 아이디어는 온도 센서를 가지고 잠기거나 자유 공기에있을 때 자체 가열의 차이를 측정하는 것입니다.


이것은 실제로 CHCH NewZealand에서 이루어졌지만 그렇게하지 않았습니다. 저는 약 20 살이라고 생각합니다. 탱크 바깥쪽에 많은 서미스터들이있었습니다.
자폐증

1

다른 해결책 (말장난 의도가 없음);

위에서 제안한대로 전위차계를 사용하십시오. 정상적인 회전 범위는 270 도입니다. 붐 암을 사용하여 전위차계에 플로트를 부착합니다. (길이 = 1 단위)

붐 암이 꽉 찼을 때와 비어있을 때 90도 움직입니다.

PIC의 ADC는 256 또는 1024 단계입니다 (예, 0은 단계 임).

명확성을 위해 256 단계를 사용하겠습니다.

270도 = 256 ADC 단계. 270/90 = 3 (포텐쇼미터 범위의 1/3)
255/3 = 85 ADC 단계

버튼을 누를 때 0도 포인트 (탱크 비어 있음)를 표시하도록 일부 코드를 프로그래밍하십시오.

이것은 PIC eeprom에 오프셋 포인트를 저장합니다. 이제이 교정 지점을 설정할 수 있으므로 전위차계가 정확히 0 일 필요는 없습니다.

삼각법을 사용하여 ADC의 각 단계에 해당하는 조회 테이블 (힌트 : php 스크립트)을 계산합니다.

힌트 : 각 ADC 단계는 90/85 = 1.0588도에 해당합니다.

예, 수학 수업에서 더 많은주의를 기울여야합니다. 당시에는 멍청한 시간 낭비, 지금은 불가결합니다. 두뇌를 참여 시키십시오. 삼각법을 배우십시오. 다른 사람들을 가르치십시오.

약어 : 구 아랍인이 헤이 자루를 Car 다.

빗변은 붐 암의 길이입니다. 1 단위로 만듭니다. 그런 다음 조회 테이블은 탱크 깊이의 백분율을 제공합니다. (물론 100을 곱하십시오)


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.