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

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

3天内不再提示

匠芯创M6800方案独创HCL硬件电流环,实现精准高效电机控制

匠芯创ArtInChip ? 2025-08-07 15:44 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一直以来,传统的伺服产品选择将硬件电流环放在FPGA里,这样的硬件方案需要消耗MCU更多引脚资源用于和FPGA进行数据传输,双芯片占用板子面积,导致PCB布局布线困难;再者,使用FPGA后也会增加产品成本,不利于市场竞争,始终为行业和客户所困扰。

匠芯创科技M6800系列产品独创Hardware Current Loop(HCL)硬件电流环。创新性地采用独立于CPU的运行模式,使其有效提升电流环带宽,释放更多的算力资源。可实现单颗M6800方案取代MCU+FPGA的架构,是实现伺服电机控制的电流环算法硬件化的关键一环。

01

HCL介绍

功能模块:

Clarke变换

Park变换

防积分饱和PID

Ipark变换

死区补偿

SVPWM计算和处理

特点:

HCL将软件电流环算法固化在芯片里,且独立于CPU运行,有效提升系统整体执行效率;

通过内部测试,整个硬件电流环执行周期仅为200ns,完全做到PWM占空比立即更新,从而大大提高了电流环的带宽,充分提升系统的快速响应和鲁棒性;

支持增量式编码器和绝对式编码器,单圈分辨率高达16777216ppr。

02

HCL操作步骤

第一步 初始化HCL

void HCL_Init(void) { U16 INV_PWM_TBPRD = 10000;hcl_cmu_init(); hcl_set_opm(0, HCL_OPM2);//Mode2,电角度选择编码器反馈的电角度 hcl_set_posm(0, TA_POS);//选择绝对式编码器
hcl_set_udm0(0, 0); //Mode0 D轴电压 hcl_set_uqm0(0, 1475); //Mode0 Q轴电压 0.045 hcl_set_epwmprd(0, INV_PWM_TBPRD);//电流环周期100us hcl_set_maxduty(0, (INV_PWM_TBPRD - 5));//设置最大占比 hcl_set_minduty(0, 5);//设置最小占空比//PWM时间常数,3.2768 = _IQ(1)/ INV_PWM_TBPRD hcl_set_timeconst(0, _IQ(1.0)); hcl_set_curcal(0, _IQ10(1.0)); //电流增益校正 //set qaxi-pid _iq kp = _IQ(0.1983); _iq ki = _IQ(0.0244);
hcl_set_qpidkp(0, kp);//设置q轴pid比例系数初值 hcl_set_qpidki(0, ki); //设置q轴pid积分系数初值 hcl_set_qpidmax(0, _IQ( 0.9)); //设置q轴pid输出最大值 hcl_set_qpidmin(0, _IQ(-0.9)); //设置q轴pid输出最小值 hcl_set_intgsep(0, _IQ( 0.9));//0.9 hcl_set_iqref(0, _IQ(0.0)); //设置q轴pid给定初值
//set daxi-pid hcl_set_dpidkp(0, kp); //设置d轴pid比例系数初值 hcl_set_dpidki(0, ki); //设置d轴pid积分系数初值 hcl_set_dpidmax(0, _IQ( 0.125)); //设置d轴pid输出最大值 hcl_set_dpidmin(0, _IQ(-0.125)); //设置d轴pid输出最小值 hcl_set_idref(0, _IQ(0)); //设置d轴pid给定初值 hcl_dtcmp_en(0);//死区补偿打开 hcl_set_dtcomp(0, 0);//死区补偿值为0 hcl_set_dtflt(0, 262); //死区补偿滤波时间 hcl_en(0);//打开硬件电流环}

第二步 初始化ADC

void ADC_Init(void){//初始化ADC0 adc_q1_trig_sample_num(0, SMP_1_NODE); //设置ADC0队列1有一个采样点 adc_q1_node0_set(0, ADCCH4); //设置转换通道 adc_hcl_en(0); //使能HCL自动获取ADC0转换值 adc_pre_set(0, 0x1); //ADC0预充设置为1 adc_smp_rate_set(0, SMP_RATE_1MHZ); //设置ADC0采样频率 adc_q1_cvra_en(0); //使能EPWM事件A作为ADC0转换触发信号 adc_q1_int_en(0); //使能ADC0队列1转换结束中断 adc_en(0); //使能ADC0
//初始化ADC1 adc_q1_trig_sample_num(1, SMP_1_NODE); //设置ADC1队列1有一个采样点 adc_q1_node0_set(1, ADCCH5); //设置转换通道 adc_hcl_en(1); //使能HCL自动获取ADC1转换值 adc_pre_set(1, 0x1); //ADC1预充设置为1 adc_smp_rate_set(1, SMP_RATE_1MHZ); //设置ADC1采样频率 adc_q1_cvra_en(1); //使能EPWM事件A作为ADC1转换触发信号 adc_en(1); //使能ADC1}

第三步 在EPWM中断服务程序里面给硬件电流环赋值;本例中采样EPWM0,中断周期为100us,将速度环PID输出值赋给硬件环即可,剩下的电流环算法自动由硬件完成,无需CPU干预。

//EPMW0周期中断服务程序void EPWM_IRQHandler_isr(void) { u32 epwm_sts; epwm_sts = Glb_Pwmcs_Regs.GLB_EPWM_INT_STS.all;//判断是否epwm0中断 if((epwm_sts & EPWM0_INT_PEND) == EPWM0_INT_PEND) {pi_spd0.Ref = speed_ref; //速度环PID给定值 pi_spd0.Fbk = speed_fack; //速度环PID反馈值 pi_cal(&pi_spd0); //速度环PID计算hcl_set_idref(0,0); //硬件电流环Id轴的给定给定为0 hcl_set_iqref(0,pi_spd0.Out); //硬件电流环Iq轴的给定为速度环的pid输出值(*EPWM[0]).PWM_EVNT_CLR.bit.PWM_INT_CLR = 0x1 //清除中断标志}}

Hardware Current Loop(HCL)硬件电流环从硬件配置方案和软件性能上,全方位提升算力,实现运动控制系统性优化升级,为提升终端产品竞争力提供坚实的技术支持与成本优势。

未来,我们将持续完善 M6800系统化解决方案,为更多行业客户提供可持续、长周期的技术和生态支持。

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

    关注

    3577

    文章

    1990

    浏览量

    272509
  • 硬件
    +关注

    关注

    11

    文章

    3498

    浏览量

    67757
  • 电流环
    +关注

    关注

    0

    文章

    50

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    []D12开箱初体验

    本次使用的是D12x板子。 1下载 在gitee下载SDK,我选择的是luban-lite。 https://gitee.com/artinchip 2编译 环境自带的有onestep,所以
    发表于 11-11 19:17

    [科技]AIUIBuilder工具使用初体验

    听说创出了新的gui工具,正好趁热打铁,拿来试用一下看看效果。 首先老地方下载 下载之后解压缩,关于说明文档实在压缩包里,当时找了好久呢 既然有用户手册,那么我们就跟着用户手册一步一步来操作
    发表于 11-25 17:11

    发布新版GUI开发工具 新增多国语言设置等功能

    近日,自主研发的GUI开发工具AiUIBuilder推出全新V1.3.0版本。作为一款基于LVGL的UI设计工具,AiUIBuilder致力于为嵌入式平台的图形应用开发提供高效
    发表于 07-16 13:54

    移动电源硬件三合一方案和软件三合一方案对比

    ,以彻底解决此问题。软件优化主要是把主循环的速度加快,目前,海科技提供的解决方案号称主循环小于200us。硬件上,则通过集成专用比较器来实现快速
    发表于 10-21 10:40

    城|免费方案,免费下载↓↓↓

    软件三相无刷/PMSM 高电流电机控制3、支持音频和充电功能的 USB Type-C 和供电迷你坞4、用于停车辅助或盲点检测系统的汽车类超声波传感器接口5、近场通信 (NFC) 收发器参考设计更多
    发表于 08-30 17:22

    96%高效率 替代MP9486A方案---OC2004(启烨科技供应)提供原厂技术支持/免费方案服务

    咨询 :***一 方案品牌:国产欧方案型号:OC2004三 方案名称:电动车GPS防盗OC2004替换MP9486
    发表于 11-20 14:15

    面向高效能应用的电机控制主控芯片及解决方案

    ,覆盖高、中、低电机市场应用,具有如下特色和优势:? 具备高性能32位处理器内核,支持硬件乘除法运算,浮点运算,DSP运算指令,实现硬件高效
    发表于 03-17 10:30

    AG6310方案设计原理是什么?

    AG6310方案设计原理是什么?AG6310技术应用是什么?怎么实现DP转HDMI方案的设计?
    发表于 05-28 06:15

    SPCA702+M662790方案DVD电路图

    SPCA702+M662790方案DVD电路图
    发表于 05-20 14:12 ?89次下载
    SPCA702+<b class='flag-5'>M</b>662790<b class='flag-5'>方案</b>DVD电路图

    科技M7000系列选型表分享 RISC-V内核的高性能DSP实时处理器 适配机器人

    科技M7000系列选型表分享 RISC-V内核的高性能DSP实时处理器 适配机器人
    的头像 发表于 05-14 16:15 ?633次阅读
    <b class='flag-5'>匠</b><b class='flag-5'>芯</b><b class='flag-5'>创</b>科技<b class='flag-5'>M</b>7000系列选型表分享  RISC-V内核的高性能DSP实时处理器 适配机器人

    共谱开源华章 | 荣获“开源生态战略合作伙伴”奖

    由嘉立集团主办的第三届开源硬件星火会在深圳福田四季酒店举行。大会旨在搭建开源硬件领域交流合作的高水准平台,汇聚产、学、研各界嘉宾,围绕开源硬件设计、国产EDA、国产芯片等热点议题深入
    的头像 发表于 08-07 15:37 ?364次阅读
    共谱开源华章 | <b class='flag-5'>匠</b><b class='flag-5'>芯</b><b class='flag-5'>创</b>荣获“开源生态战略合作伙伴”奖

    M6801SPCS闭环步进控制设计方案:工业自动化的精密导航仪

    在工业自动化与智能化技术蓬勃发展、日新月异的当下,精确性、稳定性、实时性等已成为控制系统技术攻坚的核心导向。基于M6801SPCS闭环
    的头像 发表于 08-07 15:39 ?493次阅读
    <b class='flag-5'>匠</b><b class='flag-5'>芯</b><b class='flag-5'>创</b><b class='flag-5'>M</b>6801SPCS闭环步进<b class='flag-5'>控制</b>设计<b class='flag-5'>方案</b>:工业自动化的精密导航仪

    解码工业自动化:M6800系列编码器接口协议全解析

    AIC在工业自动化的浪潮中,编码器以其精确的位置和速度反馈是实现精密控制的基础。随着技术的发展,编码器与控制系统之间的通信协议变得尤为关键。本文将聚焦于多摩川、BISS和Endat等主流协议,以
    的头像 发表于 08-07 15:41 ?179次阅读
    解码工业自动化:<b class='flag-5'>匠</b><b class='flag-5'>芯</b><b class='flag-5'>创</b><b class='flag-5'>M6800</b>系列编码器接口协议全解析

    智能伺服,精准控制科技M6800系列方案助力工业升级

    ,在新兴产业中的应用日益增多,成为推动工业自动化和智能制造的关键力量。科技推出基于工业级高性能实时控制DSPM6800系列芯片的低压伺
    的头像 发表于 08-07 15:42 ?312次阅读
    智能伺服,<b class='flag-5'>精准</b><b class='flag-5'>控制</b>:<b class='flag-5'>匠</b><b class='flag-5'>芯</b><b class='flag-5'>创</b>科技<b class='flag-5'>M6800</b>系列<b class='flag-5'>方案</b>助力工业升级

    M6800系列芯片内置EPWM快速保护模块,锻造高精度电机控制安全保护锁

    M6800系列芯片是用于高精度电机控制任务的微控制
    的头像 发表于 08-07 15:45 ?724次阅读
    <b class='flag-5'>匠</b><b class='flag-5'>芯</b><b class='flag-5'>创</b><b class='flag-5'>M6800</b>系列芯片内置EPWM快速保护模块,锻造高精度<b class='flag-5'>电机</b><b class='flag-5'>控制</b>安全保护锁