탁상용 미니 컨베이어벨트 아두이노 구동방법 Mini Desktop Conveyor Belt with Arduino

미니 데스크탑 컨베이어벨트는 탁상에 올려놓을 수 있는 소형 사이즈의 컨베이어벨트로서 아두이노, 라즈베리파이 등을 활용하여 스마트공장 실습을 할 수 있으며 공장자동화 교육, PLC교육, 기타 소형 공장자동화 시스템에서도 활용가능합니다.

이 컨베이어벨트는 스텝모터로 구동되며 타이밍 풀리 벨트로 연결되어 3:1로 감속은 물론 토크가 증가됩니다.

 

 

준비물

  1. 컨베이어벨트 스텝모터 구동형
  2. 아두이노 우노 R3
  3. TB6600 스텝모터 드라이버
  4. E18-D80NK 적외선 근접센서
  5. 기타 결선용 잡자재 및 전원(DC12V 5A 아답터, 9V 건전지)

 

아두이노 프로그램

먼저 아두이노 IDE에서 AccelStepper 라는 스텝모터 속도제어 라이브러리를 설치해야 합니다. 라이브러리는 메뉴에서 툴->라이브러리 관리(Library Manager)에서 검색하시어 설치하시면 됩니다.

 

컨베이어벨트 구동 소스코드

아래 소스코드는 컨베이어 벨트 테스트용 구동 소스이며 한 방향으로 정속으로 움직입니다. 아두이노 IDE에 복사하여 붙어놓고 컴파일 및 업로드 합니다.

아래 소스코드를 아두이노 IDE에 복사하여 붙어놓고 컴파일 및 업로드 합니다.

중요 : 컴파일 및 업로드 전에 반드시 AccelStepper 아두이노 스텝모터 속도제어 라이브러리를 설치해야 합니다.

 

#include <AccelStepper.h>

#define enablePin 8
#define dirxPin 2
#define stepxPin 5
#define motorInterfaceType 1
#define cmdxPin 13
#define sensorx 9

// Create a new instance of the AccelStepper class:
AccelStepper stepperx = AccelStepper(motorInterfaceType, stepxPin, dirxPin);

int statex;

void setup()
{  
  pinMode(enablePin, OUTPUT);
  pinMode(sensorx, INPUT_PULLUP);
  pinMode(cmdxPin, OUTPUT);

  digitalWrite(enablePin, LOW);
  digitalWrite(cmdxPin, HIGH);
  digitalWrite(sensorx, HIGH);

  stepperx.setMaxSpeed(1000);
  stepperx.setSpeed(900);
}

void loop()
{  
   statex = digitalRead(sensorx);

   if (statex == HIGH) {
    digitalWrite(cmdxPin, LOW);
    stepperx.stop();
   } else {
    digitalWrite(cmdxPin, HIGH);
    stepperx.setSpeed(900);  
    stepperx.runSpeed();
   }
}

 

위 소스에서

stepperx.setSpeed(900);

이 부분의 900 값이 회전속도이며 이 값에 비례하여 구동 속도가 바뀝니다. 이 값을 -900으로 하면 반대 방향으로 움직이게 됩니다.

 

아두이노 우노 및 TB6600과 결선 방법 (근접센서 없는 경우; 정속 운전)

아래 회로와 같이 결선하면 됩니다. 아두이노 우노의 9번핀을 GND와 연결하면 구동하고 5V로 연결하면 정지합니다.

TB6600의 DIP스위치 설정은 아래 사진과 같이 하면 됩니다.

아래는 실제 결선한 모습입니다.

 

 

 

적외선 근접센서 추가하기

이제 적외선 근접센서를 추가하여 컨베이어벨트에서 물체가 센서에 감지되면 컨베이어벨트가 정지하게 됩니다. 프로그램은 변경 사항이 없습니다.

여기서 사용된 근접센서는 E18-D80NK 모델이며 갈색선이 +5V, 청색선이 GND 그리고 흑색선이 신호선입니다. 물체가 검출되면 신호선에서 +5V가 출력되고 그렇지 않은 경우에는 0V가 됩니다.

사용하는 센서가 달라지는 경우 출력에 맞게 상기 소스코드를 수정해야 합니다.

아래 회로와 같이 결선하면 되며. 기존 아두이노 우노의 9번핀의 점퍼 케이블은 제거합니다.

 

센서는 아래와 같이 M4 볼트로 고정하며 센서의 감도는 센서 뒤의 -볼트를 돌려서 조정하면 됩니다.

 

아래는 실제 결선한 모습입니다.

 

 

Topic: 

Tags