CAN 메시지 데이터를 이용해 모터 회전 속도 계산하기

모터 드라이브 분석기의 CANbus 메시지에서 speed 시그널 추출 방법

글│오 창 훈 부장_기술지원팀, 텔레다인르크로이
2017년 09월호 지면기사

CAN(Controlled Area Network) 시리얼 데이터 프로토콜은 자동차 및 산업 애플리케이션에서 시리얼 버스로 정보를 주고받는 인터페이스다. 모터를 사용하는 애플리케이션의 경우, 모터의 샤프트 회전 속도를 디지털 값으로 인코딩하여 CAN 데이터에 실어 보내기도 한다. 텔레다인르크로이의 모터 드라이브 분석기(Motor Drive Analyzer, MDA)는 디지털로 인코딩된 CAN 데이터 신호를 소스로 입력 받아 인코딩 데이터를 추출하여 아날로그 값으로 변환하고, 스케일링 하여 모터 샤프트 회전 속도를 사용할 수 있다.
 

이번에 소개하는 예에서는 텔레다인르크로이의 CANBus TDME Symbolic 옵션이 장착된 MDA810A 모터 드라이브 분석기에서 CAN 시리얼 데이터를 디코딩하고 특정 ID에 포함된 데이터에서 어떻게 속도 정보를 추출하는지를 제시한다. MDA는 모터 샤프트 속도를 파형(speed vs. time) 또는 측정값으로 표시할 수 있는 기능을 가지고 있다. 이 예에서는 고속으로 회전하는 자동차 휠 모터의 예를 들기로 한다.
 

인버터 출력, 모터 출력 신호 및 계산


그림 1
에서는 인버터의 출력 신호와 모터 센서 출력 신호를 포착하여, 전기적인 입력과 모터의 기계적인 출력 사이의 효율을 측정하는 예를 보이고 있다. 그림 위쪽에서는 인버터 3상 출력을 2와트미터(two-wattmeter) 방법을 이용해 R상과 T상의 전압(C1) 그리고 S상과 T상의 전압(C2)을 포착하였고, 그 바로 아래에서는 R상(C4)과 S상(C5)으로 입력되는 전류를 포착하고 있다.
 


모터에서 출력되는 토크 신호는 C7에서 그리고 홀센서(Hall Sensor) 신호를 디지털 채널 D1, D2, D3에서 입력 받고 있으며, 아날로그 타코미터의 출력을 C8에서 확인하고 있다. 측정값을 보이고 있는 테이블에서는 인버터 출력 신호에서 측정한 실효전력, 무효전력 등의 결과와 모터의 출력을 확인할 수 있다. 또한 그림의 아래 쪽 Mechanical 설정 화면에서는 토크와 홀센서 신호를 토크 값과 속도로 변환하는 설정을 나타내고 있으며, 홀센서로부터 계산된 Speed1과 아날로그 타코미터로부터 계산된 Speed2의 결과 값과 파형을 화면의 오른쪽 가운데 “Torque vs Speed” 탭에서 볼 수 있다.
 

자동차 애플리케이션에서는 모터의 속도를 홀센서 또는 타코미터 방식으로 제공하지 않고, CANbus에 인코딩하여 디지털 데이터로 정보를 전송하는 경우, MDA에서는 CANbus 데이터로부터 속도 정보를 얻을 수 있다.
 

.dbc를 이용한 CANbus 심벌 디코딩

그림 2에서는 MDA의 채널 4에서 포착한 CAN 시리얼 데이터를 심벌 디코딩을 적용하기 위한 설정 메뉴를 보이고 있다. CAN 시그널 데이터 속도는 1 Mb/s이며, 심벌 정보가 포함된 .dbc 심벌 파일을 이용한다.
 



그림 3에서는 CAN 심벌 디코드 결과를 표시한 디코드 테이블의 예이다. 테이블에서 확인할 수 있는 것처럼, 각 라인에 한 개의 메시지 정보를 표시하고 있다. 이번 예에서는 10초 동안 신호를 포착한 신호를 이용하고 있으며 약 10,000개의 개별적인 CAN 메시지가 포함돼 있다.
 

 


CAN 디지털 데이터 추출하기


MDA에 장착된 CANBus TDME Symbolic 소프트웨어 옵션은 특정 ID와 데이터 위치에서 디지털 데이터 값을 추출해 스케일 변경, 단위를 지정하여 측정값을 화면에 표시할 수 있는 기능이 있다. 그림 4는 CANtoValue라는 파라미터를 선택했을 때 나타나는 설정 메뉴를 보이고 있다. 같은 그림의 오른쪽에는 “Main” 탭에서 특정 ID로부터 데이터를 추출하도록 ID 필터링을 설정하고 있다.
 



이어서, ID를 283으로 지정하고, Value 탭에서는 필요한 데이터가 포함된 데이터 위치를 지정하고 있으며, .dbc 파일을 이용하는 경우, 간단히 .dbc 파일을 탐색하여 원하는 시그널을 선택하면(그림 5의 하단 그림) 모든 설정이 자동으로 완성된다.

이 설정이 완료되면, MDA 화면의 P1의 파라미터 설정이 이루어지고 자동으로 측정을 수행한다.
 

  


MDA에서 CAN 데이터를 이용하여 속도 설정하기


그림 6에서는 MDA 설정 중 Mechanical Speed, Angle 및 Torque를 설정하는 화면을 보이고 있다. 설정에서는 Speed와 Angle을 설정하는 화면에서 소스를 CAN과 CAN 데이터를 측정하고 있는 P1으로 지정하고 있다.
그림 6에서 모든 설정이 완료된 결과를 보이고 있다. 왼쪽 위에서는 3상 모터 전압 파형을 포착하여 보여주고 있으며, 그 아래에는 3상 전류 파형을 보여주고 있다. 오른쪽 위에 표시되어 있는 파형은 같은 시간에 포착한 CANbus 신호이며, 그 아래에 표시되어 있는 노란색 파형은 CANBus 데이터에서 추출한 Speed 파형이다. 디코드 테이블에 보이는 Speed1 칼럼에 표시된 값은 10초 동안 포착된 데이터 값의 평균을 10.69319 krpm으로 보여주고 있다. 이 테이블에서는 Speed 외에 드라이브 출력 소스들에 대한 평균을 측정하여 표시하고 있다. 

 


 

그림 7의 Speed1 파형에서 약간의 이상 값이 보이는 것처럼 보인다. 이것은 추가적인 조사가 필요하거나 또는 다른 스피드 센서와 비교할 수 있다. MDA 메뉴에서 Speed2를 이용해 QEI(Quadrature Encoder) 또는 Resolver, Analog Tachometer 등의 다른 인터페이스들과 CAN에서 추출된 신호와 비교할 수도 있다.
 

 

 

그림 1에서는 홀센서의 출력을 디지털 채널로 포착하고 아날로그 타코미터의 출력을 C8에서 동시에 포착하여 그 결과를 비교하는 예를 볼 수 있다.
 

결론적으로, 텔레다인르크로이의 모터드라이브 분석기에 CANBus TDME 또는 Symbolic 옵션을 장착하면 CANbus 시리얼 데이터를 쉽게 디코딩하여 디지털 값을 아날로그 파형으로 추출할 수 있다. 추출된 정보는 계산된 값을 표시하는 테이블에 표시할 뿐만 아니라, 파형으로 관측하여 시간에 따라 추출된 값이 어떻게 변화되었는지를 확인할 수 있다. CANbus에 speed와 torque 정보를 인코딩하고 있다면 별도의 센서 출력을 MDA에 연결할 필요 없이 그 값과 파형을 확인할 수 있으며, 파형을 비교 또는 디버깅을 위해서 센서 출력을 입력 받아 비교 분석이 가능하다(그림 1 참조). AE

<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>

PDF 원문보기

본 기사의 전문은 PDF문서로 제공합니다. (로그인필요)
다운로드한 PDF문서를 웹사이트, 카페, 블로그등을 통해 재배포하는 것을 금합니다. (비상업적 용도 포함)

  • 100자평 쓰기
  • 로그인


TOP