找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5135|回復(fù): 9
打印 上一主題 下一主題
收起左側(cè)

請教51單片機(jī)控制電機(jī)轉(zhuǎn)動的問題

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

#include <reg51.h>

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

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

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

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


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

使用道具 舉報(bào)

沙發(fā)
ID:479615 發(fā)表于 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);       
        }
}
試一下這個(gè)
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

地板
ID:461179 發(fā)表于 2019-2-23 14:58 | 只看該作者
L298N是否使能?
電源供電接口有無接錯(cuò)?電源是否穩(wěn)壓?不要用單片機(jī)直接去做電源。
驅(qū)動與單片機(jī)共地了沒有。。。。
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

好的,謝謝
回復(fù)

使用道具 舉報(bào)

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

不用管ENA,ENB嗎?
回復(fù)

使用道具 舉報(bào)

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

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

使用道具 舉報(bào)

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

好,電路應(yīng)該沒有問題,我再看看程序。謝謝
回復(fù)

使用道具 舉報(bào)

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

接了,我再看下電源問題
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表