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

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

3天内不再提示

一个PWM波形内采集两相电流ADC数据

STM32单片机 来源:未知 作者:刘勇 2017-09-18 18:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

电机控制单电阻采样机制是在一个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. 保证前后的移位时间相同。

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

    关注

    3595

    文章

    2064

    浏览量

    275379
  • STM32
    +关注

    关注

    2305

    文章

    11124

    浏览量

    371273
  • PWM波形
    +关注

    关注

    0

    文章

    7

    浏览量

    10464

原文标题:电机控制单电阻采样PWM变形信号的产生

文章出处:【微信号:STM32_STM8_MCU,微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    常用两相步进电机和驱动器参数

    距角 标准两相电机采用1.8°步距角设计,每转需200脉冲。部分高精度型号通过微步驱动可实现0.036°细分步距(如86系列电机的50细分模式)。相电流通常标注为额定值(如2A/相)和峰值(3A/相),实际工作时需匹配驱动器输
    的头像 发表于 11-27 07:41 205次阅读

    如何使用WaveDac8设置简单的数据采集系统,以生成不同持续时间的脉冲?

    我目前正在尝试使用 WaveDac8 设置简单的数据采集系统,以生成不同持续时间的脉冲,并应用于 RC 简单电路。我成功生成了 250 采样脉冲,并用示波器验证了
    发表于 07-25 07:55

    【BPI-CanMV-K230D-Zero开发板体验】+ADC数据采集及寻找引脚的问题

    ,而非通常的3.3V或是5V信号。 图4 FPC1接口 可再看开发板的功能布局也许会发现端倪,用来它的重点是为音频处理而服务的,A/D数据采集只是其中的附属功能之呀! 看来使用
    发表于 06-29 17:04

    Analog Devices Inc. LTC7806两相同步升压控制器数据手册

    Analog Devices Inc. LTC7806两相同步升压控制器是款高性能、低IQ转换器控制器,可异相驱动两个N沟道功率MOSFET级。此系列控制器采用恒定频率电流模式架构,
    的头像 发表于 06-07 11:40 790次阅读
    Analog Devices Inc. LTC7806<b class='flag-5'>两相</b>同步升压控制器<b class='flag-5'>数据</b>手册

    ADC采集电路前通常都会放置RC电路有什么作用?应用中般又该如何取值呢?

    ,由于对采集速率的要求,往往采样瞬间所需的充电电流很大,而运放般输出电流有限,图2所示电路无法满足ADC对陡峭
    发表于 04-25 11:34

    采集ADC,软件上面有什么实现方法吗?

    引脚采集两个ADC数据一个是传感器的
    发表于 04-08 18:00

    UCC28070 两相交错式连续导通模式 (CCM) PFC 控制器

    UCC28070 是款先进的功率因数校正 (PFC) 器件,集成了两个 脉宽调制器 (PWM) 以 180° 异相方式工作。此交错 PWM作可生成 大幅降低输入和输出纹波
    的头像 发表于 04-01 10:23 1958次阅读
    UCC28070 <b class='flag-5'>两相</b>交错式连续导通模式 (CCM) PFC 控制器

    UCC28070-Q1 汽车两相交错式连续导通 (CCM) 模式 PFC 控制器数据手册

    UCC28070 是种先进的功率因数校正器件,集成了两个 180° 异相工作的脉宽调制器 (PWM)。这种交错式 PWM作大大降低了输入和输出纹波
    的头像 发表于 03-28 14:10 1174次阅读
    UCC28070-Q1 汽车<b class='flag-5'>两相</b>交错式连续导通 (CCM) 模式 PFC 控制器<b class='flag-5'>数据</b>手册

    克拉克变换&amp;帕克变换:电机界的“变形金刚”双人组

    、引言:当三相电流遇上数学魔法 想象下,电机里的三相电流像三调皮的孩子,总是手拉手以120°的姿势疯狂旋转。这时候,工程师们就祭出了
    发表于 03-22 17:48

    stm32同一个定时器不同的通道,可以不同时的输出pwm波形吗?

    请问,stm32的同一个定时器,不同的通道,可以不同时的输出pwm波形吗?比如tim1的ch1输出,延时几毫秒后tim1的ch2输出。 现在是要输出两个相位不同的
    发表于 03-07 08:20

    使用高速ADC工作中遇到两个很关键的问题求解答

    在最近使用高速ADC工作中遇到两个很关键的问题:是用DSP产生告诉时钟信号发生畸形(我们需要用DSP-TMS28335给高速ADC提供至少20M的采样频率的时钟信号,但是当DSP产
    发表于 01-24 06:51

    ADC12D1X00RFRB Reference Board使用Wavevision5进行数据采集遇到的两个疑问求解

    你好,我有ADC12D1X00RFRB Reference Board,并且使用Wavevision5进行数据采集,现有两个问题: 1、无法实现路信号同时显示,选择I and Q也
    发表于 01-09 07:56

    ADC当成伪差分输入,ADC负端给固定偏置,这是否合适?

    在我小项目中有个数据采集单元,要采集的是
    发表于 01-06 06:15

    ADC124S021同时使用两个通道,两个通道的转换数据发生串扰怎么解决?

    用DSP的SPI接口接ADC124S021,如果只是进行单通道的信号采集,则转换后的数值稳定,但是同时使用两个通道时则两个通道的数据发生串
    发表于 12-30 07:41

    ADC122S021双通道在轮番采集的时候,两个通道采样中间需要延时吗?

    指令的时候,指令什么开始生效? (4):双通道转过程中有其他要注意的地方的? 我现在的情况就是ADC122S021两个通道的电压都能采集到,但是采集过来的
    发表于 12-24 08:27