)
文章目录概要驱动电机PWM测频率和PWMI模式小结概要一.输出比较本实验以电机驱动风扇来表达实验现象采用了stm_32F103C8T6芯片和TB6612电机驱动模块来进行实验提示这里可以添加技术概要二.输入捕获本实验通过OLED显示屏来显示频率并通过PWMI模式显示占空比体现输入捕获驱动电机首先根据接线图接线接下来通过初始化电机和按键配置实现按键控制电机转动1.按键初始化使用Delay函数是为了消抖防止重复计算这里的while循环是为了判断是否松手和DELAY一起使用可以有效防止重复计算2.电机初始化因为读取寄存器的值只能为正数所以前面加一个负号Setspeed是为了驱动电机3.通过主函数实现我们暂定电机正反转速度最高为100所以当正转速度超过100时跳转为反转100这样可以通过一个函数进行正反转控制通过OLED函数在OLED屏幕上显示当前速度。PWM测频率和PWMI模式1.首先看一下测频率的基本架构图根据图像先了解大致步骤第一步RCC开启时钟第二步GPIO初始化第三步配置时基单元第四步配置输入捕获单元第五步选择从模式触发源第六步启动定时器本次实验采用测周法来进行测频率比较方便2.接线图2.主代码开启RCC时钟并使能配置GPIO口使用上拉输入配置到Pin_6口因为没有万能表所以选择自己测自己用Pin_6口进行接收波形选择定时器初始化时基单元初始化输入捕获单元并选择通道因为这次实验只需要实现一个功能所以只用配置通道1配置滤波器做用是为了消抖提升测量精度选择从模式因为是接收波形所以不能使用主模式最后打开定时器使用PWM来输出波形开启RCC初始化GPIO,配置Pin_0口并配置成推挽输出初始化时基单元并将ARR设成100-1方便计算初始化PWM输出选择模式1进行输出极性配置为高电平开启定时器建立两个函数一个可以更改CCR的值第二个更改预分屏器的值测占空比和测频率方法相同第一步RCC开启时钟第二步GPIO初始化第三步配置时基单元第四步配置输入捕获单元第五步选择从模式触发源第六步启动定时器小结写这个实验的时候发现他更改了两次频率不知道为什么通过询问ai得出答案PWM的频率是输出频率来产生信号第二个频率是TIM3捕获频率的计算方法相当于一个是物品另一个是尺子尺子拥有自己的测量方法互不干扰。