【Arduino实验17 L298N 电机驱动模块】

目录

一、实验目的

二、实验设备与环境

三、实验重点

四、实验难点

五、实验内容

5.1实验任务

5.2实验原理

5.3实验内容

5.4实验结果

5.5思考题


一、实验目的

        (1)熟悉L298N电机驱动模块原理与功能;

        (2)掌握L298N驱动电机的程序控制方法;

        (3)熟悉PS2双轴摇杆传感器模块的原理与功能;

        (4)编写L298N电机驱动控制程序。

二、实验设备与环境

        Arduino UNO套件、Arduino IDE、计算机、L298N驱动模块、直流电机、电位器、PS/3双轴摇杆传感器等

三、实验重点

        (1)L298N电机驱动模块原理与功能;(2)PS2双轴摇杆传感器模块的原理;(3)L298N电机驱动程序控制

四、实验难点

        (1)L298N电机驱动的程序控制

五、实验内容

5.1实验任务

        任务描述:PS2双轴摇杆测试;L298N直流电机驱动电路连接;L298N直流电机驱动程序编写与调试

5.2实验原理

        1.PS/3双轴摇杆传感器

        JoyStick摇杆采用原装优质金属PS2摇杆电位器制作,具有(X,Y)2轴analog输出,(Z)1路按钮digital输出,3路信号分别通过杜邦线线接到Arduino传感器扩展板,只需占用2个模拟输入端口、1个数字输入端口,就可以实现控制。

        摇杆的技术规格:

        电源要求:+3.3-5V

        模拟输出:X、Y2轴模拟输出

        数字输出:Z,数字按键输出

        PS/3摇杆工作原理

        摇杆实际上是由两个电位器连接到Arduino的模拟输入,它们的值从0到1023。操纵杆保持在垂直状态的中心位置时,电位器X/Y轴的值在512左右。如果以512左右的值为中心,摇动操纵杆X轴,数值低于512时可使电机向一个方向旋转,当数值高于512时可控制电机旋转方向反向;将X轴的读取值0-511映射换为255-0,X轴的读取值512-1023映射为0-255,通过转换为PWM值控制电机的速度。

        PS/3摇杆Z轴等效于按键开关,当垂直按下摇杆时,开关闭合,松开时开关断开。

        2.H-Bridge桥控制直流电机的正反转原理

        直流电机的旋转方向要进行逆转,需要改变流过直流电流的方向,由晶体管(BJT或MOSFET)组成的四个开关元件构成类似H的结构,通过同时激活两个特定的开关,改变流过电机电流的方向,驱动电机改变旋转方向而不需要切换引线。

        通过4个晶体管的H桥连接,改变A、B控制端高低电平的方向,实现驱动电流方向改变,并改变电机的转动方向,如图所示:

        3.L298N电机驱动模块

        L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载。

         L298NH桥式双电机驱动模块                        L298NH桥式双电机驱动电路

        L298N双H桥驱动模块技术指标:

        驱动芯片:双H桥直流电机驱动芯片

        L298N驱动端供电范围VS:+5V~ +35V

        驱动板供电范围VS:+7V~ +35V

        逻辑部分供电范围VSS:+5V ~ +7V(板内取电+5V)

        逻辑部分峰值电流范围:0 ~ 36mA

        最大功耗:20W

        存储温度:-25°C ~ +130°C

        L298N驱动模块的使用方法

        L298N驱动模块采用标准逻辑电平信号IN1\IN2\IN3\IN4控制;具有两个使能控制端ENA\ENB,在不受输入信号影响的情况下,可(高电平)允许或(低电平)禁止驱动器件工作;有5V逻辑电源输入端,使内部逻辑电路部分工作在低电压下。L298N芯片片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。

        L298N驱动模块的供电电源。在独立供电电源接12V供电输入端输入7-12V电源电压时,短接跳线冒处于短接状态,可以通过5V接口接入Arduino开发板的“Vin+GND”端口反向Arduino供5V电。当独立供电电源是12-24V时候,必须拔下短接跳线帽,此时独立供电电源对驱动板逻辑电路电机供电,不对外供电输出。

        L298N驱动模块控制直流电机

        L298N驱动模块可以驱动两台直流电机MA和MB。

        直流电机速度的调节与控制。①直流电机可通过IN1/IN2、IN3/IN4接口输入PWM信号对电机转速进行控制;②也可以通过使能端ENA和ENB输入PWM脉宽调制信号对直流电机转速进行调节控制(ENA、ENA短接跳线帽,为5V,电机工作于最高速状态)。

        直流电机的正反转控制。信号输入端IN1=HIGH、N2=LOW或者IN1(PWM)>IN2(PWM),电机MA正转;信号输入端N1=LOW、IN2=HIGH或者IN1(PWM)>IN2(PWM),电机MA反转。直流电机MB同理。

         4.PS2摇杆控制L298N驱动电机实验电路

        电路图              

        电路原理图

5.3实验内容

        1.PS2双轴摇杆传感器参数测试

        步骤1:连接电路

        步骤2:编写程序

int xPin = A0;
int yPin = A1;
int zPin = 2;
int xValue,yValue,zValue;
void setup() { 
 pinMode(zPin,INPUT);
 Serial.begin(9600);
}
void loop() {
 xValue = analogRead(xPin);
 yValue = analogRead(yPin);
 zValue = digitalRead(zPin);
 Serial.print("X =:");
 Serial.print(xValue);
 Serial.print(" Y =:");
 Serial.print(yValue);
 Serial.print(" Z =:");
 Serial.println(zValue);
 delay(100); 
}

        步骤3:程序测试

        2.L298N驱动模块测试

        测试任务:单直流电机的启正传、停止、反转;电位器控制电机调速

        先只单接直流电机A驱动电路,IN1、IN2输入接D5、D6接口,电位器滑动头引脚接A0接口。

        步骤1:按要求连接电路

        步骤2:编写控制程序

        程序示例1:电机的正转、停止、反转

int IN1=5;
int IN2=6;
void setup() {
 pinMode(IN1,OUTPUT);
 pinMode(IN2,OUTPUT);
 digitalWrite(IN1,LOW);
 digitalWrite(IN2,LOW);
}
void loop() {
 // 正转 1 秒
 digitalWrite(IN1,HIGH);
 digitalWrite(IN2,LOW);
 delay(1000);
 // 停止 1 秒 
 digitalWrite(IN1,LOW);
 digitalWrite(IN2,LOW);
 delay(1000);
 // 反转 1 秒,转动方向反转前一定要先停止转动作为过渡,以保护电路
 digitalWrite(IN1, LOW);
 digitalWrite(IN2, HIGH);
 delay(1000);
 // 停止 1 秒
 digitalWrite(IN1,LOW);
 digitalWrite(IN2,LOW);
}

        程序示例2:电位器输入PWM信号调速        

int IN1=5;
int IN2=6;
int dwqPin=A0;
int dwqValue;
int speedValue = 0;
void setup() {
 Serial.begin(9600);
 pinMode(IN1,OUTPUT);
 pinMode(IN2,OUTPUT);
 pinMode(dwqPin,INPUT);
 analogWrite(IN1,0);
 analogWrite(IN2,0);
}
void loop(){
 dwqValue = analogRead(dwqPin)
 Serial.print("dwqValue =:");
 Serial.print(analogRead(dwqValue));
 Serial.print(" speedValue =:");
 Serial.println(speedValue);
 if (dwqValue > 512){ // 电机正转,调速
 analogWrite(IN2,0);
 speedValue = dwqValue - 512;
 speedValue = map(speedValue,0,512,0,255);
 analogWrite(IN1,speedValue);
 delay(10);
 }
 else { // 电机反转,调速
 analogWrite(IN1,0);
 speedValue = map(dwqValue,0,512,0,255);
 analogWrite(IN2,speedValue);
 delay(10)
 }
}

         3.实验扩展:PS2摇杆控制双直流电机转动

        实验任务:通过PS2摇杆X轴控制电机A的转速,Y轴控制电机B的转速,Z轴按键控制电机的启动、停止。

        L298N驱动模块接双直流电机,其中IN1=5,IN2=6,IN3=10,IN4=11;

        PS2摇杆的SX=A0,SY=A1,ZK=2。

5.4实验结果

        结论:单直流电机的启动正转、停止、反转。正转1秒,然后停止,再反转 1 秒。通过摇杆控制小车的运动和停止。

        反思:通过本次实验,我学到了很多的知识,熟悉了 L298N 电机驱动模块原理与功能和掌握了 L298N 驱动电机的程序控制方法,熟悉了 PS2 双轴摇杆传感器模块的原理与功能,能够编写 L298N 电机驱动控制程序。

        作品:   

5.5思考题

1.通过PS2摇杆控制电机转动实验,你能用PS2摇杆实现电机的启动、停止、正转、反转、调速吗?怎样实现?请画出程序控制流程图。

        

  • 19
    点赞
  • 110
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张小花-Soleil

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值