你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】电机控制单电阻采样 PWM 变形信号产生

[复制链接]
STMCU小助手 发布时间:2022-3-5 22:28
前言
电机控制单电阻采样机制是在一个 PWM 波形内采集两相电流 ADC 数据,但某些扇区边界条件下只能获得一路电流 ADC 数据, 需要对 PWM 波形进行变形用于构造电流采样区域。

背景介绍
根据电机控制拓扑结构,单电阻采样在一个 PWM 控制周期内可以取得两相电流数据:

Z551P2T(B}G6O18SRM{0A1P.png

在扇区边沿无法获得两相电流信号。

XC8ZJKIDJW}HHXI$~X{PW40.png

波形产生
ST 专利的方法是在波形的中间部分产生变形波形,在变形后的波形上就可以得到两相电流 ADC 数据;

EWZ@U[B_66XK_)KI9QGKF.png

当然还有目前比较流行的波形移位方法也可以做到相同效果。 波形如下:

K80D`F`U)IJZR[8`~}U}AUG.png

STM32 系列单片机 Timer 有足够的功能,可以产生上面两种波形,机制如下:

PWM 波中间变形

{ZAKG$BH6}~_PF2V)78GK8L.png

1. 设定 CCR4 的 DMA 通道,并且设定此时 Timer1 的 preload 为禁止状态;
  1.    TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Disable);
复制代码

2. 在 CCR4 比较值部分产生 DMA 事件;
  1.    DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)(&(TIM1->CCR1));
  2.    DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)(uint32_t)(hDmaBuff2);
  3.    DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;
  4.    DMA_InitStructure.DMA_BufferSize = 2u;
  5.    ….
  6.    TIM_DMACmd(TIM1,TIM_DMA_CC4,ENABLE);
复制代码

3. 在 1 点上将 CCR1 数据直接修改为周期数据+1;
4. 在 2 点上将 CCR1 数据修改为 CCR1’的数据;
5. 时间计算上按照上面的图示设定,中间凹陷时间为两边补充波形时间之和。


收藏 评论0 发布时间:2022-3-5 22:28

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版