欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5386|回復: 9
打印 上一主題 下一主題
收起左側

請教51單片機控制電機轉動的問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:479025 發表于 2019-2-22 19:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
小弟最近開始學做一個基于51單片機的循跡小車,卻在第一步遇上了麻煩。
我用L298n步進電機驅動
OUT1,OUT2接左邊電機;
OUT3,OUT4接右邊電機;
然后寫了一個讓兩個電機轉動的程序:

#include <reg51.h>

sbit IN1=P1^0;
sbit IN2=P1^1;
sbit IN3=P1^2;
sbit IN4=P1^3;

//延時函數
void delay(unsigned int k)
{
unsigned int x,y;
for(x=0;x<k;x++)
for(y=0;y<2000;y++);
}
/************************************************************************/
/*--主函數--*/
void main(void)
{

delay(100);
while(1)
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
}
}

問題是接好線后電機不轉了。
對于左邊的電機,我將IN1和IN2分別與P1.0和P1.1相接,電機不轉;
當我將其中一個斷開(只將IN1與P1.0相接,IN2斷開),電機就轉動了;反過來只接IN2也是這樣。
IN1,IN2其中任意一個與單片機的IO口的任意一只引腳相接,另外一個斷開,都會讓電機轉動;
兩個同時接上就不動了。IN3和IN4的情況也是這樣。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:479615 發表于 2019-2-23 12:27 | 只看該作者
#include "reg52.h"                         //&acute;&Euml;&Icirc;&Auml;&frac14;&thorn;&Ouml;&ETH;&para;¨&Ograve;&aring;&Aacute;&Euml;&micro;&yen;&AElig;&not;&raquo;ú&micro;&Auml;&Ograve;&raquo;&ETH;&copy;&Igrave;&Oslash;&Ecirc;&acirc;&sup1;&brvbar;&Auml;&Uuml;&frac14;&Auml;&acute;&aelig;&AElig;÷
#include<intrins.h>                //&Ograve;ò&Icirc;&ordf;&Ograve;&ordf;&Oacute;&Atilde;&micro;&frac12;×ó&Oacute;&Ograve;&Ograve;&AElig;&ordm;&macr;&Ecirc;&yacute;&pound;&not;&Euml;ù&Ograve;&Ocirc;&frac14;&Oacute;&Egrave;&euml;&Otilde;&acirc;&cedil;&ouml;&Iacute;·&Icirc;&Auml;&frac14;&thorn;

typedef unsigned int u16;          //&para;&Ocirc;&Ecirc;&yacute;&frac34;&Yacute;&Agrave;à&ETH;&Iacute;&frac12;&oslash;&ETH;&ETH;&Eacute;ù&Atilde;÷&para;¨&Ograve;&aring;
typedef unsigned char u8;

sbit MOTOA = P1^0;
sbit MOTOB = P1^1;
sbit MOTOC = P1^2;
sbit MOTOD = P1^3;        

#define SPEED 200

/*******************************************************************************
* &ordm;&macr; &Ecirc;&yacute; &Atilde;&ucirc;         : delay
* &ordm;&macr;&Ecirc;&yacute;&sup1;&brvbar;&Auml;&Uuml;                   : &Ntilde;&Oacute;&Ecirc;±&ordm;&macr;&Ecirc;&yacute;&pound;&not;i=1&Ecirc;±&pound;&not;&acute;ó&Ocirc;&frac14;&Ntilde;&Oacute;&Ecirc;±10us
*******************************************************************************/
void delay(u16 i)
{
        while(i--);       
}


/*******************************************************************************
* &ordm;&macr; &Ecirc;&yacute; &Atilde;&ucirc;       : main
* &ordm;&macr;&Ecirc;&yacute;&sup1;&brvbar;&Auml;&Uuml;                 : &Ouml;÷&ordm;&macr;&Ecirc;&yacute;
* &Ecirc;&auml;    &Egrave;&euml;       : &Icirc;&THORN;
* &Ecirc;&auml;    &sup3;&ouml;             : &Icirc;&THORN;
*******************************************************************************/
void main()
{       
        P1=0X00;
        while(1)
        {       
                MOTOA = 1;
                MOTOB = 0;
                MOTOC = 1;
                MOTOD = 1;
                delay(SPEED);

                MOTOA = 1;
                MOTOB = 1;
                MOTOC = 1;
                MOTOD = 0;
                delay(SPEED);

                MOTOA = 0;
                MOTOB = 1;
                MOTOC = 1;
                MOTOD = 1;
                delay(SPEED);

                MOTOA = 1;
                MOTOB = 1;
                MOTOC = 0;
                MOTOD = 1;
                delay(SPEED);       
        }
}
試一下這個
回復

使用道具 舉報

板凳
ID:69072 發表于 2019-2-23 13:04 | 只看該作者
1.LN298N 使能引腳沒有接
2.驅動電機的電源 電流不足
回復

使用道具 舉報

地板
ID:461179 發表于 2019-2-23 14:58 | 只看該作者
L298N是否使能?
電源供電接口有無接錯?電源是否穩壓?不要用單片機直接去做電源。
驅動與單片機共地了沒有。。。。
回復

使用道具 舉報

5#
ID:317383 發表于 2019-2-23 15:35 | 只看該作者
298可驅動兩個電機,對于每個電機來說,三根線輸入298(in1,in2,ena)輸出兩根(out1,out2)接電機,另外一個電機類似
你先檢查電路
然后再分析程序
回復

使用道具 舉報

6#
ID:479025 發表于 2019-2-23 20:39 | 只看該作者
1835886 發表于 2019-2-23 12:27
#include "reg52.h"                         //&acute;&Euml;&Icirc;&Auml;&frac14;&thorn;&Ouml;&ETH;&para;¨&Ograve;&aring;& ...

好的,謝謝
回復

使用道具 舉報

7#
ID:479025 發表于 2019-2-23 20:41 | 只看該作者
1835886 發表于 2019-2-23 12:27
#include "reg52.h"                         //&acute;&Euml;&Icirc;&Auml;&frac14;&thorn;&Ouml;&ETH;&para;¨&Ograve;&aring;& ...

不用管ENA,ENB嗎?
回復

使用道具 舉報

8#
ID:479025 發表于 2019-2-23 20:44 | 只看該作者
dadaguai11 發表于 2019-2-23 14:58
L298N是否使能?
電源供電接口有無接錯?電源是否穩壓?不要用單片機直接去做電源。
驅動與單片機共地了 ...

接了使能的,供電接口這些也沒問題。
回復

使用道具 舉報

9#
ID:479025 發表于 2019-2-23 20:46 | 只看該作者
gh001 發表于 2019-2-23 15:35
298可驅動兩個電機,對于每個電機來說,三根線輸入298(in1,in2,ena)輸出兩根(out1,out2)接電機,另 ...

好,電路應該沒有問題,我再看看程序。謝謝
回復

使用道具 舉報

10#
ID:479025 發表于 2019-2-23 20:47 | 只看該作者
鳳姐438 發表于 2019-2-23 13:04
1.LN298N 使能引腳沒有接
2.驅動電機的電源 電流不足

接了,我再看下電源問題
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表