打印
[ZLG-MCU]

在uCos-ii系统上控制多个步进电机

[复制链接]
4067|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
larmstrong|  楼主 | 2007-9-3 10:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想在uCos-ii操作系统上控制多个步进电机,可能会同时运行速度也不相同,我该怎么控制,哪种控制方式更好,谢谢。

在ARM系统的uCos-ii的系统的时基一般为5ms,而步进电机的时基可能是1~4ms,需要的时基小于5ms,所有不能用系统的延时函数。

1 采用计算周期延时,这样这个线程就会占用CPU,会影响其他其他线程的运行。

2 采用另一个定时器延时,设定一个时基(如:0.8ms),步进电机延时它的整数倍,这样不能实现运行速度的变化。

3 采用另一个定时器延时,控制多个时基不同的步进电机,程序会很复杂,因为每次的中断时间常数可能会不同。哪位有这类demo程序。在非uCos-ii系统的中断中能否Post一个事件?

我改选用哪种方式,或者有更好的方式?谢谢!

相关帖子

沙发
larmstrong|  楼主 | 2007-9-11 09:14 | 只看该作者

在非uCos-ii系统的中断中能否Post一个事件?答案是能

使用特权

评论回复
板凳
biao.l| | 2007-9-20 22:12 | 只看该作者

时基可以改的吧

使用特权

评论回复
地板
larmstrong|  楼主 | 2007-9-27 08:53 | 只看该作者

能改,太快了会服务不过来,电动运动发抖

使用特权

评论回复
5
soso| | 2007-9-29 06:57 | 只看该作者

这不是rtos的问题了

    看你的描述。你解决问题的路子都错了,要是给你几个servo 3000rpm转速,你这样设计就是FPGA恐怕累死也解决不了的。

使用特权

评论回复
6
larmstrong|  楼主 | 2007-9-29 13:37 | 只看该作者

eeproom:能提供更好的解决方案吗?谢谢!

使用特权

评论回复
7
gavin_he| | 2007-10-12 09:11 | 只看该作者

节拍时间改短后,将线程堆栈放大点,试试看

使用特权

评论回复
8
U200712308| | 2008-4-30 23:44 | 只看该作者

按我的经验是要出问题的,除非你的电机的速度不是很高.

使用特权

评论回复
9
TRINAMIC| | 2014-10-6 18:38 | 只看该作者
最好使用通讯,TRINAMIC有集成6轴或3轴的步进控制驱动一体式智能卡,支持CAN或RS485组网控制,只需要从上位的MCU发指令就可以了  这样可以大大减少上位的负担,而且标准的运动程序可以存在卡内部

使用特权

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

本版积分规则

19

主题

33

帖子

0

粉丝