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