DCA3508 + LM-45120-12200E 가이드

제품 정보

제품 링크: https://www.motorbank.kr/goods/goods_view.php?goodsNo=1000035318

  • 전압: DC12V

  • 무부하 속도: 15 mm/s

  • 최대 출력: 2000 N

  • 스트록 길이: 400 mm

  • 엔코더 분해능: 1 PPR

하드웨어 튜닝

엔코더 신호가 이상할 경우

위치제어가 잘되지 않거나 정지 위치가 잘 맞지 않을 경우 엔코더 A/B상을 확인해 이동 중 구형파가 정상인지 확인할 필요가 있다. 구형파가 많이 깨질 경우 노이즈 필터를 추가하는 것이 좋다.

../_images/Pasted_image_20250904145434.png

엔코더 신호의 노이즈가 문제이므로 capacitor를 이용해 노이즈 필터를 추가하면 신호 안정화가 가능하다.

50V 1nF capacitor 두 개를 A-GND, B-GND로 연결하면 노이즈에 의한 엔코더 값이 안정화된다.

연결 배선

../_images/Pasted_image_20250904125941.png ../_images/Pasted_image_20250904130052.png ../_images/Pasted_image_20250904130521.png

제품 설정

누리로봇 서포터 이용

설명서 및 다운로드 주소: https://support.nurirobot.info/

설정

../_images/Pasted_image_20250904130852.png

프로토콜 이용

../_images/Pasted_image_20250904131212.png
// 절대 위치제어
FFFE0003EF0D00
../_images/Pasted_image_20250904131257.png
// 위치제어기 설정 (Kp : 50, Ki : 0, Kd : 0, Curr : 8000 빅엔디안)
FFFE0006730432000050
../_images/Pasted_image_20250904131345.png
// 속도제어기 설정 (Kp : 50, Ki : 0, Kd : 0, Curr : 8000 빅엔디안)
FFFE0006720532000050
../_images/Pasted_image_20250904131452.png
// 모터 정격속도 (2000 빅엔디안)
FFFE00041B0907D0
../_images/Pasted_image_20250904131608.png
// 분해능 설정 (4 빅엔디안)
FFFE0004ED0A0004
../_images/Pasted_image_20250904131657.png
// 감속비 설정 (305 빅엔디안)
FFFE0004FB0B0BEA

제어 방법

리니어모터를 제어하는 방법

  • 위치제어 방식

  • 다양한 단계별 길이 제어가 가능하다.

  • 스트로크의 일부만 이용할 때 편리하다.

  • 속도제어 방식

  • 최대/최소 길이로만 제어 가능하다.

  • 리니어 모터 내의 리미트를 이용하는 방식이다.

  • 위치제어 방식(디그리 -> mm) 사용을 권장한다.

  • 위치값으로 mm를 직접 다루는 방식이라 직관적이다.

주의사항

  • 리니어모터의 특성상 감속비에 의해 전류 센싱이 둔감하다.

  • 리니어모터의 고정축에 로드셀, 토크센서 등을 이용한 끼임 방지 구성을 권장한다.

  • 리니어의 스트로크 길이를 확인할 방법이 없으므로 전원 인가 시 초기화가 필요하다.

  • 엔코더에 백업 기능이 없으므로 전원이 켜질 때마다 위치 초기화가 필요하다.

  • 위치 엔코더의 해상도가 낮아 정밀한 위치제어는 어렵다.

위치 초기화

0점 확인 방식

시계 방향(CW)은 최대 방향이고, 반시계 방향(CCW)은 최소 방향이다. 이 방향은 POWER+, POWER- 권선에 의해 결정된다. 추천 방식은 최소 방향으로 동작시키는 방법이다.

  1. 반시계 방향으로 지정 속도 또는 최대 속도로 이동시킨다.

  2. 속도를 모니터링한다.

  3. 속도가 0이 되면 속도를 0으로 전달한다.

  4. 위치 초기화를 전달한다.

프로토콜 이용

1. 반시계 방향으로 지정속도 이동
../_images/Pasted_image_20250904134522.png
// 1. 반시계 방향으로 지정속도 제어
// (감속 후 1RPM)
FFFE0006EB0300000A01

// (최대속도는 1.8RPM)
FFFE0006E30300001201
2. 속도 모니터링
../_images/Pasted_image_20250904134632.png ../_images/Pasted_image_20250904134654.png
// 위치 피드백 요청
FFFE00025CA1

// 위치 피드백
FFFE0008B6D1004F21000000

// 예)
FFFE00025CA1
FFFE000867D1004067001206
FFFE00025CA1
FFFE0008B6D1004F21000000

리미트에 도달하면 속도와 전류값이 0이 된다. 일정 시간마다 위치 피드백을 요청하며 리미트 도달 여부를 판단한다.

3. 속도를 0으로 전달
FFFE0006F50300000001
4. 위치 초기화 전달
../_images/Pasted_image_20250904135441.png
FFFE0002EE0F

위치 제어 방법

프로토콜 이용

최대 열림으로 이동
// 위치 1, 속도 1.8
// (위치 제어 중 리미트가 걸리지 않게 하기 위해 최대 열림은 1로 이동한다.)
FFFE000780010100640012

// 위치 피드백 요청
FFFE00025CA1
// 위치 피드백(속도가 0으로 변경되면 이동완료)
FFFE0008EAD101003B000000
중간 열림으로 이동
// 위치 327, 속도 1.8
FFFE0007AC01017FBC000F

// 위치 피드백 요청
FFFE00025CA1
// 위치 피드백(속도가 0으로 변경되면 이동완료)
FFFE0008FED1017FA8000000
최대 닫힘(최소 열림)으로 이동
// 위치 654, 속도 1.8
FFFE00076D0101FF780012

// 위치 피드백 요청
FFFE00025CA1
// 위치 피드백(속도가 0으로 변경되면 이동완료)
FFFE000820D101FF06000000

속도 제어 방법

프로토콜 이용

최대 열림으로 이동
../_images/Pasted_image_20250904141114.png
// 오픈루프 동작(CCW 듀티 100%)
FFFE0005B211002710

// 위치 피드백 요청
FFFE00025CA1
// 위치 피드백(속도가 0으로 변경되면 이동완료)
FFFE0008EAD101003B000000
최대 닫힘(최소 열림)으로 이동
// 오픈루프 동작(CW 듀티 100%)
FFFE0005B111012710

// 위치 피드백 요청
FFFE00025CA1
// 위치 피드백(속도가 0으로 변경되면 이동완료)
FFFE0008D5D1000051000000

위치제어 방식(디그리 -> mm) 추천

감속비 확인

  • 제품 정보만으로는 모터 정보가 부족하다.

  • 리니어실린더 내부 감속비를 확인해야 한다.

../_images/Pasted_image_20250909180509.png
  • 1단 9:34

  • 2단 16:45

  • 3단 17:44

단계별 기어비 계산

  • 1단 약 3.78

  • 2단 2.8125

  • 3단 약 2.59

  • 전체 기어비 약 27.5

위치 제어(degree)를 위치제어(mm)로 처리하는 방법

조건 정리

  • 리니어 피치(lead) = 5 mm/rev

  • 출력축이 1바퀴 돌면 5 mm 직선 이동

  • 지령은 각도(°) 로 준다.

  • 목표: 1.00° 지령 -> 1 mm 이동

계산 과정

출력축 기준 각도-이동 변환
  • 출력축이 한 바퀴(360°) 돌면 5 mm 이동한다.

  • 즉, 출력축에서 1° 회전 = 0.0139 mm 이동이다.

필요한 기어비
  • 현재 출력축 특성은 1° -> 0.0139 mm 이동이다.

  • 목표는 1° -> 1 mm 이동이다.

  • 즉, 모터 측 각도 대비 출력축 각도를 72배 더 크게 만들어야 한다.

모터 기어비(27.5) * 필요 기어비(72) = 1980

../_images/Pasted_image_20250909173619.png

프로토콜 이용

../_images/Pasted_image_20250904131212.png
// 절대 위치제어
FFFE0003EF0D00
../_images/Pasted_image_20250904131257.png
// 위치제어기 설정 (Kp : 10, Ki : 50, Kd : 0, Curr : 8000 빅엔디안)
FFFE000669040A320050
../_images/Pasted_image_20250904131345.png
// 속도제어기 설정 (Kp : 10, Ki : 0, Kd : 0, Curr : 8000 빅엔디안)
FFFE00069A050A000050
../_images/Pasted_image_20250904131452.png
// 모터 정격속도 (2000 빅엔디안)
FFFE00041B0907D0
../_images/Pasted_image_20250904131608.png
// 분해능 설정 (1 빅엔디안)
FFFE0004F00A0001
../_images/Pasted_image_20250904131657.png
// 감속비 설정 (1980 빅엔디안)
FFFE00044B0B4D58

위치 초기화

0점 확인 방식

시계 방향(CW)은 최대 방향이고, 반시계 방향(CCW)은 최소 방향이다. 이 방향은 POWER+, POWER-의 권선에 의해 결정된다. 추천 방식은 최소 방향으로 동작시키는 방법이다.

  1. 반시계 방향으로 지정속도 또는 최대 속도로 이동 전달

  2. 속도를 모니터링

  3. 속도가 0이 되면 속도를 0으로 전달

  4. 위치 초기화 전달

프로토콜 이용

1. 반시계 방향으로 지정속도 이동
../_images/Pasted_image_20250904134522.png
// 1. 반시계 방향으로 지정속도 제어
// (1RPM)
FFFE0006EB0300000A01
2. 속도 모니터링
../_images/Pasted_image_20250904134632.png ../_images/Pasted_image_20250904134654.png
// 위치 피드백 요청
FFFE00025CA1

// 위치 피드백
FFFE0008B6D1004F21000000

// 예)
FFFE00025CA1
FFFE000867D1004067001206
FFFE00025CA1
FFFE0008B6D1004F21000000

리미트에 도달하면 속도와 전류값이 0이 된다. 일정 시간마다 위치 피드백을 요청하며 리미트 도달 여부를 판단한다.

3. 속도를 0으로 전달
FFFE0006F50300000001
4. 위치 초기화 전달
../_images/Pasted_image_20250904135441.png
FFFE0002EE0F

제어 방법

프로토콜 이용
스트로크 길이로 이동
// 위치 100mm, 속도 1RPM, 시계방향
FFFE0007B501012710000A

// 위치 200mm, 속도 1RPM, 시계방향
FFFE00077E01014E20000A

// 위치 400mm, 속도 1RPM, 시계방향
FFFE00071001019C40000A

// 위치 피드백 요청
FFFE00025CA1
// 위치 피드백(속도가 0으로 변경되면 이동완료, 위치값도 비교가능)