微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > stm32+pwm输出+控制电机+PID控制电机可调速(上)

stm32+pwm输出+控制电机+PID控制电机可调速(上)

时间:10-02 整理:3721RD 点击:

   这几天学习了stm32一些知识,今天就来分享一下学习的小成果,关于stm32产生pwm通过电机驱动来控制电机转速,后期通过编码器来采集速度,对电机进行闭环控制,具算法是pid.

  今天先来说说stm32如何产生pwm.stm32共有八个定时器,tim1和tim8是16位高级定时器,tim2,3,4,5是通用寄存器。 今天我们就用tim4来产生四路的pwm方波。

我用了TIM4-TH1  TIM4-TH2  TIM4-TH3  TIM4-TH4四个通道。它对应的管教就是PB6 PB7 PB8 PB9.对应板子上的管教式CD-15 CD-14 CD-30 CD-31.


         



file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsC12F.tmp.jpg

找到开发板对应的引脚就好说了。开始配置

第一步 配置引脚


第二步配置tim_pwm信号模式  包括 周期 极性 占空比



配置好后在main()函数里初始化。给出

    TIM4->CCR1 ;

        TIM4->CCR2 ;

    TIM4->CCR3 ;

        TIM4->CCR4 ;

他们的值就可以发出pwm波形了。计算占空比的计算公式:

TIM4_PWM_DUTY_CYCLE=(TIM4->CCR1/TIM4_ARR)*100%

这里

TIM4->CCR1=500;

TIM4_ARR=1000;

占空比就是50%

由于没有示波器(悲催)这里只能用软件显示了



今天先写这么多。显示出了pwm.下一次就是用这个来控制电机转速  。



大神勿喷,菜鸟一枚。





感谢小编分享

用keil5吗小编,我看的介绍单机模式用CoIDE呀

不会吧,板子上有swd接口,用keil下载很方便啊

10引脚的swd不都是20的呀亲自己焊的还是买的

分享经验所得,谢谢小编。

谢谢分享!

你要有功夫自己做一个转接板不就可以了,或者找几根杜邦线连起来就好了,可以百度一下jlink上的那几根是swd

谢谢小编分享!

驱动什么电机呀这是

介绍的很详细。顶顶

后面的呢

小编能发一个代码文件吗?

小编能发一个代码文件吗?

小编,下半部分呢?

小编,下半部分呢?

厉害啊啊啊啊啊啊啊啊啊

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top