黄工无刷电机学习
直播中

张鑫

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

如何编写STM32单片机PWM脉冲输出程序?

伺服电机控制器的基础参数怎么设置?
如何编写STM32单片机PWM脉冲输出程序?

回帖(1)

张倩

2021-10-8 11:33:43
    项目需要控制丝杠在一定范围内来回移动,一个来回需要控制10s,丝杠由40st_m00330 型伺服电机(见图2)转动带动。实现控制分为两部分,第一部分是对伺服电机控制器的设置基础,如下图1所示;第二部分是对STM32单片机PWM脉冲输出的程序编写。




图1  伺服控制器
一、伺服电机控制器的基础参数设置
    基础参数设置,我是依照伺服电机操作手册来完成的,图3中设置了STM32脉冲输出和伺服电机控制器的接线方法,图4中设置了 脉冲控制方法,图5完成对伺服电机位置控制的参数设置。




图 3 伺服电机差分驱动方式控制




图 4 伺服电机脉冲控制方法





图5 伺服电机位置控制
二、STM32单片机PWM脉冲输出程序编写
   首先利用定时器3输出20KHZ频率50%占空比的PWM波,定时2完成500ms计时中断,利用开关按键来实现以下功能:每次按下开关,开启定时器2,每次计时中断期间启用定时器3,即500ms期间输出1W个PWM波,中断函数执行完毕后关闭定时器2,这样每按次按键就可控制伺服转动进而带动丝杠移动了。程序还是比较简单的,实现了最基本的控制功能,当然可以加入PID完成对电机的速度控制。整体实验装置图如下图6所示。





图 6  STM32单片机控制丝杠来回移动
举报

更多回帖

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