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对应项目中提交。

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

    关注

    48

    文章

    8250

    浏览量

    162421
  • RISC-V
    +关注

    关注

    48

    文章

    2793

    浏览量

    51919
  • 先楫半导体
    +关注

    关注

    12

    文章

    270

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    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 1117次阅读
    <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 1184次阅读
    支持<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>

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

    重磅更新 | 先楫半导体HPM_APPS v1.9.0发布
    的头像 发表于 05-13 11:29 1359次阅读
    <b class='flag-5'>重磅</b>更新 | 先楫半导体<b class='flag-5'>HPM_APPS</b> <b class='flag-5'>v</b>1.9.0<b class='flag-5'>发布</b>

    【强势上新】HPM5E00:EtherCAT运动控制MCU,先楫半导体再拓工业总线产品新版图

    2025年5月6日上海|高性能微控制器及嵌入式解决方案提供商“上海先楫半导体科技有限公司”(先楫半导体,HPMicro)正式发布新一代EtherCAT运动控制MCU——HPM5E00系列。该系列是继
    的头像 发表于 05-06 11:09 979次阅读
    【强势上新】<b class='flag-5'>HPM</b>5E00:EtherCAT运动控制MCU,先楫半导体再拓工业总线产品新版图

    重磅更新 | 先楫半导体HPM_SDK v1.9.0 发布

    版本更新概况[New]增加HPM6P00系列MCU以及hpm6p00evk支持[New]增加了开发板已知问题说明[Update]将全系列开发板VCore电压调节至1.275VHPM6
    的头像 发表于 04-02 08:31 827次阅读
    <b class='flag-5'>重磅</b>更新 | 先楫半导体<b class='flag-5'>HPM</b>_SDK <b class='flag-5'>v</b>1.9.0 <b class='flag-5'>发布</b>

    开发者分享 | 适用于HPM的RustSBI实现

    HPMicro的MCU一直以高性能著称,之前也一直有想在HPM的MCU上运行Linux的想法。直到看见Linux6.10中支持了RISC-V架构在S-mode中运行nommu内核*,才下定决心开始在HPM6360上折腾nommu
    的头像 发表于 02-08 13:44 1083次阅读
    开发者分享 | 适用于<b class='flag-5'>HPM</b>的RustSBI实现

    先楫半导体HPM_SDK v1.7.0发布!这些更新你值得关注!

    先楫半导体HPM_SDK v1.7.0发布!这些更新你值得关注!
    的头像 发表于 02-08 13:42 1047次阅读
    先楫半导体<b class='flag-5'>HPM</b>_SDK <b class='flag-5'>v</b>1.7.0<b class='flag-5'>发布</b>!这些更新你值得关注!

    先楫半导体hpm_apps v1.7.0上线

    先楫半导体hpm_apps v1.7.0上线
    的头像 发表于 02-08 13:41 1300次阅读
    先楫半导体<b class='flag-5'>hpm_apps</b> <b class='flag-5'>v</b>1.7.0<b class='flag-5'>上线</b>

    先楫半导体HPM_SDK v1.8.0 发布

    先楫半导体HPM_SDK v1.8.0 发布
    的头像 发表于 02-08 13:39 1019次阅读
    先楫半导体<b class='flag-5'>HPM</b>_SDK <b class='flag-5'>v1.8.0</b> <b class='flag-5'>发布</b>

    基于HPM_SDK_ENV开发应用程序的升级处理

    基于HPM_SDK_ENV开发应用程序的方式HPM_SDK_ENV是先楫半导体MCU的Windows集成开发环境,其包含HPM_SDK,工具链,依赖工具(cmake,ninja,openocd等
    的头像 发表于 02-08 13:38 1446次阅读
    基于<b class='flag-5'>HPM</b>_SDK_ENV开发应用程序的升级处理

    上新 | HPM6E80高压伺服EtherCAT驱动器方案

    求远电子基于先楫半导体HPM6E80推出的HPM6E00_EtherCAT_MDR高压伺服EtherCAT从站驱动器方案,提供完善的软硬件参考,可极大的降低产品开发难度,缩短产品上市时
    的头像 发表于 02-08 13:38 969次阅读
    上新 | <b class='flag-5'>HPM</b>6E80高压<b class='flag-5'>伺服</b>EtherCAT驱动器<b class='flag-5'>方案</b>

    HPM_SDK V1.8.0支持Ethernet/IP工业以太网协议栈

    1、概述Ethernet/IP是工业以太网中经常使用的协议栈,OpENer是ethernet/IP的一种开源实现。HPM_SDKV1.8.0中增加了对OpEner的支持,并提供了三个
    的头像 发表于 02-08 13:38 751次阅读
    <b class='flag-5'>HPM</b>_SDK <b class='flag-5'>V1.8.0</b>支持Ethernet/IP工业以太网协议栈

    HPM6E80高压伺服EtherCAT驱动器方案

    本文导读 求远电子基于先楫半导体HPM6E80推出的HPM6E00_EtherCAT_MDR高压伺服EtherCAT从站驱动器方案,提供完善的软硬件参考,可极大的降低产品开发难度,缩短
    的头像 发表于 01-09 15:45 1723次阅读
    <b class='flag-5'>HPM</b>6E80高压<b class='flag-5'>伺服</b>EtherCAT驱动器<b class='flag-5'>方案</b>