팜테크(FAMTECH)

[ReXgen2 실습] IMU센서 값 CAN 통신 변환(XML, 가속도 센서, 자이로 센서,Accelerometer, Gyro) 본문

팜테크 제품 리뷰(Review)/Influx

[ReXgen2 실습] IMU센서 값 CAN 통신 변환(XML, 가속도 센서, 자이로 센서,Accelerometer, Gyro)

FAMTECH 2024. 2. 7. 11:45

 

목차

     

    "관련제품 문의는 로고 클릭 또는 공지사항의 연락처를 통해 하실 수 있습니다."

     

     

     

    IMU센서 값 CAN 통신 변환 실습: 목적

     

    이번 실습은 팜테크에서 제공하는 ReXgen 데이터 로거를 사용하여 IMU(관성 측정 장치) 데이터를 CAN Bus를 통해 전송하도록 설정하는 방법에 대한 것입니다. 여기서 ReXgen 데이터 로거는 차량의 다양한 센서 데이터를 수집하고 기록하는 장치이며, IMU는 주로 움직임과 방향을 감지하는데 사용되는 장치로, 가속도계와 자이로스코프 센서를 포함하고 있습니다.

     

    • 가속도계(X, Y, Z): 이 센서는 X, Y, Z 세 축을 따라 차량의 가속도를 측정합니다. 가속도는 차량이 얼마나 빨리 속도를 늘리거나 줄이는지를 나타냅니다.
    • 자이로스코프(X, Y, Z): 자이로스코프는 차량의 회전 운동을 X, Y, Z 세 축을 따라 측정합니다. 이는 차량이 얼마나 빨리 회전하는지를 나타냅니다.

     

    이 데이터는 CAN 0 Bus를 통해 전송됩니다. CAN Bus(Controller Area Network Bus)는 차량 내에서 마이크로컨트롤러와 장치들 사이의 통신을 가능하게 하는 네트워크입니다. 이 시스템을 통해 차량의 다양한 부품과 센서들이 서로 정보를 교환할 수 있습니다.

     

    설정 과정은 XML 파일을 통해 이루어집니다. XML 파일은 데이터의 구조를 정의하는데 사용되며, 여기서는 각 센서 데이터가 어떻게 CAN Bus를 통해 전송되는지의 구성을 지정합니다.

     

    위 그림과 같이 CAN0으로 IMU 센서 값을 전송하고 CAN1을 통해서 센서값을 읽는 구성입니다. ReXgen IMU 모델은 장치 내부에 IMU센서가 내장되어 있어 해당 센서로 데이터를 계측 합니다. 

     

    XML 설정은 아래 그림과 같은 단계로 진행합니다.

     

     

     

     

    IMU센서 값 CAN 통신 변환 실습: 설정

    기본 구성을 이루는 XML 파일을 추출 하기 위해 ReXdesk 소프트웨어를 사용합니다. ReXdesk는 데이터 로깅을 위해 만들어진 직관적인 툴로 무료로 설치 및 사용이 가능 합니다. 

     

    1. 아래 그림과 같이 CAN0, CAN1에 로깅을 설정하고 Channel에는 Accel, Gyro를 설정합니다. 설정 값은 Default 값을 이용합니다. Transmmiting 에 ID 0x128과 0x129 두 개의 출력 메세지를 만들어 줍니다. 해당 메세지에 가속도 센서 값과 자이로 센서 값을 실을 예정입니다.

     

     

    2. 아래와 같이 Export를 사용해서 1번 과정에서 설정한 구성을 XML로 출력 합니다.

     

     

     

    3. 앞서 추출한 XML 파일을 Editor로 열어서 확인하면 아래와 같이 설정 값을 확인할 수 있습니다. CAN은 Standard를 사용하고 CAN Bus 속도는 500kbps Baudrate 속도를 Default로 이용합니다. 해당 값은 XML에서 수정 가능 합니다. 이번 예제는 해당 값을 그대로 사용합니다. 기억할 점은 CAN0의 UID는 4이고 CAN1의 UID는 6으로 설정되었습니다. 해당 UID를 차후에 IMU 센서와 맞춰야 IMU에서 해당 Interface를 통해 출력 합니다.

     

     

     

     

    4. 아래와 같이 가속도 센서와 자이로 센서의 X축에 대한 설정값을 확인할 수 있습니다. Sample Rate를 100ms로 설정되었습니다. 이번 실습은 Default 값을 사용 합니다. 

     

     

     

     

    5. 다음으로 아래와 같이 CANMESSAGE를 4개 확인 할 수 있습니다. 위에 2개는 Logging을 위한 설정으로 건들지 않습니다. 3번째 4번째는 앞서 1번 과정에서 만든 메세지 입니다. 296은 Hex 값으로 0x128로 가속도 값을 실을 메세지 입니다. 297은 0x129로 자이로 값을 실을 메세지 입니다.

     

     

     

     

    6. CANSIGNAL_LIST는 직접 작성해야 합니다. 해당 문구를 직접 작성이 힘드시면 글 하단에 이번 실습에 사용된 xml을 받아서 복사해서 사용하시면 됩니다.

    InputUID 10은 Accelerometer의 x축에 대한 UID 입니다. 그리고 16은 CAN 메세지 0x128에 대한 UID 입니다. 이와 같이 가속도 센서 X, Y, Z와 자이로 센서 X, Y, Z에 대한 Signal 정의를 합니다.

     

     

     

    IMU센서 값 CAN 통신 변환 실습: 검증

    앞서 제작한 XML을 ReXgen2에 동작 시키고 결과 값을 DBC를 입력해서 확인 해봅니다.

     

    1. 아래와 같이 Config에서 XML을 불러 옵니다. 파일을 불러오면 자동으로 해당 설정이 장비에 업로드 됩니다.

     

     

     

    2. 장비를 일정 시간 동작 시키면 아래와 같이 SD 카드에 캔 메세지가 저장됩니다. 해당 메세지는 Live를 통해 실시간으로 확인이 가능 합니다.

     

    여기서는 "Show datalog"를 합니다.

     

     

     

    3. 아래와 같이 준비된 DBC 파일을 넣어 주고 CAN1에 들어 오는 신호를 읽어 줍니다. Export를 통해 csv 형태로 출력 합니다. CAN1에서 신호를 보냄과 동시에 읽습니다.

     

     

    4. 아래와 같이 가속도 값과 자이로 값이 약 100ms 간격으로 들어오고 있음을 알 수 있습니다. 

     

     

     

    IMU센서 값 CAN 통신 변환 실습: XML, DBC 다운로드

     

    IMU_CAN.xml
    0.02MB
    ReXgen_IMU_Out_V5.dbc
    0.00MB

     

     

     

    해당 내용과 관련해서 팜테크에서 교육 프로그램, 측정/분석 용역, 장비를 제공하고 있습니다.  관심 있으시면 아래 홈페이지 또는 연락처를 통해 문의 주시면 됩니다. :)

     

    https://famtech.co.kr/sub04/01_01.php

     

    교육일정및신청(주)팜테크

    이달의 교육일정 해당월에는 교육일정이 없습니다.

    famtech.co.kr

     

     

     

     

     

     

     

     

    Comments