L298N驱动模块原理及运用(驱动小车)

L298N驱动模块原理及运用(驱动小车)

L298N驱动模块,主要输出为4部分;

 电源引脚;

  • VCC直流电源引脚(5~35v)本次实验我们用12v电池盒给其供电
  • GND
  • 5V 驱动芯片内部逻辑供电引脚,如果安装了5V跳帽,则此引脚可输出5V电压,为微控板或其他电路提供电力供给,如果拔掉5V跳帽,则需要独立外接5V电源电源引脚;

控制引脚:

  • IN1 & IN2 电机驱动器A的输入引脚,控制电机A转动及旋转角度
    • IN1输入高电平HIGH,IN2输入低电平LOW,对应电机A正转
    • IN1输入低电平LOW,IN2输入高电平HIGH,对应电机A反转
    • IN1、IN2同时输入高电平HIGH或低电平LOW,对应电机A停止转动
    • 调速就是改变IN1、IN2高电平的占空比(需拔掉ENA处跳帽)

  • IN3 & IN4 电机驱动器B的输入引脚,控制电机B转动及旋转角度
    • IN3输入高电平HIGH,IN4输入低电平LOW,对应电机B正转
    • IN3输入低电平LOW,IN4输入高电平HIGH,对应电机B反转
    • IN3、IN4同时输入高电平HIGH或低电平LOW,对应电机B停止转动
    • 调速就是改变IN3、IN4高电平的占空比(需拔掉ENB处跳帽)

输出引脚

  • OUT1 和 OUT2 电机驱动器A的输出引脚,接直流电机A或步进电机的A+和A-
  • OUT3 和 OUT3 电机驱动器B的输出引脚,接直流电机B或步进电机的B+和B-

调速控制引脚(本次实验不涉及调速)

  • ENA 电机A调速开关引脚,拔掉跳帽,使用PWM对电机A调速,插上电机A高速运行
  • ENB 电机B调速开关引脚,拔掉跳帽,使用PWM对电机B调速,插上电机B高速运行

实验操作 ---驱动小车

一、安装以及连线

注意2个电机和out1-out4的正负极接法

 注意电池盒负极与树莓派对应GND要同事连接

二、python代码---前进后退(转弯的实现单轮转动)

#小车之电机
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)        #选择物理引脚编码

IN1 = 11                        #设置对应引脚
IN2 = 12
IN3 = 13
IN4 = 15
#11,12,13,15设置为输出引脚
GPIO.setup(IN1,GPIO.OUT)
GPIO.setup(IN2,GPIO.OUT)
GPIO.setup(IN3,GPIO.OUT)
GPIO.setup(IN4,GPIO.OUT)
#进行循环实验
try:
    while True:                #实现小车三秒前进三秒后退
        #前进,11&13设置为高电平
        GPIO.output(IN1,1)
        GPIO.output(IN2,0)
        #
        GPIO.output(IN3,1)
        GPIO.output(IN4,0)        #注意注意连接电机和对应正负极
                    
        time.sleep(3)
        #后退
        GPIO.output(IN1,0)
        GPIO.output(IN2,1)

        GPIO.output(IN3,0)
        GPIO.output(IN4,1)
        time.sleep(3)

except KeyboardInterrupt:        #中断实验ctal+c
    pass

GPIO.cleanup()                    #释放资源--防止损坏树莓派
要使用L298N控制小车电机,可以按照以下步骤进行操作: 1. 将L298N模块与Arduino或其他微控制器连接。将L298N的VCC和GND引脚分别连接到微控制器的5V和GND引脚。将L298N的ENA和ENB引脚连接到微控制器的数字引脚。 2. 将小车电机连接到L298N模块上。将电机的正极接到L298N的OUT1和OUT2引脚,将电机的负极接到L298N的OUT3和OUT4引脚。 3. 设置微控制器的引脚模式。根据连接的引脚,将相应的引脚设置为输出模式。 4. 编写程序控制电机的运动。使用微控制器的编程语言(如Arduino的C/C++)编写程序。通过控制ENA和ENB引脚的高低电平,可以控制电机的速度。通过控制OUT1、OUT2、OUT3和OUT4引脚的高低电平,可以控制电机的转动方向。 下面是一个简单的示例程序,使用Arduino来控制L298N驱动小车电机: ``` // 定义引脚 int ENA = 9; // 连接到L298N模块的ENA引脚 int IN1 = 8; // 连接到L298N模块的OUT1引脚 int IN2 = 7; // 连接到L298N模块的OUT2引脚 int ENB = 6; // 连接到L298N模块的ENB引脚 int IN3 = 5; // 连接到L298N模块的OUT3引脚 int IN4 = 4; // 连接到L298N模块的OUT4引脚 void setup() { // 设置引脚为输出模式 pinMode(ENA, OUTPUT); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(ENB, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); } void loop() { // 设置电机A正转 digitalWrite(ENA, HIGH); digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); // 设置电机B反转 digitalWrite(ENB, HIGH); digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); // 等待一段时间 delay(2000); // 停止电机 digitalWrite(ENA, LOW); digitalWrite(ENB, LOW); // 等待一段时间 delay(1000); } ``` 这个程序会使电机A正转,电机B反转,持续2秒钟,然后停止1秒钟,然后循环执行。你可以根据自己的需要修改程序来实现更多功能,例如控制速度或添加传感器等。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

打CF的小芳

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

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

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

打赏作者

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

抵扣说明:

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

余额充值