国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

MC SDK 5.x中增加位置環

發布時間:2020-5-13 10:56    發布者:嵌入式人生17
MC SDK 5.x中增加位置環
前言
MC SDK 5.x中有兩個環路控制,分別是電流環和速度環,有些應用需要使用到位置環,比如無人機的云臺電機控制,地鐵閘機等等應用,本文將闡述如何在現有ST電機庫基礎上增加簡易的位置環。
01理論基礎
以表貼電機為例,一般的FOC電機控制是兩環控制,速度環+電流環的控制方式,速度環為外環,電流環為內環,
Idref = 0(d軸電流參考為0)的控制為常見控制;參考速度環輸出參考轉矩后供后端電流環路;
如果增加位置環最簡單和直接的方式即為將速度環換為位置環,即變為位置環+電流環的方式:
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps26.pngfile:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps27.png
如果在有減速齒輪電機上,需要加入速度環以便更快速的到達給定位置,也就是三環控制:位置環+速度環+電流環,框圖如下:
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps28.png
為了方便控制,以及考慮精度問題,角度單位為rad*10000,比如電機轉動10圈,也就是10圈后的位置,則該位置的設定角度為:
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps29.png
位置環采用的是線性系數乘以系數直接輸出到速度的參考:
當前位置的角度數字量計算如下:
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps30.png
02位置環控制改進
在三環控制中,不可避免的會涉及到加速度的計算,正?刂七^程為:加速→勻速→減速→定位過程
那么會涉及到加速度以及定位階段的控制,這邊我們可以按照加速度與速度差成反比,而定位階段可以直接設定速度為0,但
是實際使用過程中我們會發現直接直接的速度模式在定位階段力量有限,方法一:PID 需要特別設定,更能夠定位到給定位
置,方法二:拋開速度環,直接力矩控制,實際控制框圖如下:
03具體操作步驟
3.1創建編碼器可以正常運行的工程
首先要建立可以正常運行的位置傳感器為編碼器(ENCODER)的電機工程,本文所使用的是NUCLEO-F303RE(控制板) + IHM07M1(功率板) + Shinano LA052-080E3NL1(電機)
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps31.png
3.2生成工程并調試運行
產生編碼器工程并且保證電機正常運行,為后續動作做準備,同時配置DAC的兩路User數據輸出
3.3增加以下變量或函數用于位置環控制
1) 位置環PID結構體PID_Handle_t PIDAngleHandle_M1
2) 位置控制的結構體Position_Handle_t
3) 位置角度誤差Position_GetErrorAngle
4) 位置環速度參考輸出計算Position_CalcSpeedReferrence
5) 位置環力矩參考輸出計算Position_CalcTorqueReferrence
具體參考mc_position.h以及mc_position.c
3.4 mc_task.c文件修改
3.4.1增加頭文件
mc_task.c中包含頭文件
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps32.jpg
3.4.2初始化位置環PID參數
MCboot()函數中增加角度PID初始化函數
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps33.jpg
3.4.3定位后初始測量角度清零
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps34.jpg
3.4.4增加DAC輸出測試程序
函數TSK_HighFrequencyTask()中增加用戶DAC輸出信號更新數據,將目標角度(位置)以及測量角度(位置)通過DAC輸出到示波器
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps35.jpg
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps36.jpg
3.4.5增加位置控制程序
mc_task.c的中頻任務函數TSK_MediumFrequencyTaskM1中增加位置環差值數據計算,根據差值計算,當差值在閾值之上的話進行速度控制,否則則進行力矩控制,在RUN下調用下面代碼:
(滑動圖片瀏覽,點擊圖片放大查看)
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps37.jpg
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps38.jpgfile:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps39.jpg
3.4.6修改參考電流計算
如果差值縮小到一定范圍內,則進行力矩控制,在函數FOC_CalcCurrRef中進行調用
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps40.jpg
3.5電機累計圈數計算
stm32f30x_mc_it.c文件的 SPD_TIM_M1_IRQHandler函數中增加編碼器位置累加程序用于計算電機轉動的圈數,用于多圈馬達轉動控制;
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps41.jpgfile:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps42.jpg
04增加測試代碼
main函數中while(1)中增加測試代碼,我們先用0—90度電機一圈內的轉動來測定角度控制PID
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps43.jpg
05測定角度PID參數
可以使用DAC將參考電角度和實際電角度輸出,觀察角度的變化,調節位置環的PID參數,從而達到快速準確的位置定位;定位實現后可以手動炫動電機,看到電機依然可以正;貧w到給定位置。數據輸出范圍限制,可以使用0到90度來回位置變動來測試;
下面幾張圖是調整不同位置PI參數得到的不同運行結果,同樣是由0度角變動為90度角的過程;
Kp = 10000/4096, Ki = 0/32768, 波形震蕩狀態
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps44.jpg
Kp = 100/4096, Ki = 0/32768,實際電機位置明顯滯后
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps45.jpg
Kp = 3000/4096, Ki = 2/32768,波形震蕩后收斂
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps46.jpg
Kp = 3000/4096, Ki = 10/32768,基本上當前負載下基本穩定
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps47.jpg
06必要時增加微分項調節
如果需要快速調節,需要增加微分項,也就是PID調節,庫中的微分項默認是屏蔽的,因此,需要修改pid_regulator.c中的代碼,打開PID函數,如下圖:
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps48.jpg
07電機轉動多圈位置環測試
將位置設定為0—50*360度(電機轉動50圈)的位置變動
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps49.jpg
實際運行效果
位置偏差較大時,電機加速到最大速度,偏差小時將進入力矩控制模式,直到目標位置,在目標位置直接力矩鎖定。
設定位置角度值在0ß→3141600 (電機轉動50圈) 實際速度與參考速度曲線
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25364\wps50.jpg
08擴展說明
1. 本文中使用的是相對位置編碼器,如果實際過程中所使用的是絕對位置編碼器,則需要增加讀取絕對位置編碼器的程序;
2. 如果是線性位置運動,則位置參量需要修改為角度所對應的線性位置,從而進行有效運算;
3. 對于PID調節部分本文只是根據實際波形DAC輸出進行調整,理論以及有賴于后期研究;
4. 三環控制環路,兩兩環路調整比較好些,調好后再進行三環測試。
5. 本文的位置輸出到速度的Kp值沒細致考量,這個部分可根據實際應用自行調整。

本文地址:http://m.qingdxww.cn/thread-588543-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 利用SAM E54 Xplained Pro評估工具包演示CAN轉USB橋接器以及基于CAN的主機和自舉程序應用程序
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 幻女与人xx00毛片免费 | 色啪视频 | 美女网站免费福利视频 | 亚洲欧美一区二区三区国产精品 | 天天干天天干天天插 | 四虎精品成人免费影视 | 男人和女人真曰批全过程 | 久热香蕉在线爽青青 | 神兵小将第一季免费观看完整版 | 4438成人 | 欧美在线观看视频免费 | 亚欧成人在线 | 国内精品久久久久影院免费 | 免费自拍偷拍 | 国产亚洲一区二区三区 | 国产精品高清全国免费观看 | 久久er热这里只有精品23 | 亚洲影院一区 | 国产精品久久久久久久 | 97国产蝌蚪视频在线观看 | 色视频免费网站 | 国产在线第一区二区三区可以下载 | 免费一级a毛片在线搐放正片 | 欧美天堂在线观看 | 麻豆高清视频在线观看 | 色噜噜狠狠色综合网图区 | 一区二区国产在线播放 | 久草免费在线观看 | 2021国产精品自在拍在线播放 | 青青青国产免费全部免费观看 | 奇米视频7777 | 国产精品入口在线看麻豆 | 蜜臀在线播放 | 天堂在线最新版资源www | 2018国产精品 | 免费观看老外特级毛片 | 草小妹 | 在线免费观看日本视频 | 久久久久久久久久久9精品视频 | 国产区精品福利在线社区 | 日韩 亚洲 制服 欧美 综合 |