当前位置:网站首页 > 技术博客 > 正文

l298npwm调速程序



1、驱动芯片:L298N 双 H 桥直流电机驱动芯片
2、驱动部分端子供电范围 Vs:+5V~+35V ; 如需要板内取电,则供电范围
Vs:+7V~+35V
3.驱动部分峰值电流 Io:2A
4.逻辑部分端子供电范围 Vss:+5V~+7V(可板内取电+5V)
5.逻辑部分工作电流范围:0~36mA
6.控制信号输入电压范围:IN1 IN2 IN3 IN4 的io口拉高拉低的电压范围
低电平:-0.3V≤Vin≤1.5V
高电平:2.3V≤Vin≤Vss
7.使能信号输入电压范围:ENA ENB 即PWM的高低电平范围
低电平:-0.3≤Vin≤1.5V(控制信号无效)
高电平:2.3V≤Vin≤Vss(控制信号有效)

情况一  控制电机全速运动:

逻辑输入端IN1 IN2对应输出A口的逻辑 全速则不用拔去ENA的跳线帽,此时使能端为5V电机满占空比驱动,全速运行;

同理可知输入端IN3 IN4对应输出B口的逻辑 全速则不用拔去ENB的跳线帽。

在单片机里进行控制时将IN1 IN2 对应的IO口拉高和拉低,ENA始终于5V相连就可以简单的让电机全速转动 。

情况二  控制电机变速运动:

由于该驱动为 L298N 双 H 桥直流电机驱动芯片   

1.什么是PWM  https://blog.csdn.net/as/article/details/

​ 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

pwm的频率:

是指1秒钟内信号从高电平到低电平再回到高电平的次数(一个周期);

也就是说一秒钟PWM有多少个周期
单位: Hz
表示方式: 50Hz 100Hz

pwm的周期:

T=1/f
周期=1/频率
50Hz = 20ms 一个周期如果频率为50Hz ,也就是说一个周期是20ms 那么一秒钟就有 50次PWM周期

占空比:
是一个脉冲周期内,高电平的时间与整个周期时间的比例
单位: % (0%-100%)
表示方式:20%


周期: 一个脉冲信号的时间         1s内测周期次数等于频率
脉宽时间: 高电平时间

在STM32中如此: 以STM32F407ZGT6为例系统84MHz/自动重装载值=1Mhz

1MHZ/分频系数25000=40Hz 此时的40H这就是PWM的频率

 //占空比的设定 通过修改比较值 比较值/分频系数 就为占空比

PWM原理
以单片机为例,我们知道,单片机的IO口输出的是数字信号,IO口只能输出高电平和低电平

假设高电平为5V 低电平则为0V 那么我们要输出不同的模拟电压,就要用到PWM,通过改变IO口输出的方波的占空比从而获得使用数字信号模拟成的模拟电压信号

我们知道,电压是以一种连接1或断开0的重复脉冲序列被夹到模拟负载上去的(例如LED灯,直流电机等),连接即是直流供电输出,断开即是直流供电断开。通过对连接和断开时间的控制,理论上来讲,可以输出任意不大于最大电压值(即0~5V之间任意大小)的模拟电压

比方说 占空比为50% 那就是高电平时间一半,低电平时间一半,在一定的频率下,就可以得到模拟的2.5V输出电压 那么75%的占空比 得到的电压就是3.75V


对此可以用平均值去理解50%的占空比对应到STM32的IO口上用万用表测量就为3.3/2左右

总结:
PWM就是在合适的信号频率下,通过一个周期里改变占空比的方式来改变输出的有效电压

---------------------------------------------------------------------------------------------------------------------------------

对应到L298N电机调速 或呼吸灯亮暗亮暗的变化也可以轻松理解,通俗来讲PWM就是通过修改占空比得到占空比对应的平均电压;他的高低电平变化只是微观情况,宏观上来说确实是对电压的积累。

转到L298NENA ENB 端口的PWM电压是微弱的无法直接改变电机转速所以别忘了他的名字L298N 双 H 桥直流电机驱动芯片 

仔细观察黑色小块 就是MOS管,简单点来讲就是通过注入ENA ENB的pwm信号的占空比 来控制MOS管周期性的通断,进而可以修改12V电压的输出值,达到调速的目的。

其实占空比就是一个平均电压的概念。

修改: 黑色为78m05稳压模块  

版权声明


相关文章:

  • struct timeval结构体2024-12-23 18:30:01
  • 内链接sql2024-12-23 18:30:01
  • pytorch dataloader读取数据2024-12-23 18:30:01
  • springboot的作用2024-12-23 18:30:01
  • c语言结构体初始化的四种方法2024-12-23 18:30:01
  • 统一登录器网关未开放2024-12-23 18:30:01
  • leveldb教程2024-12-23 18:30:01
  • 二阶低通滤波器电路2024-12-23 18:30:01
  • jdk8 hashmap的改进2024-12-23 18:30:01
  • 类的静态成员变量怎么赋值2024-12-23 18:30:01