FOC控制中使用定时器触发ADC采样的一些问题及解决方案
创作时间:
作者:
@小白创作中心
FOC控制中使用定时器触发ADC采样的一些问题及解决方案
引用
CSDN
1.
https://m.blog.csdn.net/qq_44348981/article/details/139172395
在FOC(磁场定向控制)控制中,精确的电流采样是至关重要的。本文详细描述了在STM32平台上使用定时器触发ADC采样的具体实现方法,包括定时器配置、ADC设置以及遇到的问题和解决方案。对于从事电机控制和嵌入式开发的工程师具有较高的参考价值。
背景
在FOC控制中,电流采样需要使用STM32的ADC。采用低侧电流采样时,需要在半桥的上桥臂关闭、下桥臂打开时进行电流采样。之前使用的方法是在定时器更新中断中判断计数器计数方向来软件触发AD采样,但这种方法的数据采集实时性可能不够理想。最近参考了一些论坛帖子,尝试使用定时器的通道四输出(TRGO)触发ADC采样,遇到了一些问题。以下记录了解决过程,仅供参考。
问题描述
参考了一些帖子和视频的设置,具体配置如下:
- Prescaler(预分配系数):为了不损失定时器的分辨率,一般都设为0,但在实验中调大一些,方便逻辑分析仪捕捉。
- Counter Mode(计数模式):这里一定要选择中心对齐模式,具体是123无所谓,只会影响到捕获比较中断。
- Counter Period(装载值):根据具体需求设置。
其中:
- 通道1、2、3设置为PWM模式1,即CNT大于CCR时为低电平,反之高电平。通过逻辑分析仪可以知道高电平的中点为计数值0处。
- 通道4设置为PWM模式2,即CNT大于CCR时为高电平,反之低电平,用于触发ADC采样。
设置Trigger Out Event为OC4REF,理论上应该在通道1、2、3的两个高电平中间进行采样。但是实际情况并非如此。
ADC的设置如下:
- 使用ADC1和ADC2分别采集两相电流,配置为注入组,触发源为Timer 1 Trigger Out Event。
- 由于规则组有几项,包括母线电压和温度传感器,担心数据错位所以没有开启连续采样。
在main函数中进行如下初始化:
MX_GPIO_Init();
MX_ADC1_Init();
MX_ADC2_Init();
MX_TIM1_Init();
HAL_ADCEx_InjectedStart_IT(&hadc1);
__HAL_ADC_ENABLE_IT(&hadc1, ADC_IT_JEOC);
HAL_TIM_Base_Start_IT(&htim1);
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_4);
__HAL_TIM_ENABLE_IT(&htim1, TIM_IT_UPDATE);
在注入组转换完成回调函数里翻转GPIO的状态,方便逻辑分析仪采集。然而,并没有像预想的那样进入回调函数。
原因分析
调试时发现,将断点打在回调函数处,第一次执行时可以进入,将ADC输入接到3.3v数据为4090,一切正常,但是之后就卡死了。思考会不会是因为函数HAL_ADCEx_InjectedStart_IT(&hadc1)只是开启了一次ADC注入组转换就停止了。由于规则组有母线电压和温度传感器,担心数据错位不能开启连续采样,规则组只能使用扫描+DMA传输的方式。
解决方案
在定时器的更新中断里调用HAL_ADCEx_InjectedStart_IT(&hadc1),在下一次的采样时刻之前再次打开注入组转换。使用逻辑分析仪测量波形,发现回调函数的GPIO翻转出现了。
具体配置如下:
- 设置RCR的值为1,因此在蓝色箭头处发生定时器的更新事件。
- 设置
TIM1->CCR4 = 980,而ARR = 1000,因此OC4REF触发注入组转换会出现在下图红色箭头处,也就是接近在计数器的上溢点,就能做到连续转换了。
热门推荐
秘鲁巨人蜈蚣:生态守护者还是破坏者?
小朋友支气管炎吃什么好得快呢
支气管炎患者喝水真的有用吗?医生来解答
石家庄灵活就业医保补缴攻略
加拉帕戈斯象龟:从"素食主义者"到"缓慢猎手"
加拉帕格斯群岛的神秘巨虫:体型达46厘米的致命捕手
婚戒材质选购指南:黄金、铂金、K金哪个更适合你?
舌尖上的四川记忆:担担面的历史渊源与家常制作方法
夜视清晰,守护无忧:红外夜视摄像头的全面解析
勾践精神:逆境中的坚韧与智慧
泥鳅钓鱼挂钩方法图解,像这样挂泥鳅,钓几个小时都不会死!
过年备年货,掌握“3早3晚”法则,轻松省心又实惠!
兔子吃什么草最有营养长得快
兔粮推荐精华:让兔兔爱上吃饭的秘诀
千万个心理为什么:跟相亲对象聊天找不到话题,这五个节奏很重要
淅川县:土元养殖助力乡村振兴
土元养殖:小昆虫带来的大商机
趣填元旦诗词挑战:感受语言魅力
老年人看过来,这份春季养生指南请收下
汤汁清亮,清炖牛肉原汁原味
黑色蜈蚣:生态系统的隐形守护者
海鲜XO辣酱:传统XO酱与辣酱的完美结合
杭州片儿川制作教程:滑嫩爽口,汤浓味美
北欧神话:诸神的传说
灵活就业医保缴纳全攻略:从参保到享受待遇一文通
灵活就业人员如何用个税APP享受医保扣税?
山东鲁菜十大招牌菜,你尝遍了吗?
踏上梦想之旅:从规划到起飞,你的出国攻略全解析
奥斯卡·辛德勒:一个纳粹商人的救赎之路
解读各个手指戴戒指的含义,时尚、文化和情感的象征