搜索
bottom↓
回复: 5

请大家帮我看看这步进电机驱动出现的怪问题 【恢复】

[复制链接]

出0入0汤圆

发表于 2008-10-21 08:39:09 | 显示全部楼层 |阅读模式
本人最近在做步进电机,2相六线,1.8度,但是驱动程序中,可实现转动,但不知为何方向不受控制,比如这次转动时是顺时针,下次在开始时可能就是逆了,而且转力也不足,用不了多少力就能稳住它.另外发现只要时间延迟太长或太短都不能转动.

现在正急着完成关于这个的项目,请大家答疑解惑啊.感激万分啊





 (原文件名:2006102923424087317.jpg) 



程序如下:

#include <avr/io.h>

#include <avr/delay.h>



#define uchar unsigned char  

#define uint unsigned int 



static uchar np;

const unsigned char motortb[]={0x01,0x04,0x02,0x08,0x01,0x04,0x02,0x08};//其中蓝->PC0,红->PC1,绿->PC2,黑PC3.



void a_step(uchar d,uchar t)  //旋转函数

{

 if(d&0x01)    //如果d为1,为逆时针

   {

     if(np==0)

           np=7;

         else np--;

        }

  else 

   {

    if(np==7)

          np=0;

        else np++;

   }

   PORTC=motortb[np];

   _delay_ms(7);

 }

 

void a_turn(uchar d,uchar t)  //d为方向参数,t为时间参数

{

 uchar i;

 for (i=0;i<400;i++)

   a_step(d,t);

}



void main(void)

{

 DDRC  = 0x0F;//电机连接低四位

 PORTC=0X44;

 np=4;



 while(1)

 a_turn(0,1);

}

本贴被 liurengui 编辑过,最后修改时间:2008-10-21,09:17:54.

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

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2008-10-22 10:13:10 | 显示全部楼层
谢谢各位提示,我找到原因了,因为我电机连接C口,因为熔丝没配置好,使PC2,PC3输出都为低电平,导致工作不正常.

出0入0汤圆

 楼主| 发表于 2008-10-21 20:30:54 | 显示全部楼层
请问相序哪里出现问题了.请指教

出0入4汤圆

发表于 2008-10-21 13:52:31 | 显示全部楼层
楼主,电机的相序没弄对吧!

出0入0汤圆

发表于 2008-10-21 09:32:28 | 显示全部楼层
楼上正解,用示波器一看就知道了。

出0入0汤圆

发表于 2008-10-21 09:18:11 | 显示全部楼层
不用看了,1.程序发的脉波宽度可能有跳变。2.驱动器可能有一相坏了。你有示波器的话一看便知
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-29 08:42

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

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