無刷馬達的控制..

在這個學習中使用了搖控直升機的 無刷馬達和電子變速器(ESC)
使用材料:
Align ESC BL15X
Align BL250 Brushless motor



















動作說明:
提升馬達速度, 降低馬達速度, 暫停..

Code:
#include

Servo myservo;

void setSpeed(int speed)
{
int val = map(speed, 0, 100, 0, 180);
myservo.write(val);
}
void setup()
{
Serial.begin(115200);
myservo.attach(9);
}
void loop()
{
Serial.println("System Ready !!! Hit the 1 ");
do{ if ( Serial.read() == '1' ) break; } while(1);


int speed;

Serial.println("Throttle up");
for(speed = 37; speed <= 90; speed += 1) { setSpeed(speed); Serial.println(speed); delay(100); } setSpeed(30); delay(1000); Serial.println("Throttle down"); for(speed = 90; speed > 37; speed -= 1) {
setSpeed(speed);
Serial.println(speed);
delay(100);
}
Serial.println("waiting for 5 sec...");
setSpeed(30);
delay(5000);
}

//=============================
另外也可以用程式..取代使用遙控器油門設定電變(ESC)的方式
例如電變的 緩啟動, 煞車模式, 截止電壓...等..
依照不同廠商生產不同的電變而有所差異..

Code:
// 程式設定ESC 狀態
void AdjustESC ()
{
//plug ESC Battery first, when ESC start music ready, enter "1" in serial window
Serial.println("Enter Setup Mode");
do{ if ( Serial.read() == '1' ) break;
setSpeed(90);
} while(1);
delay ( 2000 );
setSpeed(30);

// waiting for ESC edit mode music and into brake edit mode,
// then enter "1" in serial window
Serial.println("Break Mode - soft Brake");
do{ if ( Serial.read() == '1' ) break; } while(1);
setSpeed(50);


Serial.println("Electronic Timing -Mid timing");
do{ if ( Serial.read() == '1' ) break; } while(1);
setSpeed(50);


Serial.println("Battery Protection - High cut off voltage protection");
do{ if ( Serial.read() == '1' ) break; } while(1);
setSpeed(30);


Serial.println("Aircraft Mode - normal airplane");
do{ if ( Serial.read() == '1' ) break; } while(1);
setSpeed(30);


Serial.println("Throttle response speed - Quick speed");
do{ if ( Serial.read() == '1' ) break; } while(1);
setSpeed(90);


Serial.println("BEC output voltage - 5.5V");
do{ if ( Serial.read() == '1' ) break; } while(1);
setSpeed(50);

}

影片:

5 則留言:

  1. 你好 無刷馬達和電子變速器(ESC) 前些日子我也玩過
    因為航模不須反轉 所以沒有這功能
    須買 車模的電子變速器(ESC)才有反轉功能

    回覆刪除
  2. Tommy Lin您好,我是最近碰到這類的學生,我們打算自製一架4軸飛行器,我想請問一下,在使用您這個程式的時候,需要使用到遙控器嗎?如果不需要的話,那又是如何從電腦上控制馬達的轉速快慢?拜託您解惑了,萬分感謝

    回覆刪除
  3. 這是用 PWM 控制轉速,
    這次沒有加入遙控器,
    你要的4軸飛行器網路上有Open Source,
    建議你先去研究source code 就會明白整個運作和原理了,
    我的部落格就有介紹4軸飛行器.

    回覆刪除
  4. 好的!!感謝您的回答!我會先研究PWM控制轉速,之後再進階到遙控。實在感謝

    回覆刪除