카테고리 없음2015. 12. 2. 13:48

AVR 로 만들어본 Ver 1 은 동작은 잘 했지만 모니터링에 있어 많이 불편한점이 있다.

 

완제품으로 단독제품 딱 만들긴 AVR 이 좋지만 뭔가 아기자기하고 데이터확인용으로는 한계가 있어 라즈베리파이 라는 미니 PC (?) 로 제작을 했다.

 

사용된건 라즈베리파이 2B , 32G SD 카드 이며 IPTIME 무선랜카드.. 

 

 

 

전원은 핸드폰 USB 충전기 전원을 쓰며, 우분투 기반의 일종의 리눅스 OS 가 사용된다.

 

하는일이 Linux 도 만지는 일이라.. 거칠것이 없었으나, 우분투와 일반 Linux 와의 약간 다른점들로 인해 세팅상 애를 먹긴 했다.

 

 

 

 

 

 

 

라즈베리파이엔 센서 입력을 받는곳이 없다.. 즉 센서를 직접 연결할수 없기에

 

MCP3208 12bit ADC 칩을 이용해 SPI 통신으로 라즈베리파이와 연결하여 센서값을 읽어들인다.

 

각방 벨브의 제어는GPIO  출력을 ULN2003A 로 - 로 변환해 벨콘 모터벨브를 동작시킨다.  (말은 참 쉽단 ㅋㅋㅋ)

 

 

 

 

 

 

기존과 연결상태가 전혀 다르지 않다 ㅎㅎ 이것만 보면 기존과 달라진점을 전혀 못느끼는 상황..

 

하지만 MCP3208 이 센서를 8개까지 지원하기에, 난방수 전체 출수온도쪽에도 센서를 하나 더 달아서 전체 출수온도가 높으면 벨브의 전체제어를 하도록 했다.

 

 

 

 

 

그리고;;;..

 

라즈베리파이에 Apache , Mysql , PHP 를 깔고 웹서버로 세팅해둔뒤,

 

GCC 로 매 1분마다 센서값을 DB 에 저장하도록 프로그래밍 하였다, 매 1분마다 프로그램실행은 crontab 에 등록하여 사용한다.

 

즉 이 Gcc 로 만든 제어프로그램이 센서값의 DB 저장 및 설정에 따른 벨브조작을 모두 담당한다.

 

 

 

 

라즈베리파이에 Apache 를 깔아 제어프로그램과 데이터 확인용 프로그램을 PHP 로 만들어준다.

 

물론 집 내부 공유기에 ip forwarding 기능을 이용해 외부에서도 현재 상태와 세부제어가 가능하다..

 

 

현재까지 만들어진 설정프로그램을 보면..

 

 

각 방의 현재 온도와 난방 입수온과의 차이 그리고 현재 각 방의 벨브 상태를 표시해준다.

 

난방을 차단한지 6시간이 넘어서 그냥 상온이 표시되는중..

 

기상청 온도는 PHP 의 Curl 을 이용해 현재 날씨를 파싱해서 필요한 부분만 따온다.

 

 

 

 

 

 

 

 

 

 

 

데이터 상세보기 부분..

 

취득된 각 데이터를 보여주며, 각 방의 벨브 동작상태 (파랑 : 닫힘 , 빨강 : 열림) 을 표시해주어 그시간대에 벨브가 동작한 상태까지 알 수 있다.

 

 

 

 

 

 

 

 

 

PHP Highchart 라는 그래프프로그램을 이용해 현재 온도를 그래프로 표시해준다.

 

 

 

 

 

 

 

 

이제 중요한 설정 부분이다.

 

각 방별로 벨브 차단온도와 재개방온도를 설정할 수 있으며,

 

각방과 별개로 전체 출수온도도 설정한다, 

 

이 이유는 6개의 벨브중 1개만 열려있는경우, 난방수의 100% 가 1개의 방으로 공급되어 아주 많은 난방수가 그 방으로만 공급된다

 

때문에 방은 미쳐 뎁혀지기 전에 열을 많이 소모하지 않은 난방수가 그대로 출수될 수 밖에 없다.

 

이런경우를 대비해 출수온도가 일정온도를 넘으면 전체를 차단하도록 했다.

 

 

 

 

 

 

 

그리고 난방에 있어 없어서는 안될 타이머 설정 부분이다.

 

이것으로 전체 난방을 시작할지 말지를 각 시간별로 결정할 수 있다.

 

만약 타이머 시간이 꺼진 시간대에서는 난방온도가 낮아도 벨브 개방을 하지 않는다..

 

 

 

 

 

 

그리고 난방데이터 수집으로 알아낸점..

 

 

 

 

유랑계가 달린 일반적인 난방집에는 정유량계라는게 달려있다.

 

이것은 보일러실에서 공급되는 난방수를 일정한 속도로 흐르게 해주어 너무 빨리 난방수가 빠져나가지 않도록 하기위한 장치이다.

 

평수가 클수록 난방수를 빠르게 흘려보낸다. 이것은 평수가 클수록 관의 길이가 길다.

 

때문에 45도로 공급된 난방수가 관을 따라 가다 점점 식어 나중엔 20도 정도가 되버리기에 더 많은 난방수를 공급해서 효율적으로 난방을 하기 위함이다.

 

만약 50평대에 원래는 80초당 10리터가 흘러야 정상적인 난방이 되는데

 

이걸 120초나 240초로 유량을 임의 조정하면, 난방 시작후 온도상승율이 아주 완만해질수밖에 없다.

 

이것은 마치, 세숫대아에 찬물을 받아두고  온수를 종이컵으로 졸졸졸 흘려 세숫대아의 물이 따듯해지기까지의 시간같은것이다.

 

세숫대아가 크면 클수록 종이컵의 물을 빨리 부어야 한다... 느리게 부으면 시간도 오래 걸릴뿐더러, 세숫대아물이 자연적으로 식는것도 있기때문에 온도가 어느정도까지밖에 오르지 못한다.

 

그로인해 각 평수에 알맞게 물을 공급해줘야 한다.

 

 

 

 

이 날은.. 난방수의 속도를 절반 이하로 줄여논 날이다.

 

보통 100초정도 쓰지만 이날은 240 초 정도로 확 줄여 난방 변화를 확인했다.

 

8시 40분경 난방을 시작해서 입수온이 급격히 올라간다.

 

하지만 출수온은 아주 느리게 올라간다.

 

약 3시간의 난방을 해야만 출수온이 30도까지 상승했고, 이후에도 30도 이상은 오르지 못했다.

 

물론 입수량이 적으니 사용한 난방비도 적다, 하지만 오래걸린다.

 

이런타입이면, 난방을 하루종일 공급하는경우엔 아주 소량의 공급량으로도 일정온도까지는 유지할 수 있을듯 하다.

 

 

 

 

 

 

 

 

그리고 또 한가지..

 

난방수의 공급에 아파트 보일러실 -> 가정집까지의 배관 길이도 열손실이 많다.

 

때문에 난방수를 빨리 빨리 순환해줘야 새로운 뜨거운 온수가 들어올 수 밖에 없다.

 

일 예로, 모든 가정집이 난방을 안하는데, 나혼자 난방을 하면, 보일러실 -> 내 집 까지 난방관에 차 있던 찬 난방수가 다 소진될때까지  그 비용은 고스란히 내몫인것이다.

 

화장실에 온수를 틀어 온수가 나오기전 냉수도 온수가격에 포함된것과 마찬가지이다.

 

때문에, 타 가정집들도 난방을 할때가 가장 효율적이다.

 

데이터로 보면.. 저녁 8시가 넘어 12시까지는 난방수가 42~45 도,, 아주 추운날엔 49 도까지도 난방수 온도가 높다.

 

이건 모든 가정집이 난방을 해서 공급관에서 난방수가 식을 시간이 없는것이다.

 

하지만 저녁 12시가 넘어 새벽 3시 무렵은 타 가정집은 난방을 하지 않는다.

 

 

 

 

이때는 난방수 공급온도가 37도 까지 떨어진다. 즉.. 45도 이상으로 공급되지만 우리집까지 오면서 그만큼 식어버리는것이다.

 

즉, 남들 쓸때 같이써야 가장 뜨거운 난방수를 공급받을수 있는것이며,,

 

남들 안쓰는 낮시간 에 난방을 켜면 그냥 돈을 버리는것이다.

 

 

 

 

 

 

 

오늘은 여기까지... To be continue...

 

 

 

 

 

 

Posted by 초동