初级会员

- 积分
- 51
- 金钱
- 51
- 注册时间
- 2016-5-27
- 在线时间
- 14 小时
|
感谢论坛对我的帮助,写了一个步进电机控制代码,用的TB6600驱动器
(1)电机的转速与脉冲频率成正比,所以控制脉冲频率可以精确调速,控制脉冲数就可以精确
定位。
(2)加速减速用的定时器1
定位用的TIM2,TIM3(主从模式),代码参考了论坛帖子
//来自阿mo大牛的解释,仅供参考
// STM32 实现可变频率固定脉冲个数输出方法.
//原理:1.使用两个定时器,一个定时器用于PWM输出(定时器2),一个定时器用于计数(定时器1)。
// 2.两个定时器都工作在从模式。//注:代码用的是一个在主模式,一个在从模式
// 3.定时器1工作于PWM门控模式(占空比50%),只有定时器1的OC1REF低电平时,启动定时器。定时器3的脉冲输出口OC1作为外部触发信号。
// 4.定时器2工作外部时钟,单脉冲脉冲输出模式,选择TIM2的触发输入作为计数脉冲(当计数值达到设定值时,OC1,变为高电平,
// 定时器1停止PWM脉冲输出.
(3)
//DIR -->PC2
//PUL -->PA8
//ENA 空接
使用方法:
(1)步进电机加减速:DIR -->PC2 PUL -->PA8 ENA 空接 重启开发板 默认执行此部分代码
(2)步进电机定位 :DIR -->PC2 PUL -->PC6 ENA 空接 按下按键KEY0,转动固定角度
|
|