基于stm32的两轮自平衡小车4(软件调试篇)

本篇是软件调试篇,接上一篇硬件篇:基于stm32的两轮自平衡小车3(硬件篇),本篇内容是对硬件部分的软件实现,具体模块详见目录。这里先上效果:转B站

目录

  • 定时器PWM驱动程序
  • 定时器编码器模式驱动程序
  • MPU6050驱动程序
  • 运动控制算法实现
  • 调试

定时器PWM驱动程序

根据硬件篇分配的GPIO口,对相应的GPIO口进行配置。因为A4950电机驱动模块需要四路PWM才可以控制前进和后退,即两路PWM控制前进、两路PWM控制后退,分配的GPIO口为PA0、PA1、PA8、PA11,分别对应定时器2通道1、定时器2通道2、定时器1通道1、定时器1通道4。程序设计如下:

需要注意的是,定时器1是高级定时器,在初始化的时候和通用定时器不完全相同,具体的说明在原理篇有写。

初始化PWM定时器后,再赋值给PWM寄存器,这里用一个函数实现:

定时器编码器模式驱动程序

一个电机的编码器有AB两相,因此定时器编码器模式同样需要用到四个定时器通道,这里再次强调:定时器的编码器模式只能由通用定时器和高级定时器的通道1和通道2配置!使用到的GPIO口为:PA6、PA7、PB6、PB7,分别对应定时器3通道1、定时器3通道2、定时器4通道1和定时器4通道2。驱动程序

来源:歌者弥城

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年3月22日
下一篇 2020年3月22日

相关推荐