全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 触控感测 >

电机控制单电阻采样PWM变形信号的产生

时间:2017-08-29 17:36

人气:

作者:admin

标签: 电机控 

导读:电机控制单电阻采样机制是在一个PWM波形内采集两相电流ADC数据,但某些扇区边界条件下只能获得一路电流ADC数据, 需要对PWM波形进行变形用于构造电流采样区域。...

前言

电机控制单电阻采样机制是在一个PWM波形内采集两相电流ADC数据,但某些扇区边界条件下只能获得一路电流ADC数据, 需要对PWM波形进行变形用于构造电流采样区域。

背景介绍

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

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

波形产生

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

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

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

PWM波中间变形

1. 设定CCR4的DMA通道,并且设定此时Timer1的preload为禁止状态;

TIM_OC1PreloadConfig(TIM1,TIM_OCPreload_Disable);

2. 在CCR4比较值部分产生DMA事件;

DMA_InitStructure.DMA_PeripheralBaseAddr= (uint32_t)(&(TIM1->CCR1));

DMA_InitStructure.DMA_MemoryBaseAddr= (uint32_t)(uint32_t)(hDmaBuff2);

DMA_InitStructure.DMA_DIR =DMA_DIR_PeripheralDST;

DMA_InitStructure.DMA_BufferSize= 2u;

….

TIM_DMACmd(TIM1,TIM_DMA_CC4,ENABLE);

3. 在1点上将CCR1数据直接修改为周期数据+1;

4. 在2点上将CCR1数据修改为CCR1’的数据;

5. 时间计算上按照上面的图示设定,中间凹陷时间为两边补充波形时间之和。

波形移位变形

1. 设定Timer1的update事件的DMA通道

DMA_InitStructure.DMA_PeripheralBaseAddr =(uint32_t)(&(TIM1->CCR1));

DMA_InitStructure.DMA_MemoryBaseAddr =(uint32_t)(uint32_t)(hDmaBuff2);

DMA_InitStructure.DMA_DIR =DMA_DIR_PeripheralDST;

DMA_InitStructure.DMA_BufferSize = 2u;

……

TIM_DMACmd(TIM1,TIM_DMA_Update,ENABLE);

2. 在1点上更新CCR1数据为CCR1数据;

3. 在2点上更新CCR1数据为CCR1’数据;

4. 保证前后的移位时间相同。


温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信