본문 바로가기

개발자/부품

2 Channel 5V Relay Module 회로도

반응형

 

릴레이 모듈이 포함된 아두이노 실드를 만들려면 회로도가 필요하다. 

 

 

저 레벨 5V 2 채널 릴레이 인터페이스 보드이며, 각 채널에는 15~20mA의 드라이버 전류가 필요합니다. 전류가 큰 다양한 기기 및 장비를 제어하는 데 사용할 수 있습니다. AC250V 10A 또는 DC30V 10A에서 작동하는 고전류 릴레이가 장착되어 있습니다. 마이크로 컨트롤러로 직접 제어할 수 있는 표준 인터페이스가 있습니다.

 

http://wiki.sunfounder.cc/index.php?title=2_Channel_5V_Relay_Module

 

특징

 

  • 릴레이 최대 출력: DC 30V / 10A, AC 250V / 10A
  • 2 채널 릴레이 모듈 (옵토 커플러 포함) 마이크로 컨트롤러로 직접 제어할 수 있는
  • 표준 인터페이스 (8051, AVR, * PIC, DSP, ARM, ARM, MSP430, TTL 로직)
  • 고품질 루스 음악 릴레이 SPDT의 릴레이. 공통 단자, 상시 개방, 상시 폐쇄 단자
  • 옵토 커플러 절연, 우수한 재밍 방지

 

회로도

 

VCC 및 RY-VCC는 릴레이 모듈의 전원 공급 장치이기도합니다. 큰 전력 부하를 구동해야 하는 경우 점퍼 캡을 떼어내고 RY-VCC에 추가 전원을 연결하여 릴레이에 전원을 공급하고, VCC를 MCU 보드의 5V에 연결하여 입력 신호를 공급할 수 있습니다. 

 

 

 

 

원리는 아래 그림을 참조하세요:

 

A는 전자석, B는 전기자, C는 스프링, D는 움직이는 접점, E는 고정 접점입니다. 고정 접점에는 상시 닫힌 접점과 상시 열린 접점 두 개가 있습니다. 코일에 전원이 공급되지 않을 때 상시 개방 접점은 꺼져 있고 상시 폐쇄 접점은 켜져 있습니다.

 

 

 

 

코일에 특정 전압을 추가하면 일부 전류가 코일을 통과하여 전자기 효과를 생성합니다. 따라서 전기자가 스프링의 장력을 극복하고 코어에 끌리면서 전기자의 움직이는 접점과 상시 개방 접점이 닫힙니다(또는 전자와 상시 폐쇄 접점을 해제한다고 말할 수 있습니다). 코일에 전원이 차단되면 전자기력이 사라지고 전기자가 원래 위치로 돌아가면서 움직이는 접점과 상시 닫힌 접점이 해제됩니다. 접점이 닫혔다가 열리면 회로의 전원이 켜지고 꺼집니다.

 

입력:

  • VCC : 양극 공급 전압에 연결 (릴레이 전압에 따라 전원 공급)
  • GND : 음의 공급 전압에 연결
  • IN1: 릴레이 모듈의 신호 트리거 단자 1
  • IN2: 릴레이 모듈의 신호 트리거 단자 2

 

출력: 릴레이의 각 서브 모듈에는 NC(노말클로즈), NO(노말오픈), COM(공통) 각 1개씩이 있습니다. 따라서 채널 릴레이에는 총 2개의 NC, 2개의 NO, 2개의 COM이 있습니다. NC는 정상적인 닫힌 포트 접점과 전원이 없는 상태를 의미하며, NO는 정상적인 열린 포트 접점과 전원이 있는 상태를 의미합니다. COM은 공통 포트를 의미합니다. 전원 여부에 따라 NC 포트 또는 NO 포트를 선택할 수 있습니다.

 

실험:

 

2채널 릴레이의 신호 단자에 낮은 레벨이 공급되면 출력 단자의 LED에 불이 들어옵니다. 그렇지 않으면 꺼집니다. 신호 단자에 주기적으로 높고 낮은 레벨이 공급되면 LED가 켜졌다 꺼졌다 하는 것을 확인할 수 있습니다.

 

아두이노의 경우:

 

1단계: 2 채널 릴레이의 신호 단자 IN1, IN2를 SunFounder Arduino ATMega2560 보드의 디지털 포트 4, 5에 연결하고 출력 단자에 LED를 연결합니다.

 

2 채널 릴레이---------------아두이노 ATMega2560

IN1------------------------ 4

IN2------------------------ 5

 

2단계: 선파운더 아두이노 ATMega2560 보드의 동반 절차 텍스트_코드 실행,페이지 끝의 자료에서 소스 코드를 참조하세요. 그러면 켜짐과 꺼짐 사이의 LED 사이클을 볼 수 있습니다. 실제 그림은 아래와 같습니다: 

 

 

아두이노 제어 코드

 

/************************************************
   Name:_2_channel_relay
   Description: control the 2 channel relay module to ON or OFF
   Website: www.sunfounder.com
   Email: service@sunfounder.com
*****************************************************/


//the relays connect to
int IN1 = 4;
int IN2 = 5;

#define ON   0
#define OFF  1
void setup()
{
  relay_init();//initialize the relay
}

void loop() {
  relay_SetStatus(ON, OFF);//turn on RELAY_1
  delay(2000);//delay 2s
  relay_SetStatus(OFF, ON);//turn on RELAY_2
  delay(2000);//delay 2s
}
void relay_init(void)//initialize the relay
{
  //set all the relays OUTPUT
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  relay_SetStatus(OFF, OFF); //turn off all the relay
}
//set the status of relays
void relay_SetStatus( unsigned char status_1,  unsigned char status_2)
{
  digitalWrite(IN1, status_1);
  digitalWrite(IN2, status_2);
}

 

 

라즈베리파이의 경우

 

1단계: 2 채널 릴레이의 신호 단자 IN2, IN1을 라즈베리파이의 포트 17, 18에 연결하고 출력 단자에 LED를 연결합니다.

 

2채널 릴레이-----------------라즈베리파이

IN2-----------------------17

IN1-----------------------18

 

2단계: 페이지 끝의 리소스에서 소스 코드를 참조하세요. 아래 명령어로 파일 다운로드: (코드에 "pi @ 라즈베리파이: ~ $"가 포함되지 않음)

 

pi@raspberrypi:~ $ wget http://wiki.sunfounder.cc/images/d/d6/2_test_code_for_raspberry_pi.zip

 

 

3단계: 파일 압축 풀기:

 

pi@raspberrypi:~ $ unzip 2_test_code_for_raspberry_pi.zip

 

 

4단계: 코드 실행:

 

pi@raspberrypi:~ $ python 2_channel_relay.py

 

 

test_code를 실행하면 켜짐과 꺼짐 사이의 LED 주기를 확인할 수 있습니다. 실제 그림은 다음과 같습니다. 

 

 

 

 

라즈베리파이 코드

 

#!/usr/bin/env python
'''
**********************************************************************
* Filename 		: 2_channel_relay.py
* Description 	: a sample script for 2-Channel High trigger Relay 
* Author 		: Cavon
* E-mail 		: service@sunfounder.com
* Website 		: www.sunfounder.com
* Update 		: Cavon    2016-08-04
* Detail		: New file
**********************************************************************
'''
import RPi.GPIO as GPIO
from time import sleep

Relay_channel = [17, 18]

def setup():
	GPIO.setmode(GPIO.BCM)
	GPIO.setup(Relay_channel, GPIO.OUT, initial=GPIO.LOW)
	print "|=====================================================|"
	print "|         2-Channel High trigger Relay Sample         |"
	print "|-----------------------------------------------------|"
	print "|                                                     |"
	print "|          Turn 2 channels on off in orders           |"
	print "|                                                     |"
	print "|                    17 ===> IN2                      |"
	print "|                    18 ===> IN1                      |"
	print "|                                                     |"
	print "|                                           SunFounder|"
	print "|=====================================================|"

def main():
	while True:
		for i in range(0, len(Relay_channel)):
			print '...Relay channel %d on' % (i+1)
			GPIO.output(Relay_channel[i], GPIO.HIGH)
			sleep(0.5)
			print '...Relay channel %d off' % (i+1)
			GPIO.output(Relay_channel[i], GPIO.LOW)
			sleep(0.5)

def destroy():
	GPIO.output(Relay_channel, GPIO.LOW)
	GPIO.cleanup()

if __name__ == '__main__':
	setup()
	try:
		main()
	except KeyboardInterrupt:
		destroy()
반응형

더욱 좋은 정보를 제공하겠습니다.~ ^^