打印

使用STM32F103VBT6开发的步进电机驱动程序

[复制链接]
7221|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
5509|  楼主 | 2012-8-16 21:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用STM32F103VBT6开发的步进电机驱动程序,产生脉冲与方向信号,支持限位开关。支持串口命令行式控制。同时完成了DMA,ADC转换功能

stm32_setpmotor.part01.rar

1.91 MB

stm32_setpmotor.part02.rar

1.67 MB

沙发
sidly| | 2013-3-5 14:45 | 只看该作者
非常感谢

使用特权

评论回复
板凳
hisungao| | 2013-3-5 17:17 | 只看该作者
可以看看了

使用特权

评论回复
地板
Simon21ic| | 2013-3-5 20:54 | 只看该作者
能和USB一起用不?

使用特权

评论回复
5
handlike| | 2013-3-5 22:02 | 只看该作者
兄弟没有原理图吗?要是有图看程序就更亲切了。

使用特权

评论回复
6
Simon21ic| | 2013-3-6 03:10 | 只看该作者
handlike 发表于 2013-3-5 22:02
兄弟没有原理图吗?要是有图看程序就更亲切了。

呵呵,确实没看,只是随便问问,之前在新塘的时候倒是做过一个步进电机库,使用USB接口控制

使用特权

评论回复
7
Simon21ic| | 2013-3-6 03:39 | 只看该作者
既然ZL说了偶没看资料,偶就随便看了一下,没多少时间,只是浏览一下而已
不过没怎么看懂,不进电机的加速曲线都没看到,另外,貌似在step过程中,程序要等到step到位后才返回?

偶也来秀一下不进电机的代码,所有调用非阻塞,同时运行4个(不同参数的4个电机一起转,MCU的PWM数量限制,理论上按照轮询一次的时间,接十几个估计没问题),USB轮询也是非阻塞(所以不影响电机驱动)。
main函数中,初始化玩之后,在while(1)中:
// mc fsm: poll mc_module and poll each mc
mc_module_poll();               // 步进电机模块轮询,处理步进电机类事件(影响所有步进电机的事件)
for (uint8_t i = 0; i < dimof(mc); i++)
{
        mc_poll(&mc);        // 轮询不进电机实例
}
设置电机目标位置,同样非阻塞:
mc_set_pos(&mc, target_pos);
这样的设计的好处是,可以外接不同的电机,电机可以有不同的运行速度设置和不同的响应速度设置,但是,电机驱动库不用做任何修改。一个电机,用一个mc_info_t结构就可以描述,加速曲线,2路驱动相位差等参数,都只是这个结构中的成员。
内部代码只秀一段,set_target_pos(设置电机的目标位置):
// set the target position
void mc_set_pos(struct mc_info_t *mc, mc_pos_t pos)
{
        mc->step_target = pos;
        mc->cur_speed = mc_calculate_next_speed(mc);
        if (!mc->cur_speed)
        {
                mc->delay_start_us = mc_module_tick_cnt_us;
                mc-> cur_speed_change_step = 0;
        }
}

使用特权

评论回复
8
lzq1804| | 2013-3-12 16:56 | 只看该作者
Simon21ic 发表于 2013-3-6 03:10
呵呵,确实没看,只是随便问问,之前在新塘的时候倒是做过一个步进电机库,使用USB接口控制 ...

我现在接触USB接口控制步进电机,遇到很多不懂的地方,能把你这个例程,发我邮箱707543624@qq.com吗?
供我学习参考,谢谢。

使用特权

评论回复
9
035197_X| | 2013-7-26 20:01 | 只看该作者
也在学习这个!

使用特权

评论回复
10
13365336679| | 2013-7-26 23:56 | 只看该作者
能上传份图纸吗?没怎么看懂代码。

使用特权

评论回复
11
hkcj| | 2013-7-27 08:56 | 只看该作者
把原理图弄上来  这样大家可以分析分析   先顶一个  

使用特权

评论回复
12
litao12423| | 2013-11-27 14:50 | 只看该作者
感谢lz分享,顶一个~~~~~~

使用特权

评论回复
13
woodymusic| | 2014-2-3 13:37 | 只看该作者
看看吧,不知道有没有需要的东西。。。。

使用特权

评论回复
14
zjfan| | 2015-2-6 10:36 | 只看该作者
非常感谢!

使用特权

评论回复
15
wuxizhiyan| | 2015-4-20 08:58 | 只看该作者
mark一下

使用特权

评论回复
16
cuijinyi| | 2015-5-27 14:52 | 只看该作者
没有加减速

使用特权

评论回复
17
xia_318| | 2015-7-3 16:32 | 只看该作者
谢谢共享,我也学习一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

122

帖子

0

粉丝