返回討論區
 列印本文  

本篇主題:BLDC+PID 控制
請教各位大大們: 目前我硬體部分 MCU+IGBT+MOS FET + 有感BLDC 軟體是取得每次換相消耗的時間計數值 然後丟給 PID函數去計算 必須補償的PWM 的Duty Cycle 我的疑問是 每次換相後就去用PID 函數補償一次 或是 等待固定時間後 再去用PID 函數補償一次 哪一種方法比較好

本話題由 高峻輝 於2008-04-18 00:00:00 發表 
目前共有6人回覆,最後回覆時間: 2008-04-23 17:55:20


 BLDC+PID 控制  林聖賢  2008-04-18 12:51:38
一般都是一段時間去補償一次 但是在這段時間會取總回授值(多少回饋pulse)來計算 其他大大的方式也提出參考參考

top


 BLDC+PID 控制  高峻輝  2008-04-18 13:23:06
取回PULSE 的方式 不考慮 因為原先的程式就是用PULSE數 卻發現 低速時(175RPM~375RPM)會因為取樣PULSE數不足 造成轉速補償不夠靈敏 最壞狀況時馬達會有短暫的停格現象 所以目前改成以換相時間來作PID 補償

top


 BLDC+PID 控制  林聖賢  2008-04-19 21:23:20
有些晶片內含回授計時的功能 所以是應用在低轉速情況下的處理 我還沒有使用過,有空來寫寫看

top


 BLDC+PID 控制  楊志明  2008-04-21 09:22:56
會有抖動或停格,應該是換相時間出問題所致 建議程式中將換相控制與轉速控制(PID)分離開來執行 轉速控制在主程式中定時執行即可 換相與轉速計算則由中斷來執行

top


 BLDC+PID 控制  高峻輝  2008-04-23 11:22:58
當然是這樣做 只是我所謂的 停格 是因為 PID 取樣時間太慢 (以一圈18次換相,200RPM來看) 200RPM/60Second=3.333(圈/秒)..... 3.33333333*18(每圈換相次數)=60次 1(Second)/60次=0.016(16mS) <----每次換相至少要花的時間 由於在我的速率中 200RPM他是第二個速階(最慢的時候是175RPM = =) 所以 16mS*2=32mS <--- 2次換相至少要花的時間(太慢了1秒最多補償31次) 萬一碰到負重太大時要好久才能補償到足夠的速度 這是之前用 PULSE 方式時的問題 改用以時間當PID參數時沒這個問題 只是我在想我的應用 對速度穩定要求很大 那是不是應該把PID也放在換相之後就做一次(太快時可以馬上降下來) 當然以時間中斷部分也有PID用來處理目標換相時間過了卻還沒換相 不知各為大大覺得如何^^

top


 BLDC+PID 控制  周政彥  2008-04-23 17:55:20
每次換相後會得到一個新的速度值,此時計算一次P 和 D 是滿合理的 但是 I 的部份,若是每換相一次才計算一次,會造成速度愈快,等效 KI 愈大,也就是說,變成 KI 非常數,這樣的穩定性如何,值得在學術理論上討論 但是在實用上,還是可以調出一個滿穩定,性能也滿好的控制系統

top


欲回應此篇文章,請先登入!