ブラシレスモーター超低速駆動

youtubeの動画でブラシレスモーター関連の動画を漁っていると、ハンパないものを見つけました。

ステッピングモーターと同等の動作をブラシレスモーターで実現できています。
もうブラシ付きモーター等の時代は終わった!小型用途以外のモーターはなんでもブラシレスや!
とか思いつつ、上記の動画のようなことがもしかして私にもできる・・・?と調子乗って実験してみました。


前に作ったESCモドキに疑似正弦波
(1Hzの3相サイン波を128分割して、PWM出力の強弱情報に変換)
を送ってモーターを回します。
PWM発生装置にはmbed LPC1114FN28を使用しました。
(逆起電力が回り込んでぶっ壊れても、土台さえ生きてれば200円で復活できるから小規模開発に便利)

使ったプログラム

#include "mbed.h"
DigitalOut v33(LED2);
DigitalOut led(LED1);
PwmOut coilA(dp24);
PwmOut coilB(dp2);
PwmOut coilC(dp18);
unsigned char stepA = 20;
unsigned char stepB = 63;
unsigned char stepC = 106;
unsigned long count = 0;
const unsigned char sinwave[128] = {
127,133,139,146,152,158,164,170,176,181,187,192,198,203,208,212,217,221,225,229,233,236,239,242,244,247,249,250,252,253,253,254,
254,254,253,253,252,250,249,247,244,242,239,236,233,229,225,221,217,212,208,203,198,192,187,181,176,170,164,158,152,146,139,133,
127,121,115,108,102, 96, 90, 84, 78, 73, 67, 62, 56, 51, 46, 42, 37, 33, 29, 25, 21, 18, 15, 12, 10,  7,  5,  4,  2,  1,  1,  0,
0,  0,  1,  1,  2,  4,  5,  7, 10, 12, 15, 18, 21, 25, 29, 33, 37, 42, 46, 51, 56, 62, 67, 73, 78, 84, 90, 96,102,108,115,121
};
int main(){
v33 = 0;
led = 0;
coilA.period_us(62);
coilB.period_us(62);
coilC.period_us(62);
coilA = 0.0;
coilB = 0.0;
coilC = 0.0;
wait(10.0);
v33 = 1;
led = 1;
wait(1.0);
//回転
while(++count <= 5000){
stepA = (stepA+1) % 128;
stepB = (stepB+1) % 128;
stepC = (stepC+1) % 128;
coilA = (float)sinwave[stepA] / 255.0;
coilB = (float)sinwave[stepB] / 255.0;
coilC = (float)sinwave[stepC] / 255.0;
wait_ms(10);
}
coilA = 0.0;
coilB = 0.0;
coilC = 0.0;
count = 0;
led = 0;
wait(5.0);
//逆回転?
while(++count <= 5000){
stepA = ((stepA == 0)? 127:stepA-1) % 128;
stepB = ((stepB == 0)? 127:stepB-1) % 128;
stepC = ((stepC == 0)? 127:stepC-1) % 128;
coilA = (float)sinwave[stepA] / 255.0;
coilB = (float)sinwave[stepB] / 255.0;
coilC = (float)sinwave[stepC] / 255.0;
wait_ms(10);
}
coilA = 0.0;
coilB = 0.0;
coilC = 0.0;
count = 0;
led = 1;
return 0;
}

結果、超低速で回すことはできたものの、なんかガクガクしてて五月蝿いです。
(ニコニコにも簡単な説明付きで同じ動画をあげてます)

ジンバル用モーターを使えばもっとスムーズにできるのか、そもそもの回路設計が間違っているのかちょっとわかりませんが・・。
まぁなんにしても個人がルネサスには勝てないってことが分かりました!
さて。ジンバルでも作るか・・・。


2 comments to this article

コメントを残す