打印

单片机控制多个步进电机

[复制链接]
3369|19
手机看帖
扫描二维码
随时随地手机跟帖
沙发
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的处理能力要足够。手动调 ...

那个按键是开发板的矩阵键吗?

使用特权

评论回复
5
朱古力|  楼主 | 2017-2-12 13:05 | 只看该作者
cos12a 发表于 2017-2-11 18:51
如果只是的控制三个电机的加减速运行,不涉及电机的联动等还是比较简单。
如果是像3D打印机一样控制,可以 ...

就是一个单片机控制3个步进电机,一个工作一定的时间后到下一个工作,这个一定时间怎么手动来调?

使用特权

评论回复
6
朱古力|  楼主 | 2017-2-12 13:10 | 只看该作者
chunyang 发表于 2017-2-11 17:51
如果会做一个电机的控制,那么应用分时操作的办法调度3个控制程序即可。当然,MCU的处理能力要足够。手动调 ...

可以用串口来改变定时时间吗?

使用特权

评论回复
7
chunyang| | 2017-2-12 17:26 | 只看该作者
朱古力 发表于 2017-2-12 13:01
那个按键是开发板的矩阵键吗?

可以不需要那么多键,当然资源够也可以,键盘数够的话,可以直接键入数据。

使用特权

评论回复
8
chunyang| | 2017-2-12 17:26 | 只看该作者
朱古力 发表于 2017-2-12 13:10
可以用串口来改变定时时间吗?

当然可以,但那样的话,需要上位系统。

使用特权

评论回复
9
朱古力|  楼主 | 2017-2-12 18:59 | 只看该作者
chunyang 发表于 2017-2-12 17:26
当然可以,但那样的话,需要上位系统。

上位系统是什么?

使用特权

评论回复
10
朱古力|  楼主 | 2017-2-12 19:01 | 只看该作者
chunyang 发表于 2017-2-12 17:26
可以不需要那么多键,当然资源够也可以,键盘数够的话,可以直接键入数据。 ...

怎样直接键输入的?可以写一下程序吗/xiexie

使用特权

评论回复
11
jrcsh| | 2017-2-13 06:32 | 只看该作者
你直接买一台, 三轴控制器, (可编程), 按说明书,设置

使用特权

评论回复
12
cos12a| | 2017-2-13 12:35 | 只看该作者
朱古力 发表于 2017-2-12 13:05
就是一个单片机控制3个步进电机,一个工作一定的时间后到下一个工作,这个一定时间怎么手动来调? ...

开个定时器,启动电机时后开始计时,时间到,停止电机.
做个两个按键,一个加时间一个减时间,来调整工作时间.

使用特权

评论回复
13
chunyang| | 2017-2-13 14:20 | 只看该作者
朱古力 发表于 2017-2-12 18:59
上位系统是什么?

另外一套独立的计算机/MCU系统,指令由其发出。

使用特权

评论回复
14
chunyang| | 2017-2-13 14:21 | 只看该作者
朱古力 发表于 2017-2-12 19:01
怎样直接键输入的?可以写一下程序吗/xiexie

自己想明白原理,自己编程。

使用特权

评论回复
15
朱古力|  楼主 | 2017-2-13 22:35 | 只看该作者
cos12a 发表于 2017-2-13 12:35
开个定时器,启动电机时后开始计时,时间到,停止电机.
做个两个按键,一个加时间一个减时间,来调整工作时间. ...

用串口调时间是怎样的?

使用特权

评论回复
16
朱古力|  楼主 | 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才开始计数

使用特权

评论回复
17
朱古力|  楼主 | 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才开始计数

使用特权

评论回复
18
朱古力|  楼主 | 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才开始计数

使用特权

评论回复
19
zhima520| | 2017-6-5 11:20 | 只看该作者
你好!请问呢你的单片机控制多个步进电机问题解决了吗?我最近也在学习这个,向你学习一下

使用特权

评论回复
20
cjseng| | 2017-6-7 01:29 | 只看该作者
其实这个跟步进电机没什么关系,可以看成控制6个LED闪烁

使用特权

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

本版积分规则

5

主题

26

帖子

1

粉丝