수경재배 주제별 자료/환경 제어

옥상 양액공급 자동화; 한 재배기에 적용; 프로그램 완성(2024.08.25)

플랜타트 2024. 8. 25. 14:50

옥상에서  양액을 사용하여 저면급액법으로 식물을 기르고 있습니다. 여름철에는 양액 소비량이 많아 매일 양액을 각 재배기에 부어주어야 하기 때문에 시간을 많이 사용하게 됩니다. 하루 이상 집을 떠나기도 어렵습니다. 시간을 벌기 위해 양액 공급을 자동으로 하는 방법을 찾게 되었습니다. 양액 만드는 것은 수동으로 하더라도, 만들어 놓은 양액을 식물로 공급하는 것이라도 자동으로 하고 싶은 것이지요. 우선 한 재배기에 적용할 것을 만들어 적용해보고, 보완하여 모든 재배기에 적용할 생각입니다. 한 재배기에 사용할 것의 프로그램들이 완성되었습니다.

 

제가 코딩을 알려주는 목적으로 쓰는 글이 아니라 code는 공개하지 않는 점 이해하시기 바랍니다.

 

1. 양액 공급 자동화_개요

{옥상 양액 공급 자동화_개념도-1_2023-12-10.bmp}

 

 

1. 통신

  (1) MQTT 통신을 적용한다.

  (2) 옥탑방에 WiFi 공유기를 둔다.

  (3) 옥탑방에 RPiMQTT 브로커를 둔다.

  (4) 송신부는 ESP8266을 사용한다.

 

2. 전력 공급

  (1) 수신부와 제어부의 전력

    - 옥상 창고에서 공급한다.

    - 이후에 옥상 창고 지붕에 태양광 패널을 설치하여 공급한다.

  (2) 송신부의 전력은 태양광 패널로 공급한다.

 

3. 수위 센서

  (1) 수위 센서는 싱크대 롤선반과 3D 프린터로 만든다.

 

2. 결과

(1) 브로커

RPi {mosquitto_on_RPi_modified_2024-08-18.JPG}

 

Raspberry Pi(RPi)에 모스퀴토 브로커를 실어 MQTT 통신을 할 수 있게 했습니다. RPi는 수위를 보내는 ESP8266과 밸브를 제어하는 ESP8266 사이에서 중계를 하게 됩니다.

 

(2) 수위 센서

수위 센서는 자작했습니다. 시중의 수위 센서 중 학습용인 것은 쉽게 부식되고(링크), 부식이 되지 않는센서는 고가입니다. 재배기에 맞추어 수위의 상한치와 하한치에 맞추려면 2개의 센서가 필요합니다. 자작한 수위 센서는 재배기에 맞게 크기를 맞추어 하나의 센서로 상한치와 하한치를 센싱할 수 있습니다. 재배기와 센서의 크기 뿐만 아니라 식물의 종류나 키우는 단계에 따라 양액농도를 달리할 수 있습니다. 재배기, 센서, 양액 농도가 달라지면 캘리브레이션을 할 수 있습니다. 수위 센서와 수위 측정 방법은 특허 출원을 했고 아직 공개 전이라 이 정도로 소개합니다.

 

(3) 수위 센싱부

수위 센싱부 {sensing부 ESP8266_modified_2024-08-18.JPG}

 

수위  센싱부를 맡은 ESP8266입니다. Analog 입력 단자가 1개 뿐이라 relay를 사용하여 번갈아 입력을 받도록 했습니다. MUX를 사용하면 부피를 줄일 수 있습니다.

 

(4) 밸브 구동부

밸브 구동부 {valve 구동부 ESP8266_modified_2024-08-18.JPG}

 

밸브 구동부는 MQTT broker로부터 신호를 받아 수위가 낮으면 펌프와 밸브를 구동합니다. 수위가 N(normal)이면 그대로 있고 수위가 L(low)가 되면 H(high)가 될 때까지 펌프를 가동합니다. 펌프가 가동될 때 밸브가 열립니다.

 

(5) 전체 구성

전체 구성 {옥상_양액공급_전체_modified-1_2024-08-18.JPG}

 

 

전체 구성을 볼 수 있는 사진입니다. 컵 안에는 수위 sensor가 들어 있습니다. 프로그램이 제대로 동작하는지 보기 위해 브로커, 센싱부, 밸브 구동부를 한 곳에 갖다 놓고 진행했습니다. 설치할 때는 각각의 임무에 맞추어 제 자리에 설치됩니다.

 

(6) 캘리브레이션

 

{Nod-RED_calibration_2024-08-18.jpg}

 

Nod-RED를 사용하여 프로그램 했고, 휴대전화로 캘리브레이션할 수 있게 했습니다. 방법은 다음과 같습니다.

 

CALIBRATION S/W를 켭니다. 

STEP-1: 물(양액)이 센서에 닿지 않게 한 다음 STEP-1 버튼을 누릅니다.

STEP-2: 물(양액)이 L를 맡은 봉에 닿도록 하고 STEP-2 버튼을 누릅니다.

STEP-3: 물(양액)이 H를 맡은 봉에 닿도록 하고 STEP-3 버튼을 누릅니다.

CALIBRATION S/W를 끕니다.

 

캘리브레이션한 값은 저장됩니다. 저장되고 나면 사고로 전원이 꺼져도 사라지지 않습니다. 수위를 읽을 때 L, N, H를 판단하는 데 사용됩니다.

 


이상 옥상 양액공급을 자동화하기 위한 프로그램 개발 결과를 소개드렸습니다. 설치한 결과가 나오면 또 소개드리겠습니다.