PWM控制电机转速
——15组 沈倩慧 王兴蒙 刘婧 任注桦
预备知识——PWM
PWM(Pulse Width Modulation)是脉冲宽度调制,它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。
PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,从而达到控制要求的一种电压调整方法。在PWM驱动控制的调整系统中,接一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”看时间的长短。
通过加减速按钮改变引脚高低电平,控制占空比的变化从而控制负载电压,改变电机转速。PWM的频率不变,脉冲宽度越大即占空比越大,提供给电机的平均电压越大,电机转速就越高。反之脉冲宽度越小,则占空比越小,提供给电机的平均电压越小,电机转速就低。
实验设备
CarDuino UNO R3 控制器(x1);USB下载线(x1);大面包板(x1);直流电机+扇叶(x1);
10KΩ电阻(x2);IRF520(x1);1N4007(x1);按键开关(x2)
实验电路图
代码解读
analogWrite():
功能:给端口写入一个模拟值(PWM波)。以不同的速度驱动马达。当执行analogWrite()命令后,端口会输出一个稳定的占空比的方波。除非有下一个命令来改变它。
语法:analogWrite(pin,value)
参数:pin :写入的端口;value :占空比:在0-255之间
delay ():
作用:产生一个延时,计量单位是毫秒,1000毫秒=1秒。
Arduino的数字端口电压输出只有LOW与HIGH两个开关,对应0V与5V的电压输出,周期为PWM频率的倒数。如果Arduino PWM的频率是500Hz,那么两绿线之间的周期就是2毫秒。 analogWrite() 命令中可以操控的范围为0-255,analogWrite(255)表示100%占空比(常开),analogWrite(127)占空比大约为50%(一半的时间)。
电机工作原理
一、问题导入
三极管原理的关键是要说明以下三点:
1、集电结为何会发生反偏导通并产生Ic,这看起来与二极管原理强调的PN结单向导电性相矛盾。
2、放大状态下集电极电流Ic,为什么会只受控于电流Ib而与电压无关;即:Ic与Ib之间为什么存在着一个固定的放大倍数关系。虽然基区较薄,但只要Ib为零,则Ic即为零。
3、饱和状态下,Vc电位很弱的情况下,仍然会有反向大电流Ic的产生。
二、物理电路图
三、二极管的工作原理
二极管的结构与原理都很简单,内部一个PN结具有单向导电性,如 示意图B。很明显图示二极管处于反偏状态,PN结截止。我们要特别注意这里的截止状态,实际上PN结截止时,总是会有很小的漏电流存在,也就是说PN结总是存在着反向关不断的现象,PN结的单向导电性并不是百分之百。
为什么会出现这种现象呢?
这主要是因为P区除了因“掺杂”而产生的多数载流子“空穴”之外,还总是会有极少数的本征载流 子“电子”出现。N区也是一样,除了 多数载流子电子之外,也会有极少数的载流子空穴存在。PN结反偏时,能够正向导电的多数载流子被拉向电源,使PN结变厚,多数载流子不能再通过PN结承担 起载流导电的功能。所以,此时漏电流的形成主要靠的是少数载流子,是少数载流子在起导电作用。所以如图B,如果能够在P区或N区人为地增加少数载流子的数量,很自然的漏电流就会人为地增加。
四、三极管工作原理
继续讨论图B,PN结的反偏状态。利用光照控制少数载流子的产生数量就可以实现人为地控制漏电流的大小。既然如此,人们自然也会想到能否把控制的方法改变一下,不用光照而是用电注入的方法来增加N区或者是P区少数载流子的数量,从而实现对PN结的漏电流的控制。也就是不用“光”的方法,而是用“电”的方法来实现对电流的控制。接下来重点讨论P区,P区的少数载流子是电子,要想用电注入的方法向P区注入电子,最好的方法就是如图C所示,在P区下面再用特殊工艺加一块N型半导体。
图C所示其实就是NPN型晶体三极管的雏形,其相应各部分的名称以及功能与三极管完全相同。为方便讨论,以下我们对图C中所示的各个部分的名称直接采用与三极管相应的名称(如“发射结”,“集电极”等)。再看示意图C,图中最下面的发射区N型半导体内电子作为多数载流子大量存在,而且,如图C中所示,要将发射区的电子注入或者说是发射到P区(基区)是很容易的,只要使发射结正偏即可。具体说就是在基极与发射极之间加上一个足够的正向的门电压(约为0.7伏)就可以了。在外加门电压作用下,发射区的电子就会很容易地被发射注入到基区,这样就实现对基区少数载流子“电子”在数量上的改变。