2015년 7월 24일 금요일

Current sensor 및 Relay 사용 방법

커런트 센서와 릴레이를 연동한 작업 방법을 간단히 기술해 본다.
릴레이는 전자적 스위치로 신호를 주어 고전압 전류가 흐르는 스위치를 켜고 끌수 있다.

1. 준비
회로 구성은 매우 단순하다. 다만, 테스트를 위해, 220V 전원선과 소켓을 릴레이와 같이 연결하고, 커런트 센서도 함께 연결해야 한다.


연결하였으면, 테스터로 제대로 연결되었는 지 테스트한다. 혹시 합선이 될 수도 있으므로, 숫전원 플러그의 양끝 단자를 테스터로 연결 검사해본다. 만약, 삐~ 소리가 난다면, 숫전원 플러그에 연결된 전선이 합선되게 연결된 것이다. 마찬가지로, 암전원 플러그의 양끝 단자도 테스터로 연결 검사해, 혹시 합선되지 않았는 지 확인해 본다.


  • 합선일 경우, 절대로 220V 전원을 연결하면 안된다. 합선 원인을 파악해, 다시 회로를 연결한다.
  • 전원이 연결된 상태에서, 릴레이나 주변 회로를 절대로 만져서는 안된다. 고전압으로 감전사고가 날 수 있다. 


2. 개발
릴레이를 켜고 끄는 것은 매우 단순하다. 만약, 릴레이 신호 핀이 아두이노 보드 8번핀에 연결되어 있다면, 아래와 같이 신호를 주면, 릴레이 스위치가 켜진다.

    digitalWrite(relay_pin, HIGH);

반대로 LOW신호를 주면 꺼지게 된다.

전류값은 커런트 센서에서 획득된 값을 이용해, 약간의 계산을 해야 한다. 만약, 커런트 센서가 A1핀과 연결되어 있다면, 다음과 같이 코딩을 하면, 소모 전류값을 Watt로 얻을 수 있다. 여기서, zero_sensor 값은 최초 setup() 함수 실행시 A1핀에서 얻은 커런트 센서 값이다.

  // Perform power measurement
  float sensor_value = getSensorValue(A1); 
  // Convert to current
  amplitude_current = (float)(sensor_value-zero_sensor)/1024*5/185*1000000;
  effective_value = amplitude_current/1.414;
  effective_power = abs(effective_value*effective_voltage/1000);  

3. 결과
다음과 같이, 광센서를 이용해, 특정 조도값 이하이면, 전원을 켜고, 끄는 테스트를 해 보았다. 큰 문제 없이 잘 동작 된다.


동작이 잘 된 것을 확인한 후에, 반듯이 전원선을 뽑고, 작업을 정리한다.

댓글 2개:

  1. 안녕하세요 전체 코딩 받아볼 수 있을까요?

    답글삭제
    답글
    1. 찾기 어렵네요. 대부분 오픈소스로 있는 거라 arduino 웹사이트 등에서 검색해 보시면 나옵니다.
      https://www.arduino.cc/en/Tutorial/HelloWorld

      삭제