A4964KJPTR-T 모터 드라이버로 자동차 및 IoT BLDC 모터 애플리케이션 개발 가속화

작성자: Jacob Beningo

DigiKey 북미 편집자 제공

브러시리스 DC(BLDC) 모터는 원격 사물 인터넷(IoT)으로 제어되는 차고 문 개방기 및 자동차 창문에서부터 위성 추진 컨트롤러에 이르기까지 다양하고 많은 애플리케이션에서 점점 많이 사용되고 있습니다. 설계자가 BLDC 모터를 사용할 때 직면하는 문제는 모터 구동에 필요한 제어 알고리즘이 복잡하고 종종 전문적이라는 것입니다. 이로 인해 보통의 엔지니어는 합리적인 시간 내에 이를 시작하고 실행하기가 어렵습니다.

개발자는 일반적으로 마이크로 컨트롤러에서 실행되는 소프트웨어 기반 솔루션(유연한 소프트웨어 솔루션을 제공하지만 마이크로 컨트롤러에 계산 부담을 줌)을 택하거나 전용 집적 회로(IC)를 사용할 수 있습니다. 후자는 전체 BLDC 모터 제어 기능을 인캡슐레이션하고 호스트에서 BLDC 제어를 오프로드합니다.

이 기사에서는 마이크로 컨트롤러 기반 소프트웨어 솔루션과 전용 하드웨어 칩 솔루션의 차이점을 설명합니다. 그런 다음 자동차 애플리케이션을 위해 특별히 BLDC 모터 제어를 단순화하도록 설계된 모터 드라이버인 Allegro MicroSystems A4964KJPTR-T 사용 방법을 자세히 살펴봅니다. 이 기사에서 예기치 않은 동작을 방지하기 위한 몇 가지 모범 사례와 함께 A4964KJPTR-T와 상호 작용하는 방법을 보여드리겠습니다.

BLDC 모터에 대한 (매우) 간략한 소개

BLDC 모터는 광범위한 속도에서 효율적인 토크 전달을 하며 소음이 적고 브러시 모터의 기계적 마찰이 없습니다. BLDC 모터는 전압이 아닌 전류로 제어되므로 다양한 형태, 크기 및 비용의 다양한 애플리케이션에서 사용할 수 있습니다.

예를 들어 TRINAMIC Motion ControlQBL4208-41-04-006은 최대 0.06Nm(뉴턴 미터)의 토크를 제공하는 24볼트, 4,000RPM 모터입니다(그림 1). 이 모터는 가벼우며(0.662파운드(lb)), 개발자에게 역기전력(BEMF)을 이용한 센서 없는 작동이나 위치를 보고하는 내장된 센서 사용 등 여러 모터 제어 옵션을 제공합니다.

이미지: TRINAMIC QBL4208-41-04-006은 24볼트, 4,000RPM BLDC 모터입니다.그림 1: QBL4208-41-04-006은 최대 속도에서 0.06Nm가 조금 넘는 토크를 전달할 수 있는 24V, 4,000RPM BLDC 모터입니다. (이미지 출처: TRINAMIC Motion Control GmbH)

설계자는 또한 TRINAMIC Motion Control의 QBL4208-41-04-025를 사용하여 토크를 높일 수 있습니다(그림 2). 이 모터는 0.25Nm가 조금 넘는 토크를 전달할 수 있는 24V, 4,000RPM BLDC 모터입니다.

TRINAMIC Motion Control QBL4208-41-04-025 24볼트, 4000RPM BLDC 모터 이미지그림 2: TRINAMIC Motion Control QBL4208-41-04-025는 최대 속도에서 0.25Nm가 조금 넘는 토크를 전달할 수 있는 24볼트, 4,000RPM BLDC 모터입니다. (이미지 출처: TRINAMIC Motion Control GmbH)

BLDC 모터는 3상 라인을 통해 구동되며, 이 자기장은 영구 자석을 밀어 고정자를 움직이고 모터를 회전시킵니다.

이론적으로는 쉬워 보이지만 실제로는 BLDC 모터를 구동하는 것이 상당히 복잡하기 때문에 개발자는 소프트웨어 프레임워크를 사용하여 모터를 구동하거나 전용 칩 솔루션을 선택해야 합니다.

소프트웨어 vs 전용 칩 솔루션

개발자가 BLDC 모터 회전 방법을 해결할 때 고려해야 할 몇 가지 요소가 있습니다. 이러한 요소는 기본적으로 다음과 같습니다.

  • BOM 비용 vs 인건비
  • 보드 복잡성 vs 소프트웨어 복잡성
  • 유지 보수 시간 및 비용

하드웨어 관점에서 전용 칩 솔루션은 BOM에 약간의 비용만 추가되기 때문에 소프트웨어 경로를 이용하는 것이 매우 매력적으로 보입니다. 전용 칩 대신 그 비용을 없애고 마이크로 컨트롤러에 더 많은 비용을 투자하며 모든 제어 알고리즘을 해당 마이크로 컨트롤러에 넣습니다. 이는 윈윈 상황처럼 보일 수 있지만, 보통 팀은 이 결정에서 파생된 전체적인 결과를 고려하지 않습니다.

물론 이를 통해 BOM 비용은 감소하겠지만 BLDC 상태 데이터를 처리하고 모터를 지속적으로 구동하기 위해서는 마이크로 컨트롤러에 추가적인 부담이 가게 됩니다. 마이크로 컨트롤러가 다른 센서를 샘플링하고, 라디오와 통신하고, 다른 장치를 제어하려고 하는 경우, 주의를 기울이지 않으면 소프트웨어 개발 및 유지보수 비용이 엄청나게 늘어날 수 있습니다.

즉, 마이크로 컨트롤러의 소프트웨어 기반 솔루션은 팀이 모터 제어 알고리즘을 미세 조정할 수 있는 유연성을 제공할 수 있습니다. 소프트웨어를 사용한다고 해서 항상 일이 지나치게 복잡해지는 것은 아닙니다.

예를 들어 모터 제어 알고리즘을 마이크로 컨트롤러로 옮기면 RAM을 더 많이 차지하고 플래시가 많이 필요할 수 있습니다. 그러나 팀이 Texas Instruments F280049CRSHSR 모터 제어 마이크로 컨트롤러처럼 모터 제어용으로 설계된 마이크로 컨트롤러를 사용한다면 알고리즘은 마이크로 컨트롤러 ROM에 있는 라이브러리에 구축됩니다. 이는 애플리케이션에 추가된 유일한 추가 코드는 과중한 작업을 수행하는 라이브러리에 접근하기 위한 함수 호출임을 의미합니다.

BLDC 모터를 회전시키는 것은 소프트웨어뿐만 아니라 하드웨어도 필요합니다. 그림 3은 F280049CRSHSR이 제품군에 속하는 C2000 마이크로 컨트롤러를 사용하는 애플리케이션의 예시를 보여주며, BLDC 모터 구동에 필요한 모든 필수 사항 및 선택 사항을 보여줍니다. 마이크로 컨트롤러 외에도 BLDC 모터의 3상을 구동하여 회전시킬 수 있는 3상 전력 스테이지가 있어야 합니다.

Texas Instruments C2000 마이크로 컨트롤러 구성도(확대하려면 클릭)그림 3: Texas Instruments C2000 마이크로 컨트롤러는 모터 제어 애플리케이션용으로 설계되었습니다. 이 이미지 중앙에는 마이크로 컨트롤러가 있고 BLDC 모터 구동에 필요한 필수 및 선택적 회로가 있는 애플리케이션의 예시가 나와 있습니다. (이미지 출처: Texas Instruments)

모터를 구동하기 위해 마이크로 컨트롤러를 사용하는 것은 분명 흥미롭지만, 전용 하드웨어 솔루션은 어떤 모습일까요? Allegro MicroSystems의 A4964KJPTR-T 모터 드라이버 칩을 살펴보겠습니다.

Allegro MicroSystems A4964KJPTR-T 모터 드라이버

Allegro MicroSystems A4964KJPTR-T 모터 드라이버 칩은 모터 구동에 필요한 모든 스마트 기능이 포함된 전용 BLDC 모터 드라이버입니다(그림 4). 자동차 애플리케이션 및 N-채널 MOSFET용으로 특별히 설계된 이 칩은 센서가 없는 시동 및 정류 기능이 있으므로 최소한의 외부 하드웨어를 필요로 합니다. 또한 A4964KJPTR-T는 5.5V~50V의 광범위한 전압에서 작동하며, 이는 거의 모든 표준 애플리케이션과 자동차 시스템을 포함합니다.

아마도 가장 흥미로운 기능은 직렬 주변 장치 인터페이스(SPI)를 통해 A4964KJPTR-T를 마이크로 컨트롤러 또는 중앙 전자 제어 장치(ECU)에 연결하여 모터 작동을 위한 다양한 레지스터를 구성할 수 있다는 점입니다. 분명히 마이크로 컨트롤러는 모터 제어 알고리즘을 실행하는 것만큼 강력할 필요는 없습니다.

Allegro A4964KJPTR-T BLDC 모터 드라이버 구성도(확대하려면 클릭)그림 4: A4964KJPTR-T BLDC 모터 드라이버는 5.5V~50V에서 작동할 수 있으며 센서 없는 시동 및 정류를 제공합니다. 모터 속도는 SPI 또는 전용 PWM 신호를 통해 구성할 수 있습니다. (이미지 출처: Allegro MicroSystems)

또한 흥미롭게도 펄스 폭 변조(PWM) 신호를 제공하여 SPI 없이 A4964KJPTR-T 모터 속도를 구동할 수도 있습니다. 전원을 켤 때 로드되는 모터 설정 저장이 가능한 비휘발성 메모리가 있어 PWM 신호만으로 모터를 제어할 수 있습니다.

구성의 관점에서 A4964KJPTR-T에는 32개의 어드레서블 16비트 레지스터와 상태 레지스터가 있습니다. 상태 레지스터는 SPI의 모든 읽기/쓰기 작업 중에 첫 5비트가 전송되어 소프트웨어가 일반적인 상태를 점검하여 결함 또는 문제가 있는지 확인할 수 있다는 점에서 독특합니다. A4964KJPTR-T에서 데이터가 다시 전송되지 않기 때문에 쓰기 작업 중에 모든 상태 레지스터를 읽을 수 있습니다.

32개의 어드레서블 레지스터에는 두 개의 특수 레지스터도 있습니다. 레지스터 30은 쓰기 전용이고 레지스터 31은 읽기 전용입니다. 쓰기 전용 레지스터를 사용하면 개발자가 요구 입력을 설정하거나 모터가 0~1,023 사이의 값으로 구동되는 듀티 사이클 속도를 설정할 수 있습니다. 읽기 전용 레지스터 데이터는 리드백 선택 레지스터인 레지스터 29에 쓰여진 요청 데이터를 기반으로 변경됩니다. 이 레지스터로 다음과 같은 광범위한 원격 측정 정보를 얻을 수 있습니다.

  • 진단 장비
  • 모터 속도
  • 평균 공급 전류
  • 공급 전압
  • 칩 온도
  • 요구 입력
  • 적용된 브리지 피크 듀티 사이클
  • 적용된 진상

이러한 특수 레지스터 외에 나머지 30개는 특정 모터 애플리케이션을 조정하고 전류 제한 및 게이트 드라이브 고장과 같은 고장을 활성화 또는 비활성화할 수 있습니다.

전용 모터 드라이버는 모터를 구동하기 위해 구성해야 하는 모든 것을 수십 개의 구성 레지스터로 요약하기 때문에 흥미롭습니다. 이를 통해 마이크로 컨트롤러에 존재하는 소프트웨어 오버헤드를 크게 제거하고 더 중요한 것은 소프트웨어 개발 및 유지보수 비용을 크게 줄일 수 있다는 것입니다. BLDC 구동은 마이크로 컨트롤러에 오버헤드가 없는 PWM을 전송하거나 모터 비트를 활성화하고 BLDC를 회전시키기 위한 SPI 기반 요구 입력을 제공하는 것에 지나지 않습니다.

A4964KJPTR-T 사용을 위한 유용한 정보

A4964KJPTR-T는 인터페이스가 매우 간단하지만 개발자는 개발을 단순화하고 속도를 높일 수 있는 몇 가지 '유용한 정보'를 염두에 두어야 합니다.

  • 상태 레지스터는 칩에 쓸 때마다 SPI 인터페이스에서 반환되며 전용 어드레서블 레지스터로 사용할 수 없습니다. 이는 드라이버 코드가 상태 정보를 얻기 위해 칩에 쓰기 작업을 하는 동안 SPI 버스 SDO 라인을 모니터링해야 함을 의미합니다.
  • 고장 정보는 상태 레지스터에 포함되지만 칩 상태의 개요는 마이크로 컨트롤러가 주소 액세스 정보를 제공할 때 첫 5비트의 모든 SPI 트랜잭션에서 사용할 수 있습니다. 이 데이터를 사용하여 문제가 발생했는지 확인할 수 있습니다.
  • 메모리 맵에는 읽기 전용 및 쓰기 전용 레지스터가 두 개 있습니다. 이는 간단하지만 쓰기 전용 레지스터에서 읽으려고 시도하지 않도록 주의하십시오. 읽기 시퀀스에서 사용되는 더미 데이터가 레지스터에 기록되기 때문입니다.
  • 칩에는 기본 파라미터 저장에 사용할 수 있는 일부 비휘발성 메모리가 있습니다. 이러한 파라미터는 RAM에 로드되어 시동 중에 사용됩니다. 칩을 가장 효율적인 준비 상태로 부팅하려면 "안전한" 시작 값을 칩에 프로그래밍하십시오.
  • 최종 장치가 노이즈가 많거나 방사선이 많은 환경에서 작동하는 경우 구성 데이터를 주기적으로 재인증하도록 애플리케이션 코드를 설계하는 것도 괜찮은 생각입니다. 칩 구성은 RAM에 저장되는데, 이는 우주 광선, 비트 플립, 그리고 전자제품에서 발생할 수 있는 황당하고 드문 모든 사건들에 취약합니다.

결론

자동차, IoT 또는 기타 애플리케이션을 위한 BLDC 모터 구현은 매우 일반적이지만 구동이 복잡할 수 있습니다. 소프트웨어 복잡성을 관리하기 위해 개발자는 모든 모터 제어 기능을 인캡슐레이션하는 A4964KJPTR-T와 같은 전용 BLDC 모터 드라이버를 사용할 수 있습니다.

칩과 상호 작용하기 위해서는 여전히 소프트웨어가 필요하지만, 소프트웨어를 실행하는 마이크로 컨트롤러는 구성 설정만 필요하고 A4964KJPTR-T는 모터 구동만 담당합니다. 이러한 '유용한 정보'를 따르는 개발자는 A4964KJPTR-T를 사용하려고 할 때 많은 시간과 고민을 줄일 수 있습니다.

DigiKey logo

면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.

작성자 정보

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo는 임베디드 소프트웨어 컨설턴트로서 현재 십여 개국 이상의 국가에 있는 고객들과 협력하여 제품 품질, 비용, 출시 기간을 향상시켜 고객의 비즈니스를 극적으로 변화시키고 있습니다. 그는 인기 있는 강연자이자 기술 교육자이며 임베디드 소프트웨어 개발 기술에 대해 200개 이상의 기사를 발표했습니다. 그는 미시간 대학교 공학 석사 학위를 비롯하여 세 개의 학위를 소지하고 있습니다. 월간 Embedded Bytes 뉴스레터를 수신하려면 jacob@beningo.com 및 Jacob Beningo의 웹 사이트인 www.beningo.com으로 언제든지 문의해 주세요.

게시자 정보

DigiKey 북미 편집자