/ 뉴스 / 업계 뉴스 / Arduino를 탑재한 BLDC 모터: 배선, 코드 및 제어 가이드
업계 뉴스
우리의 발자국은 전 세계에 걸쳐 있습니다.
우리는 고객에게 고품질의 제품과 서비스를 제공합니다. 전 세계에서.

Arduino를 탑재한 BLDC 모터: 배선, 코드 및 제어 가이드

ESC를 통해 Arduino가 BLDC 모터를 제어하는 방법

Arduino는 BLDC 모터의 3상을 직접 구동할 수 없습니다. 전류 용량이나 정류 논리가 내장되어 있지 않습니다. 해당 작업은 Arduino와 모터 사이에 있는 ESC(전자 속도 컨트롤러)에 속하며 간단한 PWM 신호를 실제로 회전자를 회전시키는 시간 제한이 있는 3상 스위칭으로 변환합니다.

Arduino의 관점에서 ESC는 표준 RC 서보와 똑같아 보입니다. 대략 1000~2000마이크로초 사이의 펄스가 20밀리초마다 반복되며 펄스 폭이 스로틀 위치에 매핑될 것으로 예상됩니다. 그렇기 때문에 같은 서보 라이브러리 취미용 서보에 사용되는 것은 ESC 제어를 위한 것입니다. Arduino는 모터와 전혀 통신하지 않고 실제 정류를 처리하는 ESC의 온보드 마이크로컨트롤러와 통신합니다.

ESC를 통해 Arduino를 BLDC 모터에 연결

3개의 헤비 게이지 모터 와이어는 BLDC 모터에서 ESC의 3상 출력에 직접 연결됩니다. 두 와이어를 교체하면 회전이 역전되기 때문에 커넥터 순서는 이 단계에서 방향에 중요하지 않습니다. 모터 전원(일반적으로 모터의 정격 전압과 일치하는 LiPo 배터리)은 Arduino가 아닌 ESC의 입력 리드에 연결됩니다.

신호 측면은 더 간단합니다. Arduino 디지털 핀에서 ESC의 신호 입력까지의 단일 PWM 와이어와 Arduino와 ESC 간의 공유 접지입니다. 대부분의 ESC에는 해당 신호 커넥터에 BEC(배터리 제거기 회로)가 포함되어 있어 Arduino에 조정된 5V를 다시 공급합니다. 즉, ESC의 BEC 출력이 Arduino의 전류 소모량에 맞게 정격화되는 한 일반적으로 보드에 별도의 전원 공급 장치가 필요하지 않음을 의미합니다.

기본 속도 제어를 위한 Arduino 코드

배선이 제대로 이루어지면 코드 자체가 짧습니다. 서보 라이브러리는 ESC를 서보 모터처럼 처리하고 속도는 라이브러리가 각도에 사용하는 것과 동일한 0-180 범위에 매핑됩니다.

  • 다음을 사용하여 ESC 신호 핀을 부착합니다. ESC.부착(9, 1000, 2000) , 펄스 폭 범위를 명시적으로 설정
  • 수동 속도 제어를 위해 아날로그 핀의 전위차계를 읽습니다.
  • 0-1023 아날로그 판독값을 ESC가 예상하는 0-180 범위로 매핑합니다.
  • 매핑된 값을 다음과 같이 작성합니다. ESC.write(속도) 메인 루프 내부

이 패턴은 기본 신호 형식이 취미용 서보와 동일하기 때문에 작동합니다. Arduino 서보 라이브러리 참조 , 라이브러리가 의존하는 펄스 타이밍 및 핀 제한을 설명합니다.

ESC 무장 및 보정

대부분의 ESC는 전원을 켠 직후 모터를 회전시키지 않습니다. 일반적으로 시동 후 1~2초 동안 스로틀 신호를 최소로 유지하여 트리거되는 준비 시퀀스를 기대합니다. 이 단계를 건너뛰는 것은 모터가 전원을 켤 때 잠깐 시작했다가 멈추는 가장 일반적인 이유입니다. ESC는 명령을 받아들이기 전에 유효한 로우 스로틀 신호를 기다리고 있습니다.

교정은 Arduino가 실제로 전송하는 것과 일치하도록 ESC의 최소 및 최대 펄스 폭에 대한 이해를 설정합니다. 스로틀 신호가 이미 최대인 상태에서 ESC에 전원을 공급하고 확인 신호음이 울릴 때까지 기다렸다가 최소로 낮추고 다시 기다립니다. 이렇게 하면 전위차계의 매핑된 범위와 일치하지 않을 수 있는 공장 기본값에 의존하는 대신 ESC에 코드가 생성하는 정확한 엔드포인트를 가르칩니다.

센서형 BLDC와 센서리스 BLDC: Arduino 설정이 변경되는 이유

위의 모든 내용은 기성 ESC와 쌍을 이루는 센서리스 BLDC 모터를 가정합니다. 이는 가장 일반적인 취미 설정이며 대부분의 튜토리얼에서 기본적으로 사용하는 이유입니다. ESC는 전원이 공급되지 않는 단계에서 생성된 역기전력으로부터 회전자 위치를 감지합니다. 이는 모터가 회전하면 잘 작동하지만 ESC가 BEMF 타이밍에 고정되기 전에 모터에 짧은 개방 루프 시동 램프가 필요함을 의미합니다.

센서가 장착된 BLDC 모터에는 0RPM에서도 회전자 위치를 직접 보고하는 3개의 홀 효과 센서가 추가됩니다. 이는 시동 램프를 제거하고 더 부드러운 저속 제어를 제공하지만 ESC 또는 컨트롤러에 홀 센서 입력이 있어야 함을 의미합니다. 일반 센서리스 ESC에는 배선이 전혀 없습니다. 프로젝트에 정밀한 저속 토크가 필요하거나 빈번한 시작과 정지가 필요한 경우 처음부터 센서 모터와 홀 호환 컨트롤러를 소싱하면 나중에 제어 설정을 재작업하는 것을 피할 수 있습니다.

R5 Fast response Brushless DC Motor Controller

Arduino 프로토타입에서 생산 등급 모터 제어까지

PWM 기반 ESC는 개념을 입증하는 데 적합한 도구입니다. 저렴하고 잘 문서화되어 있으며 구성 소프트웨어가 필요하지 않습니다. 그러나 여기에는 실질적인 한계도 있습니다. Arduino에 대한 전류 피드백이 없고 최소한의 보호 로직이 있으며 토크 제어, 폐쇄 루프 속도 조절 또는 오류 보고가 요구사항이 되면 잘 확장되지 않는 1000~2000마이크로초 펄스 창에 연결된 제어 분해능이 있습니다.

프로젝트가 프로토타입 단계를 넘어 실제 제품으로 이동하는 경우 일반적인 다음 단계는 단일 PWM 라인이 아닌 디지털 버스를 통해 통신하는 컨트롤러입니다. 생산 모터 컨트롤러를 구성하는 데 사용되는 UART-TTL 디버깅 인터페이스 여기서는 Arduino 직렬 모니터와 유사한 역할을 합니다. 이를 통해 펄스 폭만 추측하는 대신 매개변수를 읽고 동작을 직접 조정할 수 있습니다.

취미용 ESC를 능가하는 팀의 경우, APT의 CAN 버스 프로그래밍 가능 BLDC 모터 컨트롤러에 대한 진입점 기본 ESC가 단순히 노출하지 않는 일종의 구성 가능한 전류 제한 및 진단 기능을 제공합니다. 더 엄격한 응답이 필요한 애플리케이션(로봇 팔, 작동 메커니즘, 빠르게 변화하는 부하가 있는 모든 것)은 다음을 통해 더 잘 제공됩니다. 실시간 폐쇄 루프 애플리케이션용으로 제작된 빠른 응답 BLDC 컨트롤러 개방형 취미 ESC가 아닌.

컨트롤러와 모터 사양은 전압, 전류, 홀 센서 호환성에 맞춰 조정되어야 하므로 검토할 가치가 있습니다. 드라이브 전자 장치를 모터 사양에 맞추기 위한 컨트롤러 및 모터 페어링 지침 생산 실행을 위해 하드웨어를 투입하기 전에. 이해해볼만한 가치도 있어요 소프트웨어 계층이 현대 모터 제어를 어떻게 재구성하고 있는지 , 펌웨어 수준의 튜닝이 점점 더 좋은 프로덕션 컨트롤러와 적절한 컨트롤러를 구분하는 기준이 되기 때문입니다.



협력에 관심이 있거나 질문이 있으신가요?
  • 요청 제출 {$config.cms_name}