搜索
bottom↓
回复: 10

求助电机画圆算法

[复制链接]

出0入0汤圆

发表于 2009-8-4 21:43:08 | 显示全部楼层 |阅读模式
求助电机画圆算法

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

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

出0入0汤圆

发表于 2009-8-4 22:04:54 | 显示全部楼层
内圆周与外圆周比就是速度比,两个电机设定恒定速度

出0入0汤圆

 楼主| 发表于 2009-8-4 22:07:16 | 显示全部楼层
能说清楚一点吗,有点不懂

出0入20汤圆

发表于 2009-8-4 22:13:33 | 显示全部楼层
找本计算机图形学看看,这个与LCD的画圆其实没有不同的

出0入0汤圆

发表于 2009-8-4 22:21:34 | 显示全部楼层
你能再纸上任意指定点画点吗?如果可以,你想画什么都行。

出0入0汤圆

发表于 2009-8-11 22:26:32 | 显示全部楼层
严重关注,期待高手赐教!!

出0入0汤圆

发表于 2009-8-12 17:35:50 | 显示全部楼层
#include<reg52.h>
#include<math.h>

//控制左右转的电机
sbit  zm2=P1^0;
sbit  zm1=P1^1;
sbit cp1 = P1^4;
sbit cw1 = P1^5;
//控制上下转的电机
sbit m2=P2^2;
sbit m1=P2^3;
sbit cp2 = P2^6;
sbit cw2 = P2^4;



//sbit  jidian=P1^7;


float x,y,r;
float buj1,buj2;
int y1=0;

void delay(int i);

void yuan(float r);

void lr(char x);
void fb(char x);



void main()
{
   
    zm2=0;//1/4细分
    zm1=1;
        m2=0;//1/4细分
        m1=1;
    //jidian=0;
    while(1)
    {
     yuan(100);
     }

}

void yuan(float r)
{
int k;


for(x=0;x<=r;x++)
{
        y=r-sqrt(r*r-x*x);
        lr(1);
    k=(int)(y1-y);
        fb(k);
    y1-=k;
}
y1=0;
for(x=r;x>=0;x--)
{
        y=sqrt(r*r-x*x);
        lr(-1);
    k=(int)(y1-y);
        fb(k);
    y1-=k;
}
y1=0;
for(x=0;x<=r;x++)
{
        y=r-sqrt(r*r-x*x);
        lr(-1);
    k=(int)(y1-y);
        fb(-k);
    y1-=k;
}
y1=0;
for(x=r;x>=0;x--)
{
        y=sqrt(r*r-x*x);
        lr(1);
    k=(int)(y1-y);
        fb(-k);
    y1-=k;
}
}



void delay(int i)
{
while(i --);
}



void lr(char x)
{
     char j;
     if(x < 0)
                 {
                  cw1 = 1;
                  x= -x;
                 }
         else
          cw1 = 0;

          for(j = 1;j <= x;j++)
                        {   
               
                cp1 = 0;
                delay(1000);
                cp1 = 1;
                delay(1000);
            }
}


void fb(char x)
{
     char j;
     if(x < 0)
                 {
                  cw2 = 0;
                  x= -x;
                 }
         else
          cw2 = 1;

          for(j = 1; j <= x; j ++)
                        {   
               
                cp2 = 0;
                delay(1000);
                cp2 = 1;
                delay(1000);
            }
}


我的就是用圆的公式做的,分1/4画,画4次。

出0入211汤圆

发表于 2009-8-12 18:24:14 | 显示全部楼层
这个好像是05年还是03年的国家赛的题目,画圆,寻迹,我在06年训练的时候做过。呵呵!老师说达到国家奖的水平了,当时我只知道所有功能实现并超标

出0入0汤圆

 楼主| 发表于 2009-8-17 19:19:04 | 显示全部楼层
谢谢啦,爽歪歪

出0入0汤圆

发表于 2009-9-9 22:15:48 | 显示全部楼层
只要把画点的功能完美实现其它功能就简单了。
画圆的时候一定要注意两个电机同步的问题,同时开始,同时结束。这样才画的更圆。

出0入0汤圆

发表于 2009-9-9 22:51:57 | 显示全部楼层
哈哈.我现在做的自动点胶机就是控制X,Y移动台自动画圆.我只要给它半径,它就会从圆心开始画一个圆面给我.这个难点只是在X,Y坐标的运算上面而已.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-9 15:05

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

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