April 23, 2024

디바이스마트 미디어:

[66호] 원하는 색상으로 제어가 가능한 아두이노 IoT 스마트 무드등 키트 -

2021-06-25

★2021 ICT 융합 프로젝트 공모전 결과 발표! -

2021-05-12

디바이스마트 국내 온라인 유통사 유일 벨로다인 라이다 공급! -

2021-02-16

★총 상금 500만원 /2021 ICT 융합 프로젝트 공모전★ -

2021-01-18

디바이스마트 온라인 매거진 전자책(PDF)이 무료! -

2020-09-29

[61호]음성으로 제어하는 간접등 만들기 -

2020-08-26

디바이스마트 자체제작 코딩키트 ‘코딩 도담도담’ 출시 -

2020-08-10

GGM AC모터 대량등록! -

2020-07-10

[60호]초소형 레이더 MDR, 어떻게 제어하고 활용하나 -

2020-06-30

[60호]NANO 33 IoT보드를 활용한 블루투스 수평계 만들기 -

2020-06-30

라즈베리파이3가 드디어 출시!!! (Now Raspberry Pi 3 is Coming!!) -

2016-02-29

MoonWalker Actuator 판매개시!! -

2015-08-27

디바이스마트 레이저가공, 밀링, 선반, 라우터 등 커스텀서비스 견적요청 방법 설명동영상 입니다. -

2015-06-09

디바이스마트와 인텔®이 함께하는 IoT 경진대회! -

2015-05-19

드디어 adafruit도 디바이스마트에서 쉽고 저렴하게 !! -

2015-03-25

[29호] Intel Edison Review -

2015-03-10

Pololu 공식 Distributor 디바이스마트, Pololu 상품 판매 개시!! -

2015-03-09

[칩센]블루투스 전 제품 10%가격할인!! -

2015-02-02

[Arduino]Uno(R3) 구입시 37종 센서키트 할인이벤트!! -

2015-02-02

[M.A.I]Ahram_ISP_V1.5 60개 한정수량 할인이벤트!! -

2015-02-02

MoonWalker Series Motor Controllers User’s Manual 05.모터의 안전한 사용을 위한 기본설정

MW001

MoonWalker Series

Motor Controllers

User’s Manual

MW-MDC24D100S / MW-MDC24D100D

MW-MDC24D200S / MW-MDC24D200D

MW-MDC24D500S / MW-MDC24D500D

 ※ 사용자 매뉴얼에 포함된 정보는 정확하고 신뢰성이 있는 내용입니다. 그러나 출판 당시 발견되지 않은 오류가 있을 수 있으니 사용자는 자신의 제품 검증을 수행하시기 바라며, 전적으로 사용자 매뉴얼에 포함된 정보에 의존하지 마시기 바랍니다.

 

5. 모터의 안전한 사용을 위한 기본설정

이 장에서는 모터의 제어 앞서 모터를 정격 범위 내에서 안전하게 구동하기 위한 구성 파라미터들을 올바르게 설정하는 것에 대해 설명합니다.

5.1 모터 특성
모터의 주요 특성은 다음 그림 5‑1에서와 같이 모터의 데이터시트로부터 얻을 수 있습니다.

MW028
그림 5‑1 특정 모터의 주요 특성 표시 예

모터의 데이터시트에는 일반적으로 정격 전압, 정격 전류, 정격 토크, 정격 회전수 등이 표시됩니다. 또한, 무부하 전류와 무부하 회전수가 표시되며, 기동 시 전류와 토크도 표시됩니다.

모터를 정격에 따라 안전하게 구동하기 위해서는 모터의 특성들이 모터제어기에 적합한 범위 내에서 설정되어야 합니다. 다음 모터제어기 구성 파라미터들은 모터의 주요 특성을 설정하는데 사용됩니다:

max_current – Max Current
max_voltage – Max Voltage
max_velocity – Max Velocity
acceleration – Acceleration
deceleration – Deceleration

5.1.1 최대 전류와 최대 전압
‘Max Current’는 보통 정격 부하가 있을 때 허용되는 전류입니다. 모터제어기의 폐루프 전류제어기는 최대 허용 전류를 넘어가지 않도록 모터에 흐르는 전류를 제어합니다.
DC 모터에 흐르는 전류는 발생하는 토크와 비례 관계에 있습니다. 그리고 모터의 토크는 보통 회전 속도에 반비례합니다. 모터 기동 시 많은 전류가 흐르면서 큰 토크가 가해집니다. 모터가 최고 속도로 회전하면 모터에 가해지는 전압과 역기전력이 비슷해지고 모터에 흐르는 전류는 낮아집니다. 이때 모터가 낼 수 있는 토크는 작아집니다.
‘Max Voltage’는 모터에 가장 높게 가해질 수 있는 정격 전압입니다. 부하가 일정할 때, 모터의 회전속도는 모터에 가해지는 전압에 비례합니다. 만일 모터에 정격 전압 이상을 가하게 되면 모터의 속도가 정격 속도 이상으로 증가합니다. 하지만 모터에서 열이 발생하고 수명을 단축하게 됩니다. 극단적으로는 모터가 탈 수도 있습니다.
모터의 최대 허용 전류와 전압은 Motor Control UI 유틸리티를 통해 제어기에 연결된 각각의 모터에 설정할 수 있습니다. 모터의 손상을 방지하기 위해, 모터의 데이터시트를 참고하여 올바른 값을 설정해야 합니다.

5.1.2 가속도와 감속도
모터 제어에 속도 프로파일을 사용하는 것은 모터의 급격한 속도 변화를 방지하고 모터의 서지 전류 및 기계적 피로를 최소화하는데 필요합니다.
그림 5‑2와 같이 제어기는 모터를 일정한 토크로 구동하기 위해 사다리꼴 모양의 속도 프로파일을 사용합니다. 여기서 사용되는 ‘Max Velocity’, ‘Acceleration’, ‘Deceleration’은 속도 프로파일을 만드는 주요 요소입니다.

MW029
그림 5‑2 속도 프로파일과 위치 변화

보통 모터의 최고 속도는 부하나 마찰에 따라 달라집니다. ‘Max Velocity’는 모터의 부하를 고려하여 설정해야 합니다. 만일 폐루프 위치제어나 속도제어에서 모터가 설정된 최고 속도에 도달하지 못하게 되면 PID 제어기의 적분기에 속도오차가 누적됩니다. 이 속도오차에 의해 제어기는 폴트 상황이 되고 모터가 Power OFF 될 수 있습니다. 이러한 모터의 구동 오류를 감지하는 것에 대해서는 “11.7.2 vel_error_detection – Velocity Error Detection”을 참고하기 바랍니다.

속도 명령을 내리면, 컨트롤러는 사용자가 설정한 ‘Acceleration’과 ‘Deceleration’으로 현재 속도에서 원하는 속도로 이동합니다. 위치 명령도 속도 명령과 마찬가지로 속도 프로파일을 생성하여 원하는 위치까지 이동하게 됩니다.
최고 속도, 가속도, 감속도는 Motor Control UI 유틸리티를 사용하여 변경할 수 있습니다. 가속도와 감속도는 각각 다른 값으로 설정할 수 있습니다. 최고 속도는 RPM 단위로, 가속도/감속도는 초당 RPM 단위로 입력합니다. 감속은 음의 값을 의미하지만, 감속도는 양의 값을 사용해야 합니다. 이 구성 파라미터들은 모터가 적용된 시스템과 부하를 고려하여 올바른 값을 설정해야 합니다.

5.2 홈 위치와 이동 범위

제어기에 위치 센서(엔코더, 홀 센서, 포텐셔미터)가 연결되어 있다면, 1ms마다 모터의 위치를 측정하고 속도를 계산합니다. 이 값은 모터의 초기위치를 찾고 구동 범위를 제한하는데 사용될 수 있습니다. 이와 관련되어 다음 구성 파라미터들이 사용됩니다:

home_position – Home Position
min_position – Min Position
max_postion – Max Position
use_soft_limit – Use Soft Limit

5.2.1 이동 범위 설정
제어기의 운용 환경으로 다음 그림 5‑3과 같이 긴 레일 위를 바퀴에 연결된 모터가 이동하는 것을 생각해 볼 수 있습니다.

MW030
그림 5‑3 홈 위치와 모터의 이동 범위 한계

상기 시스템에서 모터의 이동 범위를 제한하는 것은 다음과 같이 물리적, 전기적, 소프트웨어적인 3단계로 구성될 수 있습니다(이 중 하나 이상의 방법을 사용하여 모터의 이동 범위를 구속하게 됩니다):

1. 레일의 양 끝에 스토퍼(Stopper)를 설치하여 모터가 구동 범위를 벗어나지 못하도록 물리적으로 막습니다.
2. 모터가 스토퍼에 다다르기 전에 Forward/Reverse Limit Sensor가 이를 감지하고, 리미트 센서 위치를 벗어나지 못하도록 제어합니다.
3. 모터에 내려지는 위치 명령을 사용자가 설정한 ‘Min Position’과 ‘Max Position’ 범위 내로 제한합니다. 그리고 모터의 위치가 ‘Min Position’과 ‘Max Position’을 벗어나면, 이 방향으로 움직이는 명령을 차단합니다.

모터가 어떠한 이유로 스토퍼에 막히게 되면 폐루프 위치/속도 제어기는 원하는 위치 혹은 속도에 도달하기 위해 모터에 공급하는 전력을 점점 증가시키게 됩니다. 하지만 모터의 위치는 변하지 않습니다. 모터제어기는 이러한 상황을 감지하고 모터를 Power OFF 할 수 있습니다. 이 설정을 위해서 “11.7.1 stall_detection – Stall Detection”을 참고합니다.
만일 모터가 Forward Limit Sensor나 Reverse Limit Sensor를 켜면, 모터제어기는 다음 그림 5‑4와 같이 모터제어기에 내려지는 명령을 제한합니다.

MW031
그림 5‑4 리미트 범위와 이동 가능한 방향

모터가 Reverse Limit Sensor를 켜면 모터를 음(-)의 방향으로 이동하는 위치, 속도, 전류, 전압 명령은 실행되지 않습니다. 하지만 양(+)의 방향으로 이동하는 명령은 실행됩니다. 만일, Forward Limit Sensor를 켜면 모터를 양의 방향으로 이동하는 명령은 실행되지 않습니다. 하지만 음의 방향으로 이동하는 명령은 실행됩니다. 이러한 동작을 구성하기 위해서는 디지털 입력에 근접 센서나 리미트 스위치가 연결되어야 하고 적절한 I/O 설정이 필요합니다.

모터의 이동 범위를 ‘Min Position’과 ‘Max Position’ 값으로 설정하고 소프트웨어적으로 이동 범위를 제한하는 것은 가장 쉽게 사용할 수 있는 이동범위 제한 방법입니다. 이는 Forward/Reverse Limit Switch를 사용하는 것과 같은 방법으로 운용됩니다. 이 방법을 사용하기 위해서는 ‘Use Soft Limit’의 설정이 켜져 있어야 합니다. “11.4.5 use_soft_limit – Use Soft Limit”를 참고하기 바랍니다.
‘Min Position’과 ‘Max Position’은 모터가 이동 가능한 최소/최대 위치를 말합니다. 일반적으로 이 위치는 스토퍼와 Reverse/Forward Limit Switch에 도달하기 전에 여유를 두고 설정하는 것이 좋습니다.

5.2.2 홈 위치 설정
일반적으로 모터에는 증분 엔코더가 사용되기 때문에, 제어기 전원이 꺼졌다가 켜지면 카운트 위치를 잃어버립니다.
위치제어에 사용할 경우, 모터를 홈 위치로 이동하고 모터의 위치를 리셋 하는 과정이 우선되어야 합니다. 이 과정은 다음과 같이 구현될 수 있습니다:

1. ‘Home Position’에 모터의 홈 위치를 설정합니다.
2. 전압 명령으로 모터를 천천히 홈 센서가 설치된 방향으로 움직입니다.
3. 홈 센서가 트리거 되면 모터의 위치(‘Position’)에 ‘Home Position’ 값이 적재 됩니다.
4. 마지막으로 0V 전압 명령으로 모터를 정지합니다.

이후, 모터는 홈 위치를 기준으로 자신의 현재 위치를 파악하게 됩니다.

5.3 모터와 제어기 보호

모터제어기는 1ms마다 전원 전압, 방열판 온도를 읽습니다. 그리고 0.1ms마다 모터에 흐르는 전류를 읽습니다. 이 값들은 모터의 피크 전류와 과전류, 과전압, 저전압 등 제어기 보호와 관련된 상태를 체크하는데 사용됩니다.
모터제어기의 안전과 관련된 파라미터들은 다음과 같은 것들이 있습니다:

overvoltage_limit – Overvoltage Limit
undervoltage_limit – Undervoltage Limit
high_voltage – High Voltage
overcurrent_limit – Overcurrent Limit
overcurrent_delay – Overcurrent Delay
peak_current_ratio – Peak Current Ratio
overheat_limit – Overheat Limit
high_temperature – High Temperature

만일 측정된 모터 전류와 전원 전압, 방열판 온도 값들이 상기 리미트를 벗어나게 되면 폴트를 발생하고 모터를 Power OFF 합니다. 이때 측정값이 다시 리미트 범위 내로 들어오더라도 모터는 자동으로 Power ON 되지 않습니다.

5.3.1 과전압 보호
제어기에는 전원의 전압 모니터링 회로가 포함되어 있습니다. 전원의 전압이 설정된 ‘Overvoltage Limit’ 값을 초과하면 과전압 폴트를 발생하고 모터를 Power OFF 합니다. 이 값은 제어기 모델에 따라 기본 값이 설정되어 있으며 사용자가 Motor Control UI 유틸리티를 사용하여 변경할 수 있습니다. 기본 값과 설정 가능한 범위는 제어기 모델의 데이터시트를 참조하기 바랍니다.

MW032
그림 5‑5 전원의 전압에 따른 제어기 동작 트리거

모터에 공급되는 전원보다 전압이 높아지는 현상은 모터가 생성한 전압을 스위칭 회로가 증폭하여 발생합니다. 그리고 높아진 전압을 전원이 흡수하지 못하면 과전압 보호가 작동합니다.

과전압 보호로 모터가 Power OFF 되는 상황을 방지하기 위해, 전압이 사용자가 설정한 ‘High Voltage’에 다다르면 디지털 출력을 트리거 하도록 설정 할 수 있습니다. 이 디지털 출력은 회생 제동에 의해 생성된 에너지를 흡수하기 위해 전원의 +와 -간에 설치된 션트 저항을 켜게 됩니다. 과전압 보호는 전원으로 배터리 대신 전원공급장치를 사용할 때는 필수적으로 사용되어야 합니다.

5.3.2 저전압 보호
배터리 전압이 설정된 ‘Undervoltage Limit’ 값 이하로 떨어질 경우 저전압 폴트를 발생하고 모터를 Power OFF 합니다. 이 값은 제어기 모델에 따라 기본 값이 설정되어 있으며, 제어기 하드웨어 회로의 특성을 반영하고 있기 때문에 변경하지 안는 것이 좋습니다.

모터에 공급되는 전원의 전압이 갑자기 떨어지는 현상은 보통 모터의 가감속 구간에서 전원의 정격 전류보다 높은 전류를 끌어다 씀으로 발생합니다. 측정 된 전압이 다시 ‘Undervoltage Limit’ 위로 올라가더라도 모터는 Power ON 되지 않습니다.

저전압 보호로 모터가 Power OFF 되는 상황을 방지하기 위해, 제어기에 연결된 모터의 정격 파워보다 높은 전원의 배터리나 파워서플라이를 사용해야 합니다. 이것이 불가능할 때는, 모터의 ‘Max Current’ 설정 값을 낮추거나 ‘Acceleration’, ‘Deceleration’ 설정 값을 낮춰야 합니다.

“11.5.1max_current – Max Current”와 “11.5.4 acceleration, deceleration – Acceleration, Deceleration”을 참고하기 바랍니다.

5.3.3 과전류 보호
제어기는 모터에 흐르는 전류를 측정하기 위해 전력단 내부에 전류 센서를 가지고 있습니다. 전류센서는 매 0.1ms 마다 전류를 측정하고 지정된 시간(‘Overcurrent Delay’) 동안 설정된 ‘Overcurrent Limit’ 값을 초과하면 과전류 폴트를 발생하고 모터를 Power OFF 합니다. 이 파라미터는 제어기 모델에 따라 기본 값이 설정되어 있으며 사용자가 Motor Control UI 유틸리티를 사용하여 변경할 수 있습니다. 기본 값과 설정 가능한 범위는 제어기 모델의 데이터시트를 참조하기 바랍니다.

MW033
그림 5‑6 모터의 전류에 따른 제어기 동작 트리거

‘Overcurrent Limit’ 값은 모터의 ‘Max Current’보다 120% 이상 높게 설정하는 것이 좋습니다. 모터의 전류 측정 값에는 정류자에서 발생하는 아크 및 MOSFET 스위칭시 발생하는 전압 스파이크에 의해 노이즈가 포함됩니다. 만일 이 두 값의 차이가 미소하다면 전류 노이즈로 인해 과전류 보호가 작동할 가능성이 높습니다.

또한, 제어기는 전력단 및 모터 결선의 단락 상황을 판단하는 매우 높은 서지 전류를 감지합니다. 모터에 흐르는 전류가 한 순간이라도 Peak Current 값을 넘어가면, 과전류 폴트를 발생하고 모터는 Power OFF 상태가 됩니다. Peak Current는 직접 설정되지 않고 ‘Peak Current Ratio’ 설정에 의해 다음과 같이 계산됩니다:
Peak Current = Peak Current Ratio x Overcurrent Limit
‘Peak Current Ratio’는 모든 제어기에 공통적으로 200%의 값이 설정되어 있으며 사용자가 Motor Control UI 유틸리티를 사용하여 변경할 수 있습니다.

5.3.4 과열 보호
제어기에는 방열판의 온도 모니터링 회로가 포함되어 있습니다. 매 1ms마다 온도를 측정하고 방열판의 온도가 설정된 ‘Overheat Limit’ 값을 초과하면 과열 폴트를 발생하고 모터를 Power OFF 합니다. 온도가 다시 설정 값 아래로 떨어지더라도 모터는 자동으로 Power ON 되지 않습니다. 이 값은 제어기 모델에 따라 기본 값이 설정되어 있으며 사용자가 Motor Control UI 유틸리티를 사용하여 변경할 수 있습니다. 기본 값과 설정 가능한 범위는 제어기 모델의 데이터시트에 나와있습니다.

MW034
그림 5‑7 방열판의 온도에 따른 제어기 동작 트리거

온도는 MOSFET 근처 방열판에서 측정되고 제어기 외부 표면보다 온도가 더 빨리 오르거나 떨어집니다. 방열판의 온도가 상승하는 데 걸리는 시간은 출력 전류와 주위 온도 및 냉각 팬의 사용 여부에 따라 달라집니다.

과열 보호로 모터가 Power OFF 되는 상황을 방지하기 위해, 온도가 사용자가 설정한 ‘High Temperature’에 다다르면 디지털 출력을 트리거 하도록 설정 할 수 있습니다. 이 디지털 출력은 제어기의 방열판을 냉각하도록 설치된 냉각 팬을 켜게 됩니다.

Leave A Comment

*