什么是H桥? H桥是一个相对简单的电路,通常它将包含四个独立控制的开关组件(例如MOS-FET),关于为什么将其称为H桥,它们通常用于驱动大电流负载,例如电动机。
H -Bridge),因为它看起来更像字母H,如下图所示;有四个开关元件Q1,Q2,Q3,Q4,并且直流电动机M,D1,D2,D3,D4是MOS -FET的续流二极管。
以控制直流电动机为例,以切换状态为例,简要介绍H桥的几种切换状态,其中正转和反转是人为规定的方向,根据实际工程中的实际情况进行。
分为;正向旋转通常用于驱动感性负载。
在这里,我们驱动直流电动机。
打开Q1和Q4;关闭Q2和Q3;此时,假设电动机正转,电流流经Q1,M,Q4,用黄线段标记在图中,如下图所示;正反转的另一种状态是电动机的反转。
此时,四个开关组件的状态如下。
关闭第一季度和第四季度;打开Q2和Q3;此时,电动机反转(与上述情况相反),电流依次流经Q2,M和Q3,并在图中用黄线段标记,如下图所示;如果反向速度调节是为了调节直流电动机的速度,则解决方案之一是;关闭Q2,Q3;打开Q1,并在Q4上输入占空比为50%的PWM波形,从而达到降低速度的效果。
如果需要提高速度,则输入PWM应该为:空转率设置为100%;详情如下;这里的停止状态是将电动机从正转切换为停止状态的示例。
在向前旋转的情况下; Q1和Q4处于打开状态;此时,如果Q1和Q4闭合,则内部DC电动机可以等效为一个电感,即一个电感负载。
电流不会突然改变,因此电流将继续沿原始方向流动。
这时,我们希望电动机中的电流能够迅速衰减。
有两种方法:第一种:关闭Q1和Q4。
此时,电流仍将流过反向续流二极管。
此时,Q1和Q3短暂导通,以达到快速衰减电流的目的。
第二种:准备停止时,请关闭Q1并打开Q2。
这时电流不会很快衰减。
电流在Q2,M和Q4之间循环,功率被MOS-FET的内部电阻消耗;在实际使用中,制造带有分立元件的H桥非常麻烦。
市场上有许多常用的IC解决方案,例如常用的L293D,L298N,TA7257P,SN754410等。
连接电源和电动机,然后可以通过输入控制信号来驱动电动机。
以下是一定宝中的L298N模块,这是比较普遍的,对新手玩家非常友好,并且接线也很简单; L298N模块具有板载5V电压调节器。
可以通过跳线启用调节器。
如果电动机电源电压高达12V,我们可以启用5V稳压器,并且5V引脚可以用作输出,例如为Arduino板供电。
但是,如果电动机电压大于12V,则必须断开跳线,因为这些电压会损坏板载5V稳压器。
在这种情况下,5V引脚将用作输入,因为我们需要将其连接到5V电源以使IC正常工作。
我们在这里可以注意到,该IC的压降约为2V。
因此,如果使用12V电源,则电动机端子上的电压约为10V,这意味着我们将无法从12V直流电动机获得最大速度。
这里我们以Arduino为例。
如下图所示,这是在Internet上找到的Demo的总体框架;架构in1,OUTPUT); pinMode(in2,OUTPUT); pinMode(按钮,INPUT); // SetinitialrotationdirectiondigitalWrite(in1,LOW); digitalWrite(in2,HIGH);)voidloop(){// ReadpotentiometervaluevalueintpotValue = analogRead(A0); //将电位计值从0映射到255intpwmOutput = map(potValue,0,1023,0,255); //将PWM信号发送到L298NEnablepinanalogWrite(enA,pwmOutput); // Readbutton-Debounceif(digitalRead(button)== true)(pressed =!pressed;)while(digitalRead(button) )== true); delay(20); //如果按钮被按下-改变旋转方向if(pressed == true& rotDirection == 0){digitalWrite(in1,HIGH); digitalWrite(in2,LOW); rotDirection = 1; delay(20) ;} / / IfButtonispressed-changerotationdirectionif(pressed == false& rotDirection == 1){digitalWrite(in1,LOW); digitalWrite(in2,HIGH); rotDirection = 0; delay(20);}}简要描述:首先我们需要定义程序需要的引脚和变量。
在setup()中,我们