Arduino로 브러시리스 모터를 구동하는 방법은 무엇입니까?


28

Arduino로 브러시리스 모터를 직접 구동 할 수 있습니까? 아니면 PWM 펄스로 브러시리스 모터 ESC를 제어해야합니까?


1
오래된 DVD / CD-ROM 플레이어에서 드라이버 칩을 구할 수도 있습니다.
Lars

답변:


10

반드시 ESC를 사용해야합니다. 브러시리스 모터는 사인파 (또는 사인파에 최대한 가깝게)로 구동 할 때 가장 잘 작동합니다. 또한 상당히 정확하고 복잡한 신호 세트가 필요합니다. Arduino에서 적절한 파형과 타이밍을 생성하는 것은 어려울 수 있으며 실제로 필요하지 않으면 가치가 없습니다. 언제든지 arduino에서 ESC를 제어 할 수 있으므로 프로그래밍 방식으로 ESC의 효율성과 성능을 얻을 수 있습니다.


nitpick : Wikipedia ( en.wikipedia.org/wiki/brushless_DC_electric_motor ) 에 따르면 BLDC 모터는 전환 DC (완전 포지티브, 비 구동 및 완전 네거티브)로 구동 할 때 가장 잘 작동하도록 최적화되어 있습니다. 영구 자석 AC 모터는 사인파로 구동 할 때 가장 잘 작동하도록 최적화되어 있습니다. 그것이 그들 사이의 유일한 중요한 차이점입니다. 본인의 결론에 동의합니다. 직접 ESC를 개발하는 대신 기성 ESC를 사용하는 것이 좋습니다.
davidcary

4
BLCD의 컨트롤러는 arduino와 동일한 atmega를 매우 잘 사용할 수 있습니다. 이점은 세부적인 문제를 다른 사람에게 전달하여 해결하는 것입니다. 낮은 수준의 정류 작업을 전달하여 더 높은 수준의 작업을 위해 arduino의 atmega를 무료로 남겨 둡니다.
Chris Stratton

BLDC 모터는 코일에 본질적으로 구형파 구동을 사용합니다. 컨트롤러 사용자 (ESC)에서는 DC 전원 공급 장치와 ESC에 필요한 제어 신호를 사용합니다. 사인파는 나타나지 않습니다.
Russell McMahon

13

실제로 때로는 자신 만의 ESC를 만들어야합니다. maket에서 판매되는 ESC는 "상업화"되어 있으며 비행기, 헬리스, 자동차와 같은 RC 물건에 대한 자체 제어 코드가 있습니다.

예를 들어 때로는 양면 회생 브레이크가 필요합니다. 뒤에서 앞으로, 앞으로에서 앞으로. 해당 기능이있는 RC ESC가 없습니다. 정방향에서 정지까지 회생 브레이크가 하나만 있거나 없음. 또는 센서 제어 BLDC가 필요할 수 있지만 시장에는 센 서식 ESC가 몇 개 밖에 없으며, 필요하지 않고 절대적으로 필요한 기능이없는 기능 만 내장되어 있습니다 (일반 센서리스 ESC와 동일). !

자신 만의 ESC를 설계하는 것은 완벽한 선택이며 거대한 힘을 가진 가장 저렴한 10 달러짜리 제품보다 훨씬 저렴합니다.

제어 코드와 하드웨어가 고통 스러울 수 있지만 약간의 독서 후에는 장난감 일뿐입니다.

6 개의 mosfets와 Jameco의 사이트에서 쉽게 찾을 수있는 다른 물건을 사용하여 arduino로 BLDC 컨트롤러를 만드는 방법에 대한 좋은 자습서가 있습니다. 매우 좋은 곳입니다. 자이로와 같은 센서를 찾지 못합니다.

http://www.instructables.com/id/BLDC-Motor-Control-with-Arduino-salvaged-HD-motor/

매우 친절하고 따라하기 쉬운 가이드. 이 안내서와 저항, 모터 와인딩 또는 배터리 충전기를 사용하여 거의 모든 재생 브레이크 조합을 사용하여 저전력에서 초고 ESC까지 모든 전력을 공급할 수 있습니다 ...

mosfets를 사용하는 것은 장난감 일뿐입니다.

문제는 5V 만 출력하는 arduio 보드와 같은 MCU 로이 mosfet를 매우 효율적으로 제어 할 수 없다는 것입니다. 중간 전압에 대한 mosfet의 게이트 전압은 16-30V 범위에서 훨씬 더 높습니다. 아두 이노의 전압을 높이려면 다른 탠 시저를 사용해야합니다.

행운을 빕니다.


6

나는 30 분 동안 이것에 관해왔다 갔다했다. 학습 경험으로 ESC를 사용하지 않는 한 ESC를 사용하고 싶을 것입니다. 모터를 올바르게 제어하려면 아두 이노에서 정당화 할 수있는 것보다 더 많은 리소스를 연결해야합니다. 또한 모터의 응답 성을 adc 폴링의 응답 성으로 제한합니다. 나는 ESC를 되돌리기로 생각하지 않을 것입니다. 그것이해야 할 방식입니다.


4

아무도 말하지 않았기 때문에 AVR 칩이 유용한 양의 전력을 공급하기에 충분한 전류를 공급하지 않기 때문에 실제로 arduino에서 직접 모터를 구동 할 수 없습니다.

따라서 최소한 전류를 구동하기 위해 3 상 H- 브리지 배열 (읽기 : 3 개의 '반 H- 브리지')을 만들어 드라이브 트랜지스터를 작동시키기 위해 6 개의 디지털 라인이 필요합니다.

이 드라이브 기능 문제가 해결되었다고 가정하면 사소한 것이 아니라면 제어 코드에 들어가야합니다. 이 모터에는 영구 자석 로터가 있으므로 고정자 필드를 맹목적으로 돌리고 유용한 토크를 얻을 수는 없습니다. 균일 한 토크를 얻을 수 있도록 전기 위상 각도를 조정하려면 로터의 방향을 알아야합니다.

다른 사람들이 말했듯이, 특정 학습 경험을 원하지 않으면 ESC를 구입하는 데 불명예가 없습니다.


3

나는 이것이 훌륭한 학습 연습이 될 것이라고 생각하지만 ESC는 EMF를 사용하여 회전을 감지하지만 광학 또는 자기 센서를 사용할 수는 있습니다. 기본적으로 3 개의 AC 위상을 생성하고 적절한 순간에이를 활성화 / 비활성화해야합니다.

자기장의 회전 속도는 모터에 맞게 조정되어야합니다. 즉, 가속하려는 경우 필드가 조금 더 빨리 실행되어야합니다. 당신은 또한 반대로 할 수 있습니다.

자세한 설명 : http://www.embedded.com/columns/technicalinsights/196701832?_requestid=137540

실용적인 직업을 위해 ESC를 받으십시오.


나는 처음에 가속과 감속이 당신이 묘사 한대로, 필드를 이끌고 지연시킴으로써 달성되었다고 생각했습니다. 그러나 가속이 주로 전압에 의해 결정된다는 것을 읽었습니다 (그러나 어떻게 감속 할 수 있는지 알 수는 없지만). 약간 혼란스러워합니다. 두 가지 방법 중 하나가 가속에 적용됩니까? 다른 것을 선호하거나 혼합 해야하는 이유가 있습니까? 감사!
necromancer

2

구동으로 권선에 전류를 공급하는 것을 의미하지 않는다면 Arduino로 직접 구동 할 수 있습니다. 모든 MCU가 너무 약할 수 있습니다. 게다가 Arduino는 전류를 싱킹 할 수는 있지만 브러시리스 모터에는 둘 다 필요합니다.

그러나 Arduino 외에 매우 간단한 H-bridge 드라이버 IC를 사용하면 거의 모든 ESC 기능을 구현할 수 있습니다. 실제로, 응용 분야에 따라 E * SC 가 필요하지 않을 수도 있습니다. * 폐 루프 속도 제어가 필요하지 않을 수도 있습니다. 부하가 너무 크지 않은 경우 단순히 모터를 신뢰하는 것만으로도 도망 갈 수 있습니다. 권선의 통전과 동기하여 응답하고 권선 전류 변화의 속도는 Arduino에서 나옵니다. 이 매우 단순한 브러시리스 (BLDC) 모터 제어 회로도 와 Arduino 스케치를 확인하여 모터를 구동하도록 조정할 수 있습니다. 이는 SN754410NE 쿼드 H- 브리지 IC를 기반으로하며 메모리가 작동하는 경우 최대 750mA입니다.

이 코드는 너무 사소하지 않고 부드러운 회전을 위해 PWM을 사용하지만 응용 프로그램에 맞게 구문 분석하는 것은 어렵지 않습니다. BLDC 모터에 대한 실제 Arduino 스케치는 여기에 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.