Microsoft MVP성태의 닷넷 이야기
사물인터넷: 30. 릴레이(Relay) 제어 [링크 복사], [링크+제목 복사]
조회: 11962
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일

릴레이(Relay) 제어

이 책의 초반에,

짜릿짜릿 전자회로 DIY (2판) 뜯고 태우고 맛보고, 몸으로 배우는
; http://www.yes24.com/24/goods/33342224

계전기(Relay) 소개가 나옵니다. 저도 그 책에 따라 부품을 구매했는데요,

G5V-2-H1-DC9 - 저신호 릴레이 - PCB ThruHole Hi-Sens DPDT 9VDC 150mW Seal
; https://www.eleparts.co.kr/goods/view?no=683974

제조사: OMRON
접점 정격전류: 2A
코일 전압: 9V
코일 전류: 16.7mA
장착 스타일: Through Hole 

(첨부 파일에 datasheet - en-g5v_2-536510.pdf가 있습니다.)

극성은 없고 브레드보드에도 정확히 장착됩니다. 그런데, 저 같은 초보자는 브레드보드에 끼워진 릴레이의 어디에 코일이 연결된 스위치가 있는지 잘 구분이 안 되는데요. 자세히 보면 상단에 아래와 같이 홈이 파인 부분이 있습니다.

relay_1.png

그 파인 부분을 기준으로 시계방향으로 1, 2, 3, 4, ... 핀의 배열이 됩니다. 또한 릴레이의 한 면의 크기가 브레드보드의 8개의 핀 자리를 점유합니다. 따라서 상단이 8핀이고, 하단이 8핀으로 계산하면 되는데 릴레이로부터 8핀에 해당하는 모든 핀이 나온 것은 아니고 위의 그림 우측에 보이는 것처럼, 상단에 1, 4, 6, 8핀이 있는 것이고 하단에 16, 13, 11, 9핀이 나온 것입니다.

아래는 브레드 보드에 연결했을 때의 핀 위치를 보여줍니다.

relay_2.png

DPDT(쌍극쌍투) 스위치기 때문에, 1번-16번 핀의 전압 유무에 따라 각각 다음의 2개 회선이 동시에 연결 및 떨어지는 방식이고,

[OFF]
    4번 -  6번 연결
    13번 - 11번 연결

[ON]
    4번 -  8번 연결
    13번 - 9번 연결

래칭 릴레이(latching relay)가 아니기 때문에, 즉 코일 타입이 "Non-Latching"이므로 전원이 꺼지면 Off되는 방식입니다.

릴레이의 스위치를 닫기 위한 최소 전압을 "세트 전압(set voltage)"이라고 한다는데, 저 제품의 datasheet에는 세트 전압에 대한 명시는 없습니다. 단지 코일 전압이 9 VDC라고 되어 있는데 실제로 470Ω 정도의 저항을 직렬로 연결해도 릴레이가 동작할 수 있는 전압이 안 되어 스위치가 동작하질 않습니다. 따라서 필요하다면 병렬로 연결해 전압을 보존해야 할 것입니다.




릴레이 부품 소개가 빨리 끝났으니 남은 지면(?)을 활용해 부품 소개를 할까 합니다. ^^

실습을 하다 보면, 지난 글에 소개한 배터리가 금세 9V 아래로 떨어지게 됩니다. 그래서 기왕이면 AC-DC 어댑터를 구매해 연결하는 것이 좋습니다.

9v_adapter.png

보통 아두이노 보드에는 USB 케이블 연결 이외에도 전압 연결을 위한 단자가 별도로 있습니다. 바로 그 단자에 연결할 수 있는 9V 전원 어댑터입니다.

아두이노 호환 정전압 아답터 9V 1000mA SMPS
; http://robobob.cafe24.com/product/smps/245/category/32/display/1/

브랜드: ArtRobot(아트로봇)

다음은 위의 링크에서 제공하는 제품 설명입니다.

정전압 아답터 9V 1000mA SMPS 타입입니다.
아두이노(UNO, Mega2560, Pro 등)와 호환되는 규격의 (외경:5.5mm 내경2.1mm) 단자 크기입니다.

아두이노같은 손바닥 컴퓨터를 작동시킬때 PC에 연결된 USB 케이블로부터 전원을 공급 받지 않고 자체 전원을 사용할 경우 필요한 전원 아답터입니다.

아두이노 독립전 원으로 사용시 보통은 600mA 제품으로 충분합니다만,
확장 쉴드 등에 의해 많은 전력소모가 예상되는 경우엔 본 제품 같은 1000mA 용량을 사용하게 됩니다.
정전압 아답터는 회로의 부화와 상관없이 일정한 전압을 유지하는 전원 공급기입니다.

왜 9V인가요?
아두이노는 5V 구동제품의 경우 5V 레귤레이터를 통해 7~12V의 입력 전원을 5V 전원으로 변환하여 사용하게됩니다. 이때 입력전원과 5V의 차이가 너무 크면 불필요한 발열 손실이 커지게 됩니다. 따라서 레귤레이터 전원과 너무 큰 차이가 나지 않는 7.5 ~ 9V 전원 사용을 추천드립니다.


이 제품을 브레드보드에 연결하기 위해서는 저 어댑터의 잭을 꽂을 수 있는 부품이 필요한데, 이를 위해 다음의 제품을 구매해야 합니다.
9v_adapter.png

[TSP10811] 브레드보드 호환형 DC 잭 아답터 (DC Barrel Jack Adapter - Breadboard Compatible)
; http://robobob.cafe24.com/product/tsp10811/450/category/32/display/1/

A 5mm jack, with a 2.1mm center pole diameter.

저처럼 실수하실 분들이 계실지 몰라 말씀드리면 다음의 잭은 브레드보드와 맞지 않기 때문에 그런 용도로는 구매하시면 안 됩니다.
9v_adapter.png

DC-005 DC POWER JACK
; https://www.eleparts.co.kr/goods/view?no=4922

2Pie DC파워잭
아답타의 E타입 플러그와 호환

Temperature: -40~55°C
Rated Load: DC 30V 0.5A
Contact Resistance: ≤ 0.03Ω
Insulation Resistance: ≥ 100MΩ DC 250V
Withstand Voltage: AC 500V(50Hz)/min
Actuating Force: 3-20N
Life: 5000회

(첨부 파일에 datasheet - DC-005.pdf가 있습니다.)

참고로 위의 제품 설명에서 E 타입이란, 외경 5.5mm에 내경 2.1mm를 의미합니다. 설상가상으로, 제 딴엔 저걸 브레드보드와 연결한다고 다음의 제품도 구매했는데요. ^^;
9v_adapter.png

[CNT-DC]DC파워잭 변환기판    
; https://www.eleparts.co.kr/goods/view?no=25595

제조사: SME
어댑터종류: 파워잭
제품형태: 변환기판(pcb만)

DC어댑터잭 변환기판
P/N:DC-JACK CONVERTER PCB

::제품설명::
-홀규격의 차이로 만능기판에 바로 꽂아 사용할 수 없는 각종 회로 부품을 변환해주는 보드.
-DC-JACK용 변환보드 입니다.
-DC-JACK(DCJ2M)은 별매품입니다.

::제품규격::
【재질·두께】에폭시 양면 기판 , 1.6mm
【처리】스루홀 양면 기판 , 적색 레지스트
【패턴】
【기타】RoSH규격품

9v_adapter.png
[C1P] CON-DC
; https://www.eleparts.co.kr/goods/view?no=25624

제조사: 삼일피앤유
어댑터종류: 파워잭
제품형태: 변환기판(pcb만)

DC POWER JACK 변환기판
일반 만능기판에 사용할 수 있도록 변환해주는 기판
P/N: CON-DC
Type : DC POWER JACK (DCJ2M)
Size : 24~18

두 제품 모두 브레드보드가 아닌, "만능기판"과 연결해 주는 기판으로 납땜이 필요한 제품입니다.




마지막으로, 이제 슬슬 ^^ 부품이 많아져서 정리가 곤란해지는 시점인데요. 그래서 다음과 같은 부품 상자가 필요합니다. ^^

parts_case.jpg

구매 링크는 다음과 같습니다.

[PB-2] 부품상자
; https://www.eleparts.co.kr/goods/view?no=4260807

제조사: SMATO

수직 또는 수평 유형으로 있고, 수평의 경우 칸막이를 제거할 수 있는 경우도 있는 등의 다양함이 있기 때문에 구매 시 원하는 용도로 고르시면 됩니다.

개인적으로 플라스틱으로 된 신제품 구매 시 냄새 걱정을 많이 하게 되는데요, 놀랍게도 저 제품은 포장 박스에서 꺼낼 때부터 냄새가 하나도 나지 않아서 좋았습니다. 다른 부품 상자들도 냄새 걱정이 없는지는 알 수 없으나 암튼 싸구려 플라스틱 소재를 사용하지 않은 것 같아서 자신 있게 추천해 드릴 수 있습니다. ^^
릴레이(Relay, 계전기)

유접점 릴레이
  전자기 릴레이, 기계적 접점
무접점 릴레이
  반도체 릴레이
하이브리드 릴레이
  유접점/무접점의 장점만 조합
  통전은 기계적 접점 사용

구조에 따른 분류
  힌지형 릴레이
  플런저형 릴레이
  리드 릴레이

동작모드에 따른 분류
  단안정 릴레이 - 전류가 흐를 때만 접점 개폐
  쌍안정 릴레이 - 입력 전류가 멈춘 후 동작할 때의 개폐 상태 유지

전자석의 종류
  무극 릴레이 - 영구자석 미사용, 일반적으로는 극성이 없지만 동작 표시등 내장형, 써지 흡수 다이오드 내장형 등은 극성 존재
  유극 릴레이 - 영구자석 사용, 조작 코일에 극성

릴레이 종류
  전자기 릴레이
    - DC(AC) 전자기 릴레이
    - 래칭 릴레이: 코일에 전류가 끊어져도 접점 유지(영구자석 사용)
      * 1코일 래치형
      * 2코일 래치형 
    - 리드 릴레이: 긴 접점 수명, 높은 신뢰성, 접점 바운스 없음, 고내압/고절연, 높은 출력전원을 제어할 수 없음
  반도체 릴레이: 기계적인 가동부 및 접점부가 없음. 무접점 릴레이 또는 SSR이라고 부름, 소형/경량 및 응답 시간 짧음
    - SSR(Solid State Relay)
  ISO 릴레이

접점의 종류
  JIS 접점 - 접점 단자: NO(Normal Open), NC(Normal Close), COM(Common)
    - a(Make 접점, NO 접점, 상시 개방 접점): 평상 시 개방, 코일에 전류가 흘러 동작해야 닫힘
    - b(Break 접점, NC 접점, 상시 폐쇄 접점): 평상 시 닫힘, 코일에 전류가 흘러 동작해야 개방
    - c(Transfer Contact): a 접점과 b 접점이 모두 가동접점을 공유, 평상 시 NO 단자 열림, NC 단자는 닫힘, 전류가 흐르면 NO 단자 닫힘, NC 단자 열림
    - MBB(Make Before Break, Continuous Contact): b 접점이 완전히 개방 상태로 되기 전에 a 접점이 닫혀 b 접점과 a 접점의 일부가 오버랩

접점 구성에 따른 종류
   - SPST(1a, Single Pole Single Throw, 단극단투): 1개의 공통 단자와 1개의 a 접점
   - SPST(1b, Single Pole Single Throw, 단극단투): 1개의 공통 단자와 1개의 b 접점
   - SPDT(1a1b or 1c, Single Pole Double Throw, 단극쌍투): 1개의 공통 단자와 a 접점 1개와 b 접점 1개
   - DPST(2a, Double Pole Single Throw, 쌍극단투): 2개의 공통 단자와 2개의 a 접점
   - DPST(2b, Double Pole Single Throw, 쌍극단투): 2개의 공통 단자와 2개의 b 접점
   - DPDT(2a2b or 2c, Double Pole Double Throw, 쌍극쌍투): 2개의 공통 단자와 2개의 a 접점, 2개의 b 접점

단안정 - 복귀 상태(NC 접점 On, NO 접점 OFF), 동작 상태(NC 접점 Off, NO 접점 ON)
쌍안정(래치 릴레이) - 1개 또는 2개의 코일을 가짐
   * 리셋 후의 상태: 코일에 전원을 연결하지 않은 상태 - 기본 위치를 가지지 않고, 코일에 흐르는 전류가 끊어졌을 때의 마지막 위치
   * 동작 상태: Set 코일에 전원을 연결한 상태 - NC 접점 OFF, NO 접점 ON
   * 복귀 상태: Reset 코일에 전원을 연결한 상태




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 6/20/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 16  17  18  19  20  21  22  23  [24]  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
13021정성태3/31/20226672Windows: 201. Windows - INF 파일을 이용한 장치 제거 방법
13020정성태3/30/20226421.NET Framework: 1187. RDP 접속 시 WPF UserControl의 Unloaded 이벤트 발생파일 다운로드1
13019정성태3/30/20226402.NET Framework: 1186. Win32 Message를 Code로부터 메시지 이름 자체를 구하고 싶다면?파일 다운로드1
13018정성태3/29/20226929.NET Framework: 1185. C# - Unsafe.AsPointer가 반환한 포인터는 pinning 상태일까요? [5]
13017정성태3/28/20226775.NET Framework: 1184. C# - GC Heap에 위치한 참조 개체의 주소를 알아내는 방법 - 두 번째 이야기 [3]
13016정성태3/27/20227624.NET Framework: 1183. C# 11에 추가된 ref 필드의 (우회) 구현 방법파일 다운로드1
13015정성태3/26/20228963.NET Framework: 1182. C# 11 - ref struct에 ref 필드를 허용 [1]
13014정성태3/23/20227574VC++: 155. CComPtr/CComQIPtr과 Conformance mode 옵션의 충돌 [1]
13013정성태3/22/20225887개발 환경 구성: 641. WSL 우분투 인스턴스에 파이썬 2.7 개발 환경 구성하는 방법
13012정성태3/21/20225231오류 유형: 803. C# - Local '...' or its members cannot have their address taken and be used inside an anonymous method or lambda expression
13011정성태3/21/20226690오류 유형: 802. 윈도우 운영체제에서 웹캠 카메라 인식이 안 되는 경우
13010정성태3/21/20225651오류 유형: 801. Oracle.ManagedDataAccess.Core - GetTypes 호출 시 "Could not load file or assembly 'System.DirectoryServices.Protocols...'" 오류
13009정성태3/20/20227196개발 환경 구성: 640. docker - ibmcom/db2 컨테이너 실행
13008정성태3/19/20226481VS.NET IDE: 176. 비주얼 스튜디오 - 솔루션 탐색기에서 프로젝트를 선택할 때 csproj 파일이 열리지 않도록 만드는 방법
13007정성태3/18/20226150.NET Framework: 1181. C# - Oracle.ManagedDataAccess의 Pool 및 그것의 연결 개체 수를 알아내는 방법파일 다운로드1
13006정성태3/17/20227178.NET Framework: 1180. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 remuxing.c 예제 포팅
13005정성태3/17/20226062오류 유형: 800. C# - System.InvalidOperationException: Late bound operations cannot be performed on fields with types for which Type.ContainsGenericParameters is true.
13004정성태3/16/20226090디버깅 기술: 182. windbg - 닷넷 메모리 덤프에서 AppDomain에 걸친 정적(static) 필드 값을 조사하는 방법
13003정성태3/15/20226233.NET Framework: 1179. C# - (.NET Framework를 위한) Oracle.ManagedDataAccess 패키지의 성능 카운터 설정 방법
13002정성태3/14/20226983.NET Framework: 1178. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 http_multiclient.c 예제 포팅
13001정성태3/13/20227388.NET Framework: 1177. C# - 닷넷에서 허용하는 메서드의 매개변수와 호출 인자의 최대 수
13000정성태3/12/20226949.NET Framework: 1176. C# - Oracle.ManagedDataAccess.Core의 성능 카운터 설정 방법
12999정성태3/10/20226443.NET Framework: 1175. Visual Studio - 프로젝트 또는 솔루션의 Clean 작업 시 응용 프로그램에서 생성한 파일을 함께 삭제파일 다운로드1
12998정성태3/10/20226060.NET Framework: 1174. C# - ELEMENT_TYPE_FNPTR 유형의 사용 예
12997정성태3/10/202210441오류 유형: 799. Oracle.ManagedDataAccess - "ORA-01882: timezone region not found" 오류가 발생하는 이유
12996정성태3/9/202215599VS.NET IDE: 175. Visual Studio - 인텔리센스에서 오버로드 메서드를 키보드로 선택하는 방법
... 16  17  18  19  20  21  22  23  [24]  25  26  27  28  29  30  ...