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四軸伺服驅(qū)控方案
?概 述?
HPM6200是來自上海先楫半導(dǎo)體科技有限公司的基于RISC_V內(nèi)核的32位高性能微控制器。
針對HPM6200系列MCU,先楫半導(dǎo)體推出四軸伺服驅(qū)控方案,本方案單軸采用FOC控制,同步計時器實現(xiàn)四軸電機以固定相位差運動。
四軸驅(qū)控樣機如下圖所示。
單軸驅(qū)控細(xì)節(jié)圖如下圖所示。
本方案測試電機型號信息如下表所示,如選用其他型號電機,需要重新調(diào)整PI控制參數(shù)相關(guān)宏定義即可。
電機型號 | 極對數(shù) | 編碼器類型 | 分辨率 |
---|---|---|---|
雷賽智能BLM57050 | 2 | 增量式 | 4000count/r |
?軟件方案?
軟件設(shè)計主要分為四個部分:預(yù)定位,速度/位置環(huán),電流環(huán),S曲線,同步計時器,串口通信和USB通信。
其中全局參數(shù)如下表所示。
名稱 | 說明 | 類型 | |
---|---|---|---|
PI參數(shù) | SPEEDLOOP_KP | 速度環(huán)kp | 宏定義 |
PI參數(shù) | SPEEDLOOP_KI | 速度環(huán)ki | 宏定義 |
PI參數(shù) | SPEEDLOOP_OUTMAX | 速度環(huán)輸出最大值 | 宏定義 |
PI參數(shù) | POSITIONLOOP_KP | 位置環(huán)kp | 宏定義 |
PI參數(shù) | POSITIONLOOP_KI | 位置環(huán)ki | 宏定義 |
PI參數(shù) | POSITIONLOOP_OUTMAX | 位置環(huán)輸出最大值 | 宏定義 |
運行模式 | OpMode_Typ | 速度:1位置:0 | 枚舉 |
速度軌跡規(guī)劃 | CONSTANT_SPEED_TIME_s | 勻速時間 | 宏定義 |
速度軌跡規(guī)劃 | MOVE_SPEED | 運動速度r/s | 宏定義 |
速度軌跡規(guī)劃 | MOVE_ACC | 加速度r/s/s | 宏定義 |
速度軌跡規(guī)劃 | MOVE_JERK | 加加速度r/s/s/s | 宏定義 |
位置軌跡規(guī)劃 | MOVE_RELATIVE_POS_r | 絕對運動位置r | 宏定義 |
位置軌跡規(guī)劃 | CYCLE_CNT | 往返運動次數(shù) | 宏定義 |
位置軌跡規(guī)劃 | CONTINOUS_RONUD_MOVE_TYPE | 連續(xù)往返運動 | 宏定義 |
位置軌跡規(guī)劃 | SIGNLE_MOVE_TYPE | 單次往返運動 | 宏定義 |
速度軌跡規(guī)劃 | MULTIPLE_MOVE_TYPE | 多次往返運動(以上三種任選一種) | 宏定義 |
速度軌跡規(guī)劃 | DWELLTIME_ms | 運行相對距離后停止時間 | 宏定義 |
全局控制 | MOTOR_CONTROL_Global | 結(jié)構(gòu)體 | |
電機參數(shù) | MOTOR_PARA | 結(jié)構(gòu)體 |
具體函數(shù)接口如下表所示。
函數(shù)接口名稱 | 描述 | 調(diào)用狀態(tài) |
---|---|---|
pwm_sync | 同步計時器 | 伺服初始化 |
pmsm0_foc_angle_align | 軸0預(yù)定位 | 伺服啟動 |
motor0_highspeed_loop | 軸0電流環(huán) | 50us中斷 |
pos_cmd_gene | 位置軌跡規(guī)劃 | 1ms中斷 |
vel_cmd_gene | 速度軌跡規(guī)劃 | 1ms中斷 |
motor_speed_ctrl | 速度/位置環(huán) | 1ms中斷 |
?預(yù)定位?
上電時,電機轉(zhuǎn)子位置隨機,編碼器轉(zhuǎn)子位置與電機轉(zhuǎn)子存在固定角度差。因此需要將電機轉(zhuǎn)子位置轉(zhuǎn)到固定位置,此時既知道編碼器的位置也知道轉(zhuǎn)子角度。本方案中采用的是在正常運行之前將編碼器轉(zhuǎn)子位置與電機轉(zhuǎn)子位置重合的方法。
主要實現(xiàn)步驟分為三步:
電角度90°,逐步增大 d軸電流到限幅;
保持d軸電流,逐步減小電角度至0度;
保持電角度為0度,逐步減小d軸電流至0。
?電流環(huán)?
pwm通道產(chǎn)生比較中斷,中斷內(nèi)執(zhí)行電流環(huán)。電路環(huán)回路主要有兩部分工作:
電流幅值更新:ADC采樣三相電流,以及經(jīng)過CLARK,PARK變換后成為DQ軸直流分量。電流環(huán)PI控制器控制DQ軸電流
電角度更新:QEI模塊獲得電機反饋位置,再根據(jù)電機極對數(shù)計算得出電角度
?軌跡規(guī)劃?
電機在啟停時,速度存在階躍的情況。電機速度的突變可能會導(dǎo)致電流過載。所以通常用加減速控制算法來規(guī)劃電機速度。
在本方案中,我們使用的是電機庫中的軌跡規(guī)劃算法——S曲線,通過可變加加速度大小來控制加速度的變化,保證加速度不突變,使得加減速的速度曲線平滑,電機更平穩(wěn)運行。
這里以運動軸0為例,簡單介紹下如何使用電機庫中的軌跡規(guī)劃算法:
(1)添加電機庫
將hpm_motor添加到middleware文件夾下
工程引用hpm_motor庫
更多細(xì)節(jié)請查看電機庫使用說明文檔。(hpm_apps/middleware/hpm_motor/doc)
(2)對配置參數(shù)結(jié)構(gòu)體的各成員賦值
定義結(jié)構(gòu)體變量
CMDGENE_PARA cmdpar[4] = {0};
速度模式下
配置cmdpar[0].cmdgene_in_par.velcfgpar
位置模式下
配置cmdpar[0].cmdgene_in_par.poscfgpar
(3)軌跡生成
軸0使能后,在1ms中斷內(nèi)調(diào)用軌跡生成函數(shù),獲得對應(yīng)時間序列的速度指令、位置指令
速度模式下:vel_cmd_gene
位置模式下:pos_cmd_gene
(4)軌跡規(guī)劃重置
API:cmd_gene_disable
清除軌跡規(guī)劃中間變量,以便再次對用戶指定的PTP運動的起點,終點,速度規(guī)劃算法,計算連接各點的加速度,加加速度,由此再推算出各點的位置,速度。
?速度/位置環(huán)?
計時器產(chǎn)生1ms中斷,控制速度環(huán)/位置環(huán)更新:
速度/位置指令
反饋位置/反饋速度
?同步計時器?
通過配置連接到PWM的同步觸發(fā)輸入SYNCI模塊,讓四個電機以一定的相位差開啟運動。
?UART/USB通信?
為了方便用戶控制電機,支持用UART或USB調(diào)試工具下發(fā)運動指令,用戶可在cmakelist文件中選擇使用UART或USB。MCU根據(jù)接收到的運動指令進(jìn)行相應(yīng)的運動。
2
Ethercat master 更新
Ethercat 主站使用開源SOEM, 當(dāng)前版本主要更新以下內(nèi)容:
優(yōu)化延時抖動。實測掛載25臺從站設(shè)備,抖動在20us以內(nèi)。
優(yōu)化減少RAM資源使用。
支持在裸機和RTOS下運行。
由于 SOEM 開源協(xié)議的限制,故源代碼不會放在 hpm_apps 中,請自行下載源代碼并放到middleware目錄下即可。
SOEM 下載鏈接:https://github.com/hpmicro/ethercat_soem/releases。
3
其 他
全系列適配SDK1.8.0
修復(fù)HPM二級BOOT固件升級方案user_app linker文件缺少變量的問題
修復(fù)hpm_monitor服務(wù)UART通道DMA傳輸時地址轉(zhuǎn)換錯誤的問題
?完 結(jié)?
在使用過程中有任何疑問或者建議,歡迎在github對應(yīng)項目中提交。
-
微控制器
+關(guān)注
關(guān)注
48文章
7906瀏覽量
153707 -
RISC-V
+關(guān)注
關(guān)注
46文章
2486瀏覽量
48276 -
先楫半導(dǎo)體
+關(guān)注
關(guān)注
10文章
249瀏覽量
2573
發(fā)布評論請先 登錄
支持HPM6P00/HPM5E00系列!HPMicro Manufacturing Tool v0.6.0發(fā)布

重磅更新 | 先楫半導(dǎo)體HPM_SDK v1.9.0 發(fā)布

上新?|?HPM6E80高壓伺服EtherCAT驅(qū)動器方案

HPM_SDK V1.8.0支持Ethernet/IP工業(yè)以太網(wǎng)協(xié)議棧

HPM6E80高壓伺服EtherCAT驅(qū)動器方案

HPMicroMonitorStudio 哪里找
GUI Guider V1.8.0全新版本正式上線
支持HPM6E00!HPMicro Pintool Web v0.3.1正式上線!

先楫半導(dǎo)體hpm_sdk v1.6.0上線

國產(chǎn)高性能MCU又一力作,集成授權(quán)EtherCAT,助力工業(yè)伺服走向海內(nèi)外

評論