에듀이노-코딩교육 전문 쇼핑몰 에듀이노-코딩교육 전문 쇼핑몰

학교, 공공기관이라면 후불결제하세요!

 
현재 위치
  1. 게시판
  2. 묻고답하기

묻고답하기

기술문의 게시판입니다.

게시판 상세
제목 급!!! 직류 24볼트 제어 가능여부
작성자 조대성 (ip:)
  • 작성일 2021-08-26
  • 추천 추천하기
  • 조회수 229

얼마전 8채널 5v 릴레이 모듈을 구입해서 연결하는데,

아두이노와 릴레이 모듈만 연결하면 잘 작동되는데,

CO에 24V +, NC에 솔레노이드 벨브 연결해서

실행시키면 5번 릴리이만 한번 켜졌다 꺼진 후 

이후 프로그램이 작동하지 않습니다.


원래 24v는 릴레이에 연결하지 못하는 건가요?

다른 방법이나 제품이 있는건가요?



[code]



#define RELAY_ON 0

#define RELAY_OFF 1


#define Relaypin1 2            // IN2 릴레이 1번 Body 상승

#define Relaypin2 3            // IN3 릴레이 2번 Body 하강

#define Relaypin3 4            // IN4 릴레이 3번 스크래퍼 A 상승

#define Relaypin4 5            // IN5 릴레이 4번 스크래퍼 A 하강

#define Relaypin5 6            // IN6 릴레이 5번 스크래퍼 B 상승

#define Relaypin6 7            // IN7 릴레이 6번 스크래퍼 B 하강

#define Relaypin7 8            // IN8 릴레이 7번 실린더 우측(상승)이동

#define Relaypin8 9            // IN9 릴레이 8번 실린더 좌측(하강)이동


#define Switch1 10 //코팅 IN10

#define Switch2 11 //Body 상승 IN11

#define Switch3 12 //Body 하강 IN12

#define Switch4 13 //초기화 IN13

 

void setup()

{

  pinMode(Relaypin1,OUTPUT);         // 릴레이 제어 1번핀을 IN2으로 출력 설정

  pinMode(Relaypin2,OUTPUT);         // 릴레이 제어 2번핀을 IN3으로 출력 설정

  pinMode(Relaypin3,OUTPUT);         // 릴레이 제어 3번핀을 IN4으로 출력 설정

  pinMode(Relaypin4,OUTPUT);         // 릴레이 제어 4번핀을 IN5으로 출력 설정

  pinMode(Relaypin5,OUTPUT);         // 릴레이 제어 5번핀을 IN6으로 출력 설정

  pinMode(Relaypin6,OUTPUT);         // 릴레이 제어 6번핀을 IN7으로 출력 설정

  pinMode(Relaypin7,OUTPUT);         // 릴레이 제어 7번핀을 IN8으로 출력 설정

  pinMode(Relaypin8,OUTPUT);         // 릴레이 제어 8번핀을 IN9으로 출력 설정


  pinMode(Switch1,INPUT_PULLUP);     // 스위치를 입력 IN10으로 설정

  pinMode(Switch2,INPUT_PULLUP);     // 스위치를 입력 IN11으로 설정

  pinMode(Switch3,INPUT_PULLUP);     // 스위치를 입력 IN12으로 설정

  pinMode(Switch4,INPUT_PULLUP);     // 스위치를 입력 IN13으로 설정


  digitalWrite(Relaypin1, RELAY_OFF);

  digitalWrite(Relaypin2, RELAY_OFF);

  digitalWrite(Relaypin3, RELAY_OFF);

  digitalWrite(Relaypin4, RELAY_OFF);

  digitalWrite(Relaypin5, RELAY_OFF);

  digitalWrite(Relaypin6, RELAY_OFF);

  digitalWrite(Relaypin7, RELAY_OFF);

  digitalWrite(Relaypin8, RELAY_OFF);

  

}

 

void loop(){

  

while (digitalRead(Switch1)==LOW)  // 스위치1(코팅)을 누르면

 {

  digitalWrite(Relaypin5, RELAY_ON);// 5번 릴레이 on, 스크래퍼 B 상승

  delay(5000);// 5초 유지

  digitalWrite(Relaypin5, RELAY_OFF);// 5번 릴레이 OFF

  delay(5000);// 5초 유지

  

  digitalWrite(Relaypin7, RELAY_ON);// 7번 릴레이 on, 실린더 우측(상승)이동 

  delay(5000);// 5초 유지

  digitalWrite(Relaypin7, RELAY_OFF);// 7번 릴레이 OFF

  delay(5000);// 5초 유지


  digitalWrite(Relaypin6, RELAY_ON);// 6번 릴레이 on, 스크래퍼 B 하강

  delay(5000);// 5초 유지

  digitalWrite(Relaypin6, RELAY_OFF);// 6번 릴레이 OFF

  delay(5000);// 5초 유지


  digitalWrite(Relaypin2, RELAY_ON);// 2번 릴레이 on. Body 하강

  delay(5000);// 5초 유지

  digitalWrite(Relaypin2, RELAY_OFF);// 2번 릴레이 OFF. 

  delay(5000);// 5초 유지 

  

  digitalWrite(Relaypin3, RELAY_ON);// 3번 릴레이 on. 스크래퍼 A 상승

  delay(5000);// 5초 유지

  digitalWrite(Relaypin3, RELAY_OFF);// 3번 릴레이 OFF. 

  delay(5000);// 5초 유지 


  digitalWrite(Relaypin8, RELAY_ON);// 8번 릴레이 on. 실린더 좌측(하강)이동

  delay(5000);// 5초 유지

  digitalWrite(Relaypin8, RELAY_OFF);// 8번 릴레이 OFF. 

  delay(5000);// 5초 유지 


  digitalWrite(Relaypin4, RELAY_ON);// 4번 릴레이 on. 스크래퍼 A 하강

  delay(5000);// 5초 유지

  digitalWrite(Relaypin4, RELAY_OFF);// 4번 릴레이 OFF. 

  delay(5000);// 5초 유지 


  digitalWrite(Relaypin1, RELAY_ON);// 1번 릴레이 on. Body 상승

  delay(5000);// 5초 유지

  digitalWrite(Relaypin1, RELAY_OFF);// 1번 릴레이 OFF. 

  delay(5000);// 5초 유지   

 }


 while (digitalRead(Switch2)==LOW)  // 스위치2(Body 상승)을 누르면

 {

  digitalWrite(Relaypin1, RELAY_ON);// 1번 릴레이 on. Body 상승

  delay(5000);// 5초 유지

  digitalWrite(Relaypin1, RELAY_OFF);// 1번 릴레이 OFF. 

  delay(5000);// 5초 유지   

 }

 

  while (digitalRead(Switch3)==LOW)  // 스위치3(Body 하강)을 누르면

 {

  digitalWrite(Relaypin4, RELAY_ON);// 4번 릴레이 on. 스크래퍼 A 하강

  delay(5000);// 5초 유지

  digitalWrite(Relaypin4, RELAY_OFF);// 4번 릴레이 OFF. 

  delay(5000);// 5초 유지   

 }


   while (digitalRead(Switch4)==LOW)  // 스위치4(초기화)을 누르면

 {

  digitalWrite(Relaypin1, RELAY_ON);// 1번 릴레이 on. Body 상승

  delay(5000);// 5초 유지

  digitalWrite(Relaypin1, RELAY_OFF);// 1번 릴레이 OFF. 

  delay(5000);// 5초 유지   


  digitalWrite(Relaypin4, RELAY_ON);// 4번 릴레이 on. 스크래퍼 A 하강

  delay(5000);// 5초 유지

  digitalWrite(Relaypin4, RELAY_OFF);// 4번 릴레이 OFF. 

  delay(5000);// 5초 유지 


  digitalWrite(Relaypin6, RELAY_ON);// 6번 릴레이 on, 스크래퍼 B 하강

  delay(5000);// 5초 유지

  digitalWrite(Relaypin6, RELAY_OFF);// 6번 릴레이 OFF

  delay(5000);// 5초 유지


  digitalWrite(Relaypin8, RELAY_ON);// 8번 릴레이 on. 실린더 좌측(하강)이동

  delay(5000);// 5초 유지

  digitalWrite(Relaypin8, RELAY_OFF);// 8번 릴레이 OFF. 

  delay(5000);// 5초 유지   

 }

}

[/code]


게시글 신고하기

신고사유

신고해주신 내용은 쇼핑몰 운영자의 검토 후 내부 운영 정책에 의해 처리가 진행됩니다.

평점 0점
첨부파일
비밀번호 수정 및 삭제하려면 비밀번호를 입력하세요.
  • 아두이노짱 2021-08-26 0점
    수정 삭제 댓글
    스팸글 솔레노이드 밸브가 10A이상을 사용한다면 문제가 발생할 수 있는데 이렇게 고전류를 사용할 것 같진 않네요

    릴레이 모듈에서 고전력을 사용하기 위해서는 위부전원을 넣어줘어야하는 경우가 있어요

    아래 참고할만한 블로그글 링크 남겨드립니다! 해당 글 참고해서 회로 구성해보세요
    https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=shak99&logNo=221403861273
  • 조대성 2021-08-26 0점
    수정 삭제 댓글
    스팸글 이 릴레이는 교류용인가요? 직류 24v는 사용하지 못하는 건가요?

스팸신고 스팸해제

댓글 수정

비밀번호 :

수정 취소

/ byte

비밀번호 : 확인 취소

댓글 입력

댓글달기이름 :비밀번호 : 관리자답변보기

확인

/ byte

왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

에게만 댓글 작성 권한이 있습니다.

댓글 입력

댓글달기이름 :비밀번호 :

확인

/ byte

왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

에게만 댓글 작성 권한이 있습니다.

«
»