搜索
bottom↓
回复: 28

51单片机能否同时控制两路步进电机,实现两轴联动

[复制链接]

出0入0汤圆

发表于 2010-1-14 11:48:47 | 显示全部楼层 |阅读模式
请问各位朋友,51单片机能否同时控制两路步进电机,实现两轴联动?比如说AT89S52可以实现吗?

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

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2010-1-14 12:18:13 | 显示全部楼层
有知道的朋友吗?

出0入0汤圆

发表于 2010-1-14 12:23:04 | 显示全部楼层
做8轴联动都没问题

出0入0汤圆

 楼主| 发表于 2010-1-14 13:31:30 | 显示全部楼层
你好!如果用了高减速比的减速箱,再加上驱动器有细分,若几个电机要求同时动作且速度又各不相同,用于实现精确的定位,不知道AT89S52可以实现吗?

出0入0汤圆

 楼主| 发表于 2010-1-14 17:20:40 | 显示全部楼层
有知道的朋友吗?

出0入0汤圆

发表于 2010-1-14 18:53:38 | 显示全部楼层
可以

出0入0汤圆

发表于 2010-1-14 19:41:15 | 显示全部楼层
有带6路硬件PWM的51。

软件模拟pwm都可以。

出0入0汤圆

 楼主| 发表于 2010-1-14 20:20:43 | 显示全部楼层
哪位朋友能推荐一下这类带多路PWM的51的具体型号?

出0入0汤圆

发表于 2010-1-14 22:11:35 | 显示全部楼层
MTV系列的可以,有带16路PWM的,写的是DA,其实是PWM。
两轴联动最简单的办法就是事先算好各电机要走的步数(或脉冲数),判断大小后比例取值,然后按比例走步(脉冲)。
临时给你写段代码:

void Multi_Move(void)
{
    uint rate,rest;  
    uint steps;

    if(Steps_Motor0 > Steps_Motor1)
    {
        rate = Steps_Motor0 / Steps_Motor1);
        rest = Steps_Motor0 % Steps_Motor1);
   
        while(Steps_Motor0--)
        {
             steps = rate;
             Motor1_Move(1);    // 走1步
             Motor0_Move(steps);
        }
        if(rest > 0)
        {
            steps = rest;
            Motor0_Move(steps); // 把剩余步数走完
        }
    }
    else
    {
        ....
        ....
    }
}

嘿嘿,打完了,应该没出错。  不加细分的话走步可能不平稳。
头像被屏蔽

出0入0汤圆

发表于 2010-1-15 10:26:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2010-1-15 11:03:09 | 显示全部楼层
记号,备用。

出0入0汤圆

 楼主| 发表于 2010-1-15 11:42:26 | 显示全部楼层
请问ATMEL公司和宏晶公司有没有类似的型号

出0入0汤圆

发表于 2010-1-15 11:42:29 | 显示全部楼层

(原文件名:MTV332.JPG)

好像还少说了一路,17路

出0入0汤圆

发表于 2010-1-15 11:43:45 | 显示全部楼层
STC12C54系列的有吧,就怕站长不让说

出0入0汤圆

 楼主| 发表于 2010-1-15 11:49:49 | 显示全部楼层
请问STC12C54还有后缀吗?有朋友使用过吗?
头像被屏蔽

出0入0汤圆

发表于 2010-1-15 13:44:59 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

 楼主| 发表于 2010-1-15 15:50:05 | 显示全部楼层
楼上提到的MTV的好像很难买到吧!有没有像ATMEL或者宏晶之类的比较容易买到的?

出0入0汤圆

发表于 2010-1-15 17:41:01 | 显示全部楼层
Mega系列不是带PWM的吗,M16就有四路,控制两步进电机正好
附上MTV332 datasheet
点击此处下载 ourdev_526591.pdf(文件大小:2.49M) (原文件名:MTV332_V0.9.pdf)

出0入0汤圆

发表于 2010-1-26 00:11:27 | 显示全部楼层
做个记号

出0入0汤圆

发表于 2010-3-25 22:26:26 | 显示全部楼层
可以啊

出0入0汤圆

发表于 2010-3-25 22:27:04 | 显示全部楼层
我门就是正样做的

出0入0汤圆

发表于 2010-3-28 12:19:58 | 显示全部楼层
楼上能否说说是有没有什么好的办法?好种只是最简单的,现在在想一种好和算法

出0入0汤圆

发表于 2010-3-29 00:56:34 | 显示全部楼层
你还是吧 电路和 51学好吧在作这些  

要不会成一堆塑料

出0入0汤圆

发表于 2010-5-19 10:54:52 | 显示全部楼层
我给一个软件的思路:

上操作系统,每个电机的驱动设计为一个进程。

我试过两个步进电机,效果很好。

出0入0汤圆

发表于 2010-5-21 10:11:32 | 显示全部楼层
我用c8051实现了六轴联动,效果还可以,达到50K频率,欢迎浏览我的博客 http://blog.gongkong.com/Index.Asp?Id=12094

出0入0汤圆

发表于 2010-5-21 14:36:21 | 显示全部楼层
楼上的能不能开源些资料,我去你博客上看了,每一篇都只有结果,两句话,和你上面说的一样

我用c8051实现了六轴联动,效果还可以,达到50K频率

出0入0汤圆

发表于 2010-5-21 17:56:50 | 显示全部楼层
我正好也弄这个,嘿嘿

出0入0汤圆

发表于 2010-5-21 23:24:42 | 显示全部楼层
用 阵例技术不就 又能生多几个出来了

如: 2003 只有 7个输出  理论上 只能控制一个 5线步进电机  但是 你但用 3个脚来控制 步进供电  4个脚同时并 3个步进的相线也能控制到 3个步进电机  ,~~~~~


其实 多少轴 联动都好 同时都是只有一条轴在动 或 时间单位内 单线程的MCU都只是作出一个 动作

  你可以 交互来动(更象是同步在动《算是STC89C52RC 12M下 每秒的也可执行 1000000条指令,人眼跟本分辩不了》) 也能 动完一轴在动下轴

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-8-26 23:19

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

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