'FOC'에 해당되는 글 3건

  1. 2017.11.03 VESC – Open Source ESC(1)
  2. 2015.12.23 토크 제어와 자속 기준 제어(FOC)
  3. 2015.12.09 BLDC vs. PMSM


출처 : By Benjamin Vedder

http://vedder.se/2015/01/vesc-open-source-esc/

http://vesc-project.com/

https://github.com/vedderb/bldc(bldc 펌웨어 설계) : 모든 하드웨어 버젼에 사용

https://github.com/vedderb/bldc-hardware(bldc 하드웨어 설계) : v4.12까지

http://vesc-project.com/node/311(bldc 하드웨어 설계) : v6.4부터

https://github.com/vedderb/bldc-tool(bldc-tool 설계) : v2.18까지

https://github.com/vedderb/vesc_tool(vesc-tool 설계, bldc-tool의 새로운 버젼)

https://github.com/vedderb/bldc-logger(bldc-logger 설계)

https://github.com/vedderb(기타 프로젝터 설계)


VESC – Open Source ESC

Posted on January 7, 2015 and Post updated 2016-01-22


About this project

I have made many updates to my custom motor controller recently and the old post is getting confusing with notes and updates, I decided to write a new post about it that hopefully is more clear, more complete and easier to follow. This might sound a bit ambitions, but my goal is to make the best ESC available. I really enjoy sharing knowledge, so I want to keep all the hardware and software open.

저는 최근에 제 모터 제어기에 많은 개선을 해왔습니다 그리고 이전에 게시된 내용은 설명과 업데이트에서 혼선을 일의키고 있고, 저는 좀더 분명하고 좀더 완전하며 좀더 이해하기 쉽게 하기 위해서 새로운 게시글을 작성하기로 하였습니다. 이는 약간 애매할 수도 있지만 저의 분명한 목표는 가장 좋은 ESC를 만드는 것입니다. 저는 사실 지식을 공유하는 것을 즐깁니다. 따라서 저는 모든 하드웨어와 소프트웨어를 공개하기를 원합니다.


This is an overview of the schematic (download a complete PDF here):


This is the front of the PCB:


The back:


3D render from KiCad:


Some screenshots of the configuration GUI (BLDC Tool):


Resources

All files are on github to keep them up to date, so check these links on a regular basis:


Related posts


Forums

Because information about the VESC is scattered all over the internet and a lot of information is in email conversations with me, I have created a forum dedicated to the VESC here.

VESC에 대한 정보는 인터넷 상에서 퍼져있기 때문에 많은 정보는 저와 이메일로 대화합니다. 저는 여기에 VESC에 대한 포럼을 만들었습니다.


Live Chat

I have created an IRC channel on freenode where you can live chat with me and other users about VESC and my other projects. Feel free to join: http://webchat.freenode.net/?channels=vedder


Features

    • 하드웨어와 소프트웨어는 오픈소스입니다. 다양한 CPU 리소스가 남았기 때문에 사용자 최적화는 무한합니다.

    • STM32F4 microcontroller.

    • DRV8302 MOSFET driver / buck converter / current shunt amplifier.

    • IRFS7530 MOEFETs (other FETs in the same package also fit).

    • DRV8302에 집적화된 buck converter로부터 외부 전자장치를 위한 5V 1A 출력.

    • Voltage: 8V – 60V (Safe for 3S to 12S LiPo).

    • Current: 수 초동안 250A까지 혹은 온도와 PCB 주변에 공기 순환에 의존하여 연속적인 약 50A.

    • Sensored and sensorless FOC wich auto-detection of all motor parameters is implemented since FW 2.3.

    • Firmware based on ChibiOS/RT.

    • PCB size: slightly less than 40mm x 60mm.

    • Current and voltage measurement on all phases.

    • Regenerative braking.

    • DC motors are also supported.

    • Sensored or sensorless operation.

    • A GUI with lots of configuration parameters.

    • Adaptive PWM frequency to get as good ADC measurements as possible.

    • RPM-based phase advance (or timing/field weakening).

    • Good start-up torque in the sensorless mode (and obviously in the sensored mode as well).

    • The motor is used as a tachometer, which is good for odometry on modified RC cars.

    • Duty-cycle control(voltage control), speed control or current control.

    • Seamless 4-quadrant operation.

    • Interface to control the motor: PPM signal (RC servo), analog, UART, I2C, USB  or CAN-bus.

    • Wireless wii nunchuk (Nyko Kama) control through the I2C port. This is convenient for electric skateboards.

    • Consumed and regenerated amp-hour and watt-hour counting.

    • Optional PPM signal output. Useful when e.g. controlling an RC car from a raspberry pi or an android device.

    • USB포트는 모뎀 프로파일을 사용합니다. 그래서 안드로이드 디바이스는 루팅 없이 모터 제어기에 연결할 수 있습니다. 서보 출력, 주행거리계(odometry) 그리고 여분의 ADC 입력(센서를 위하여 사용될 수 있슴) 때문에 이것은 안드로이드( 혹은 raspberry pi)로 제어되는 RC 카를 개조하기에 완벽합니다.

    • Adjustable protection against

        • Low input voltage

        • High input voltage

        • High motor current

        • High input current

        • High regenerative braking current (separate limits for the motor and the input)

        • Rapid duty cycle changes (ramping)

        • High RPM (separate limits for each direction).

    • 전류 한계에 도달했을 때 모터가 동작을 유지하면서 soft back-off 전략이 사용됩니다. 만일 전류가 너무 높다면, 모터는 완전하게 OFF 됩니다.

    • RPM limit은 또한 soft back-off 전략을 갖습니다.

    • Commutation은 모터 속도가 급격하게 변동할 때 조차도 완벽하게 동작합니다. 이는 이전 속도에 근거하여 지연을 추가하는 것 대신에 zero crossing 후에 자속을 적분한다는 사실 때문입니다. 

    • 제어기가 커진 동안에 모터가 회전할 때 commutation과 회전방향은 추적됩니다. 같은 속도를 얻기 위해서 듀티 싸이클이 또한 계산됩니다. 이는 모터가 이미 회전중일 때 부드러운 출발을 얻게 합니다. 

    • 모든 하드웨어는 센서 없는 자속 기준 제어(field-oriented control; FOC)를 위해서 준비되었습니다. 소프트웨어를 작성하는 것이 남아있습니다. 그러나 저는 FOC가 조금 정숙하게 동작한다는 것 외에 저 인덕턱스 고속 모터에 대하여 많은 이득을 갖는 것인지 아닌지 확신하지 못합니다. 센서 그리고 센서 없는 FOC는 FW 2.3 이후에 완전하게 구현되었습니다.



Posted by Nature & Life


유도 전동기나 PMSM을 포함한 BLDC 모터의 토크(Torque)는 회전자인 영구 자석의 회전으로 인한 역기전력(BEMF)과 고정자에 흐르는 3상 전류에 비례합니다. 여기서 역기전력은 시간에 따른 쇄교 자속의 변화율로 고정자 권선에 의해서 발생하는 자속과 회전자 영구 자석에 의해서 생성되는 자속이 쇄교(직교)하는 시점에서 최대가 됩니다. 모터에서 생성되는 토크는 다음과 같습니다.



여기서 Te는 electromagnetic 토크를 의미하고 K는 관련상수이며, λ는 회전자에 의한 쇄교 자속이고 전류 i와 마찬가지고 3상의 net한 공간 벡터입니다.



토크는 역기전력에 비례하므로 방향은 플레밍(Fleming)의 오른손 법칙을 따르고 벡터의 외적(cross product)으로 공간 벡터 λ와 i에 의해서 형성되는 위 그림과 같이 면적과 같습니다. 만일 물리적 3상 좌표계에서 보다 직관적인 2축 직교좌표계로 변환을 하면 다음과 같습니다.



공간 벡터 λ와 i를 d-q 좌표축에 투영하면 두 점 (λd, λq), (id, iq)을 구할 수 있고, 원점과 함께 삼각형의 면적을 구하는 헤론(Heron)의 공식을 적용하면 다음과 같이 정리할 수 있습니다.



만일 자속을 나타내는 공간 벡터 λ가 d축과 일치하고, 자속의 시정수가 전류의 시정수보다 훨씬 커서 순시적으로 자속이 일정하다고 가정하면 이 때 λq=0가 되어 토크는 다음과 같이 간략화됩니다.



이는 토크를 3상 전류 공간 벡터 i의 q축 성분만을 조절하여 제어할 수 있음을 의미합니다. 즉, 자속을 기준하여 3상 공간상에서 전류의 크기와 방향을 제어하는 기법을 자속 기준 제어(Field Oriented Control; FOC) 혹은 벡터 제어라고 부릅니다.


위와 같은 제어를 위해서는 예를 들어 3상의 전류 공간 벡터를 직교하는 2차원 좌표계로 변환할 필요가 있으며, 회전자의 위치에 따라서 지속적인 토크 발생을 위해 d축을 회전자의 자속의 방향과 일치시킬 필요가 있습니다. 전자는 Clarke 변환(α-β 좌표계)이고 후자를 Park 변환(d-q 좌표계)이라고 말하며 이에 역변환(inverse transformation)도 필요하게 됩니다.





'Flight Controller 이해 > 모터제어이론' 카테고리의 다른 글

릴럭턴스 토크  (1) 2016.01.27
Clarke vs. Park 변환  (4) 2015.12.24
모터의 회전자계  (1) 2015.12.17
모터의 토크 발생원리  (2) 2015.12.12
BLDC와 PMSM의 구조  (0) 2015.12.12
Posted by Nature & Life


Drone의 기체에 추력을 내기 위해서 사용되는 모터는 그동안 BLDC(Brushless Direct Current) 모터가 주류를 이루었지만, 후술되는 장점으로 인하여 최근에는 PMSM(Permanent Magnet Synchronous Motor)으로 교체되는 추세에 있습니다. BLDC 모터와 PMSM 두 모터는 회전자(rotator)가 영구자석(permanent magnet)으로 3상인 기본적인 구조는 유사하며, 주된 차이는 모터가 회전시 각각 역기전력(Back EMF)이 사다리꼴파(Trapzoidal)와 정현파(Sinusoidal)라는 것입니다.


넓은 의미에서 BLDC 모터(BLDCM)는 PMSM을 포함하며 일반적인 DC 모터와의 장점은 이전글인 'BLDC의 장단점'을 참조하시기 바랍니다. 모터의 회전원리는 쉽게 말해 영구자석으로 이루진 회전자는 전류를 공급하는 3상의 권선이 감겨져 있는 고정자(stator)에 전원을 회전자계가 발생하도록 적절히 공급하고, 이때 회전자는 고정자의 회전자계와 동기화(Syncronous)되어 회전하게 된다는 것입니다. 


이와 같이 전원을 공급하는 경우, BLDC는 6-step commutation이라는 전기각의 매 60도 간격으로 전류의 크기와 방향을 바꾸는 스칼라 제어(Scalar 제어)를 사용하는 반변에, PMSM에서는 공간벡터제어(Space Vector Control)라는 기법으로 전체 사이클에 대해서 전류의 크기와 방향을 제어하여, 토크(torque) 직접제어가 가능하고, 속도제어, 위치제어 등에서 탁월한 성능을 발휘한다는 것입니다. FOC(Field-Oriented Control)로 알려진 공간벡터제어(Space Vector Control) 기법으로 구동되는 PMSM을 BLAC(Brushless AC)로 부르기도 합니다.


다음은 BLDC 모터와 PMSM의 차이입니다.


 

BLDC

PMSM

권선형태

대부분 집중권(concentrating winding)

각 상을 분산시킨(pole 수를 증가시킨) 분산권(distributed winding)

용도

고토크, 고속도 제어

고효율, [위치제어] 정밀 서보

 인버터 효율

High

Low

모터 효율

Low

High

모터 비용

Low

Medium

역기전력 & 전류

사다리꼴파 & 구형파

모두 정현파

제어방식

6-step trapzoidal 방식의 비교적 간편한 스칼라 제어(scalar control)

 - 전류 제어 및 토크 최적화 불가능

 - 느린 응답

 - 저속 및 고속에서 토크 전달이 비효율적

 - 낮은 토크에서 비효율적

 - 저속에서 뛰어나지만 내부 손실이 많다

 - 저속에서 개방제어로 큰 부하에서 가속이 어렵다

 - 고속에서 제어가 상대적으로 어렵다

 - 6-step 방식으로 토크리플(맥동 토크) 발생

 - 가청 소음(잡음)이 있다

 - 발열이 있어 영구자석이 자성을 잃으면 토크가 감소한다

 - 분배 와인딩에서 작동하지 않음

 - 낮은 비용

연속 3상 정현파의 비교적 복잡한 벡터 제어(vector control) 혹은 FOC(Field-Oriented Control)

 - 시작시 최대 토크

 - 전류로 제어

 - 속도와 토크의 독립적인 제어

 - 최대 토크와 속도 범위에서 최적의 제어 가능

 - 높은 토크에서 비교적 높은 효율

 - set point나 연속 부하 변화에 부드럽고 상대적으로 빨리 반응하고 토크, 속도, 위치를 맟힐 수 있다

 - 상대적으로 높은 최대 가능 속도

 - 120도 위상차를 갖는 3상의 정현파의 합은 동일하므로 토크는 일정

 - 연속 정현파 곡선제어에 기반하여 잡음이 적다

 - 저비용 분배 와인딩에서 작동

 - 전기적인 브레이크와 홀드

 - 낮은 발열

 - 보다 효율적인 전력 사용

 - 비교적 높은 비용

 - 모터 설정이 복잡하다

Sensorless Drive

Low to Medium

High




6-step보다 많은 상태를 이용해 위치를 제어할수록 위치 정밀성과 알고리즘 복잡성도 높아집니다



'Flight Controller 이해 > 모터제어이론' 카테고리의 다른 글

모터의 토크 발생원리  (2) 2015.12.12
BLDC와 PMSM의 구조  (0) 2015.12.12
BLDC와 PMSM의 토크  (0) 2015.12.10
BLDC의 장단점  (0) 2014.04.03
BLDC모터란?  (0) 2014.04.01
Posted by Nature & Life