基于STM32进行电机PID调速(一)

协会任务:

使用STM32,L298N驱动与可编码减速电机进行电机PID调速。
为什么要PID调速?
直接接电源的电机存在运行时阻力的变化、外力等因素,通常不能维持在恒定速度,可能肉眼觉得接上恒定电源电机速度也恒定,但对于车来说,四个电机不可能做到输入相同电压达到相同转速,因此通过pwm动态调整。而PID算法就是利用比例、微分、积分使各电机更加平稳的在指定速度行驶,应用范围很广。

流程解析:

由L298N的IN1、IN2口接STM32任意两个GPIO口通过高低电平进行转向调整,ENA电机1使能端口接STM32的PWM输出控制速度。
减速电机编码器A,B端口接STM32GPIO针脚,通过定时器中断获取计数,运用PID算法微分积分控制电机转速。

今日完成:

寒假里STM32没好好学(hhh一个人在家适合做WEB),环境搭建,Jlink调试~~很多坑刚刚才踩,在实验室有超级大佬的贴心指导少走很多弯路(他们都用cubemx我却还只会用库函数,clion真的香)。
今天只完成了转向变换和ENA接口PWM调速(后期需要用PID算法调速,现在先用按键水一水)。现在要攻克的是通过编码相A和相B获取计数(TIM_GetCapture3(TIMX); ),具体工程文件和代码等这个任务完成放出来。去学hal库,(Jetbrains的IDE太太太太香了,Student license太太太太太香了)

为什么keil就没有这么美的界面!!!!没有学生优惠!!!!
基于STM32进行电机PID调速(一)_第1张图片

基于STM32进行电机PID调速(一)_第2张图片

这里放一张匆匆忙忙拍的乱七八糟的调试场面

基于STM32进行电机PID调速(一)_第3张图片

你可能感兴趣的:(电赛,嵌入式)