[其他ST产品] stm32控制步进电机

[复制链接]
2207|31
 楼主| elephant00 发表于 2022-11-7 14:38 | 显示全部楼层 |阅读模式
一、PWM操作驱动器使步进电机一直转
1.使能定时器时钟,并配置基本参数。下图以TIM3为例。
2.配置输出比较PWM1模式。下图ARR+1=100,故CCR值除以100即占空比。占空比与转速有关。
3.使能时钟   TIM_Cmd(TIM3, ENABLE);
注:
计数器每溢出一次,发出一次脉冲,产生一次TRGO(触发输出信号)。
PWM频率不宜过快,否则可能使步进电机不转,并伴有鸣叫。
CCR可随时更改,用以调速。
开启PWM时,必须同时开启AFIO时钟!!必须配置对应引脚为复用输出!!

222611anwq00w8nqnxa8ow.png

二、转一定角度
使用定时器主从模式,从定时器用于计算脉冲数(脉冲即指PWM波)。脉冲数与旋转角度直接相关,查看驱动器拨码开关设置可知脉冲与角度关系。
1.使能从定时器时钟,并配置基本参数。Period(即ARR)+1为期望脉冲数,达到期望数后触发中断。本例从定时器为TIM4.
2.使能中断并中断优先级分组。
3.设置主定时器并使能,使用更新事件作为触发输出。
4.设置从定时器,参数TIM_SlaveMode_External1。
5.设置输入触发源,参数TIM_TS_ITR2需要查表。(可以查看本专栏中“stm32定时器”篇“主从模式”)
6.设置从定时器触发为外部时钟模式。
7.使能从定时器时钟。
8.写中断服务函数,关闭定时器以停转步进电机。

222646hachzhbeksrrvsmv.png

222651lgrx13ni8yqfk35g.png
chenjun89 发表于 2022-11-7 18:42 来自手机 | 显示全部楼层
抹红那部分代码是什么意思?
Jacquetry 发表于 2022-11-7 20:04 | 显示全部楼层
涂掉的那块代码是什么啊?
软核硬核 发表于 2022-11-7 21:00 | 显示全部楼层
PWM控制直流电机是最好的选择。
一只眠羊 发表于 2022-11-20 17:02 | 显示全部楼层
PWM控制电机,最好再配合使用MOS,很OK

我吃小朋友 发表于 2022-11-20 17:34 | 显示全部楼层
其实最好用专用的电机控制芯片,这样能稳当很多

将爱藏于深海 发表于 2022-11-20 19:06 | 显示全部楼层
我觉得电机有鸣叫可能是因为频率没对上,比如电机需要10K的频率,你要给小了给大了效果都不好

温室雏菊 发表于 2022-11-20 19:38 | 显示全部楼层
转角一般不都是用霍尔传感器吗?

未说出口的像你 发表于 2022-11-20 20:10 | 显示全部楼层
原来转角还能用定时器获取到,有点意思

失物招領 发表于 2022-11-20 20:42 | 显示全部楼层
步进电机一般不都是PWM控制么,但是得有驱动芯片的

白马过平川 发表于 2022-11-20 21:14 | 显示全部楼层
我觉得用定时器输出的波形也能驱动步进电机了,也还简单点

西洲 发表于 2022-11-20 21:46 | 显示全部楼层
步进电机的角度可以用步进数来获得吧

捧一束彼岸花 发表于 2022-11-20 22:18 | 显示全部楼层
你可以加个传感器,或者行程开关,也能粗略的得到步进电机的位置和角度的

风凉 发表于 2022-11-20 22:50 | 显示全部楼层
感觉步进电机这么做应该是最好的了,可以知道角度也可以控制速度

tpgf 发表于 2022-12-9 09:41 | 显示全部楼层
在什么情况下电机会发生抖动的现象呢
木木guainv 发表于 2022-12-9 10:47 | 显示全部楼层
电机发出鸣叫的原因是什么 ?是报错还是过载?
xiaoqizi 发表于 2022-12-9 11:00 | 显示全部楼层
现在有米有具体的说法就是转动的步距角和功率的关系呢
wowu 发表于 2022-12-9 11:10 | 显示全部楼层
pwm频率和电机的参数的配合是如何计算得到的呢
wakayi 发表于 2022-12-9 11:23 | 显示全部楼层
如何保证每个pwm的周期中让步进电机动作一步呢
renzheshengui 发表于 2022-12-9 11:39 | 显示全部楼层
除了使用溢出的方式进行触发,还有其他的方式吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1031

主题

3946

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部