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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機L298N驅動模塊控制電機的問題,發出嗡嗡的響聲

[復制鏈接]
跳轉到指定樓層
樓主
ID:340666 發表于 2019-5-20 22:44 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我在做循跡避障小車,有兩個電機通過L298N驅動模塊帶動,電源為7.4V鋰電池,單片機上連了三個紅外線傳感器和一個超聲波傳感器。
當我只用循跡的程序時,小車可以正常循跡
但加上超聲波模塊后,并編了程序,但小車不能轉動,并且L298N驅動模塊會發出嗡嗡的響聲,這是為什么?我程序錯了嗎

單片機源程序如下:
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char        
#define uint  unsigned int
sbit IN1=P0^0;
sbit IN2=P0^1;
sbit IN3=P0^2;
sbit IN4=P0^3;
sbit hong1=P2^0;
sbit hong2=P2^1;
sbit hong3=P2^2;
sbit Trig=P2^3;
sbit Echo=P2^4;
void delay_ms(uint z)         //延時函數
{
        uchar x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}

void zhixing()
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
}
void zuozhuan()
{
IN1=0;
IN2=1;
IN3=1;
IN4=0;
}
void youzhuan()
{
IN1=1;
IN2=0;
IN3=0;
IN4=1;
}
void tingzhi()
{
IN1=0;
IN2=0;
IN3=0;
IN4=0;
}
void xunji()
{
uchar flag;           //定義一個標志位,用于狀態判斷
        if(hong1==0 & hong2==0 & hong3==0)         //未檢測到黑線
        {flag=0;}
         else if(hong1==0 & hong2==1 & hong3==0)        //中間檢測到黑線
        {flag=1;}
         else if(hong1==1 & hong2==0 & hong3==0)        //左邊檢測到黑線
        {flag=2;}
         else if(hong1==1 & hong2==1 & hong3==0)        //左邊和中間檢測到黑線
        {flag=3;}
         else if(hong1==0 & hong2==0 & hong3==1)        //右邊檢測到黑線
        {flag=4;}
         else if(hong1==0 & hong2==1 & hong3==1)        //右邊和中間檢測到黑線
        {flag=5;}
         else if(hong1==1 & hong2==1 & hong3==1)        //全部檢測到黑線
        {flag=6;}
        else flag=7;   //其他情況標志位置7
        switch (flag)
        {
                case 0: zhixing(); break;        //情況0,前進
                case 1: zhixing(); break;        //情況1,前進
                case 2: zuozhuan(); break;        //情況2,左轉
                case 3: zuozhuan(); break;        //情況3,左轉
                case 4: youzhuan(); break;        //情況4,右轉
                case 5: youzhuan();break;        //情況5,右轉
                case 6: tingzhi(); break;        //情況6,停止
                case 7: tingzhi(); break;        //
                default:tingzhi(); break;        //
        }
}

void kaishi()
{
Trig=1;
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();//10us
Trig=0;
}
void bizhang()
{
while(!Echo)
   xunji();
while(Echo)
   tingzhi();
}

void main()
{
  while(1)
  {
    kaishi();
        bizhang();
  }
}

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

使用道具 舉報

沙發
ID:330198 發表于 2019-5-21 09:21 | 只看該作者
你超聲波就判斷一個Echo引腳嗎?建議看一下模塊手冊
回復

使用道具 舉報

板凳
ID:268318 發表于 2019-5-21 10:41 | 只看該作者
PWM頻率的問題
回復

使用道具 舉報

地板
ID:989850 發表于 2021-12-15 13:15 來自觸屏版 | 只看該作者
回憶淺離 發表于 2019-5-21 10:41
PWM頻率的問題

我也出現這個問題了,車停住L298N會響,走動過程中不會,也是pwm出問題了嗎,怎么
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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