课程目标
三极管的原理与基本应用学习l298n驱动模块的原理及应用学习pwm信号的含义编程实现控制直流电机运动相关知识
三极管: 是一种控制电流的半导体器件,可以用来放大信号和控制电流的通断。
三极管的控制原理: 通过小的交流输入,控制大的静态直流。
假设三极管是个大坝,大坝有两个阀门,一个大阀门,一个小阀门。小阀门可以用人力手动打开,大阀门只能通过小阀门的水力打开。
每当要放水的时候,可以手动( 输入信号 )打开小阀门,小的水流( ube )流出的时候会冲击大阀门的开关,大阀门随之打开,这时候,大的水流( uce )就可以流出来。
如果不停地改变小阀门开启的大小,那么大阀门也相应地不停改变,假若能严格地按比例改变,那么,完美的控制就完成了。在这里,如果把水流比为电流的话,会更确切,因为三极管毕竟是一个电流控制元件。
**三极管的三个工作区:**截止区,放大区,饱和区。
截止区: 小的阀门开启的还不够,不能打开打阀门,这种情况是截止区。
**放大区:**就是水流处于可调节的状态,小阀门和大阀门之间呈线性关系。
饱和区: 大阀门里放出的水流已经到了它极限的最大流量,这时候再增大小阀门都不会起任何的作用,但是如果减小小阀门的输入可以让三极管工作状态从饱和区返回到放大区。
h桥驱动: h桥通常会包含四个独立控制的开关元器件,它们通常用于驱动电流较大的负载,比如电机,由于电路长得像大写字母h,所以称为叫h桥(h-bridge)。这里有四个开关元器件q1,q2,q3,q4,另外还有一个直流电机m,d1,d2,d3,d4是mos-fet的续流二极管;
h桥的开关状态: 下面以控制一个直流电机为例,对h桥的几种开关状态进行简单的介绍。
**正转:**通常h桥用来驱动一个直流电机;打开q1和q4;关闭q2和q3;此时假设电机正转,这电流依次经过q1,m,q4。
反转: 关闭q1和q4;打开q2和q3;此时电机反转,这时电流依次经过q2,m,q3。
调速: 关闭q2,q3;打开q1,q4上给它输入50%占空比的pwm波形,这样就达到了降低转速的效果,如果需要增加转速,则将输入pwm的占空比设置为100%。
停止状态: 我们以电机从正转切换到停止状态为例;正转情况下;q1和q4是打开状态;这时候如果关闭q1和q4,直流电机内部可以等效成电感,也就是感性负载,电流不会突变,那么电流将继续保持原来的方向进行流动,这时候我们希望电机里的电流可以快速衰减;
这里有两种办法:
第一种: 关闭q1和q4,这时候电流仍然会通过反向续流二极管进行流动,此时短暂打开q1和q3从而达到快速衰减电流的目的;
第二种: 准备停止的时候,关闭q1,打开q2,这时候电流并不会衰减很快,电流循环在q2,m,q4之间流动,通过mos-fet的内阻将电能消耗掉;
**l298n模块:**l298n 是一种双h桥电机驱动芯片,其中每个h桥可以提供2a的电流,可以驱动2个直流电机,可分别实现正转,反转功能。
**控制方式表:**逻辑通道in1,in2接收信号,控制out1和out2;in3,in4控制out3,out4。
利用电位差可以使得直流电机实现正反转。ena,enb为使能端,即pwm口,默认是通过跳线连接到+5v,如果要进行电机速度控制,那么可以连接arduino的pwm引脚,从中输入pwm信号,这样可以起到控速作用,但是电机转动方向还是得靠in口控制。
**pwm:**脉冲宽度调制,可以理解为是使用数字信号达到一个模拟信号的效果。
pwm本质: 就是改变脉冲宽度来实现不同的效果,这是一个周期是 10ms,即频率是 100hz 的波形,但是每个周期内,高低电平脉冲宽度各不相同。
占空比: 高电平的时间占整个周期的比例。比如第一部分波形的占空比是 40%,第二部分波形占空比是 60%,第三部分波形占空比是 80%,这就是 pwm 的解释。
**模拟电路控制:**我们以控制led亮灭来举例,数字电路中,led=1时为亮,led=0时为灭,亮灭间隔运行的时候,led开始闪烁。
如果我们把这个间隔不断的减小,减小到我们的肉眼分辨不出来,也就是 100hz 以上的频率,这个时候小灯表现出来的现象就是既保持亮的状态,但亮度又没有 led = 1时的亮度高。
我们不断改变时间参数,让 led = 0的时间大于或者小于 led = 1的时间,会发现亮度都不一样,这就是模拟电路的感觉了,不再是纯粹的 0 和 1,还有亮度不断变化。
如果我们用 100hz 的信号,假如高电平点亮小灯,低电平熄灭小灯的话,第一部分波形点亮4ms,熄灭6ms,亮度最低,第二部分点亮 6ms,熄灭 4ms,亮度次之,第三部分点亮8ms,熄灭2ms,亮度最高。电路搭建
所需材料
arduinouno * 1
l298n驱动模块 * 1
直流电机 * 2
7~12v外接电源 * 1
杜邦线若干
电路连接
这里要注意,如果不外接电源的话,会导致供电不足,电机不会工作的。外接的电源正极接入到uno 的vin。
程序编写:
课堂练习:控制电机正反转
通过程序编写,控制电机实现全速转动。由于图形化的方式只需要直接拖出模块调用即可,所以这里不做赘述。主要以代码的形式进行分析。
代码方式:
/* 项目名称:控制直流电机 * 项目时间:2022.03.25 * 项目作者:mrx */int in1 = 4; // in1 connected to pin 4int in2 = 5; int ena = 9; int in3 = 6; // in3 connected to pin 6int in4 = 7; int enb = 10; unsigned long delaytime = 1000; //delay timeint value = 255; // the duty cyclevoid setup(){ for (int i = 4;i <= 10;i++){ pinmode(i, output); } //set direction; digitalwrite(in1, high); digitalwrite(in2, low); digitalwrite(in3, high); digitalwrite(in4, low);}void loop(){ analogwrite(ena, value); analogwrite(enb, value); delay(delaytime);}
远景维珍车队携手哈罗德百货,在世界电动方程式锦标赛伦敦站前推出未来出行展览
医疗机器人成功的关键前提是什么
NVIDIA收购ARM,或将终结ARM所创建的芯片IP授权模式黄金时代
魅族16s或将搭载高通骁龙855移动平台辅以6GB+128GB起的内存组合
CRC校验 、STM32中CRC计算单元、 CRC应用
如何使用Arduino控制直流电机?
养老院解决方案监护系统,为智慧养老更进一步
投影灯泡罢工处理方法及灯泡日常保养
电容多种类的原因是什么,常见的有哪些
Snapdragon 5G移动平台将继续展现行业领先地位
修复多项BUG!微软推送全新Windows10更新
瑞芯微3368芯片怎么样
LG将在本月推出推出可卷曲OLED电视,售价高达59万人民币
雨量计维护保养及精度原因分析
PCB设计难题:丝印问题怎么解决
RW8821-44B1为高性能集成无线和蓝牙设备提供完整解决方案
芯华章荣膺2022中国先进制造与工业软件领域最具商业潜力科技企业
OMDIA将IIoT定义为部署在工业环境中的物联网应用
多款iOS应用程序已潜在漏洞安全风险
基于STC12C5A60S2微处理器的电网电压监测仪设计