제가 가진 지식이 부족하지만, 오늘 무작정 회로를 그려보았습니다. 


보기 편하도록 

  빨강선은 3.3V

  노랑선은 5V

  검정선은 Ground 

  녹색선은 Raspberry PI GPIO => Bread Board

  파랑선은 Bread Board => GPIO 


Bread Board 아랫부분은 3.3V를 구성하고 윗부분은 5V회로로 구성했습니다. 3.3V는 50mA만 사용할 수 있기에 일부 센서만 배치합니다. 


  - 온습도 센서 RHT01 : 하얀색 부품


  - 온도 센서 DS18B20 : RHT01에서 오른쪽에 있는 트랜지스터랑 비슷하게 생긴 부품

  - IR Receiver TSOP38238 : DS18B20 오른쪽에 큰 트랜지스터 모양. 


소비 전력이 많은 LED는 트랜지스터를 통해 5V를 이용하여 구동시킵니다. LED는 총 4가지입니다. IR LED, 녹색(전원유무), 오렌지색(에어컨 작동 유무), 빨강색(외부에 미세 먼지 많음)


Posted by Picky Kang
,

라즈베리파이로 에어컨 제어하기 두번째이야기입니다.


이번의 주요내용은 IR LED에 관련된 이야기입니다. LED라면 흔히 발광다이오드라고 합니다. IR LED는 적외선을 쏘는 LED입니다. 집에서 사용하는 TV, 오디오에는 대부분 적외선 방식으로 통신합니다. 아래 리모컨 사진 속 빨간 원 안에 IR LED가 있습니다. 이것을 많이 쓰는 이유는 단가도 싸고, 가격 대비 성능이 좋습니다. ( IR LED 가격은 100원정도, IR Receiver 는 1000원정도 하네요. ) 





라즈베리파이에서 신호를 주면 IR LED를 작동시켜야하니 회로를 구성했습니다. 회로 구성에서 가장 고민된 사항은 라즈베리파이의 시그널로 바로 LED를 켜기에는 무리가 따른다는 것입니다. 라즈베리파이의 GPIO 신호핀을 통해 나오는 전류는 LED를 켜기에 충분하지 않습니다. 곧 증폭 회로가 필요하다는 이야기죠.


3.3V는 매우 적은 전류를 사용할 수 있고 5V는 넉넉하게 사용할 수 있습니다. 라즈베리파이를 구동하기 위해 5V를 사용하는데 라즈베리파이가 700~800mA를 제외하고 남은 전기를 사용할 수 있습니다. 보통 휴대전화 충전기로 사용하는 1A를 사용하면 여유 있게 200mA를 사용할 수 있습니다. (라즈베리파이 버전마다 다릅니다.)


 증폭 회로를 구성하기 전에 각 LED의 사용을 알아야합니다. 


1. IR333C(적외선) : 1.2V/0.01A ~ 1.4V / 0.1A 

  TSAL7200(적외선) : 1.35V / 0.1A

2. BL-BEG201(적색, 녹색) : 적색( 2.0V / 0.02A ), 녹색( 2.2V / 0.02A ) 



회로도를 설명하면 라즈베리파이는 기본이 3.3V 입니다. GPIO Signal에서 3.3V의 나옵니다. 하지만 라즈베리파이에서 사용할 수 있는 3.3V의 전류의 양이 제한되어 있습니다. 그래서 5V를 사용합니다. 주의할 점은 5V가 GPIO를 통해 라즈베리파이로 들어가지 않게 해야합니다. 


LED에 5V전기를 바로 통과시키면 LED소자에 무리를 주어 망가질 가능성이 있으니 저항을 통해 LED에 흘러갈 전류를 제한시켜야합니다. 다 알고 있는 V = IR 공식으로 저항에 걸릴 전압을 계산한 후 I를 정하고 R을 구하면 됩니다. 


   LED에 걸릴 전압 : 1.2 ~ 1.4V

   TR에 걸릴 전압 : 0.2 ~ 0.3V


저항에 걸릴 전압은 (5 - 1.2 - 0.2) ~ (5 - 1.4 - 0.3), 즉 3.6V ~ 3.3V 입니다. LED 스펙상 0.1A를 다 쓰면 무리가 갈 수 있으니 0.05A에 맞추어서 설계합니다. 

  R = 3.3V / 0.05A ( 결과 66 옴)

  R = 3.6V / 0.05A ( 결과 72 옴)


66옴과 72옴 사이의 저항을 쓰기로 결정했습니다. 


이제 GPIO에서 나오는 전류를 제한시켜야겠네요. 제가 쓸 트랜지스터는 0.05A에서 hFE(증폭률) 값이 60이상 값을 가지니 안정적으로 50이라 생각하고 0.001A를 공급해주면 되겠네요. 내부에서 3.3V가 공급될테고 TR내부에서 0.65V~0.95V가 걸릴테니 남은 것은 2.65 ~ 2.35V가 남습니다. 

R2는 V( 2.65 ~ 2.35 ) / 0.001A = 2650 ~ 2350 옴이 있으면 되겠습니다. 


이제 온도센서와 IR Receiver를 정리하면 본격적으로 준비할 수 있겠네요. 3편에서 계속됩니다.

Posted by Picky Kang
,

집에 있는 라즈베리파이로 에어컨을 제어하는 일을 해보려고 합니다. 

물론 상용제품도 있지만, 직접 해보고 통계도 내보는 일을 하고 싶습니다. 


이 일을 시작하게 된 계기는 에어컨이 온도 조절을 정확하게 못하기 때문입니다. 해가 없는 밤에는 26도로 설정하면 26도 인근의 실내 온도가 유지되지만(에어컨이 판단하여 온도가 높으면 실외기를 돌리고 낮으면 실외기가 꺼집니다), 해가 비치는 낮에는 에어컨이 실내 온도를 정확하게 판단하지 못합니다. 


문제의 원인은 에어컨 위치.



천정형 방식 에어컨인데 바로 옆에 창문이 있습니다. 서향인 집이기에 오후에 해가 들어오면 창문을 통해 전해진 태양 에너지로 따뜻해진 공기가 에어컨 내부로 들어간다는 것입니다. 안에 있는 온도센서가 잘못된 온도를 인식하게 됩니다.


26도로 설정해두고 실내 온도가 26도 아래가 되면 에어컨 실외기가 정지해야하는데, 에어컨의 온도 센서가 잘못된 온도를 인식하고 있으니 에어컨은 계속 동작합니다. 실내는 추워지고 전기요금은 올라갑니다. 게다가 여름에는 누진제가 두렵습니다.


그래서 생각한 것이 집에 있는 라즈베리파이로 에어컨을 제어하는 것입니다. 


하드웨어는 다음과 같이 구성합니다. 


1. 라즈베리파이(Raspberry PI) 

   소형 컴퓨터입니다. 동영상 재생까지 가능한 컴퓨터라 볼 수 있습니다. 이것은 Raspberry Pi 1 B 모델입니다. 공식 판매가는 USD 35. 


외부 입출력으로 USB, RJ-45(Ethernet), GPIO(왼쪽 상단의 핀들), HDMI, Audio 출력 등이 있습니다. GPIO Pin에서는 3.3V와 5V전원을 지원합니다.

 

  



2. 온도 센서 DS18B20 & 온습도 센서 RHT01 DHT11 온습도센서

   DHT11(측정단위 : 1'C)을 구매할까 하다가 세밀한 DS18B20( 측정단위 : 0.0625'C )로 바꾸었습니다. 대신 습도 측정을 위해 더 DHT11보다 저렴한 RHT01 을 선택했습니다. RHT01에 온도 기능이 있긴하지만 무시하고 습도만 측정하려 합니다. 


3. IR LED

   우리가 사용하는 리모컨을 대신할 부품입니다. LED랑 비슷한 특성을 가지는데 가시광선으로 보이는 것이 아니라 리모컨처럼 적외선이 나갑니다. 


4. IR Sensor

   리모컨에서 어떤 신호가 나가는지 알지 못하니 실제 리모컨에서 신호를 작동 시키면서 이 센서를 통해서 신호를 파악할 용도입니다. 리모컨의 전원켜기 버튼이 1010111 이라면, IR Sensor를 향해 리모컨 전원버튼을 누르고 1010111을 파악하기 위함입니다.


5. LED, 브레드보드, 각종 저항, 트랜지스터, 스위치

   LED는 현재 작동상태를 표시하려 합니다. 빨강색은 전원, 녹색은 현재 에어컨을 작동시키는 상태 등을 표시합니다.

   트랜지스터는 NPN 형(Base에 전류를 흘려보내면 Collector에서 Emitter로 전류를 흐르게 함)을 사용할 예정입니다.


이제 부품들을 구매하고 한 단계 진행될 때마다 포스팅하겠습니다. 

Posted by Picky Kang
,