椒盐时代 发表于 2016-4-6 17:02:12

STM32控制步进电机驱动器TB6600请教

使用TB6600型号驱动器,STM32与驱动器通过方向、脉冲、使能三个引脚连接,方向与使能都是高低电平,脉冲是TIM4_CH1通道,这个脉冲控制是不是需要使用PWM功能?是不是还需要一个定时器控制中断?

weichao4808335 发表于 2016-4-6 17:04:19

楼主连pwm都不知道还搞步进?

jxyctwt 发表于 2016-4-6 17:12:18

不用PWM的,定时器中取反端口,变量++或--

codefish 发表于 2016-4-6 17:13:00

两种方法都可以:
1、用pwm的ch1或ch2输出,使用一些加减速算法不断去改变pwm的频率。
2、不用pwm,只是用定时器,在定时器中断里面改变一个gpio管脚(这个管脚的输出用作脉冲输出)的电平,定时器的频率要在加速段和减速段改变。

myqiang1990 发表于 2016-4-6 18:13:33

做好PWM脉冲计数就可以了~要不然你根本不知道发了多少个脉冲出去~

aaabbbad 发表于 2016-4-6 22:51:30

楼上几位说的都很对,我现在也在调步进电机,用的PWM,目前在调加减速和定位精度

爱则倾心 发表于 2016-4-7 16:24:12

楼主,可以看一下我的帖子http://www.amobbs.com/thread-5646984-1-1.html

椒盐时代 发表于 2016-4-8 11:23:40

爱则倾心 发表于 2016-4-7 16:24
楼主,可以看一下我的帖子http://www.amobbs.com/thread-5646984-1-1.html

看过你帖子并收藏了
还几个问题麻烦给确认一下:
我想用ST控制3或4个电机运动,有细分驱动器了,对定位有一定要求,并可以通过触摸屏控制电机运转,我思路是这样:已知给驱动器发送2000个脉冲电机轴会转一圈,那换算成行程就可以知道一个脉冲走多少距离,然后通过发送脉冲数控制行程,从而实现准确定位,发送的脉冲数需要可控可调。
有说PWM不好精确控制步数,建议直接用脉冲,看了你的帖子似乎DMA方式较好。
如果DMA方式那驱动器的脉冲端口是接ST的TIM3_CH1 /CH2 CH3还是TIM1TIM2TIM3?

爱则倾心 发表于 2016-4-9 20:14:47

椒盐时代 发表于 2016-4-8 11:23
看过你帖子并收藏了
还几个问题麻烦给确认一下:
我想用ST控制3或4个电机运动,有细分驱动器了,对定位有 ...

亲,你真该好好补补单片机的定时器知识.....要选择某个通道对应的引脚接的

sbusr 发表于 2016-4-9 20:57:20

本帖最后由 sbusr 于 2016-4-9 21:00 编辑

先研究明白步进电机驱动器输入信号的定义。使能,高或低分别表示电机的锁定和释放。方向,高和低对应正转或反转。脉冲,每一个上升沿或下降沿(厂家定义)驱动器会控制电机的电流,使转子转动一微步。
建议用定时器的输出引脚,发出占空比50%的方波。用pwm中断对脉冲计数。或用主从定时器计数。
频率对应转速,而步进电路不能立刻到高速,所以要有加减速过程。逐步提高或减小方波的频率,以实现加减速。

duanll 发表于 2016-4-9 21:46:35

看需求了,如果只是转起来,怎么搞都可以,如果要做精确计步,就麻烦些..

lyl520719 发表于 2016-4-25 23:10:28

不知道这种集成电路做出来的驱动器,噪音和平稳性怎么样?
页: [1]
查看完整版本: STM32控制步进电机驱动器TB6600请教