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. 保证前后的移位时间相同。

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

    关注

    3465

    文章

    1709

    浏览量

    264490
  • STM32
    +关注

    关注

    2240

    文章

    10675

    浏览量

    348866
  • PWM波形
    +关注

    关注

    0

    文章

    7

    浏览量

    10160

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

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

收藏 人收藏

    评论

    相关推荐

    三相异步电动机的额定电流相电流还是线电流

    三相异步电动机的额定电流是指在额定功率和额定电压下,电机运行时所需的电流大小。而在三相电动机中,电流可以分为相电流和线电流两种形式。
    的头像 发表于 02-26 10:00 895次阅读

    相电流不平衡是指什么?三相电流不平衡允许范围是多少

    相电流不平衡是指什么?三相电流不平衡允许范围是多少  三相电流不平衡是指三相电路中三个相位电流的大小不相等或相位角不相等的情况。在理想的三相电路中,三个相位
    的头像 发表于 02-02 17:34 948次阅读

    adc采集波形出现失真的根本原因

    ADC(模数转换器)是将模拟信号转换为数字信号的设备。当采集波形出现失真时,可能有多个根本原因。在下面的文章中,我将详细讨论ADC采集
    的头像 发表于 01-09 10:48 923次阅读

    ADE9000波形缓冲器数据如何换算为真实电压和电流值?

    (16777215)最大值计算得到的电压值不对。 请问波形缓冲器数据(电压和电流)通过怎样计算才能得到真实的电压和电流?是否也和xRMS计算
    发表于 12-25 07:21

    ADC的AGND和DGND是地吗?

    专家好,如题,通常在高精度ADC中,都会有AGND和DGND两个引脚,比如AD7194的6脚和22脚。在以往的设计中,基于控制器的数据采集系统要用到处理器其数字控制器的参考地平面也是DGND
    发表于 12-22 06:05

    步进电机相电流怎么测

    步进电机相电流的测量是一项涉及电子和机械技术的重要工作,主要用于确保电机正常运转、故障诊断和优化电机性能。下面将为您提供一篇详尽、详实、细致的关于步进电机相电流测量的文章。 一、步进电机相电流测量
    的头像 发表于 12-13 15:47 1457次阅读

    电机的额定电流指的是相电流还是线电流

    电机的额定电流指的是相电流还是线电流??
    发表于 12-11 06:41

    ADC7175-2数据采集时,信号接到输入端,信号波形就会失真是怎么回事啊?

    ADC7175-2数据采集时,信号接到输入端,信号波形就会失真,怎么回事啊?什么原因?用的是7175的评估版。
    发表于 12-08 06:04

    线电流相电流的关系

    线电流相电流是电力系统中重要的概念。在三相交流电系统中,线电流相电流之间存在一定的关系。本文将详细介绍线电流
    的头像 发表于 12-01 14:27 4307次阅读

    AD9467采样率大于90MSPS时,采集到的波形数据有很多毛刺怎么解决?

    芯片AD9467,通过修改0x17地址寄存器值,调整ADC芯片内部DCO输出延时。经过测试,ADC采样率在60MSPS~90MSPS时,采集到的
    发表于 12-01 07:23

    mega328 PWM两个管脚的参数是样的,但是波形却不样是为什么?

    mega328 PWM两个管脚的参数是样的,但是波形却不
    发表于 11-03 06:01

    相电流不对称时的绕组磁势详解

    前面两期分别讲了单相绕组和多相绕组产生的磁势,在前面两期的分析中,都是在绕组中通以对称正弦交流电流的前提下进行分析的。实际在电机运行时,经常会遇到三相电流不平衡、电流波形不是完美的正
    的头像 发表于 10-26 15:13 1238次阅读
    三<b class='flag-5'>相电流</b>不对称时的绕组磁势详解

    相电流不平衡是什么原因引起的?三相电流不平衡的危害

    相电流不平衡是什么原因引起的?三相电流不平衡的危害  三相电流不平衡是当三相电源中的电流不等时发生的一种现象。这种现象会影响到电力系统的正常工作。三
    的头像 发表于 08-31 16:46 4797次阅读

    如何使用PWM触发ADCPWM刹车功能来阻止PWM输出

    : NuTiny-EVB-Mini51_V2.1 此示例代码显示了两个 PWM 函数。 第一个PWM 触发 ADC, 第二
    发表于 08-23 07:31

    相电流和线电流有什么区别?

      目前国内用途广泛的还是属三相交流电,主要是因为它的电动机和发电机节能节材,而且维修起来也很方便。本文所要讨论的相电流是指三相电源中流过各相负载的电流。对于一个电工来说,需要知道相电流是什么?它和线
    的头像 发表于 06-13 15:45 7042次阅读
    <b class='flag-5'>相电流</b>和线<b class='flag-5'>电流</b>有什么区别?