极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 22054|回复: 10

l298n电机驱动的问题

[复制链接]
发表于 2012-9-28 20:54:52 | 显示全部楼层 |阅读模式
本帖最后由 小猪会轮滑 于 2012-10-17 14:25 编辑

  我按照  卖家资料  说是连接 in1 in2 in3 in4  这四个角 驱动俩电机  。
   
  但是   我自己用   ENA IN1接电机1      ENB IN4 接电机2       两个电机才能都 转    什么原因?
  

in3  in4  都干什么去了呢。     两个引脚要怎么接两个电机?
回复

使用道具 举报

发表于 2012-9-28 21:45:26 | 显示全部楼层
是不是程序问题?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-9-28 22:10:26 | 显示全部楼层
maojidan 发表于 2012-9-28 21:45
是不是程序问题?

是的,不知道怎么写程序。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-9-28 22:17:35 | 显示全部楼层
我把ina  in1 in2 in3 in4 inb  分别连接 2,3,4,5,6,7脚     
  这样写   



          void motor(char pin,char pwmpin,char state,int val)
{   
  pinMode(pin, OUTPUT);   
  if(state==8)                             //当state为1时正转
  {   
    analogWrite(pwmpin,val);     digitalWrite(pin,1);
    }
    else if(state==9)
    {
      analogWrite(pwmpin,val);  
      digitalWrite(pin,0);
      }
      else if(state==0)                     //当state为0时停止  
      {
         analogWrite(pwmpin,0);     digitalWrite(pin,0);
       }
     }
     void setup()
     {}
     void loop()
     {
       motor(2,3,8,180);      //电机1以180的速度正转,45口控制电机1   
       motor(6,7,8,180);
       delay(1000);   
       motor(2,3,9,180);      //电机1以180的速度反转  
       motor(6,7,9,180);      //电机2以180的速度反转   
       delay(1000);
       }



       为什么是    2,3,   和  6,7 脚啊      
回复 支持 反对

使用道具 举报

发表于 2012-9-28 23:31:29 | 显示全部楼层
没看懂

IN1~IN4是负责直流电流输入
ENAENB是负责功能判断~简单理解为改变正反,。同时也可以介入PMW
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-9-29 12:39:52 | 显示全部楼层
恩  我再看看
回复 支持 反对

使用道具 举报

发表于 2012-10-5 20:38:53 | 显示全部楼层
本帖最后由 绿林网页 于 2012-10-5 20:41 编辑

如图:
模块接线方法:IN1-IN4接单片机,ENA,ENB可以用跳线帽选择直接接高电平或者用单片机控制,IN1-IN4提供4个跳线帽选择是否接上10K的上拉电阻,OUT1-OUT2接直流电机1,OUT3-OUT4接电机2,VCC,GND分别接电池盒正负极,当VCC电压大于6V时,+5为输出,可以方便给5V的单片机供电,当VCC电压小于6V时,需拔掉5V_EN跳线帽,外部给 +5提供一个5V电压保证298N芯片的正常工作。
回复 支持 反对

使用道具 举报

发表于 2012-11-15 23:30:12 | 显示全部楼层
坤遠遊森林 发表于 2012-9-28 23:31
没看懂

IN1~IN4是负责直流电流输入

據我知Enaenb1和2都是用來控制馬達的速度,而IN1~IN4用接馬達,IN1和2接A馬達,IN3和4接B馬達,下面的例子是轉載于這個網址 http://www.hkepc.com/forum/viewthread.php?tid=1320090
// motor A
int In1 = 13;
int In2 = 12;
int EnA = 10;

// motor B
int In3 = 11;
int In4 = 8;
int EnB = 9;

unsigned long time;
int startspeed;
int topspeed;
int dir;
int value;

void setup() {
  pinMode(In1, OUTPUT);
  pinMode(In2, OUTPUT);
  pinMode(In3, OUTPUT);
  pinMode(In4, OUTPUT);

// set plus direction (馬達的轉向用High和low有決定,如果倒轉位置,馬達就會反方向轉動)
  digitalWrite(In1, HIGH);
  digitalWrite(In2, LOW);
  digitalWrite(In3, HIGH);
  digitalWrite(In4, LOW);
        
}

void loop() {
// set start speed(控制馬達的速度)

startspeed = 15;
topspeed = 255 + startspeed;
         // set 4 duty cycles for testing
        for(value = startspeed ; value <= 255; value+=120)
        {  
        
        analogWrite(EnA, value);
        analogWrite(EnB, topspeed - value);
        // delay to see the result or waiting the fan to stop completely
        delay(12000);
        }
}
回复 支持 反对

使用道具 举报

发表于 2013-5-5 15:29:31 | 显示全部楼层
ENA,ENB可以直接接高电平,IN1-IN4接入四路PWM,可以直接控制两个电机正转、反转、停止、调速
回复 支持 反对

使用道具 举报

发表于 2014-4-18 15:31:40 | 显示全部楼层
int ln1=34;
int ln2=35;
int ln3=36;
int ln4=37;
void setup()
{
   pinMode(ln1,OUTPUT);
   pinMode(ln2,OUTPUT);
   pinMode(ln3,OUTPUT);
   pinMode(ln4,OUTPUT);
   void ZhiQian();
   void ZhiHou();
   void Zuoqian();
   void Youqian();
   void Zuotui();
   void Youtui();
   void Stop();
}
void ZhiQian()
{
   digitalWrite(ln2,HIGH);
   digitalWrite(ln3,HIGH);
   digitalWrite(ln1,LOW);
   digitalWrite(ln4,LOW);
    delay(2000);
}
void ZhiHou()
{
   digitalWrite(ln1,HIGH);
   digitalWrite(ln4,HIGH);
   digitalWrite(ln2,LOW);
   digitalWrite(ln3,LOW);
     delay(2000);
}
void Zuoqian()
{
   digitalWrite(ln2,HIGH);
   digitalWrite(ln1,LOW);
   digitalWrite(ln3,LOW);
   digitalWrite(ln4,LOW);
   delay(2000);
}
void Youqian()
{
   digitalWrite(ln3,HIGH);
   digitalWrite(ln1,LOW);
   digitalWrite(ln2,LOW);
   digitalWrite(ln4,LOW);
     delay(2000);
}
void Zuotui()
{
digitalWrite(ln2,HIGH);
digitalWrite(ln4,HIGH);
digitalWrite(ln1,HIGH);
digitalWrite(ln4,HIGH);
    delay(2000);
}
void Youtui()
{
   digitalWrite(ln1,HIGH);
   digitalWrite(ln3,HIGH);
   digitalWrite(ln2,LOW);
   digitalWrite(ln4,LOW);
   delay(2000);
}
void Stop()
{
   digitalWrite(ln1,LOW);
   digitalWrite(ln2,LOW);
   digitalWrite(ln3,LOW);
   digitalWrite(ln4,LOW);
   delay(2000);
}
   void loop()
{
   void ZhiQian();
   void Zuoqian();
    void Youqian();
    void ZhiQian();
    void Stop();
   void ZhiHou();
   void Zuotui();
   void Youtui();
}
回复 支持 反对

使用道具 举报

发表于 2014-4-18 15:32:11 | 显示全部楼层
不懂5V那个怎么连的?能不能讲解下,谢谢啦
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 19:59 , Processed in 0.045322 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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