C/C++教程

基于PWM用stm32f103c8t6+L298N+CubeMX控制电机转速

本文主要是介绍基于PWM用stm32f103c8t6+L298N+CubeMX控制电机转速,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

1.PWM简介

       脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调试。是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。广泛应用在从测量、通信到功率控制与变换的许多领域中。

图片

例如上图中,图b)是微处理输出的数字信号,实际上他接到电机等功率设备上时,效果相当于图a)。这就是PWM调制。例如输出占空比为50%,频率为10Hz的脉冲,高电平为3.3V.则其输出的模拟效果相当于输出一个1.65V的高电平。脉冲调制有两个重要的参数,第一个就是输出频率,频率越高,则模拟的效果越好。第二个就是占空比。占空比就是改变输出模拟效果的电压大小。占空比越大则模拟出的电压越大。

2.电机转动原理

这里以直流减速电机为例

通过调制器PWM给电机提供一个具有一定频率的脉冲宽度可调的脉冲电。脉冲宽度越大即占空比越大,提供给电机的平均电压越大,电机转速就高。反之脉冲宽度越小,则占空比越越小。提供给电机的平均电压越小,电机转速就低。

3.CubeMX设置dakai

(1)选择芯片

(2)打开定时器,并进行配置

首先需要清楚的是,当我们使用L298N电机驱动模块的默认配置时,我们是通过PWM输出高电压,另外一个直接与单片机接地就好了。所以我们只需要使用5个定时器中的一个,这里选择普通的定时器二,定时器一为特殊定时器。

打开PA0管脚

这里使用内部时钟(72KHZ),配置产生的输出频率为10KHZ

(3)时钟树配置

没啥说的,照着来就行了

(4)设置输出

(5)GENERATE CODE

4. 打开你的MDK

设置占空比:对TIM2-CRR1赋值 

(PS:不要超过ARR)

打开定时器

这篇关于基于PWM用stm32f103c8t6+L298N+CubeMX控制电机转速的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!