单片机控制多个步进电机

[复制链接]
3741|19
 楼主| 朱古力 发表于 2017-2-11 15:07 | 显示全部楼层 |阅读模式
单片机如何控制定时三个步进电机,怎样手动调整他的定时时间?
chunyang 发表于 2017-2-11 17:51 | 显示全部楼层
如果会做一个电机的控制,那么应用分时操作的办法调度3个控制程序即可。当然,MCU的处理能力要足够。手动调整定时时长,可以用按键配合程序实现,按压一次,按预设步长改变定时常数就是。如果MCU有内置AD或比较器,还可以用电位器来做调节元件。
cos12a 发表于 2017-2-11 18:51 | 显示全部楼层
如果只是的控制三个电机的加减速运行,不涉及电机的联动等还是比较简单。
如果是像3D打印机一样控制,可以参考一下开源的3D打印机程序的控制算法。
 楼主| 朱古力 发表于 2017-2-12 13:01 | 显示全部楼层
chunyang 发表于 2017-2-11 17:51
如果会做一个电机的控制,那么应用分时操作的办法调度3个控制程序即可。当然,MCU的处理能力要足够。手动调 ...

那个按键是开发板的矩阵键吗?
 楼主| 朱古力 发表于 2017-2-12 13:05 | 显示全部楼层
cos12a 发表于 2017-2-11 18:51
如果只是的控制三个电机的加减速运行,不涉及电机的联动等还是比较简单。
如果是像3D打印机一样控制,可以 ...

就是一个单片机控制3个步进电机,一个工作一定的时间后到下一个工作,这个一定时间怎么手动来调?
 楼主| 朱古力 发表于 2017-2-12 13:10 | 显示全部楼层
chunyang 发表于 2017-2-11 17:51
如果会做一个电机的控制,那么应用分时操作的办法调度3个控制程序即可。当然,MCU的处理能力要足够。手动调 ...

可以用串口来改变定时时间吗?
chunyang 发表于 2017-2-12 17:26 | 显示全部楼层
朱古力 发表于 2017-2-12 13:01
那个按键是开发板的矩阵键吗?

可以不需要那么多键,当然资源够也可以,键盘数够的话,可以直接键入数据。
chunyang 发表于 2017-2-12 17:26 | 显示全部楼层
朱古力 发表于 2017-2-12 13:10
可以用串口来改变定时时间吗?

当然可以,但那样的话,需要上位系统。
 楼主| 朱古力 发表于 2017-2-12 18:59 | 显示全部楼层
chunyang 发表于 2017-2-12 17:26
当然可以,但那样的话,需要上位系统。

上位系统是什么?
 楼主| 朱古力 发表于 2017-2-12 19:01 | 显示全部楼层
chunyang 发表于 2017-2-12 17:26
可以不需要那么多键,当然资源够也可以,键盘数够的话,可以直接键入数据。 ...

怎样直接键输入的?可以写一下程序吗/xiexie
jrcsh 发表于 2017-2-13 06:32 来自手机 | 显示全部楼层
你直接买一台, 三轴控制器, (可编程), 按说明书,设置
cos12a 发表于 2017-2-13 12:35 | 显示全部楼层
朱古力 发表于 2017-2-12 13:05
就是一个单片机控制3个步进电机,一个工作一定的时间后到下一个工作,这个一定时间怎么手动来调? ...

开个定时器,启动电机时后开始计时,时间到,停止电机.
做个两个按键,一个加时间一个减时间,来调整工作时间.
chunyang 发表于 2017-2-13 14:20 | 显示全部楼层
朱古力 发表于 2017-2-12 18:59
上位系统是什么?

另外一套独立的计算机/MCU系统,指令由其发出。
chunyang 发表于 2017-2-13 14:21 | 显示全部楼层
朱古力 发表于 2017-2-12 19:01
怎样直接键输入的?可以写一下程序吗/xiexie

自己想明白原理,自己编程。
 楼主| 朱古力 发表于 2017-2-13 22:35 | 显示全部楼层
cos12a 发表于 2017-2-13 12:35
开个定时器,启动电机时后开始计时,时间到,停止电机.
做个两个按键,一个加时间一个减时间,来调整工作时间. ...

用串口调时间是怎样的?
 楼主| 朱古力 发表于 2017-2-14 10:25 | 显示全部楼层
cos12a 发表于 2017-2-13 12:35
开个定时器,启动电机时后开始计时,时间到,停止电机.
做个两个按键,一个加时间一个减时间,来调整工作时间. ...

我想通过开发板独立按键,一按下去定时器才开始工作?这怎样实现。void timer0() interrupt 1
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;

        t++;
或者是我按下去t才开始计数
 楼主| 朱古力 发表于 2017-2-14 10:26 | 显示全部楼层
chunyang 发表于 2017-2-13 14:21
自己想明白原理,自己编程。

我想通过开发板独立按键,一按下去定时器才开始工作?这怎样实现。void timer0() interrupt 1
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;

        t++;
或者是我按下去t才开始计数
 楼主| 朱古力 发表于 2017-2-14 10:28 | 显示全部楼层
chunyang 发表于 2017-2-13 14:21
自己想明白原理,自己编程。

我想通过开发板独立按键,一按下去定时器才开始工作?这怎样实现。void timer0() interrupt 1
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;

        t++;
或者是我按下去t才开始计数
zhima520 发表于 2017-6-5 11:20 | 显示全部楼层
你好!请问呢你的单片机控制多个步进电机问题解决了吗?我最近也在学习这个,向你学习一下
cjseng 发表于 2017-6-7 01:29 | 显示全部楼层
其实这个跟步进电机没什么关系,可以看成控制6个LED闪烁
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

26

帖子

1

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