搜索
bottom↓
回复: 10

Mega64能同事控制4台步进电机动转吗?

[复制链接]

出0入0汤圆

发表于 2009-8-3 16:05:43 | 显示全部楼层 |阅读模式
以前没有做过涉及到控制电机的项目,对电机控制了解的甚少,最近一个项目,要用的四台步进电机,其中有三台同时工作,这三台中有两台工作情况相同,基本就是转120度停一下,然后再转120度再停,大概也就是1到2秒转一圈就行,但这两个电机不一定是同步运行,另一台步进电机的运动规迹是正转120度然后返转120度,然后再正转一120度,就这样往返运动下去,速度也不用太快,一秒内最多摆两次就可以。请各位前辈给指点一个,看看用什么方案,AVR单片机能胜任吗,用它的三个定时器,CTC模示,如要不行的话应该采用什么方案好呀,先谢谢各位了!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2009-8-3 16:19:16 | 显示全部楼层
完全可以,1秒一圈也就是60转/分钟而已,只需一个定时器即可

出0入0汤圆

 楼主| 发表于 2009-8-3 16:25:34 | 显示全部楼层
谢谢楼上的,三台电机同时工作,要分别控制,一个定时器可以吗?

出0入0汤圆

发表于 2009-8-3 16:29:21 | 显示全部楼层
八个都可以.
定时 一到就依此检测十个的状态.

出0入0汤圆

发表于 2009-8-3 16:30:26 | 显示全部楼层
有3个定时器,定时器1的两个比较器可以拆开用,这就4个了。如果有其他外设用到定时器,就必须整合使用了。

另,楼上的说一个定时器有点夸张了,项目是有4个电机的,如果只用一个定时器,控制电机的速度和长度比较吃力......

出0入0汤圆

发表于 2009-8-3 16:34:51 | 显示全部楼层
定时到
第1个:switch (开关状态)
           { case 开:switch (位置)
                            {case 位置1:...
                             case 位置2:...
                              .....
                            }
             case 关:...
             .....      
            }
第2个:switch (开关状态)
           { case 开:switch (位置)
                            {case 位置1:...
                             case 位置2:...
                              .....
                            }
             case 关:...
             .....      
            }
第n个..........

出0入0汤圆

发表于 2009-8-3 16:41:23 | 显示全部楼层
楼上的指的可能是直接驱动电机了,楼主应该是用了驱动器的。
另:步进电机控制要求实时性较高,这么驱动电机或者驱动器都是不可取的,电机运行起来效果不好......

出0入0汤圆

发表于 2009-8-3 17:07:38 | 显示全部楼层
楼主所描述的速度较低,所以没有问题的

用一个定时器做时基,比如固定20us中断一次,再扩展多个软定时
//定时器中断处理
if (StepTime_1 != 0)
{
    if (--StepTime_1 == 0)
    {
        StepTime_1 = SetTime_1;   // 定时1 重装载
        ......
    }
}
if (StepTime_2 != 0)
{
    if (--StepTime_2 == 0)
    {
        StepTime_2 = SetTime_2;   // 定时2 重装载
        ......
     }
}
if (StepTime_3 != 0)
{
    if (--StepTime_3 == 0)
    {
        StepTime_3 = SetTime_3;   // 定时3 重装载
        ......
     }
}
if (StepTime_4 != 0)
{
    if (--StepTime_4 == 0)
    {
        StepTime_4 = SetTime_4;   // 定时4 重装载
        ......
     }
}

出0入0汤圆

发表于 2009-8-3 17:30:08 | 显示全部楼层
用软定时的方法可行,但是每个电机的速度毕竟就不是那么精确了。

当然,如果速度较慢,也没有这方面的要求的话可行,如果有高速,再涉及的到加减速的话就有问题了,限定了时基,就使得加速曲线的高速部分不会匀称了,以5000Hz为例,20us时基,需要10个软延时,他的最小上一步就是11个软延时,也就是4545Hz,跳动太大了。

只是方法问题,个人倾向于多个定时器,将来调整方便......

出0入0汤圆

 楼主| 发表于 2009-8-4 08:40:07 | 显示全部楼层
谢谢各位的指点,听各位这么一说,看来同时控制是没有问题的,我就放心了,那我就用多个定时器算了,大不了再加一片单片机做别的处理工作,反正加几十元的成本还是没有什么问题的,但要求一定要运行稳定,因为不是民用,也不是工业用的。

出0入0汤圆

发表于 2009-8-4 09:57:22 | 显示全部楼层
难道是军用的?你去做军品开发,国家_安全成问题啊
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 03:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表