0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

hpm_apps v1.8.0上线:HPM6200四轴伺服驱控方案重磅发布!

先楫半导体HPMicro 2025-02-12 08:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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控制,同步计时器实现四轴电机以固定相位差运动。

四轴驱控样机如下图所示。

ff0a65a0-e8d4-11ef-9434-92fbcf53809c.png

单轴驱控细节图如下图所示。

ff1f7972-e8d4-11ef-9434-92fbcf53809c.png

本方案测试电机型号信息如下表所示,如选用其他型号电机,需要重新调整PI控制参数相关宏定义即可。

电机型号极对数编码器类型分辨率
雷赛智能BLM570502增量式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对应项目中提交。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    49

    文章

    8915

    浏览量

    166094
  • RISC-V
    +关注

    关注

    49

    文章

    2997

    浏览量

    53806
  • 先楫半导体
    +关注

    关注

    12

    文章

    295

    浏览量

    3430
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    HPM知识库 | 先楫半导体电机库简介

    HPM知识库本栏目是先楫MCU开发的「一站式技术参考库」!每周上新,为HPM开发者提供全维度的技术文档、问题解决方案、开发指南与实战教程,了解更多,请访问https://kb.hpmicro.com
    的头像 发表于 05-22 10:58 127次阅读
    <b class='flag-5'>HPM</b>知识库 | 先楫半导体电机库简介

    HPM5E3YIVK单核32位RISC-V处理器

    HPM5E3YIVK单核32位RISC-V处理器HPM5E3YIVK是先楫半导体(HPMicro)HPM5E3Y/HPM5E00系列的高性能
    发表于 05-18 09:27

    HPM知识库 | 追求极致精度:HPM6P00系列MCU ADC高精度采样设计与实践心得

    1.引言HPM6P00系列MCU是先楫半导体于2025年3月推出的新一代高性能混合信号微控制器,主要面向工业自动化、智能电源以及精密伺服控制等应用领域。该系列芯
    的头像 发表于 04-09 08:34 1106次阅读
    <b class='flag-5'>HPM</b>知识库 | 追求极致精度:<b class='flag-5'>HPM</b>6P00系列MCU ADC高精度采样设计与实践心得

    2026・启芯程 | 先楫 HPM_SDK v1.11.0 重磅发布

    测试工具版本ZCC4.1.5SeggerEmbeddedStudio8.24IARworkbenchforRISC-V3.30.1版本更新概况[Updated]openocd注意:由于upstream代码逻辑变动,此版本的openocd需要配合此版本中hpm_sdk包含的
    的头像 发表于 01-04 09:36 914次阅读
    2026・启芯程 | 先楫 <b class='flag-5'>HPM</b>_SDK <b class='flag-5'>v</b>1.11.0 <b class='flag-5'>重磅</b><b class='flag-5'>发布</b>

    跨年早鸟福利!HPM关节伺服工程师集训营北京站要开课啦~

    行业人才成长,赋能机器人关节伺服技术创新,先楫半导体(HPMicro)正式启动“HPM关节伺服工程师集训营”,依托自身在机器人关节专用MCU领域的深厚技术积淀,打造
    的头像 发表于 12-29 10:33 428次阅读
    跨年早鸟福利!<b class='flag-5'>HPM</b>关节<b class='flag-5'>伺服</b>工程师集训营北京站要开课啦~

    重磅更新 | 先楫半导体HPM_APPS v1.10.1发布

    重磅更新 | 先楫半导体HPM_APPS v1.10.1发布
    的头像 发表于 12-26 08:33 1534次阅读
    <b class='flag-5'>重磅</b>更新 | 先楫半导体<b class='flag-5'>HPM_APPS</b> <b class='flag-5'>v</b>1.10.1<b class='flag-5'>发布</b>

    开发者分享 | HPM5E-EC-DEV:基于HPM5E00的EtherCAT开发板分享

    硬件相关的小项目,既能学习新东西,也能保持对技术的好奇心。前言今年五月,先楫半导体发布了新一代高性能EtherCAT运动控制MCU——HPM5E00。HPM5E00
    的头像 发表于 10-29 10:15 2370次阅读
    开发者分享 | <b class='flag-5'>HPM</b>5E-EC-DEV:基于<b class='flag-5'>HPM</b>5E00的EtherCAT开发板分享

    HPM5E00EVK,ecat_io例程,卡在DisableSyncManChannel函数

    向大家请教一个问题。如题, 硬件:HPM5E00EVK 开发环境:win10, embedded studio 软件:sdk_env_v1.10.0,ethercat/ecat_io 硬件连接
    发表于 09-25 15:06

    重磅发布 | Zephyr SDK Glue v0.6.0 发布

    各位关注先楫的小伙伴们,基于Zephyrv3.7.0(LTS)版本和hpm_sdkv1.10.0版本的ZephyrSDKgluev0.6.0正式发布了。版本更新(相对于ZSGv0.5.0)适配hpm_sdkv1.10.0增加时钟
    的头像 发表于 09-17 08:33 1354次阅读
    <b class='flag-5'>重磅</b><b class='flag-5'>发布</b> | Zephyr SDK Glue <b class='flag-5'>v</b>0.6.0 <b class='flag-5'>发布</b>

    hpm的vscode开发环境搭建openocd烧录问题求解

    最近尝试搭建基于vscode的hpm芯片开发环境,遇到一些问题,求大佬们帮忙看看。 使用hpm6e00evk开发板sdk_env_1.10.0,cmake、ninja、openocd和编译工具链均
    发表于 09-09 09:55

    RT-Thread BSP v1.10.0 重磅发布 | 开发环境全面升级

    RT-ThreadBSPv1.10.0带来三大重磅升级:多工具链支持、HPM5E00系列支持、独立导出功能,让先楫MCU开发更简单、更高效!核心亮点三大突破性功能多工具链支持:新增
    的头像 发表于 08-29 12:21 1485次阅读
    RT-Thread BSP <b class='flag-5'>v</b>1.10.0 <b class='flag-5'>重磅</b><b class='flag-5'>发布</b> | 开发环境全面升级

    HPM monitor studio 只能在 hpm芯片+hpm_sdk 的组合下才能用吗?

    使用 hpm6200evk开发板,但未使用hpm_sdk。 然后编译的固件elf无法在hpm monitor studio解析成功。所以说必须要使用hpm_sdk 才可以使用
    发表于 08-28 09:36

    HPM6200EVK:RISC-V架构高性能微控制器评估板现货库存

    HPM6200EVK是上海先楫半导体推出的基于RISC-V架构的高性能微控制器评估板,专为HPM6200系列MCU设计,主频达600 MHz,能助力快速开发电机控制、工业自动化等高性能嵌入式
    发表于 08-11 09:15

    重磅更新 | HPM_SDK v1.10.0 发布

    版本更新概况[New]增加HPM5E00系列MCU以及HPM5E00EVK支持增加flash_xip_hybrid构建,在该模式下AXI_SRAM被用作FLASH前256KB的缓存,位于FLASH前256KB的代码拥有RAM级别的访问性能。1、新增/更新的中间件(Midd
    的头像 发表于 07-02 15:07 1702次阅读
    <b class='flag-5'>重磅</b>更新 | <b class='flag-5'>HPM</b>_SDK <b class='flag-5'>v</b>1.10.0 <b class='flag-5'>发布</b>

    支持HPM6P00/HPM5E00系列!HPMicro Manufacturing Tool v0.6.0发布

    各位先楫的小伙伴久等了,HPMicroManufacturingTool0.6.0版本正式发布啦!该版本包含多个模块的更新优化,让我们抓紧时间先睹为快!v0.6.0版本主要更新内容如下:新增:新增
    的头像 发表于 06-04 08:28 2941次阅读
    支持<b class='flag-5'>HPM</b>6P00/<b class='flag-5'>HPM</b>5E00系列!HPMicro Manufacturing Tool <b class='flag-5'>v</b>0.6.0<b class='flag-5'>发布</b>