文章目录

  • L298N电机驱动模块
    • PWM调速原理
  • 编码器电机接线
  • 直流电机接线
  • PWM代码

L298N电机驱动模块

L298N 电机驱动模块可以直接驱动两路 3-16V 直流电机,并提供了 5V 输出接口(输入最低只要 6V),可以给5V单片机电路系统供电 (低纹波系数),支持3.3V MCU ARM 控制,可以方便的控制直流电机速度和方向,也可以控制2相步进电机, 5线4相步进电机,是智能小车必备利器。

参考推荐:最详细的L298N模块使用说明

PWM调速原理

PWM全称为“Pulse Width Modulation”。中文:脉冲宽度调制。脉冲宽度指的是 脉冲持续的时间,既高电平或低电平保持(持续)的时间。而PWM通俗的说就是人为的(通过微处理器)去控制电平高低保持的时间占空比:在一个脉冲的循环中,通电时间相对于总时间所占的比例

  • 在本图中高电平相对总时间所占的比例即为“占空比”:如75%、50%、20%

编码器电机接线

接线时,将使能端的跳线帽拔掉,然后将PWM引脚接到ENA引脚即可,通过IN1和IN2控制方向,通过使能端控制PWM。其他引脚于直流电机接线相同,IN1、IN2接普通IO口即可

直流电机接线

在STM32芯片中,因为需要通过定时器输出的PWM进行直流电机的调速控制,所以在L298N驱动模块的输入端口需要设置为有定时器的IO口,具体的定时器对应IO口参考TPYboard的PCB原理图:

注意:L298N的12V电源输入端电压务必高于5.8V,否则驱动无法正常工作!亲测使用7.4V电池,当电压低于5.6V左右时即无法正常工作!输入信号无输出响应。

L298N 直流电机(5-12V) TPYboard
IN1 X9(TIM4,CH1)
IN2 X10(TIM4,CH2)
IN3 Y7(TIM1,CH2)
IN4 Y8(TIM1,CH3)
OUT1 +
OUT2 -
OUT3 +
OUT4 -
5V VIN(5V)
12V 12V外接电源的正极
GND GND和外接电源的负极

PWM代码

from pyb import Pin, Timer
#伸缩杆
rod_P1 = Pin('X9', Pin.OUT_PP)
rod_P2 = Pin('X10', Pin.OUT_PP)
#伸缩杆(rod)对应定时器
tim_rod = Timer(4, freq=100) #要实现每秒0.1ms量级
rod_go = tim_rod.channel(1, Timer.PWM, pin=rod_P1)
rod_back = tim_rod.channel(2, Timer.PWM, pin=rod_P2)
while True:#前进rod_go.pulse_width_percent(100) # =Pin.high() rod_back.pulse_width_percent(0) # =Pin.low()pyb.delay(1000) #调时间就是调距离#后退rod_go.pulse_width_percent(0)  rod_back.pulse_width_percent(100) pyb.delay(1000) #调时间就是调距离

手动调节代码的PWM值即可调速:

from pyb import Pin, Timer
#左轮
left1 = Pin('X9', Pin.OUT_PP)
left2 = Pin('X10', Pin.OUT_PP)
#左轮对应定时器
tim_left = Timer(4, freq=100) #要实现每个脉冲持续10ms
left_go = tim_left.channel(1, Timer.PWM, pin=left1)
left_stop = tim_left.channel(2, Timer.PWM, pin=left2)#右轮
right1 = Pin('Y7', Pin.OUT_PP)
right2 = Pin('Y8', Pin.OUT_PP)
#左轮对应定时器
tim_right = Timer(1, freq=100) #要实现每个脉冲持续10ms
right_go = tim_left.channel(2, Timer.PWM, pin=right1)
right_stop = tim_left.channel(3, Timer.PWM, pin=right2)while True:#左轮,可PWM调速left_go.pulse_width_percent(100) #0-100进行调速,100为全速,0为停止left_stop.pulse_width_percent(0) #默认为0,作为调速基准#右轮,可PWM调速right_go.pulse_width_percent(100) #0-100进行调速,100为全速,0为停止right_stop.pulse_width_percent(0) #默认为0,作为调速基准

如果读者按照博主的教程学会了传感器的使用,不要忘了点个赞哦~

Micropython——L298N电机驱动模块相关推荐

  1. 用寻迹模块L298n电机驱动模块制作Arduino寻迹小车四路(含清单,代码,接线,注意事项)

    本帖是在参考了很多博客之后进行的一次实战加总结,参考连接如下: Arduino智能小车寻迹篇 不适用PWM调速彻底解决L298n电机驱动转速不同的问题 1.工作原理 总体思想:小车通过四路寻迹模块得到 ...

  2. 【Arduino蓝牙小车】L298N电机驱动模块详解

    原文链接:[Arduino] 从零制作蓝牙小车 - 饮猫的学习日志 1. L298N模块的使用 这是一个L298N电机驱动模块的图片.你可能会觉得接口有一点点多.但其实搞清楚它的控制原理后就能很快完成 ...

  3. 【Arduino学习笔记】使用L298N电机驱动模块驱动直流电机

    L298N是Arduino的电机驱动模块,能驱动步进电机和两路直流电机,驱动步进电机和直流电机的文章网上百度一大堆,这里我想说的是L298N模块外接独立12V电压驱动电机的方法.我使用的L298N模块 ...

  4. 继电器模块和L298N电机驱动模块的使用

    单片机如何与L298N和继电器连接?什么时候选择L298N或继电器模块? L298N模块 主控芯片为L298N的双H桥电机驱动模块,驱动电压为5~35V,一般驱动直流电机正反转一般使用L298N. 接 ...

  5. l298n电机驱动模块驱动直流电机(佛科院——深夜学习)

    目录 一.为什么不能直接用单片机IO口驱动电机,要用电机驱动模块? 二.使用步骤: 1.L298n各引脚作用: 2.推荐的供电方式: 3.推荐的控制方式: 一.为什么不能直接用单片机IO口驱动电机,要 ...

  6. Arduino 项目笔记 | 基于 Arduino 单片机的 A4988 和 L298N电机驱动模块实验记录

    目录 1. Arduino Nano 简介 2. 技术规格 3. 输入和输出 1. A4988 简介 2. A4988 引脚定义图及功能说明 (四相步进电机) 3. Arduino使用A4988控制电 ...

  7. 【STM32小案例 04 】STM32简单使用L298N电机驱动模块 控制直流电机正反转

    本文仅简单驱动该模块并实现直流减速电机的正反控制,并无步进电机的控制. 实验环境: (一)STM32F10X 单片机 (二)L298N驱动模块 (三)若干直流减速电机 第一步:L298N正确与STM3 ...

  8. l298n电机驱动模块_带DRV8825驱动器模块和Arduino的控制步进电机

    如果您打算建造自己的3D打印机或CNC机器,则需要控制一堆步进电机.而且,由一个arduino控制所有这些,可能会占用大量的处理时间,并且不会给它留下很多做其他事情的空间.除非您使用独立的专用步进电机 ...

  9. l298n电机驱动模块使用方法_SPDK virtio 驱动模块介绍及使用

    作者简介闫亮 Intel高级软件工程师专注于开源存储SPDK的测试和优化 简介 CONTENTS SPDK  virtio模块介绍 SPDK  virtio 用户模式使用示例 SPDK  virtio ...

  10. l298n电机驱动模块使用方法_家用柴油发电机使用方法

    张甲梁给客户讲述一台10KW家用柴油发电机技术问题,步就是检查发电机各个地方是否有破损,因为由于物流等原因,可能砸坏什么的,欧鲍张甲梁为您家电常规问题 家用柴油发电机使用方法,我们以10KW小型柴油发 ...

最新文章

  1. JVM GC一次调优实战
  2. 三路合并 —— Git 学习笔记 17
  3. c#和python同一主机直接udp_为什么Python 如此之慢
  4. Iphone屏幕旋转
  5. lua面向对象封装及元表(metatable)性能测试
  6. 小于等于0_从0开始学ARMARM汇编指令其实很简单
  7. CCNP的实验设备注意事项
  8. Python新闻网站项目-7.Django内容后台管理系统管理开发
  9. D3D12渲染技术概述
  10. 一文小入门pyQt5 —— 从零到一完成一个Excel文件处理程序
  11. 逆序输出字符串的两种方法
  12. Nginx的rewrite地址重写
  13. 6 月份最火的 10 个 GitHub 项目
  14. C# 实现飞行棋小游戏
  15. 什么是域名?域名有哪些种类?
  16. PhpSpreadsheet导入
  17. java基础之 IO流
  18. Matlab信号添加噪声及信噪比SNR的计算
  19. 转置-置换-向量空间R
  20. 2021年R2移动式压力容器充装证考试及R2移动式压力容器充装实操考试视频

热门文章

  1. 华为设备ERPS配置命令
  2. Kite的学习历程SpringCloud之Seata安装
  3. 杭电2019多校第八场 Acesrc and Good Numbers——思维打表oeis
  4. 3D视觉——1.人体姿态估计(Pose Estimation)入门——使用MediaPipe含单帧(Signel Frame)与实时视频(Real-Time Video)
  5. 大数据入门:Hadoop大数据开发核心讲解
  6. C语言-内存操作-memory.h头文件
  7. 啊哈C语言 第七章 【代码】【习题答案】
  8. 管理账目的计算机软件有哪些,会计核算软件有哪些功能模块
  9. Spring Boot菜鸟示例——Hello World
  10. [心得]分布式系统概念与设计知识整理