라벨이 스마트팜인 게시물 표시

[DIY 스마트팜] 아이디어: XH-M609 + Ideal Diode를 이용한 자동 전원 전환 모듈 (태양광 DC 전원 우선 사용)

이미지
[DIY] 태양광 DC 전원 우선 사용하기 XH-M609 + Ideal Diode를 이용한 자동 전원 전환 모듈 태양광 패널에서 전력을 얻을 수 있을 때는 태양광을 우선 사용하고, 일사량이 부족해 전압이 떨어지면 12V SMPS를 보조 전원으로 사용하는 간단한 자동 전원 시스템을 만들어 보았습니다. 목표는 단순합니다. 태양광이 충분하면 태양광을 사용하고, 부족하면 SMPS로 전환한다. 여기에 Ideal Diode 를 추가하여 두 전원이 서로 역류하지 않도록 만들고, XH-M609의 전압 감지 및 릴레이 기능을 이용하여 태양광 전원의 사용 여부를 자동으로 결정하도록 구성합니다. 1. 프로젝트 목표 이번 회로의 목표는 다음과 같습니다. 태양광 DC 전원을 우선 사용 태양광 전압이 낮아지면 SMPS로 자동 전환 태양광과 SMPS 사이의 역류 방지 릴레이 체터링 방지를 위한 히스테리시스 적용 일반 다이오드보다 낮은 전압 손실 LED, DC 팬, 소형 스마트팜 장치 등에 활용 특히 배터리를 사용하지 않는 Battery-Free DC Power Manager 를 만드는 것이 핵심입니다. 2. 전체 시스템 구조 기본적인 구조는 다음과 같습니다. ┌───────────────┐ │ 태양광 패널 │ │ DC 입력 │ └───────┬───────┘ │ [Ideal Diode A] │ ▼ ┌───────────┐ │ XH-M609 │ │ Relay │ └─────┬─────┘ ...

[DIY 스마트팜] ESS 없는 태양광 직결 식물등 시스템 (아이디어 노트)

이미지
프로젝트 목표 태양광 패널만 이용하여 식물등을 구동한다. 조건은 다음과 같다. 배터리 사용 안 함 ESS 사용 안 함 흐린 날은 꺼져도 괜찮음 구름 때문에 발생하는 깜빡임 최소화 아침에는 천천히 켜지고 저녁에는 천천히 꺼짐 유지보수가 거의 없는 시스템 적용 대상 새싹채소 상추 케일 허브류 소형 스마트팜 실험용 식물 생장 시스템 기본 아이디어 일반적인 태양광 시스템 태양광 패널 ↓ 배터리 ↓ LED 식물등 이번 목표 태양광 패널 ↓ LED 식물등 즉, 배터리를 완전히 제거한다. 단순 직결 방식의 문제점 문제 1 구름이 지나갈 때 깜빡임 해가 쨍쨍 ↓ LED ON 구름 ↓ LED OFF 구름 사라짐 ↓ LED ON 반복 발생 문제 2 일출 / 일몰 구간 12V 13V 14V 15V 16V LED가 애매하게 켜지거나 깜빡임 문제 3 LED 수명 저하 짧은 시간 ON/OFF 반복 해결 방법 1. 전압 임계값 적용 태양광 전압이 충분할 때만 LED 점등 예시 16V 이상 → ON 15V 이하 → OFF 2. 히스테리시스 적용 LM393 비교기 사용 16V 이상 → 켜짐 15V 이하 → 꺼짐 그러면 15.8V 15.9V 16.0V 15.9V 16.1V 같은 경계 구간에서도 깜빡이지 않는다. 3. RC 소프트 스타트 MOSFET 게이트에 RC 회로 추가 LM393 ↓ R ↓ MOSFET Gate ↑ C | GND 시정수 계산 tau = R × C 예시 R = 100kΩ C = 100uF tau = 10초 결과 LED 0% 10% 20% 40% 60% 80% 100% 천천히 켜짐 4. RC 소프트 스톱 전압이 떨어지면 커패시터 방전 ↓ 게이트 전압 감소 ↓ LED 밝기 감소 ↓ OFF 결과 100% 80% 60% 40% 20% 0% 천천히 꺼짐 슈퍼커패시터는 필요한가? 필수는 아니다. 실제로는 RC 회로 + LM393 만으로도 상당히 부드럽게 동작한다. 권장 사용법 슈퍼커패시터를 LED 전원용으로 사용하지 않는다...

[DIY 스마트팜] ESS 없이 만드는 태양광 환기 시스템

이미지
왜 ESS를 쓰지 않았는가? 소형 스마트팜이나 텃밭용 환기 시스템을 검색해 보면 대부분 배터리(ESS)를 포함한 구조를 제안한다. 물론 ESS를 사용하면 밤에도 동작할 수 있고 전압 변동에도 강하다. 하지만 실제 DIY 관점에서 보면 여러 가지 부담이 생긴다. 배터리 가격이 비싸다. 충전 회로가 필요하다. 과충전/과방전 보호가 필요하다. 수명이 존재한다. 옥외 설치 시 관리 포인트가 늘어난다. 결국 고장 요소가 증가한다. 반면 여름철 소형 온실이나 육묘 상자의 환기 목적이라면 대부분 햇빛이 강한 시간대에만 팬이 동작해도 충분한 경우가 많다. 그렇다면 굳이 ESS를 넣어 시스템을 복잡하게 만들 필요가 있을까? 이 프로젝트는 여기서 출발했다. "배터리 없이, 태양광 패널과 팬만으로 최대한 단순하고 오래가는 시스템을 만들 수 없을까?" 단순함이 곧 신뢰성이다 태양광 패널에 팬을 직접 연결하면 문제가 발생한다. 구름이 지나가거나 일조량이 애매한 상황에서 팬이 돌다가 멈추고 다시 돌다가 멈추고 덜덜 떨리며 모터가 스트레스를 받는다. 실제로 이런 상태가 반복되면 모터 수명도 짧아지고 체감상 상당히 거슬린다. 그래서 이번 설계의 목표는 단순했다. 켜질 때는 확실하게 켜진다. 꺼질 때는 확실하게 꺼진다. 중간에서는 우왕좌왕하지 않는다. ESS 없이 구현한다. 시중 부품만으로 제작 가능하다. 만능기판 수준에서 누구나 제작 가능하다. 설계 철학 이 회로는 복잡한 MCU도 사용하지 않는다. 아두이노 없음 ESP32 없음 배터리 없음 충전기 없음 소프트웨어 없음 대신 수십 년 동안 검증된 아날로그 부품만 사용한다. LM358 P채널 MOSFET 제너 다이오드 저항 커패시터 그리고 제어 로직은 단 하나다. "전압이 충분하면 켜고, 부족하면 끈다." 하지만 단순한 ON/OFF가 아니라 슈미트 트리거(Hysteresis)를 적용하여 켜지는 전압과 꺼지는 전압을 다르게 만든다. 예를 들어 11V 이상 → ON 8.5V 이하 → OFF 로 설정하면 구름이...

[DIY 스마트팜] 파이썬 Flask + MJPEG + Cloudflare Tunnel을 이용한 간이 실시간 CCTV 구축

개요 USB 웹캠이 연결된 PC에서 영상을 캡처하여 Flask 서버를 통해 MJPEG 스트리밍으로 제공하고, Cloudflare Tunnel을 이용하여 외부에서 휴대폰으로 실시간 확인할 수 있는 간이 CCTV 시스템을 구축한다. 특징: 무료 포트포워딩 불필요 공인 IP 불필요 공유기 설정 불필요 별도 앱 설치 불필요 웹 브라우저만 있으면 접속 가능 거의 실시간 영상 확인 가능 시스템 구성 USB Webcam ↓ OpenCV ↓ Flask MJPEG Server ↓ localhost:8000 ↓ Cloudflare Tunnel ↓ https://xxxxx.trycloudflare.com ↓ 휴대폰 브라우저 프로젝트 폴더 구조 camera_server/ └── camera_server.py 필요 패키지 설치 pip install flask pip install opencv-python 확인: python -c "import cv2; print(cv2.__version__)" CCTV 서버 코드 from flask import Flask, Response import cv2 from datetime import datetime app = Flask(__name__) cap = cv2.VideoCapture(0) if not cap.isOpened(): raise RuntimeError("카메라 열기 실패") # Logitech C525 권장 설정 cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) def generate_frames(): while True: success, frame = cap.read() if not success: continue timestamp = datetime.now().str...

[DIY 스마트팜] 파이썬 + 웹캠 + Cloudflare Tunnel을 이용한 간이 CCTV 구축

개요 USB 웹캠이 연결된 PC에서 주기적으로 사진을 촬영하고, Cloudflare Tunnel을 이용하여 외부에서 휴대폰으로 확인할 수 있는 간이 CCTV 시스템을 구축한다. 특징: 무료 포트포워딩 불필요 공인 IP 불필요 공유기 설정 불필요 휴대폰 브라우저로 접속 가능 Python만으로 구현 가능 시스템 구성 USB 웹캠 ↓ Python(OpenCV) ↓ latest.jpg 생성 Python HTTP Server ↓ localhost:8000 Cloudflare Tunnel ↓ https://xxxxx.trycloudflare.com 휴대폰 브라우저 프로젝트 폴더 구조 camera_server/ ├── camera.py ├── index.html └── latest.jpg 1. OpenCV 설치 pip install opencv-python 설치 확인: python -c "import cv2; print(cv2.__version__)" 2. 웹캠 촬영 프로그램 camera.py import cv2 import time from datetime import datetime # 웹캠 열기 cap = cv2.VideoCapture(0) if not cap.isOpened(): print("카메라 열기 실패") exit() print("카메라 시작") try: while True: ret, frame = cap.read() if not ret: print("프레임 읽기 실패") time.sleep(1) continue timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S") cv2.putText( frame, ...

[DIY 스마트팜] 아두이노 + NTC 써미스터를 이용한 간이 풍속계(열선식 풍속계) 구현 아이디어

개요 일반적으로 써미스터는 온도를 측정하는 센서로 사용되지만, 일부러 센서를 가열한 뒤 바람에 의해 냉각되는 정도를 측정하면 풍속 센서로 활용할 수 있다. 이 방식은 산업계에서 사용하는 열선식 풍속계(Thermal Anemometer) 의 기본 원리와 동일하다. 장점은 다음과 같다. 회전 부품 없음 마모 부품 없음 구조가 단순함 저렴함 기류 변화 감지에 매우 민감함 아두이노로 쉽게 구현 가능 동작 원리 1. 대기온도 측정용 써미스터 첫 번째 써미스터는 일반적인 온도 센서처럼 사용한다. 자기 발열(Self Heating)이 거의 발생하지 않도록 작은 전류만 흘림 현재 공기 온도를 측정 T_ambient 2. 가열용 써미스터 두 번째 써미스터는 일부러 가열한다. 전류를 충분히 흘려 센서 자체 온도를 주변 온도보다 높게 만든다. 예) 실내온도 : 25℃ 가열센서 : 50℃ 3. 바람이 발생 공기가 흐르면 가열된 센서의 열이 외부로 빠져나간다. 풍속 증가 → 열손실 증가 → 센서 온도 감소 예) 무풍 상태 T_heated = 50℃ 약한 바람 T_heated = 40℃ 강한 바람 T_heated = 30℃ 4. 온도 차이 계산 두 센서의 온도 차이를 계산한다. ΔT = T_heated - T_ambient 또는 ΔV = V_ambient - V_heated NTC 특성상 온도가 변하면 저항과 전압이 변하므로 실제 구현은 전압 차이로 계산하는 경우가 많다. 왜 풍속이 커질수록 값이 변하는가? 가열된 센서가 잃는 열량은 풍속과 밀접한 관계가 있다. 간단히 표현하면 풍속 ↑ → 냉각 ↑ → 센서 온도 ↓ → NTC 저항 ↑ → ADC 값 변화 ↑ 따라서 풍속을 직접 측정하지 않아도 기류 세기를 추정할 수 있다. NTC 선정 가이드 가장 추천하는 NTC DIY 및 스마트팜 환기 감시용으로는 다음 규격이 가장 무난하다. 10kΩ NTC B값 3950 비드형(Bead Type) 대표 제품 MF52-103 MF58-103 10K B3950 Glass Bead NTC 비드형을...

[DIY 스마트팜] 외란에 무적이라는 ‘캐스케이드(Cascade) 이중 루프 제어’, 완벽 이해하기

자동화 현장이나 플랜트 공정 제어를 설계하다 보면 반드시 마주치는 숙제가 있습니다. 바로 "외란(Disturbance)을 어떻게 잡을 것인가?" 입니다. 가장 흔하게 쓰는 일반 PID 제어(싱글 루프)는 구조가 단순해서 좋지만, 시스템에 시간 지연(Delay)이 있거나 갑작스러운 외부 충격(외란)이 들이치면 뒤북을 치며 출렁이기 쉽습니다. 이때 제어공학에서 꺼내 드는 마스터키가 바로 캐스케이드(Cascade) 제어 , 즉 이중 루프(Dual-loop) 제어 입니다. 오늘은 이 캐스케이드 제어가 왜 외란에 강한지, 그리고 실제 현장에서 어떻게 구현하는지 아주 쉽게 정리해 보겠습니다. 1. 캐스케이드 제어란? (반장과 행동대장 구조) 일반 PID 제어는 제어기 하나가 센서 하나만 바라보며 히터나 밸브를 혼자서 다 조절합니다. 혼자서 다 하려니 느리고 버거울 수밖에 없습니다. 반면 캐스케이드 제어는 PID 루프 2개를 직렬(종속) 구조로 연결 합니다. 즉: 위쪽 루프 = 최종 목표 관리 아래쪽 루프 = 현장 실무 처리 로 역할을 분리하는 방식입니다. ■ 마스터 PID (Master / Outer Loop) 역할: 최종 관리자 반장 역할 감시 대상: 우리가 진짜 지키고 싶은 값 예: 챔버 내부 식물 주변 온도 행동: 최종 온도를 보고 슬레이브에게 명령함 예시: "지금 챔버가 식었으니까 열풍 온도를 60도로 올려!" 즉, 마스터 PID의 출력값은 "히터 출력"이 아니라 "슬레이브 PID의 목표 온도(Setpoint)"가 됩니다. ■ 슬레이브 PID (Slave / Inner Loop) 역할: 현장 행동대장 작업반장 역할 감시 대상: 히터 바로 앞 열풍 출구 온도 밸브 직전 압력 등 행동: 마스터가 지시한 목표치를 초고속으로 맞춤 즉: 실제 PWM SSR 밸브 개도율 같은 물리 출력은 슬레이브가 담당합니다. 2. 챔버 문이 열렸다! 외란 시나리오로 보는 차이점 겨울철 챔버를 생각해 보겠습니다. 챔버...

[DIY 스마트팜] 서미스터(Thermistor)의 비선형성과 스테인하트-하트(Steinhart–Hart) 방정식 이해

이미지
에어컨, 자동차, 배터리 팩, 스마트팜 환경 제어기 등에는 대부분 서미스터(Thermistor)가 들어갑니다. 서미스터는 매우 저렴하면서도 온도 변화에 민감하기 때문에 산업 현장과 DIY 프로젝트에서 엄청나게 많이 사용됩니다. 하지만 실제로 사용해보면 한 가지 문제가 있습니다. 바로: 온도와 저항의 관계가 직선이 아니라는 점 입니다. 1. 서미스터란? 서미스터(Thermistor)는: Thermal (열) Resistor (저항기) 의 합성어입니다. 즉: 온도에 따라 저항값이 크게 변하는 반도체 기반 수동 소자 입니다. 특히 NTC 서미스터가 온도 측정용으로 가장 많이 사용됩니다. NTC (Negative Temperature Coefficient) 온도 상승 → 저항 감소 예시: 25°C → 10kΩ 50°C → 수 kΩ 수준으로 감소 처럼 변화합니다. 2. 왜 서미스터는 민감할까? RTD(Pt100)는 비교적 선형적으로 변합니다. 반면 NTC 서미스터는: 낮은 온도에서는 저항이 매우 크고 높은 온도에서는 급격히 감소 합니다. 즉: 아주 작은 온도 변화에도 저항 변화량이 매우 큼 이라는 특징이 있습니다. 그래서: 저가형 정밀 온도 측정 배터리 온도 감시 HVAC 스마트팜 전원부 보호회로 등에서 엄청나게 많이 사용됩니다. 3. 서미스터의 가장 큰 문제: 비선형성 서미스터는: 온도 변화량과 저항 변화량이 직선 관계가 아닙니다. 즉: 단순한 1차 함수로 계산 불가능 강한 곡선 형태를 가짐 입니다. 예를 들어: 20°C → 25°C 변화와 70°C → 75°C 변화의 저항 감소 폭이 전혀 다릅니다. 4. 스테인하트-하트(Steinhart–Hart) 방정식 이 문제를 해결하기 위해 가장 널리 쓰이는 모델이 바로 아래 식입니다. 1/T = A + B·ln(R) + C·(ln(R))^3 의미: T = 절대온도(K) R = 서미스터 저항값(Ω) A, B, C = 제조사 계수 핵심은: 로그(Log)가 들어간다는 것 입니다. 이 로그 항 덕분에 비선형 곡선을 현실적으로 매우 ...

[스마트팜] RTD(측온저항체)의 원리와 실무 이야기

이미지
온실 환경 제어, 반도체 장비, 정밀 공정 제어 같은 산업 현장에서는 “정확한 온도 측정”이 시스템 품질을 결정합니다. 그리고 이런 현장에서 오랫동안 표준처럼 사용되어 온 센서가 바로 RTD(Resistance Temperature Detector, 측온저항체)입니다. 특히 PLC 엔지니어라면 한 번쯤은 반드시 만나게 되는 센서가 바로 PT100입니다. 오늘은 RTD가 왜 그렇게 신뢰받는지, 그리고 실제 제어 시스템에서는 어떤 원리로 동작하는지 정리해보겠습니다. RTD란 무엇인가? RTD는 온도 변화에 따라 저항값이 변하는 센서입니다. 온도가 올라가면 저항도 증가합니다. 가장 중요한 특징은 다음입니다. 온도와 저항 사이의 관계가 매우 안정적이다 반복 측정 시 재현성이 뛰어나다 시간이 지나도 특성이 거의 변하지 않는다 즉, “이번에 측정한 30°C”와 “1년 뒤 측정한 30°C”가 거의 동일하게 유지된다는 뜻입니다. 이 특성 때문에 RTD는 산업 현장에서 “신뢰 가능한 기준 온도 센서”처럼 사용됩니다. RTD는 스스로 전압을 만들지 못한다 여기서 열전대(Thermocouple)와 RTD의 가장 큰 차이가 등장합니다. 열전대는 온도차에 의해 스스로 전압을 생성하는 능동 소자(active device)입니다. (<= 관점에 따라 수동 소자로 분류되기도 함) 반면 RTD는 단순히 저항값만 변하는 수동 소자(passive device)입니다. 즉, RTD는 혼자서는 아무것도 출력하지 못합니다. 그래서 PLC 아날로그 입력 카드나 온도 모듈에서는 반드시 다음 과정을 수행해야 합니다. RTD에 아주 작은 전류를 흘린다 센서 양단의 전압을 측정한다 옴의 법칙으로 저항값을 계산한다 저항값을 온도로 변환한다 즉, 실제로 PLC는 “온도”를 직접 읽는 것이 아니라: 전류를 흘리고 전압을 읽고 저항을 계산한 뒤 테이블이나 공식으로 온도를 환산하는 것 입니다. RTD의 핵심은 “정전류(Constant Current)”이다 RTD 측정에서 가장 중요한 것은 일정한 전류를 유지하는...

[스마트팜] 열전대(Thermocouple)의 모순과 냉접점 보상(CJC)의 작동 원리

이미지
산업 현장이나 스마트팜 고온 제어에서 가장 흔하게 쓰이는 센서가 바로 열전대(Thermocouple)입니다. 구조가 단순해 무식할 정도로 튼튼하고, 1000°C가 넘는 극한 환경도 거뜬히 버티기 때문입니다. 하지만 이 센서에는 치명적인 모순이 하나 있습니다. 바로 "온도를 측정하기 위해, 제어기 내부에 또 다른 온도 센서가 필요하다"는 점입니다. 왜 이런 독특한 구조를 가지게 되었는지, 그리고 제어의 핵심인 냉접점 보상(CJC)의 필요성을 핵심만 작동 원리 위주로 정리해 봅니다. 1. 열전대의 본질: "나는 절대 온도를 모른다" 우리가 흔히 쓰는 일반적인 센서들은 "지금 여기가 정확히 몇 도다"라는 절대적인 값을 알려줍니다. 하지만 열전대는 작동 원리인 제베크 효과(Seebeck Effect)로 인해 전혀 다른 방식으로 움직입니다. 서로 다른 두 금속 선의 양끝을 붙이고 한쪽에 열을 가하면 미세한 전압(mV)이 발생하는데, 이 전압은 오직 "센서 앞단과 뒷단의 온도 차이"에 의해서만 결정됩니다. 측정 접점(Hot Junction): 보일러 내부나 온실 수조 등, 우리가 진짜 측정하고 싶은 센서의 뾰족한 끝부분입니다. 기준 접점 / 냉접점(Cold Junction): 센서 선이 끝나고 PLC 아날로그 입력 카드나 변환 모듈(예: MAX6675)의 나사 단자에 물리는 지점입니다. 즉, 열전대가 제어기로 보내는 신호는 "지금 현장이 500°C입니다"가 아니라, "지금 현장이랑 제어기 단자대 사이에 480°C만큼의 온도 차이가 납니다"라는 상대적인 정보일 뿐입니다. 2. 냉접점 보상(CJC)이 왜 필요할까? 이 상태에서 제어실(또는 PLC 판넬 내부)의 온도가 변하면 치명적인 문제가 발생합니다. 실제 현장(측정 접점) 온도가 500°C로 일정하다고 가정해 봅시다. 상황 A (봄): 제어실 온도가 20°C입니다. 두 곳의 차이는 480°C이므로 센서는 이에 맞는 ...

[DIY 스마트팜] 지렁이 상토/액비 생산 시스템 구축 아이디어

  생활형 순환 스마트팜을 위한 환경 제어 모델 안녕하세요. 이번 글에서는 단순 퇴비통이 아니라, 실내 육묘 시스템과 연계 가능한: 지렁이 상토 생산 액비(Vermi Tea) 생성 함수율 제어 환경 모니터링 까지 포함한 소형 자동화 시스템을 정리해봅니다. 특히 PLC 엔지니어 관점에서: 함수율 환기 액비 체류 시간 발효 안정성 을 어떻게 관리할 것인지에 초점을 맞췄습니다. 1. 시스템 목표 이번 시스템의 핵심 목표는 다음과 같습니다. 사용 후 코코피트 재활용 지렁이 분변토 생산 저농도 액비 생성 냄새/혐기화 최소화 실내 육묘 시스템과 연계 2. 전체 시스템 구조 입력(Input) 사용 후 코코피트 식물 잔사 마른 종이류 소량의 유기물 ↓ 처리(Process) 지렁이 분해 미생물 활성 함수율 유지 약한 환기 ↓ 출력(Output) 지렁이 분변토 Vermi Tea 액비 3. 환경 모델(Environment Model) 지렁이 시스템은 사실: "미생물 환경 제어" 에 가깝습니다. 중요한 환경 변수는 다음과 같습니다. 핵심 변수 항목 목표 범위 함수율 60~80% 온도 18~28°C 산소 상태 약한 호기성 액비 체류 시간 짧게 환기 약한 지속 환기 왜 중요한가? 지렁이 시스템이 실패하는 가장 큰 이유는: 과습 혐기화 정체 입니다. 즉: "산소 공급" 이 핵심입니다. 4. 추천 하드웨어 구조 센서 SHT30 (온습도) Capacitive Soil Sensor DS18B20 (베드 내부 온도) 액추에이터 DC 24V 팬 소형 펌프 배출 솔레노이드 밸브 제어 장치 PLC Python PC/Raspberry Pi 5. 제어 프로세스(Control Process) 기본 철학 "짧게 공급하고 빠르게 배출" 입니다. 함수율 제어 프로세스 함수율 측정 목표 함수율 이하 확인 분무/급수 일정 시간 유지 자동 배출 약한 환기 PLC 시퀀스 예시 STEP 1: 함수율 LOW 감지 ↓ STEP 2: 펌프 ON (10초) ↓ STEP 3...

[DIY 스마트팜] 적산온도(GDD) 기반 생육 모드 전환 시스템 아이디어

안녕하세요. 이번 글에서는 단순 타이머 기반 자동화를 넘어, 식물의 실제 생장 상태를 기반으로 환경을 전환하는 적산온도(GDD) 기반 생육 모드 전환 시스템 아이디어를 정리해봅니다. 핵심은: "며칠이 지났는가?"가 아니라 "식물이 실제로 얼마나 성장했는가?"를 기준으로 제어하는 것입니다. PLC의 안정적인 제어와 Python의 데이터 처리 능력을 결합하면, 작은 DIY 육묘기도 꽤 고도화된 생육 제어 시스템으로 발전시킬 수 있습니다. 1. 시스템 개요 이번 시스템은 크게 3개의 모드로 구성됩니다. 발아 모드 (Germination Mode) 육묘 모드 (Seedling Mode) 재배 모드 (Grow Mode) 그리고 이 모드 전환 기준을 단순 날짜가 아닌: "적산온도(GDD, Growing Degree Days)" 로 판단합니다. 2. 왜 적산온도가 중요한가? 식물은 단순히 시간이 흐른다고 성장하지 않습니다. 실제로는: 온도 광량 수분 VPD 같은 환경 조건에 영향을 받습니다. 특히 온도는 생장 속도에 직접적인 영향을 줍니다. 예를 들어: 평균 15°C 환경에서의 10일 평균 25°C 환경에서의 10일 은 생장량이 완전히 다릅니다. 즉: "10일 후 재배 모드 전환" 같은 단순 시간 기반 로직은 계절과 환경 변화에 취약합니다. 3. 적산온도(GDD)란? 적산온도는 식물이 성장 가능한 온도를 얼마나 누적해서 받았는지를 계산하는 모델입니다. 붙여넣기용 수식: GDD = Σ(Tavg - Tbase) 설명: Tavg = 평균 온도 Tbase = 생육 시작 기준 온도 예를 들어: 평균 온도: 22°C 기준 온도: 10°C 라면: GDD = 22 - 10 = 12 즉 하루에 12의 생육량이 누적됩니다. 4. 시스템 아키텍처 L0 — Sensor / Actuator DS18B20 (지온 측정) SHT3x (온습도) DC 24V 팬 저면관수 펌프 배출 솔레노이드 밸브 L1 — PLC PLC는 실시간 ...

[DIY 스마트팜] PLC와 Python으로 만드는 스펀지 포트 기반 자동 육묘 시스템 아이디어

이번 글에서는 PLC 엔지니어의 관점에서 “공장형 스마트팜의 초기 육묘 시스템”을 어떻게 가성비 있게 구현할 수 있는지 정리해 보겠습니다. 특히 이번 시스템은: 스펀지 포트 기반 육묘 저면급수 자동 배출 약한 환기(Flicker Ventilation) 구조를 중심으로 설명합니다. 복잡한 AI보다: “제어하기 쉬운 물리 시스템” 을 먼저 만드는 방향입니다. 1. 왜 스펀지 포트를 사용하는가? 공장형 스마트팜 영상을 보면 씨앗을 작은 스펀지에 꽂아 발아시키는 경우가 많습니다. 이유는 단순합니다. 자동화에 매우 유리하기 때문입니다. 일반 상토의 문제점 상토는 자연 재료라서 편차가 큽니다. 예를 들어: 함수율 편차 밀도 편차 배수 편차 공극률 편차 가 존재합니다. 즉: 같은 시간 동안 물을 공급해도 결과가 달라질 수 있습니다. PLC 제어 입장에서는 매우 까다로운 조건입니다. 반면 스펀지 포트는? 스펀지 포트는: 크기 일정 공극률 일정 함수율 패턴 일정 배수 특성 일정 합니다. 즉: “반복성이 매우 높다” 는 강력한 장점이 있습니다. 예를 들어: 저면급수 30초 → 거의 일정한 함수율 이라는 재현성이 가능합니다. 이건 PLC 타이머 제어와 궁합이 매우 좋습니다. 2. 시스템 구성 이번 시스템은 다음 구조를 사용합니다. 센서 구성 온습도 센서 SHT30 SHT31 SHT35 역할: 온도 측정 상대습도 측정 VPD 계산용 데이터 제공 지온 센서 DS18B20 방수형 역할: 스펀지 트레이 온도 측정 히터 제어 발아 단계에서는 기온보다 지온 안정성이 훨씬 중요합니다. 수위 센서 역할: 저면급수 수위 감지 펌프 공회전 방지 3. 액추에이터 구성 저면급수 펌프 추천: DC 24V 다이아프램 펌프 또는: 소형 수중 펌프 드레인 밸브 역할: 급수 후 자동 배출 과습 방지 환기 팬 중요 포인트: 강한 환기가 아니라: “약한 지속 환기” 가 중요합니다. 히터 매트 발아 안정성을 크게 올려주는 핵심 장치입니다. 특히 겨울철에는 매우 중요합니다. 4. 추천 제어 구조 이번 시스템에서 가장...

[DIY 스마트팜] PLC와 Python으로 만드는 스마트 육묘 시스템 아이디어

  - 스펀지 포트 기반 자동 발아 시스템 설계 - 안녕하세요! 오늘은 PLC의 안정성과 Python의 데이터 분석 능력을 결합하여, 공장형 스마트팜 구조에 가까운 “스펀지 포트 기반 자동 육묘 시스템”을 구축하는 방법을 정리해 봅니다. 이번 시스템은 단순히 씨앗에 물을 주는 수준이 아니라: VPD(포차) 적산온도(GDD) 저면급수 배출(Drain) 순환(Circulation) 함수율 기반 관수 까지 고려한 데이터 기반의 정밀 육묘 시스템입니다. 특히 이번 글에서는 실제 공장형 스마트팜에서 많이 사용하는: 스펀지 포트 우레탄 폼 폼 배지 기반의 육묘 구조를 중심으로 설명합니다. 1. 왜 공장형 스마트팜은 스펀지 포트를 사용하는가? 많은 사람들이 스마트팜이라고 하면: 복잡한 AI 고급 센서 비싼 제어 알고리즘 을 먼저 떠올립니다. 하지만 실제 공장형 스마트팜에서는 오히려: “배지를 규격화하여 제어를 단순화” 하는 접근을 많이 사용합니다. 상토 기반의 문제점 일반 상토는 자연 재료이기 때문에 편차가 큽니다. 예를 들어: 함수율 편차 밀도 편차 배수 편차 공극률 편차 가 존재합니다. 즉: “같은 시간 동안 물을 공급해도 결과가 달라질 수 있다” 는 문제가 발생합니다. PLC 엔지니어 관점에서는 이런 편차가 매우 불리합니다. 반면 스펀지 포트는? 스펀지 포트는: 크기 일정 공극률 일정 함수율 패턴 일정 배수 특성 일정 합니다. 즉: “반복성이 매우 높다” 는 강력한 장점이 있습니다. 예를 들어: 30초 저면급수 → 거의 동일한 함수율 이라는 재현성이 가능합니다. 이는 자동화 시스템에서 매우 중요한 특징입니다. 2. 시스템 아키텍처 (Hybrid Architecture) 시스템은 크게 3개 계층으로 구성됩니다. L0 (Sensor / Actuator) 실제 센서와 액추에이터 계층입니다. 센서 구성 SHT3x 온습도 센서 DS18B20 수온/지온 센서 수위 센서 EC 센서(Optional) 조도 센서(Optional) 액추에이터 구성 DC 24V 저면급수 펌프 순...

[DIY 스마트팜] PLC와 Python으로 만드는 모종 발아 시스템 아이디어 노트

안녕하세요! 오늘은 산업용 자동화 기술(PLC)과 데이터 분석 언어(Python)를 결합하여, 가정에서도 전문가 수준의 환경 제어를 구현하는 스마트 모종 발아 시스템 설계법을 정리해 봅니다. 단순히 온도를 끄고 켜는 제어를 넘어, 식물 생장 모델인 ‘적산온도(GDD)’와 ‘VPD(포차)’를 적용한 고차원 제어 모델입니다. 1. 하이브리드 제어 아키텍처 (Hybrid Control Architecture) 가장 먼저 하드웨어와 소프트웨어의 역할을 명확히 나눕니다. 가성비를 위해 비싼 산업용 센서 대신 아두이노와 정밀 모듈을 활용합니다. L0 (Sensor / Actuator) 아두이노 SHT3x 온습도 센서 DS18B20 방수 온도 센서 정전용량형 토양수분 센서 SSR DC 24V 팬 초음파/진동자 가습기 DC 24V 다이아프램 펌프 또는 연동 펌프 L1 (Control) PLC PID 제어 시퀀스 인터록 안전 로직 관수 시퀀스 제어 L2 (Intelligence) Python VPD 계산 적산온도(GDD) 추적 증산량 기반 관수 보정 데이터 로깅 이상 패턴 분석 핵심은 PLC가 “안정성”을 담당하고, Python이 “지능형 분석”을 담당하는 구조입니다. 2. 핵심 제어 로직: VPD (Vapor Pressure Deficit) 단순 습도(%) 제어는 식물에게 큰 의미가 없습니다. 온도가 변하면 상대습도 역시 함께 변하기 때문입니다. 실제 식물은 “공기가 얼마나 수분을 더 가져갈 수 있는 상태인가”를 기준으로 반응합니다. 이를 수치화한 것이 바로 VPD(Vapor Pressure Deficit, 포차)입니다. 왜 VPD가 중요한가? 너무 낮은 VPD 과습 곰팡이 발생 증산 억제 너무 높은 VPD 과도한 건조 발아 스트레스 성장 저하 발아 및 초기 육묘 단계에서는 일반적으로 다음 범위를 많이 사용합니다. 0.4 ~ 0.8 kPa 발아 및 초기 육묘의 골든 존 곰팡이 위험 감소 안정적인 증산 환경 형성 Python에서 실시간으로 온도와 습도를 읽어 VPD를 계산하고...

[스마트팜] PLC 기반 환경제어 시스템 데이터 수집 설계안

  🌱 PLC 기반 환경제어 시스템, 데이터 수집은 이렇게 설계하자 작물 재배 환경제어 , 산업용 HVAC , 온실 시스템 등에서 PLC(Programmable Logic Controller)는 센서와 액추에이터를 실시간으로 제어하는 핵심 장치입니다. 하지만 데이터를 저장하거나 분석하는 일까지 PLC에 맡기긴 어렵죠. 그래서 우리는 PLC와 PC를 연계한 하이브리드 아키텍처 를 고려해야 합니다. 이번 글에서는 윈도우 기반 PC와 PLC를 함께 사용하는 환경제어 시스템 에서, 신뢰성 있게 데이터를 수집하고 처리하는 방법 에 대해 정리해 보겠습니다. 💡 문제의식: 윈도우는 정주기 제어가 어렵다 일반적인 윈도우 기반 PC는 정해진 주기마다 정확하게 동작하지 못합니다. 예를 들어 1초마다 정확히 데이터를 수집하려고 해도, 다른 프로세스의 간섭이나 스케줄링 지연으로 몇 ms~수백 ms 오차가 생깁니다. 이런 오차가 누적되면 센서 데이터의 시간 정렬이 꼬이거나 , 중복/누락 이 발생할 수 있죠. 그렇다고 PLC가 모든 데이터를 직접 PC로 스트리밍하기에는 통신 부하도 있고, 오류 시 손실 위험도 큽니다. ✅ 해결책: PLC에 버퍼를 두자 이 문제를 해결하기 위해, 아래와 같은 구조를 제안합니다: [ 센서 입력 ] → [ PLC: 실시간 제어 + 버퍼 저장 ] ←→ [ PC: 주기적 수집 ] 핵심 아이디어는 2가지입니다: PLC가 데이터를 일정 간격으로 메모리 버퍼에 저장 PC가 주기적으로 해당 버퍼를 읽고, 수집 완료된 영역은 클리어 이렇게 하면 실시간성은 PLC가 확보하고, 데이터 분석은 PC가 담당하는 구조가 됩니다. 🔄 구조 설계 예시 1. PLC 내부 데이터 구조 버퍼 방식 : FIFO 또는 Circular Buffer (순환버퍼) 예시 필드 : [타임스탬프 | 온도 | 습도 | CO₂ | 조도] 샘플링 간격 : 예) 10초 저장량 : 예) 1시간치 데이터 → 360개 슬롯 2...