找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4435|回复: 9
打印 上一主题 下一主题
收起左侧

步进电机轴来回摆动,单片机程序错在哪里?望大神指教!

[复制链接]
跳转到指定楼层
楼主
ID:86913 发表于 2017-3-15 11:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
所用:单片机STC89C52、42步进电机、驱动器L298N
两个步进电机:电机1由P1.0~P1.3控制,电机2由P1.4~P1.7控制。
运行结果:电机轴来回摆动,转得极慢(电机1更慢)。程序错在哪里?为什么会摆动?望指教!

#include <reg52.h>              
#define uchar unsigned char   
#define uint  unsigned int   
uchar code upa_data[8]={ 0xf9,0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8};
uchar code upb_data[8]={ 0x9f,0x1f,0x3f,0x2f,0x6f,0x4f,0xcf,0x8f};  

/********以下是延时函数********/
void Delay(uint speed)                                
{                                             
        uint i,j;                       
        for(i=speed;i>0;i--)                     
                for(j=110;j>0;j--);      //大约1毫秒,
}
/********以下是主函数********/
void main()
{
   uint  count=400;
   while(count!=0x00)
   {
        uchar i;
         for (i=0; i<8; i++)   
          {
          P1 = upa_data;         
           Delay(50);
          P1 = upb_data;
          Delay(50);
         }
   }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:86913 发表于 2017-3-16 18:05 | 只看该作者
缺少 count--
/********以下是主函数********/
void main()
{
   uint  count=400;
   while(count!=0x00)
   {
        uchar i;
         for (i=0; i<8; i++)   
          {
          P1 = upa_data;         
           Delay(50);
          P1 = upb_data;
          Delay(50);
         }
      count--;
   }
}
回复

使用道具 举报

板凳
ID:86913 发表于 2017-3-16 21:42 | 只看该作者
看来,一个单片机控制多个步进电机的,研究的人很少。
回复

使用道具 举报

地板
ID:137261 发表于 2017-3-17 10:05 | 只看该作者
同时控制两个以上步进电机,最好使用定时器。否则容易出问题
回复

使用道具 举报

5#
ID:86913 发表于 2017-3-17 12:20 | 只看该作者
是呀,别人都这么说,可是现在还不会。先把这个问题解决了再学定时器!
回复

使用道具 举报

6#
ID:86913 发表于 2017-3-17 21:52 | 只看该作者
回复

使用道具 举报

7#
ID:86913 发表于 2017-3-20 09:07 | 只看该作者
此问题已解决,谢谢大家!
回复

使用道具 举报

8#
ID:86913 发表于 2017-3-20 09:08 | 只看该作者
淡然若梦 发表于 2017-3-17 10:05
同时控制两个以上步进电机,最好使用定时器。否则容易出问题

谢谢您的指教!
回复

使用道具 举报

9#
ID:140686 发表于 2017-7-26 14:45 | 只看该作者
请问用L298连接42步进电机的 A- B- A B 之后,还用给电机接12/24V?  
回复

使用道具 举报

10#
ID:222394 发表于 2017-7-26 17:32 | 只看该作者
cc灿 发表于 2017-7-26 14:45
请问用L298连接42步进电机的 A- B- A B 之后,还用给电机接12/24V?

电机还有一根电源线(一般为红色)要接的,不过我之前接的是5V
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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