黄工无刷电机学习
直播中

张艳

7年用户 1590经验值
私信 关注
[问答]

如何使用STM32与L298N驱动进行电机PID调速

为什么要对电机进行PID调速?
如何使用STM32与L298N驱动进行电机PID调速?

回帖(1)

李洪洋

2021-9-18 16:59:26
  使用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库。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分