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

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

    关注

    31

    文章

    5377

    浏览量

    121400
  • PWM
    PWM
    +关注

    关注

    114

    文章

    5203

    浏览量

    215127
  • adc
    adc
    +关注

    关注

    99

    文章

    6538

    浏览量

    546043

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

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

收藏 人收藏

    相关推荐

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

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

    stm32ADC采样异常的原因?

    采用ADC采样,其中的一个ADC采样通道信号异常:具体来说就是在小范围内,信号随被采用信号线性跟随,超过一定值之后,
    发表于 05-13 06:59

    永磁同步电机FOC控制策略中三相相电流采样思路分析【电阻采样

    管下方,也就是我们常说的电阻采样,那么电阻采样的思路是什么呢?大家可以看下面这个视频,看完视
    发表于 01-20 10:49

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

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

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

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

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

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

    AD7608:8通道DAS,内置18位、极性、同步采样ADC

    AD7608:8通道DAS,内置18位、极性、同步采样ADC
    发表于 03-19 09:09 10次下载
    AD7608:8通道DAS,内置18位、<b class='flag-5'>双</b>极性、同步<b class='flag-5'>采样</b><b class='flag-5'>ADC</b>

    AD7656A:250 kSPS、6通道、同步采样极性16位ADC

    AD7656A:250 kSPS、6通道、同步采样极性16位ADC
    发表于 03-21 10:24 2次下载
    AD7656A:250 kSPS、6通道、同步<b class='flag-5'>采样</b><b class='flag-5'>双</b>极性16位<b class='flag-5'>ADC</b>

    AD7607:8通道DAS,内置14位、极性输入、同步采样ADC

    AD7607:8通道DAS,内置14位、极性输入、同步采样ADC
    发表于 03-21 13:05 2次下载
    AD7607:8通道DAS,内置14位、<b class='flag-5'>双</b>极性输入、同步<b class='flag-5'>采样</b><b class='flag-5'>ADC</b>

    AD7616-P:16通道DAS,带16位、极性输入、同步采样ADC数据表

    AD7616-P:16通道DAS,带16位、极性输入、同步采样ADC数据表
    发表于 04-22 10:44 14次下载
    AD7616-P:16通道DAS,带16位、<b class='flag-5'>双</b>极性输入、<b class='flag-5'>双</b>同步<b class='flag-5'>采样</b><b class='flag-5'>ADC</b>数据表

    AD7352:差分输入、采样、同时采样、3 MSPS、12位、SAR ADC数据表

    AD7352:差分输入、采样、同时采样、3 MSPS、12位、SAR ADC数据表
    发表于 05-15 08:43 3次下载
    AD7352:差分输入、<b class='flag-5'>双</b><b class='flag-5'>采样</b>、同时<b class='flag-5'>采样</b>、3 MSPS、12位、SAR <b class='flag-5'>ADC</b>数据表

    AD7357:差分输入、采样、同时采样、4.2 MSPS、14位、SAR ADC数据表

    AD7357:差分输入、采样、同时采样、4.2 MSPS、14位、SAR ADC数据表
    发表于 05-15 09:32 11次下载
    AD7357:差分输入、<b class='flag-5'>双</b><b class='flag-5'>采样</b>、同时<b class='flag-5'>采样</b>、4.2 MSPS、14位、SAR <b class='flag-5'>ADC</b>数据表

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

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

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

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

    电流采样电阻一般选多大

    ADC(数模转换器)的输入范围以及运放的放大倍数。 电流大小 :首先,需要明确电路中的最大工作电流。例如,如果电机的最大工作电流是0-10A,那么采样电阻需要能够在这个电流范围内稳定
    的头像 发表于 08-27 09:56 2832次阅读