Phase advance (other terms: timing adjustment, field weakening)

To compensate for the current lagging behind the voltage at high speeds because of inductance or to get a bit higher top speed at the expense of some efficiency and torque, phase advance can be used. It is implemented in a speed-dependent way so that the motor gets more phase advance the faster it spins. It is implemented this way because having phase advance at low speeds does not give any improvements at all as far as I know, so the best way is to increase the effect as the motor increases its speed. BR ERPM is the electrical RPM of the motor at which the set phase advance is used, and Integrator limit scale at BR ERPM (will rename this option soon…) is the amount of phase advance to use. Setting it to 1.0 gives no phase advance and setting it to 0.0 gives 30 degrees (maximum) phase advance. The set phase advance will be mapped linearly between 0 ERPM and BR ERPM. If you don’t know what this is, you can leave the default options since it is not that important.

인덕턴스로 인해서 고속에서 전압 뒤로 전류의 지연을 보상하기 위해서 혹은 다소 효율과 토크의 희생으로 최고 속도 이상으로 동작시키기 위해서 phase advance가 사용됩니다. 이는 속도에 의존적인 방식으로 구현됩니다. 그 결과 모터를 phase advance를 더 주어 더 빠르게 회전할 시킬 수 있습니다. 낮은 속도에서 phase advance를 시키는 것은 제가 아는 한 전혀 어떤 개선을 주지 못하기 때문에 이런 방식으로 구현됩니다. 그래서 가장 좋은 방법은 모터가 속도가 증가할수록 이 효과를 증대시키는 것입니다. BR ERPM은 설정된 phase advance가 사용되는 지점에서 모터의 전기적 RPM이고, BR ERPM(이 옵션의 이름이 곧 변경될 것입니다...)에서 Integrator limit scale은 사용하는 phase advance의 양입니다. 이것을 1.0으로 설정하는 것은 어떠한 phase advance를 주지 않습니다 그리고 이를 0.0으로 설정하는 것은 30 degree (최대) phase advance를 주는 것입니다. 설정된 phase advance는 선형적으로 0 ERPM과 BR ERPM 사이에 매핑될 것입니다. 만일 여러분이 이것이 무엇인지 모른다면 여러분은 이것이 그렇게 중요하지 않기 때문에 디폴트 옵션으로 남겨둘 수 있습니다.


MOTOR

Current, temperature, RPM and voltage-limits can be configured depending on your application.

전류, 온도, RPM 그리고 voltage-limits은 여러분의 애플리케이션에 따라 설정될 수 있습니다.


Note: These limits are not foolproof. If you set them too high, you can damage the ESC and/or the motor.

Note: 이들 제한들은 fool proof가 아닙니다. 여러분이 이들은 너무 높게 설정하면 여러분은 ESC 그리고/혹은 모터를 손상시킬 수 있습니다.


    • Current

      • Separate limits for acceleration and braking current.

      • Separate limits for motor and battery currents.

      • "Absolute max" is checked in every PWM switching cycle and used in case the soft back-off strategy for the other limits doesn’t work. I usually set it way higher than the other limits because soft back-off is preferred rather than switching off the motor with a fault code, but it should never be higher than 150A.

      • "Absolute max"는 매 PWM 스위칭에서 체크하며 경우에 따라서 다른 제한들에 대해서 soft back-off 전략이 동작하지 않을 때 사용됩니다. 저는 보통 다른 제한들보다 높은 방식으로 설정합니다. 왜냐하면 soft back-off은 디폴트 코드로 모터의 스위칭을 끄는 것보다 오히려 선호하기 때문입니다. 그러나 이는 절대 150A 보다 높지 않아야만 합니다. 

      • The "Slow absolute max" box will make sure that a filtered version of the maximum current limit is used. This is useful if there is much noise and that fault code kicks in all the time. I usually have it ticked.

      • "Slow absolute max" 박스는 최대 전류 제한의 필터된 버젼이 사용되는지 확실하게 합니다. 이것은 만약 너무 많은 잡음이 있거나 그 디폴트 코드가 항상 kick in 될때 유용합니다. 저는 보통 이것을 체크합니다.

    • Temperature

      • At the "Start" temperature, the current will become more and more limited linearly until the “End” temperature, where the output is switched off completely. Setting them about 20 degrees apart will make the ESC slowly decrease the maximum output current as it gets too warm instead of abruptly switching everything off.

      • "Start" 온도에서 전류는 "End" 온도까지 선형적으로 더욱더 제한될 것입니다. 여기서 출력은 완전히 스위치가 off됩니다. 이를 약 20도 정도 차이를 두어 설정하는 것이 ESC가 너무 상승할 때 온도가 갑자기 모든 것을 스위치 off 시키는 것 대신에 최대 출력 전류를 서서히 감소시키게 만들 것입니다.

      • MOSFET temps (on the ESC) are implemented and working, but motor temps are not implemented yet. They will require an external temperature sensor in the motor. The software implementation is rather simple since I can just copy most of the MOSFET temperature limit code.

      • MOSFET 온도(ESC 상에)는 구현되었고 동작합니다. 그러나 모터 온도는 아직 구현되지 않았습니다. 이들은 모터에 외부 온도 센서를 필요로 할 것입니다. 소프트웨어 구현은 오히려 간단한데 왜냐하면 저는 단지 MOSFET 온도 제한 코드의 대부분을 복사하기 때문입니다.

    • RPM

      • Max and Min ERPM are hard RPM limits. It is preferable to use the soft application RPM limits instead if possible.

      • Max와 Min ERPM는 엄격한 RPM 제한입니다. 만일 가능하다면 부드러운 애플리케이션 RPM 제한을 사용하는 것을 선호합니다.

      • "Max ERPM at full brake" (should change the name…) is the highest opposing RPM at which a direction change is allowed. Setting this too high will cause cogging when moving in one direction and giving high throttle in the other direction. On my longboard I have it at 300 and my RC car has it a bit higher.

      • "Max ERPM at full brake"(이름을 변경해야 하는...)는 방향 전환이 허용되어진 곳에서 가장 큰 반대되는 RPM입니다. 이를 너무 높게 설정하는 것은 한 방향으로 움직일때 그리고 다른 방향으로 높은 스로틀을 줄 때 코깅을 야기시킬 것입니다. 제 longboard에서는 저는 300이고 제 RC 카에서는 조금 높습니다. 여기서 코깅(Cogging)이란 모터의 회전자와 고정자가 덜거덕 거리면서 움직이는 것을 말합니다. 즉, 토크의 변동을 의미합니다. 이를 줄이기 위해서 철심의 슬롯 수를 늘리면 됩니다. 또 슬롯 수가 작은 경우에는 슬롯에 비틀림을 주어 자속분포를 균등하게 만드는 등의 방법이 있지만 이 경우에는 출력토크가 저하됩니다. 이를 완전히 개선한 것이 코어리스 모터이지만 기계적으로 약하여 불안정하므로 대형으로 만들 수 없기 때문에 고정밀도기계, 에너지 절약 장치 등에 활용하게 됩니다.

      • "Max ERPM at full brake in CC mode" is the highest RPM at which applying full brake by shorting all the motor windings is allowed. Setting this value too high can cause much mechanical stress in some circumstances. I have it at 1500 for all my applications.

      • "Max ERPM at full brake in CC mode"은 모터의 모든 코일을 단락시키는 full brake를 적용하는 것이 허용된 시점에서 최대 RPM입니다. 이 값을 너무 높게 설정하는 것은 어떠한 환경에서 많은 기계적 스트레스를 야기시킬 수 있습니다. 저는 이를 모든 제 애플리케이션에서 약 1500 정도를 설정합니다.

    • Voltage

      • The minimum and maximum input voltage.

      • NOTE: I changed the voltage dividers in hardware 2015-01-22. If you have built the PCB before that, the maximum voltage can’t be more than 52V. The difference is whether the PCB has 33k or 39k resistors. 33k means that maximum 52V can be measured. The latest PCBs (with 39k resistors) can measure 60V, but you should have some margin on your supply voltage to be safe. You can of course replace all 33k resistors with 39k and measure up to 60V.

      • NOTE: 저는 2015-01-22 하드웨어에서 전압 분배회로를 변경했습니다. 만일 여러분이 그 전에 PCB를 제작하였다면 최대 전압은 52V 이상이 될 수 없습니다. 차이는 PCB가 33k를 가졌는지 39k 저항을 가졌는지 입니다. 33k는 최대 52V가 측정될 수 있슴을 의미합니다. 가장 최근 PCB(39k 저항을 갖는)는 60V를 측정할 수 있습니다. 그러나 여러분은 안전을 위해서 여러분의 전원 공급 전압에 약간을 여유를 가져야만 합니다. 여러분은 물론 33k 저항을 39k 저항으로 교체할 수 있고 60V까지 측정할 수 있습니다.


Once the ESC is configured for your motor, you can use the up and down arrow keys to run the motor forwards or reverse in current control mode, or the right and left arrow keys to run the motor forwards and reverse in duty cycle mode. The buttons in the right-hand side of the GUI can also be used.

일단 ESC가 여러분의 모터를 설정하고 나면, 여러분은 current control mode에서 모터를 정방향 혹은 역방향으로 동작시키기 위해서 up, down 화살표 키를 사용할 수 있고, duty cycle mode에서 모터를 정방향 그리고 역방향으로 동작시키기 위해서 right, left 화살표 키를 사용할 수 있습니다. GUI의 우측편에 버튼들을 또한 사용할 수 있습니다.


MISC

Here are the rest of the motor configuration parameters. You probably want to experiment with Startup boost if you are using current control. The rest of the parameters can be left as their default values unless you have some specific reason to change them.

여기는 모터 설정 파라미터의 나머지입니다. 여러분은 아마도 여러분이 전류 제어를 사용한다면 Startup boost와 함께 실험을 원할 수도 있습니다. 나머지 파라미터들은 여러분이 변경할 특별한 이유가 없는 한 디폴트 값으로 남겨둘 수 있습니다.


    • PWM mode

      • Synchronous is recommended and the best choice for a majority of all motors. If you have some weird motor, Bipolar could work better, but it probably won’t. Nonsynchronous is only for experimentation and can kill the ESC if you are unlucky.

      • 동기화가 추천되며 모든 모터들의 대다수를 위한 가장 좋은 선택입니다. 만일 여러분이 weird 모터를 갖고 있다면 Bipolar가 잘 동작할 수 있습니다. 그러나 이것은 아마도 아닐 것입니다. 비동기화는 단지 실험용이고 여러분이 불행하다면 ESC를 손상시킬 수 있습니다.

    • Current control

      • Startup boost is the minimum duty cycle to use when using current control. If the motor is to weak when you are just starting, you can increase this parameter a bit until it feels right. The range is 0.0 to 1.0, where 1.0 is full throttle (which you shouldn’t use.). A sane range is up to 0.15 or so.

      • Startup boost는 전류 제어를 사용할 때 사용을 위한 최소 듀티 싸이클입니다. 여러분이 단지 start할때 만약 모터가 약하다면 여러분은 이 파라미터를 약간 좋다고 느낄 때까지 증가시킬 수 있습니다. 범위는 0.0 ~ 1.0입니다. 여기서 1.0은 full 스로틀입니다(여러분은 사용하지 말아야 합니다). 정상적인 범위는 0.15 정도입니다.

      • Min current is the minimum allowed current. There should be no reason to change this, so leave it at the default value.

      • Min current는 최소 허용된 전류입니다. 이를 변경하기 위한 어떤 이유도 존재하지 않습니다. 그러므로 디폴트 값으로 남겨 두세요.

      • Control gain is the gain used by the current controller. Increasing it makes the current response faster, but also increases the risk of getting an unstable system where the ESC can get damaged. Only change this if you know what you are doing.

      • Control gain은 전류 제어기에서 사용된 이득입니다. 이를 올리는 것은 전류 응답을 빠르게 합니다. 그러나 또한 불완정한 시스템을 갖는 위험도가 늘어나고 ESC가 손상될 수도 있습니다. 만일 여러분이 무엇을 하는지 알 때만 오직 변경하세요. 

    • Speed control

      • The PID parameters for the speed controller. Only change them if you know what you are doing.

      • 속도 제어기를 위한 PID 파라미터입니다. 여러분이 무엇을 하는지 알 때에 오직 변경하세요.

    • Timeouts

      • Fault stop time is the amount of milliseconds that the ESC should be completely switched of when a fault code arises. After that time, it will switch on and try to listen for commands again.

      • Fault stop time는 결함있는 코드가 발생했을 때 ESC가 완전하게 스위칭 off 해야만 하는 ms의 양입니다. 그 후에 이것은 스위칭 on 할 것이고 명령어를 다시 듣기 시도할 것입니다.



Posted by Nature & Life
Drone News/News2016. 1. 10. 18:08


근래에 드론(Drone)이 레저 스포츠로 각광을 받으며 국내에서도 동호회가 봇물처럼 생겨나고 있습니다. 이런 이유로 야외나 주변 공원에서 드론을 날리를 모습을 심심치 않게 보게 됩니다. 특별히 드론으로 레이싱 경기를 하지 않는 이상 일반인도 구매에서부터 쉽게 비행할 수 있기 때문입니다.


예를 들어, 헬기를 비행하는 기존의 RC에서는 기체가 순간적으로 기울어지면 반대방향으로 싸이클릭을 주어 기체를 인위적으로 안정시키는데, 이는 거의 무의식적으로 이루어져야 추락을 면할 수 있으므로 비행을 즐기기 위해서는 마치 자전거를 배우는 것처럼(사실 이보다는 어렵습니다!)상당한 기간의 비행기술 습득 및 반복 연습이 요구되었습니다.


하지만 요즈음 드론은 기체의 수평을 잡아주는 장치나 각종 센서의 발달로 기체가 기울어지면 스스로 안정화시키고, 고도를 스스로 유지한다던가 아니면 비행지점을 설정해 놓으면 스스로 비행하는 자율 비행 기술이 발달함에 따라, 조종자는 이동하고자 하는 방향으로 조종간을 주기만 하면 되기 때문에 일반인도 쉽게 비행 가능하며, 전용 조종기 대신 스마트폰으로도 간단히 조종 가능하다는 것입니다.


뿐만아니라 드론의 대중화는 드론에 필요한 장치를 개발하고 판매하는 업체가 다양화되면서 장치들의 일정한 표준화가 이루어져, 완전히 조립된 기체에 싫증이 난 매니아층이나 성능 개선, 비용을 줄이기 위해서 드론 자작을 시도하는 사람들도 증가하는 추세라는 것입니다. 이러한 DIY(Do It Yourself)를 지향하는 사람들은 비행만큼이나 드론의 조립에도 특별한 경험과 즐거움을 갖게 된다는 것입니다.


하지만 드론을 자작하기 위해서는 드론에 대해서 어느 정도 지식이 요구되며 이로 인해서 어린이용 장난감과도 구분이 된다는 것입니다. 드론 부품은 국내외 온라인 사이트나 오프라인 매장에서 쉽게 구할 수 있는데, 어떤 분은 3D 프린터를 이용해서 기체의 프레임을 직접 자작하기도 합니다. 기체의 프레임이란 기체에서 비행제어기나 추진용 모터, 수신기, 각종 센서들을 제외한 이를 탑재하는 기구적인 기체를 의미합니다.


드론은 날개 수에 따라 쿼드콥터나 옥토콥터 등으로 구분되는데, 날개를 축 혹은 암(Arm)이라고 합니다. 날개가 4개이면 쿼드콥터이고 8개이면 옥토콥터가 되며 날개 수가 많을 수록 기체는 안정화되고 양력이 커서 무거운 짐을 더 많이 매달고 비행할 수 있습니다. 하지만 날개 끝에 프로펠러(줄여서 프롭(prop.))를 회전시키는 모터도 같이 증가하므로 밧데리 소모량이 많고 이는 체공시간의 감소를 가져와 고용량 밧데리의 사용으로 비용이 증가한다는 것입니다. 프롭을 회전하는 것이라는 하여 '로터(rotor)'라고도 부릅니다.


트라이콥터(Tricopter)


그러므로 초보자는 4개의 날개를 가진 쿼드콥터를 선택하는 것이 바람직하며, 드론을 전후좌우로 움직이기는 방향타를 주고 스로틀을 조절할 수 있는 저렴한 4채널의 조종기면 충분하다는 것입니다. 드론에 카메라를 장착하여 기구적으로 비행 중에 움직이길 원한다면 데이터를 주고받을 추가적인 채널이 필요하게 되는데, 채널의 증가는 곧 조종기의 비용으로 이어진다는 것입니다. 여기서 스로틀(throttle)이란 드론이 지상에서 양력을 얻어 이륙하고 착륙할 수 있도록 수직방향의 '엑셀레이터'와 같은 것입니다.


통상 초보자가 입문단계에서 기체의 비용은 20만원 전후도 있으며 4채널 조종기를 포함하여 40~60만원 정도로 구입할 수 있습니다. 기체가 커지거나 장착한 카메라 등의 조종이 필요하다면 비용은 증가하게 됩니다. 보통 초보에게는 250급 쿼드콥터가 추천되는데 250급이란 양 암(축)의 길이로 기체의 수평방향 폭과 같으며 이 길이가 250mm라는 것입니다. 완제품 드론의 구입시 조종기를 제외한 가격을 예시하는 경우도 많아 반드시 알아보고 구입해야 합니다.


드론은 구성은 기체 프레임(frame)과 모터(motor), 변속기(Electronic Speed Controller; ESC), 수신기(Receiver; Rx), 비행제어기(Flight Controller; FC), 밧데리(battery) 등으로 구성되며 드론을 조종할 수 있는 조종기(Transceiver; Tx)가 필요하게 됩니다. 여기서 카메라를 장착한다만 카메라 등의 별도의 장치가 필요하게 되고, 위성 신호를 수신하는 경우에 비행제어기에 포함되지 않고 외장 모듈로서 구입하여 장착하는 경우가 많습니다. 



기체 프레임(frame)은 근래에 유리 섬유(fiberglass sheet; G10)나 탄소 섬유(carbon fiber)의 재질이 대부분인데 특히 후자는 가볍고 잦은 추락에도 강인함이 있기 때문입니다. 모터는 프롭을 회전시켜 추력을 발생시키는 중요한 동력원으로 브러시(brush)가 있는 DC 모터보다는 브러시가 없는 BLDC(Brushless DC) 모터를 사용하게 됩니다. 이는 브러시로 인하여 기구적인 내구성 문제도 있지만 고효율이라는 장점으로 고효율은 밧데리 수명과도 직결되기 때문입니다.


BLDC 모터는 우수한 특성을 갖지만 이를 제어하기 위해서는 까다로와 마이크로컨트롤러를 사용하여 제어기를 구성하게 되며, 최근에서 BLDC의 부류이지만 유도 전동기와 개념이 동일한 PMSM 타입의 모터가 사용되는 추세입니다. 이는 BLDC 모터보다 정밀한 제어와 효율이 뛰어나지만 보다 고성능의 마이크로컨트롤러가 요구된다는 단점이 있습니다. 이러한 제어기는 전자적으로 속도를 제어한다고 하여 '전자 변속기'라 부르고 통상 ESC라 합니다. 따라서 쿼드콥터이면 각각 4개의 모터와 프롭 그리고 ESC가 필요하게 됩니다.


수신기와 송신기는 동일한 주파수를 사용하여 데이터를 주고 받는 장치로 기존의 주파수 변조 방식(FM)에서 크게 DSM(Digital Spectrum Modulation)과 FASST(Futaba Advanced Spread Spectrum Technology) 등의 디지털 방식으로 진화하였고, 수 GHz의 주파수 사용으로 대역폭이 늘어나 이제는 송신기에서 일방적으로 데이터를 보내기보다는 기체의 센서로부터 각종 데이터 받아 조종자에게 보여주는 양방향 방식으로 변천하였고, 높은 주파수의 사용은 안테나 길이의 감소를 가져와 송신기의 거추장스러운 긴 안테나의 모습은 이제 사라지게 되었습니다.



또한 밧데리는 근래에 리튬폴리머(Li-Po) 타입을 사용하는데, 최소 1개의 셀이 3.7V로 250급 쿼드콥터에서 3개정도의 셀을 사용하여 11.1V를 만들게 됩니다. 이 3개의 셀을 '3S'라 쉽게 표현하고 3개의 셀을 직렬 연결하여 사용함을 의미합니다. 스마트폰에도 사용하는 리튬폴리머 전지의 특징은 충전용량이 높고 4개의 모터를 강력하게 회전시킬 수 있는 우수한 방전능력을 가지지만 사용시에나 충전시에 조건을 만족시키지 못하면 폭발하는 성질이 있어 전용 충전기가 반드시 필요하게 됩니다. 이는 대부분 별도의 비용이고 대부분의 쿼드콥터에서 비용이 합리적인 선에서 체공시간은 20분 정도로 20분 후면 밧데리가 완전 방전되게 됩니다.


마지막으로 비행제어기는 드론의 두뇌역활을 하는 마이크로컨트롤러가 탑재된 중앙처리장치로 송신기에서 보낸 지령을 수신기로 받아 이를 해석하고, 축의 모터에 연결된 변속기를 제어하는가 하면 고도센서와 같은 각종 센서들의 정보를 이용하여 기체의 안정도를 꾀하고, 필요하다면 조종자에게 알리며 센서를 이용하여 고도를 유지하거나 인공위성 신호를 분석하여 자동비행 모드에서 정해진 절차에 따라 기체의 비행을 스스로 시행하기도 합니다.



드론의 자작은 다양한 전기전자적인 지식을 요구합니다. 어디까지 개인의 취향에 맞게 개선하느냐에 따라 단순한 납땜을 비롯해 메이커만을 변경하는 문제에서 비행제어기나 변속기 내의 펌웨어까지도 수정할 수 있습니다. 후자의 경우 상당한 지식과 노하우가 요구되며 전문가이더라도 상당한 시행착오가 있을 수도 습니다. 드론 비행 자체는 결코 장난감이 아니며 남에게 상해 이상의 피해를 가할 수 있슴을 직시하고 안전에 만전을 기하여야 할 것입니다.


최근에 드론으로 인한 사고와 주변 안전이 우려되어 관련법의 마련이나 개정이 대두되고 있습니다. 또한 서울지역의 약 80%가 드론 비행 제한 구역이기에 드론을 날릴 때에서 각별히 유의해야 할 것입니다. 드론을 직접 자작하여 비행하면 기쁨은 분명 배가 될 수 있습니다. 하지만 때로는 인고의 노력과 유연한 인내심이 요구될 수도 있습니다. 자작에 앞서서 동호회 등에서 주변 지식에 대한 두루 섭력이 반드시 요구될 것입니다.



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
Radio Control/etc2015. 4. 30. 18:38


사람마다 멀티콥터(Multicopter)를 즐기는 방법은 크게 2가지가 있습니다.


● 레저활동으로 다이나믹한 조종비행과 고공촬영을 즐기는 매니아 층

● 멀티콥터를 직접 제작부터 비행까지 취미생활을 영위하는 매니아 층


자신이 단순히 레저활동으로 비행을 즐기고 촬영을 감상하는 매니아 층이라면 Flight Controller(FC)를 포함한 상업용 완전한 기체(RTF)를 구입하여 바로 비행에 나서는 것이 시간을 단축시키는 길입니다. 그러나 Flight Controller의 구성(GPS 등) 및 펌웨어(Firmware) 등을 수정하며 조립과정에서부터 비행까지 직접 관여하며, 프론티어 정신에 비중을 두는 매니아 층이라면 완전한 기체(RTF)보다는 반조립 기체(ARF)에 자신이 직접 제작한 Flight Controller 등을 탑재하길 원할 것입니다.


만일 후자의 경우라면 전자와 다르게 고려해야 될 것이 많이 있습니다. 대부분의 상업용 기체는 Rock solid한 반면에 자작용 기체는 유연하지만 안정성이 떨어질 수 밖에 없다는 것입니다. 'Rock soild'라 함은 제조사에서 무수한 시행착오로 고도로 최적화되어 있어 안정한 비행이 가능하다는 것이고, 후자는 하드웨어적 유연성으로 인해 혹은 여러 부품과의 호환성으로 인해 안정성은 결국 유저 자신의 몫이라는 것입니다.


하지만 후자의 경우 여러 장점도 있습니다. 상업용 기체는 안정성을 담보로 로열티에 대한 댓가를 치루어야 합니다. 즉 비싸다는 것입니다. 그러나 후자는 기체만을 구입하고 Flight Controller 등은 Open source 이기에 저렴하다보니 조립하는 것이 [반드시 그렇지는 않지만] 싸질 수 있다는 것입니다. 자신의 드론(Drone) 제작에 앞서 드론을 정복하기 위해서는 많은 관련지식과 시행착오를 겪어야 하며 때론 추가의 비용과 많은 시간이 걸릴 수도 있다는 것을 기억해야 합니다.


멀티콥터를 제작하려면 우선 Flight Controller를 선택해야 합니다. Open source로는 크게 Multiwill와 APM 시리즈가 있는데 두터운 사용자 층을 고려한다면 Multiwill가 추천되는 추세입니다. 이는 Community가 보다 활성화되어 있어 조립과정 중에 혹은 기체 셋팅 중에 발생할 수 있는 문제를 쉽게 해결할 수 있다는 것입니다. 기타 Open source를 골라야 한다면 원론적으로 메인 칩셋부터 확인해야 할 것입니다. 왜냐면 단적으로 STM시리즈의 마이크로컨트롤러(Microcontroller)에 익숙하지 않다면 수정은 고사하고 코드를 읽기조차 힘들기 때문입니다.


Multiwill은 Community에서 지속적으로 업데이트되고 있으며 포럼에서 많은 도움을 받을 수 있으며 코드의 수정과 업로드하는 과정을 간단화시킨 근래의 아두이노(Arduino) 환경에서 쉽게 개발할 수 있기 때문입니다. 게다가 메인 칩셋은 Atmel사의 칩으로 C언어로 최적화가 잘되는 마이크로컨트롤러로 알려지며 폭넓게 사용되고 사용자 층이 넓기 때문입니다.


어떤 매니아는 ESC조차도 자작을 시도하는데 이 경우를 제외하면 기체는 Brushless 모터를 포함한 프롭과 ESC, 프레임을 모두 갖춘 보급형 퀴드콥터 기체가 입문자로서 적당할 것입니다. F450 ARF 기체는 중국 DJI사(http://www.dji.com) 제작한 쿼드콥터 기체로 그래도 저렴한 편이며, 최근에 많이 보급되어 프레임이 견적으로 이어지면 쉽게 교환할 수 있는 장점이 있습니다.


Phantom 3


또한 F550 ARF는 헥사콥터(엄밀하게 6개의 Arm을 가짐) 기체용이며 DJI사는 자사의 Naza 시리즈 Flight Controller를 탑재하여 Phantom 시리즈로 조립, 발매하고 있습니다. F450 ARF 기체는 Flight Controller와 송/수신기, 밧데리 등은 제외하고 있으며 스펙은 다음과 같습니다.

    • Frame Weight(기체 무게) : 282g

    • Diagonal Wheelbase(대각선 기체 길이) : 450mm

    • Takeoff Weight(이륙 중량) : 800g ~ 1200g

    • Propeller : 10 x 4.5inch

    • Battery : LiPo(3S 1500mAh ~ 2600mAh)

    • Motor : 2212 ~ 2216(stator size)

    • ESC : 15A ~ 25A



F450 ARF 기체의 외형


F450 ARF 기체의 구성




'Radio Control > etc' 카테고리의 다른 글

Power Distribution Board란?  (0) 2017.03.08
Posted by Nature & Life
Radio Control/ESC2014. 4. 4. 08:49

 

 

 

About

 

This firmware designed as a replacement for many commercially available ESC designs based on the AVR MCU. It implements scalar sensor less method to drive Brushless Motor by detecting BEMF zero-crossing instants. The goal of this project is to create firmware most suitable to use in multi-rotors, using cheap and commercially available hardware.

 

이 펌웨어는 AVR 마이크로콘트롤러(MCU)에 기반을 둔 많은 상업용 ESC의 대체용으로 설계되었습니다. 이것은 BEMF zero-cross 순간을 감지하여 Brushless 모터를 구동하는 Sensorless 방법을 구현하였습니다. 이 프로젝트의 목표는 저렴하고 상업적으로 가능한 멀티로터(Multi-rotor) 기체를 사용하는 데에 가장 적당한 펨웨어를 개발하는 것입니다.

 

Features:

 

  • Fastest possible power response.

  • Up to 4000 steps of resolution.

  • Low noise with comparatively high efficiency (Sigma-delta modulator, instead of fixed frequency PWM)

  • Linear power response. (completely no "bump" at 100%)

  • Jitter-free input PWM measurement without harware assisted input capture.

  • Accepts any PWM update rate

  • Sync recovery.

  • Safe stall detection.

  • Complimentary PWM support (AKA: active freewheeling, active rectification)

  • Fixed throttle end-points. No need to calibrate. (since version 2.0.9 it is also possible to calibrate end-points using stick programming procedure)

  • Automatic oscillator calibration.
    Enhanced PPM filter, preventing accidental motor startup (when FC is rebooted, for example)

  • Configurable. The configuration parameters are stored in EEPROM. The Wii-ESC flash tool has visual parameters editor. No more stick programming.

  • Modularity. The high-level implementation is separated from actual hardware with HAL layer.

  • Portability. The firmware is written in C++, which means it can be easilly ported to different platform.

 

Supported Hardware:

 

For complete mapping between targets and real hardware, it is possible to use RapidESC Database. Currently tested targets:

 

펌웨어와 실제 하드웨어 사이에 완전한 매핑을 위하여 RapidESC 데이타베이스를 사용하는 것이 가능합니다. 현재 검증된 펨웨어는 다음과 같습니다.

 

  • bs.hex

  • bs_nfet.hex

  • bs40a.hex

  • kda.hex

  • qynx.hex

  • rb50a.hex

  • rct30nfs.hex

  • rct45nfs.hex

  • tgy.hex

  • tp.hex

  • tp_nfet.hex

 

다음은 아래의 상업용 HobbyKing BlueSeries 40A(HK40A-bs) ESC에서 APC prop.을 장착하고 원래 출고당시 제품과 SimonK와 Wii-ESC 펌웨어를 탑재하였을 때의 추력 등의 특성을 서로 비교한 데이터입니다.

 

 

 

 

 

 

 

 

마지막으로 상업용 ESC에 재프로그램(reflashing)하는 절차입니다.

 

 

 

 


 

'Radio Control > ESC' 카테고리의 다른 글

RapidESC FAQ's  (0) 2014.06.11
RapidESC Flashing  (0) 2014.06.03
RapidESC란?  (0) 2014.05.26
Wii-ESC에 대한 FAQ  (0) 2014.04.07
Wii-ESC란?  (0) 2014.03.13
Posted by Nature & Life

 

 

모터(motor)란 전기에너지를 이용하여 회전 토크(torque)를 얻는 장치로, RC에서는 로터(rotor)를 회전시켜 양력을 얻기 위해 반드시 필요합니다. 과거에는 DC 모터를 이용하였지만 최근에는 비용을 최소화하기 위한 초소형 기체를 제외하고는 Brushless DC 모터를 채택하게 된다고 알려집니다.

 

Brushless DC 모터란 Brush가 없는 DC 모터로 이하 BLDC로 약칭합니다. BLDC가 대중화된 이유는 여러가지가 있을 것입니다. 아래는 일반적인 DC 모터의 내부 모습니다. 케이스 안쪽에 영구자석을 부착하고 철심(core)에 코일(coil)을 감은 회전자(rotator)를 서로 베어링을 이용해 고정하고 Brush를 이용하여 DC 전압을 회전자에 급전하면 플레밍의 왼손 법칙에 의해 회전하게 됩니다.

 

 

 

 

이때 Brush는 기계적인 기구로 회전자에 의해 접점이 마찰되면서 닳을 수 밖에 구조이며, 회전시 모터의 역기전력(Back Ekectro-motive Force, BEMF)과 합세하여 스파크를 발생시키고 어쿠스틱 소음(acoustic noise)을 만들게 됩니다. 이러한 스파크와 소음은 결국 밧데리의 소모를 부추기게 됩니다.

 

BLDC 모터를 사용하면 우선 Brush로 인한 스파크와 소음이 없어져 반영구적인 모터의 수명 뿐만아니라 밧데리의 효율을 증가시켜 RC 기체의 체공시간을 길게 만들어 줍니다. 또한 일반 DC 모터의 소음은 콘덴서를 모터의 양 단자에 연결하여 줄일 수는 있지만, MCU 기반에 정교하게 동작하는 비행제어기(Flight controller)나 전자변속기(Electronic Speed Controller, ESC)의 오동작을 초래할 수도 있다는 것입니다.

 

기존의 RC 기체는 동력원으로 엔진을 사용하였지만 근래에 밧데리 용량과 방전 특성 그리고 안전성이 크게 개선된데다가 BLDC 모터의 채용으로 중소형 기체에서는 엔진에서 모터로 옮겨가는 추세라는 것입니다. 이로 인하여 엔진을 사용시 연료나 그으름으로 누더기 되었던 기체의 관리가 쉬워졌고 소음이 줄어들어 정숙비행이 가능해졌다는 것입니다.

 

Brush를 사용한 DC 모터와는 달리, BLDC 모터는 철심에 코일이 감긴 고정자(stator)와 안쪽에 자석이 부착된 케이스로 구성되어 케이스가 회전하는 소위 '통돌이 모터'라고도 부릅니다. 하지만 기계적 기구인 Brush가 하던 일을 다른 방식으로 해주어야 하니 전자변속기라는 별도의 제어기가 필요하게 됩니다.

 

 

 

 

RC용 전자변속기는 대부분 마이크로컨트롤러(MCU)와 H-bridge를 구성하는 트랜지스터들과 그 주변회로 구성되며, 현재 회전자의 위치를 파악하여 다음 위치로 회전시키기 위한 구동 신호를 가하는 방식으로 동작합니다.

 

일반적으로 산업용으로 사용되는 BLDC 모터는 엔코더(encoder)라는 장치나 홀센서(Hall sensor)가 모터에 부착되어 회전자의 현재 위치를 알려주는데 RC에 사용되는 BLDC 모터는 이러한 장치가 없어 전자변속기를 더욱 복잡하게 만듭니다. 하지만 고성능 MCU의 출현으로 어렵지 않게 구현이 가능해졌는데 이러한 기술 또한 엔진을 전기모터로 대체하는 요인 중에 하나가 될 것입니다.

 

통상 홀센서를 가지는 BLDC 모터는 전력을 공급받는 3상의 리드선과 별도의 홀센서 리드선이 다수가 필요하여 신뢰성이 중요한 RC 기체에서는 꺼리게 되었지만, 그 보다도 RC 기체가 비행하는 외부조건이 다양한데 홀센서는 이러한 외부조건에 취약하고 [기계적] 엔코더 타입의 모터는 소형화와 경량화가 어렵다는 것입니다.

 

 

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

모터의 토크 발생원리  (2) 2015.12.12
BLDC와 PMSM의 구조  (0) 2015.12.12
BLDC와 PMSM의 토크  (0) 2015.12.10
BLDC vs. PMSM  (0) 2015.12.09
BLDC의 장단점  (0) 2014.04.03
Posted by Nature & Life
Radio Control/ESC2014. 3. 13. 19:46

 

 

ESC는 Electronic Speed Controller의 약자로 우리말로 '전자변속기'라고 부릅니다. ESC는 밧데리로부터 전기를 전기모터에 공급하는 장치로 멀티콥터(Multicopter)를 비롯한 각종 RC 기체에 회전 동력을 필요로 하는 곳에 사용하여 로터(rotor)를 회전시켜 양력을 얻거나, 멀티콥터의 짐벌(gimbal)에 응용하여 기계적 장치를 움직이게 합니다.

 

과거의 엔진기체에는 전기모터가 필요없지만 근래에는 밧데리 용량과 방전 특성이 크게 개선되어 전기모터를 동력원으로 하는 기체가 대중화되었습니다. 기존의 DC 모터를 사용하는 경우, 기계적 브러쉬(brush)로 회전자에 전기를 급전하기에 기계적 접점이 불가피하여 모터가 회전시 스파크나 소음이 발생하는 등 효율이 좋지 않고 모터의 수명 또한 단축되었습니다.

 

최근에는 이러한 기계적 접점을 없앤 브러쉬리스(brushless; BLDC) 모터가 등장하여 소음도 현저히 줄어들고, 반영구적이며, 효율이 개선되어 RC 기체의 정숙비행과 체공시간의 증대로 전동기체가 범람하게 되었습니다. 기존의 DC 모터를 구동하기 위해서는 스로틀(throttle)의 위치에 따라 트랜지스터(transistor)와 같은 액티브 스위치(active switch)를 PWM 형태로 개폐하므로 장치가 간단하지만 브러쉬리스 모터를 사용하는 경우 장치가 매우 복잡해지고 단가가 상승하게 됩니다.

 

 

BLDC 모터를 구동하는 ESC는 8-bit PIC나 AVR 시리즈 등의 마이컴(Micom)으로 정교하게 제어하는 방법을 채택하고, 상용 ESC의 제조사는 하드웨어를 제작하고 여기에 펌웨어(Firmware)를 적절히 튜닝하여 시판하게 됩니다. 최근에는 멀티콥터가 대중화되면서 이에 걸맞는 성능을 갖춘 예를 들어, 빠른 응답 특성을 가진 ESC를 필요로 하게 되었습니다.

 

 

이러한 요구는 전 세계적으로 ESC를 자작(DIY)하려는 매니아나 동호회를 등장시켰습니다. 대다수는 ESC는 동일 클럭에서 속도가 빠르고 내부에 A/D 컨버터나 비교기 등의 고기능을 지원하는 AVR를 사용하는데, 대부분 어셈블러(Assembler) 수준에서 펌웨어를 개발하기 때문에 일반인이 접근하기에는 쉽지 않다는 것입니다.

 

Wii-ESC는 멀티위(MultiWii) 등의 멀티콥터에 최적화된 ESC 펌웨어를 만들기 위한 오프 소스(open source) 펌웨어 개발 프로젝트로 전 세계적으로 여러 사람이 참여하고 있으며, 어셈블러가 아닌 C 언어 기반이므로 일반 매니아층도 펌웨어의 이해와 수정이 가능하여 자기만의 멀티콥터에 최적화된 펌웨어를 구현할 수 있다는 장점이 있습니다.

 

다음은 Wii-ESC 프로젝트의 링크이며 소개를 간단히 번역한 것입니다.

(번역이 원문과 상이하거나 매끄럽지 못한 부분은 댓글로 남겨 주시면 감사하겠습니다)

 

http://code.google.com/p/wii-esc/

 

 

About

This firmware designed as a replacement for many commercially available ESC designs based on the AVR MCU. It implements scalar sensor less method to drive Brushless Motor by detecting BEMF zero-crossing instants. The goal of this project is to create firmware most suitable to use in multi-rotors, using cheap and commercially available hardware.

이 펌웨어는 AVR MCU에 기반을 둔 많은 상용 ESC를 위한 대체용으로 개발되었습니다. 이것은 역기전력(BEMF)이 '0' 레벨을 지나가는 순간(ZC point)를 감지함으로서 BLDC 모터를 구동하는 sensorless method를 구현하였습니다. 이 프로젝트의 목표는 저렴한 상용 하드웨어를 사용하여 멀티콥터에 가장 적합한 펌웨어를 만드는 것입니다.

 

* Sensorless method

BLDC 모터는 센서(sensor)의 유무에 따라 크게 두 가지 구분하는데, CD-ROM 모터로 대표되는 센서를 가진 BLDC 모터는 제어기가 간편해질 수는 있으나 모터에 센서가 장착되어 단가가 올라가고, 혹한 환경에서 센서의 정밀도가 떨어지며, 모터 외부로 추가적인 배선이 요구되는 등 고장이 쉽다는 것입니다. 하지만 센서 없는 BLDC 모터는 이를 구동하는 제어기가 복잡해지는 단점은 있지만, MCU의 지속적인 성능 개선으로 얼마든지 이를 극복할 수 있으므로 근래에 보다 선호하게 되었다는 것입니다.

 

Features:

  • Fastest possible power response.

  • Up to 4000 steps of resolution.

  • Low noise with comparatively high efficiency. (Sigma-delta modulator, instead of fixed frequency PWM)

  • Linear power response. (completely no "bump" at 100%)

  • Jitter-free input PWM measurement without harware assisted input capture.

  • Accepts any PWM update rate.

  • Sync recovery.

  • Safe stall detection.

  • Complimentary PWM support. (AKA: active freewheeling, active rectification)

  • Fixed throttle end-points. No need to calibrate. (since version 2.0.9 it is also possible to calibrate end-points using stick programming procedure)

  • Automatic oscillator calibration.

  • Enhanced PPM filter, preventing accidental motor startup. (when FC is rebooted, for example)

  • Configurable. The configuration parameters are stored in EEPROM. The Wii-ESC flash tool has visual parameters editor. No more stick programming.

  • Modularity. The high-level implementation is separated from actual hardware with HAL layer.

  • Portability. The firmware is written in C++, which means it can be easilly ported to different platform.

 

 

 

'Radio Control > ESC' 카테고리의 다른 글

RapidESC FAQ's  (0) 2014.06.11
RapidESC Flashing  (0) 2014.06.03
RapidESC란?  (0) 2014.05.26
Wii-ESC에 대한 FAQ  (0) 2014.04.07
Wii-ESC 프로젝트의 소개입니다  (0) 2014.04.04
Posted by Nature & Life