HPM APPS v1.8.0上線啦!
文檔路徑
本地路徑
English: hpm_apps/docs/index.html
中文: hpm_apps/docs/index_zh.html
在線文檔:
Englist//hpm-apps.readthedocs.io/en/latest/
中文:https://hpm-apps.readthedocs.io/zh-cn/latest/
代碼倉庫
hpm_apps:
github:https://github.com/hpmicro/hpm_apps
gitee:https://gitee.com/hpmicro/hpm_apps
hpm_sdk:
github:https://github.com/hpmicro/hpm_sdk
gitee:https://gitee.com/hpmicro/hpm_sdk
1
HPM6200四軸伺服驅控方案
?概 述?
HPM6200是來自上海先楫半導體科技有限公司的基于RISC_V內核的32位高性能微控制器。
針對HPM6200系列MCU,先楫半導體推出四軸伺服驅控方案,本方案單軸采用FOC控制,同步計時器實現四軸電機以固定相位差運動。
四軸驅控樣機如下圖所示。
單軸驅控細節圖如下圖所示。
本方案測試電機型號信息如下表所示,如選用其他型號電機,需要重新調整PI控制參數相關宏定義即可。
電機型號 | 極對數 | 編碼器類型 | 分辨率 |
---|---|---|---|
雷賽智能BLM57050 | 2 | 增量式 | 4000count/r |
?軟件方案?
軟件設計主要分為四個部分:預定位,速度/位置環,電流環,S曲線,同步計時器,串口通信和USB通信。
其中全局參數如下表所示。
名稱 | 說明 | 類型 | |
---|---|---|---|
PI參數 | SPEEDLOOP_KP | 速度環kp | 宏定義 |
PI參數 | SPEEDLOOP_KI | 速度環ki | 宏定義 |
PI參數 | SPEEDLOOP_OUTMAX | 速度環輸出最大值 | 宏定義 |
PI參數 | POSITIONLOOP_KP | 位置環kp | 宏定義 |
PI參數 | POSITIONLOOP_KI | 位置環ki | 宏定義 |
PI參數 | POSITIONLOOP_OUTMAX | 位置環輸出最大值 | 宏定義 |
運行模式 | OpMode_Typ | 速度:1位置:0 | 枚舉 |
速度軌跡規劃 | CONSTANT_SPEED_TIME_s | 勻速時間 | 宏定義 |
速度軌跡規劃 | MOVE_SPEED | 運動速度r/s | 宏定義 |
速度軌跡規劃 | MOVE_ACC | 加速度r/s/s | 宏定義 |
速度軌跡規劃 | MOVE_JERK | 加加速度r/s/s/s | 宏定義 |
位置軌跡規劃 | MOVE_RELATIVE_POS_r | 絕對運動位置r | 宏定義 |
位置軌跡規劃 | CYCLE_CNT | 往返運動次數 | 宏定義 |
位置軌跡規劃 | CONTINOUS_RONUD_MOVE_TYPE | 連續往返運動 | 宏定義 |
位置軌跡規劃 | SIGNLE_MOVE_TYPE | 單次往返運動 | 宏定義 |
速度軌跡規劃 | MULTIPLE_MOVE_TYPE | 多次往返運動(以上三種任選一種) | 宏定義 |
速度軌跡規劃 | DWELLTIME_ms | 運行相對距離后停止時間 | 宏定義 |
全局控制 | MOTOR_CONTROL_Global | 結構體 | |
電機參數 | MOTOR_PARA | 結構體 |
具體函數接口如下表所示。
函數接口名稱 | 描述 | 調用狀態 |
---|---|---|
pwm_sync | 同步計時器 | 伺服初始化 |
pmsm0_foc_angle_align | 軸0預定位 | 伺服啟動 |
motor0_highspeed_loop | 軸0電流環 | 50us中斷 |
pos_cmd_gene | 位置軌跡規劃 | 1ms中斷 |
vel_cmd_gene | 速度軌跡規劃 | 1ms中斷 |
motor_speed_ctrl | 速度/位置環 | 1ms中斷 |
?預定位?
上電時,電機轉子位置隨機,編碼器轉子位置與電機轉子存在固定角度差。因此需要將電機轉子位置轉到固定位置,此時既知道編碼器的位置也知道轉子角度。本方案中采用的是在正常運行之前將編碼器轉子位置與電機轉子位置重合的方法。
主要實現步驟分為三步:
電角度90°,逐步增大 d軸電流到限幅;
保持d軸電流,逐步減小電角度至0度;
保持電角度為0度,逐步減小d軸電流至0。
?電流環?
pwm通道產生比較中斷,中斷內執行電流環。電路環回路主要有兩部分工作:
電流幅值更新:ADC采樣三相電流,以及經過CLARK,PARK變換后成為DQ軸直流分量。電流環PI控制器控制DQ軸電流
電角度更新:QEI模塊獲得電機反饋位置,再根據電機極對數計算得出電角度
?軌跡規劃?
電機在啟停時,速度存在階躍的情況。電機速度的突變可能會導致電流過載。所以通常用加減速控制算法來規劃電機速度。
在本方案中,我們使用的是電機庫中的軌跡規劃算法——S曲線,通過可變加加速度大小來控制加速度的變化,保證加速度不突變,使得加減速的速度曲線平滑,電機更平穩運行。
這里以運動軸0為例,簡單介紹下如何使用電機庫中的軌跡規劃算法:
(1)添加電機庫
將hpm_motor添加到middleware文件夾下
工程引用hpm_motor庫
更多細節請查看電機庫使用說明文檔。(hpm_apps/middleware/hpm_motor/doc)
(2)對配置參數結構體的各成員賦值
定義結構體變量
CMDGENE_PARA cmdpar[4] = {0};
速度模式下
配置cmdpar[0].cmdgene_in_par.velcfgpar
位置模式下
配置cmdpar[0].cmdgene_in_par.poscfgpar
(3)軌跡生成
軸0使能后,在1ms中斷內調用軌跡生成函數,獲得對應時間序列的速度指令、位置指令
速度模式下:vel_cmd_gene
位置模式下:pos_cmd_gene
(4)軌跡規劃重置
API:cmd_gene_disable
清除軌跡規劃中間變量,以便再次對用戶指定的PTP運動的起點,終點,速度規劃算法,計算連接各點的加速度,加加速度,由此再推算出各點的位置,速度。
?速度/位置環?
計時器產生1ms中斷,控制速度環/位置環更新:
速度/位置指令
反饋位置/反饋速度
?同步計時器?
通過配置連接到PWM的同步觸發輸入SYNCI模塊,讓四個電機以一定的相位差開啟運動。
?UART/USB通信?
為了方便用戶控制電機,支持用UART或USB調試工具下發運動指令,用戶可在cmakelist文件中選擇使用UART或USB。MCU根據接收到的運動指令進行相應的運動。
2
Ethercat master 更新
Ethercat 主站使用開源SOEM, 當前版本主要更新以下內容:
優化延時抖動。實測掛載25臺從站設備,抖動在20us以內。
優化減少RAM資源使用。
支持在裸機和RTOS下運行。
由于 SOEM 開源協議的限制,故源代碼不會放在 hpm_apps 中,請自行下載源代碼并放到middleware目錄下即可。
SOEM 下載鏈接:https://github.com/hpmicro/ethercat_soem/releases。
3
其 他
全系列適配SDK1.8.0
修復HPM二級BOOT固件升級方案user_app linker文件缺少變量的問題
修復hpm_monitor服務UART通道DMA傳輸時地址轉換錯誤的問題
?完 結?
在使用過程中有任何疑問或者建議,歡迎在github對應項目中提交。
-
微控制器
+關注
關注
48文章
7661瀏覽量
152194 -
RISC-V
+關注
關注
45文章
2330瀏覽量
46685 -
先楫半導體
+關注
關注
10文章
234瀏覽量
2212
發布評論請先 登錄
相關推薦
上新?|?HPM6E80高壓伺服EtherCAT驅動器方案
![上新?|?<b class='flag-5'>HPM</b>6E80高壓<b class='flag-5'>伺服</b>EtherCAT驅動器<b class='flag-5'>方案</b>](https://file.elecfans.com/web2/M00/37/D7/pYYBAGI9l9uAOwALAAAmFmqVYdg094.png)
HPM_SDK V1.8.0支持Ethernet/IP工業以太網協議棧
![<b class='flag-5'>HPM</b>_SDK <b class='flag-5'>V1.8.0</b>支持Ethernet/IP工業以太網協議棧](https://file.elecfans.com/web2/M00/37/D7/pYYBAGI9l9uAOwALAAAmFmqVYdg094.png)
HPM6E80高壓伺服EtherCAT驅動器方案
![<b class='flag-5'>HPM</b>6E80高壓<b class='flag-5'>伺服</b>EtherCAT驅動器<b class='flag-5'>方案</b>](https://file1.elecfans.com/web3/M00/05/66/wKgZPGd_fxyAC6ztAAAO8RvYXAc173.jpg)
HPMicroMonitorStudio 哪里找
GUI Guider V1.8.0全新版本正式上線
支持HPM6E00!HPMicro Pintool Web v0.3.1正式上線!
![支持<b class='flag-5'>HPM</b>6E00!HPMicro Pintool Web <b class='flag-5'>v</b>0.3.1正式<b class='flag-5'>上線</b>!](https://file.elecfans.com/web2/M00/02/C4/pYYBAGDSzfeAP86XAAAO5PbqJbI698.png)
先楫半導體hpm_sdk v1.6.0上線
![先楫半導體<b class='flag-5'>hpm</b>_sdk <b class='flag-5'>v</b>1.6.0<b class='flag-5'>上線</b>](https://file.elecfans.com/web2/M00/37/D7/pYYBAGI9l9uAOwALAAAmFmqVYdg094.png)
Andes晶心、經緯恒潤暨先楫半導體三方攜手共筑RISC-V AUTOSAR軟件生態
![Andes晶心、經緯恒潤暨先楫半導體三方攜手共筑RISC-<b class='flag-5'>V</b> AUTOSAR軟件生態](https://file.elecfans.com/web2/M00/37/D7/pYYBAGI9l9uAOwALAAAmFmqVYdg094.png)
評論