野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6783|回复: 1

求助—关于野火电机例程使用示波器显示STEP引脚输出

[复制链接]
发表于 2022-3-29 11:32:08 | 显示全部楼层 |阅读模式
我将野火电机例程中的《stepper--位置速度双环控制--增量式PID》里的例程移植到STM32F103核心板之后,再用示波器测试STEP引脚的输出波形(我将原来的TIM8的CH1通道改为了TIM1的CH1通道PA8上),为什么会是这样的波形?
电机例程里通过在比较中断中不断更改比较值,来翻转电平,比如说,当前的COUNT为0,然后比较值为200,那么当COUNT达到200的时候,电平翻转,同时进入比较中断,在比较中断里用__HAL_TIM_SET_COMPARE(),将比较值更新为 (200+200),然后等到COUNT到400的时候,电平又翻转,再进入中断,再更新比较值为(400+200)。这样输出的就是一个固定频率的PWM波,也就是图片里密集的PWM波的部分。

然后比较值的更改(也就是pwm波频率,也就是步进电机转速)是在基本定时器里完成的。
20ms,是基本定时器的定时周期,每20ms会进入更新中断,计算下一个20ms的STEP引脚的PWM波输出频率,也就是比较值。

那么为什么会出现这种每20ms,就有一部分空波形的现象呢?按道理来说,不应该是每过20ms,PWM波的频率发生改变吗?在20ms内PWM波的波形应该是不会变化的呀。

每20ms出现空档

每20ms出现空档

一段时间后仍存在

一段时间后仍存在
回复

使用道具 举报

 楼主| 发表于 2022-3-30 15:45:06 | 显示全部楼层
救救孩子
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-15 14:35 , Processed in 0.036103 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表