無刷有感電機(jī)PID調(diào)試心得
一、換相脈寬采集的方法
通常來講,換相脈寬的采集精度越高越好,但也受MCU內(nèi)部資料的限制,如果有多余的16位的定時(shí)器,那就不用猶豫了,云臺(tái)無刷電機(jī)直接用它來作換相脈寬的計(jì)數(shù)吧,精度可高達(dá)1us,要是沒有這個(gè)16位的定時(shí)器那就只能用8位的定時(shí)器然后再在定時(shí)器中斷里面自己人為累計(jì)計(jì)數(shù)值咯。
二、PID的運(yùn)算時(shí)間如何定?
1、換相6次后運(yùn)行一次PID
對(duì)于無刷電機(jī)而言,由于不同電機(jī)結(jié)構(gòu)之間的微小差異以及霍爾裝配上的誤差等問題,通常不要每采集一個(gè)脈寬值就進(jìn)行PID運(yùn)算,這樣容易引起電機(jī)抖動(dòng),好的做法是:采集一個(gè)完整的運(yùn)行周期(也就是6個(gè)換相期),然后把這6個(gè)換相周期累加取平均值,從而得出當(dāng)前的轉(zhuǎn)速值。一旦得到一次新的轉(zhuǎn)速值,東莞動(dòng)力電機(jī),就可以進(jìn)行一次PID運(yùn)算。
2、限定一個(gè)最長(zhǎng)的強(qiáng)制運(yùn)算PID的時(shí)間
當(dāng)在一段時(shí)間內(nèi)(主要在低轉(zhuǎn)速),航模電機(jī),MCU一直沒有獲得新的轉(zhuǎn)速值,那么這時(shí)候就需要強(qiáng)行進(jìn)行PID運(yùn)算,以重新獲得新的功率值,以下為強(qiáng)行運(yùn)算PID的參考時(shí)間:40MS-150MS之間
三、如何消除電機(jī)的靜態(tài)抖動(dòng)?
1、當(dāng)采集到的脈寬值與設(shè)定的脈寬值相差很小EKA1(不是零哦),不需要進(jìn)行PID運(yùn)算,也就是程序直接返回,不進(jìn)行算法運(yùn)算。
2、當(dāng)采集到的脈寬值與設(shè)定的脈寬值相差不大EKA2(EKA1 < EKA2)時(shí),不進(jìn)行PID運(yùn)算,而是進(jìn)行功率值的加1或減1處理,這是個(gè)微調(diào)功率的方法。
3、當(dāng)采集到的脈寬值與設(shè)定的脈寬值相差比較大EKA3(EKA2 < EKA3)時(shí),這時(shí)候大但的調(diào)用你的PID算法吧。