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

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

3天内不再提示

电机框架搭建:ADC(双电阻采样)

恒美股份 来源:华芯微特32位MCU 作者:华芯微特32位MCU 2021-08-09 17:39 次阅读

概述

SAR ADC支持CPU触发、PWM触发及EXTIO触发。通过将SAR ADC CTRL寄存器中TRIG进行设置,该设置对所有选中通道均有效,当不同通道需要不同触发方式时,需要在采样间隔配置TRIG位进行切换。

电机框架搭建:ADC(双电阻采样)

PWM触发操作方式如下:

PWM配置所需模式,将SARADC的CTRL寄存器中TRIG方式设置为PWM触发。每路PWM对应一个ADTRG寄存器值,当PWM计数到指定值,可触发ADC进行采样。PWM在任意模式下可以触发ADC,每一路输出独立的ADC触发信号,且每个周期可以设置1个ADC触发点,每个PWM只输出一个触发信号,不区分A.B分别触发。

具体配置方式如下(以ADTRG0A0为例):

1、PWM配置所需模式

2、配置PWM模块ADTRG0A0数值,该数值为触发延时时长,在中心对称模式下,前半周期从周期起始记,后半周期采样点与前半周期中心对称

3、使能ADTRG0A0寄存器EN位

4、配置ADC寄存器中TRIG寄存器A0对应位,确认该通道未被屏蔽

5、使能PWM模块EN位,当计数值到达ADTRG0A0设置值时,触发ADCCTRL寄存器中选中的通道(CHx)进行采样,采样完成后,将产生EOC标志位,并产生ADC中断

程序中配置如下(PWM触发ADC转换):

//ADC初始化

void SVPWM_ADC_Init(void)

{

ADC_InitStructure ADC_initStruct;

PORT_Init(PORTA, PIN8, PORTA_PIN8_ADC0_CH7, 0); //PA.8 =》 ADC0.CH7

PORT_Init(PORTB, PIN9, PORTB_PIN9_ADC0_CH8, 0); //PB.9 =》 ADC0.CH8

ADC_initStruct.clk_src = ADC_CLKSRC_HRC_DIV8;

ADC_initStruct.clk_div = 8;

ADC_initStruct.ref_src = ADC_REFSRC_VDD; //电压基准选择VDD

ADC_initStruct.channels = ADC_CH7 | ADC_CH8; //通道初始化

ADC_initStruct.samplAvg = ADC_AVG_SAMPLE8;

ADC_initStruct.trig_src = ADC_TRIGGER_PWM0; //设置PWM0触发ADC转换

ADC_initStruct.Continue = 0;//非连续模式,即单次模式

ADC_initStruct.EOC_IEn = ADC_CH8; //设置CH8为中断

ADC_initStruct.OVF_IEn = 0;

ADC_Init(ADC0, &ADC_initStruct);//配置ADC

ADC0-》CHSEL = ((ADC_CH8 《《 ADC_CHSEL_PWM_Pos) | (ADC_CH7 《《 ADC_CHSEL_PWM_Pos)); //设置PWM触发CH7、CH8通道转换

ADC_Open(ADC0);//使能ADC

}

//ADC中断

void ADC0_Handler(void)

{

ADC_IntEOCClr(ADC0, ADC_CH8); //清中断

while (!ADC_IsEOC(ADC0, ADC_CH8)); //等待通道8转换完成

ADC_Read(ADC0, ADC_CH7); //读取ADC值

ADC_Read(ADC0, ADC_CH8);

}

具体详情可登录华芯微特官网:http://www.synwit.cn/

编辑:jq

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

    关注

    30

    文章

    5028

    浏览量

    117719
  • PWM
    PWM
    +关注

    关注

    114

    文章

    4900

    浏览量

    209904
  • adc
    adc
    +关注

    关注

    95

    文章

    5651

    浏览量

    539453

原文标题:SWM20x系列电机框架搭建:ADC(双电阻采样)篇

文章出处:【微信号:gh_737991c81b3d,微信公众号:恒美股份】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

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

    电机控制单电阻采样机制是在一个PWM波形内采集两相电流ADC数据,但某些扇区边界条件下只能获得一路电流ADC数据, 需要对PWM波形进行变形
    的头像 发表于 08-29 17:36 1.5w次阅读
    <b class='flag-5'>电机</b>控制单<b class='flag-5'>电阻</b><b class='flag-5'>采样</b>PWM变形信号的产生

    ADC需要采样保持器的原因及采样ADC的工作原理

    如今大多数ADC芯片里都集成了采样保持功能,以便更好地处理交流信号,这种类型的ADC我们叫做采样ADC,可是早些时候的
    的头像 发表于 04-28 11:02 2.4w次阅读
    <b class='flag-5'>ADC</b>需要<b class='flag-5'>采样</b>保持器的原因及<b class='flag-5'>采样</b><b class='flag-5'>ADC</b>的工作原理

    stm32F407 示波器 用ADC交替采样提高采样率 没有必要!!

    本帖最后由 q8780456 于 2016-1-22 16:50 编辑 单ADC完成一次adc转换时间最短 0.7us左右(21Mhz驱动),ADC交替
    发表于 01-22 16:13

    STM32cube库配置ADC的同步规则采样

    哪位大神能给个使用STM32的HAL库配置ADC同步规则采样并通过DMA传输的例程,自己利用标准库的试验可以,但是hal库还是不熟,只好来求助了。
    发表于 12-12 08:50

    1小时搭建FOC电机控制平台

    平台,实现电机同时稳定启动并运行。图1: 国民技术FOC电机平台搭建步骤第一步:搭建工作环境
    发表于 04-13 11:56

    使用高速同步采样ADC精确捕获伺服电机位置

    ADC)是其功能的核心。图1.旋转电机编码器上的车轮上的刻痕。 本文简要讨论了与为快速旋转的电机实现小型,高精度电机编码器有关的问题。它介绍了一种编码器,该编码器具有
    发表于 09-15 10:09

    电阻采样电机驱动FOC控制

    FOC电流采样为什么不准?电机驱动系统拓扑中存在的七个延迟源及其典型的时间有哪些?
    发表于 09-27 06:10

    如何使用单极性ADC极性信号进行采样呢?

    单极性运放采集极性信号如图 18.17 所示,极性信号(Bipolar)就是信号有正有负,单极性信号(Unipolar)只有正。绝大多数 ADC 都只能对单极性信号进行采样
    发表于 01-21 07:33

    如何用单电阻采样驱动电机

    请问有单电阻采样电机驱动例程吗?或者如何用三相电阻方案改
    发表于 05-17 07:09

    采样电阻的作用_采样电阻的选型

    采样电阻是电流采样和对电压采样。对电流采样则串联一个阻值较小的电阻,对电压
    发表于 11-08 08:47 9109次阅读

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

    电机控制单电阻采样机制是在一个 PWM 波形内采集两相电流 ADC 数据,但某些扇区边界条件下只能获得一路电流 ADC 数据, 需要对 PW
    发表于 10-21 15:51 5次下载

    无刷直流电机矢量控制(二):单电阻采样

            在无刷直流电机的矢量控制中,采用分流电阻进行三相电流采样是一种经济成本较低、应用较成熟的方案,因此在很多低成本产品中应用十分广泛。分流电阻方案的整体思路是在下桥臂或地线
    发表于 03-08 15:21 3次下载
    无刷直流<b class='flag-5'>电机</b>矢量控制(二):单<b class='flag-5'>电阻</b><b class='flag-5'>采样</b>

    STM32驱动无刷直流电机学习之ADC电流采样

    还是采用匠心科技的无刷电机套件采样电路如下  对应的 adc 的 io 是  #define __ADC_MODE__ 4无刷电机学习板 采
    发表于 03-08 14:51 3次下载
    STM32驱动无刷直流<b class='flag-5'>电机</b>学习之<b class='flag-5'>ADC</b>电流<b class='flag-5'>采样</b>

    电流采样电阻怎么选择?

    采样电阻为电流采样和电压采样。电流采样串联电阻值小的电阻
    的头像 发表于 07-20 10:02 2510次阅读

    adc采样率和带宽的关系

    adc采样率和带宽的关系 ADC(Analog-to-Digital Converter),即模拟转数字转换器,是将模拟信号转换成数字信号的重要器件。其中,采样率和带宽是
    的头像 发表于 09-12 10:51 7740次阅读