Micropython 飛控 驅(qū)動(dòng) 4.無刷電機(jī)

一、介紹
無刷電機(jī)是通過電調(diào)進(jìn)行控制的,通過對(duì)PWM的調(diào)整控制電機(jī)轉(zhuǎn)速
二、代碼

# 控制電機(jī)函數(shù)

from pyb import Timer,Pin,ADC
import time

class Motor():
    # 電機(jī)pwm初始化
    def __init__(self,isInit=False):
        timerMotor_1 = Timer(3, freq=50)
        timerMotor_2 = Timer(4, freq=50)
        self.motor1 = timerMotor_1.channel(1, Timer.PWM, pin=Pin('B4'))
        self.motor2 = timerMotor_1.channel(2, Timer.PWM, pin=Pin('B5'))
        self.motor3 = timerMotor_2.channel(3, Timer.PWM, pin=Pin('B8'))
        self.motor4 = timerMotor_2.channel(4, Timer.PWM, pin=Pin('B9'))
        self.motors = [self.motor1,self.motor2,self.motor3,self.motor4]
        # self.x = ADC(Pin('X2'))
        # self.btn_stop = Pin('X4',Pin.IN)
        if not isInit:
            for moto in self.motors:
                self.MotoSet(moto)
            time.sleep(1)
        self.MotosPwmUpdate([0,0,0,0])
    # 電機(jī)初始化 設(shè)置最高油門和最低油門
    def MotoSet(self,moto):
        moto.pulse_width_percent(10)
        time.sleep(2)
        moto.pulse_width_percent(5)

    # pwm 更新函數(shù) 1
    # 可以用于調(diào)試單個(gè)電機(jī)
    def MotoPwmUpdate(self,n,pwm):
        if pwm < 0 or pwm > 100:
            return None
        self.motors[n].pulse_width_percent(5 + pwm*5/100)

    # pwm 更新函數(shù) 2
    # 用于實(shí)際飛行
    def MotosPwmUpdate(self,pwms):
        
        for moto,pwm in zip(self.motors,pwms):
            moto.pulse_width_percent(5 + pwm*5/100)

    # 電機(jī)停止轉(zhuǎn)動(dòng)
    # 用于緊急制動(dòng)和測(cè)試
    def MotoStop(self):
        for moto in self.motors:
            moto.pulse_width_percent(5)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 伺服電機(jī)主要適用于那些需要角度不斷變化并可以保持的控制系統(tǒng),我們常見的的機(jī)械臂、多足機(jī)器人、攝像頭云臺(tái)等都可以用伺...
    vctea閱讀 6,548評(píng)論 1 18
  • 直流電機(jī)是機(jī)器人行走機(jī)構(gòu)的理想選擇之一,我們通常使用直流電機(jī)來驅(qū)動(dòng)機(jī)器人行走。在第5章和第6章您已經(jīng)了解到如何用樹...
    vctea閱讀 14,197評(píng)論 8 28
  • 小時(shí)候,一家人每年最期盼的日子,就是過年的時(shí)候。每到過年,外地生活的兒女們,是一定要背著幾大包年貨,攜家?guī)Э?..
    江心慕白閱讀 568評(píng)論 2 10
  • Hello World ! 英文字體很漂亮~ I like it ! See You ~ こにちは! 愛してる 殘...
    9d072aea39ea閱讀 195評(píng)論 0 0
  • 今天做一個(gè)需求:從頂部彈出一個(gè)視圖,一段延時(shí)后該視圖自動(dòng)消失或者點(diǎn)擊該視圖使其消失。于是打算從頂部彈出一個(gè)butt...
    白菜松閱讀 260評(píng)論 0 0

友情鏈接更多精彩內(nèi)容