首页 理论教育 实现2.12.2交流电动机的按键控制、起动和正反转

实现2.12.2交流电动机的按键控制、起动和正反转

时间:2023-10-11 理论教育 版权反馈
【摘要】:只有当M1起动后,按键S2才生效,第一次点按S2,电动机M2起动。图2-13 按键控制交流电动机的顺序起动程序示例1程序示例2(用switch……图2-15 矩形脉冲某控制微型直流电动机PWM调速的典型电路如图2-16所示。

实现2.12.2交流电动机的按键控制、起动和正反转

1.按键控制电动机的顺序起动

在实际应用中,常常遇到电动机必需按顺序起动,否则会出现事故的情况。例如在冷库中,必需首先起动冷水泵或冷却风扇,然后才能起动压缩机。停机时,必须首先停止压缩机,才能停止冷却水泵或冷却风扇。下面介绍用单片机解决这一问题的方法。

(1)任务书:交流电动机M1和M2的起动和停止过程是第一次点按S1,电动机M1起动。只有当M1起动后,按键S2才生效,第一次点按S2,电动机M2起动。第二次点按S2,电动机M2停止,必须是M2停止后,按键S1才能生效。第二次点按S1时,电动机M1停止。

相关电路如图2-13所示。

978-7-111-46996-4-Part01-114.jpg

图2-13 按键控制交流电动机的顺序起动

(2)程序示例1(这种方式比较适合初学者的思维习惯)

978-7-111-46996-4-Part01-115.jpg

978-7-111-46996-4-Part01-116.jpg

978-7-111-46996-4-Part01-117.jpg

(3)程序示例2(用switch……case语句,可锻炼灵活编程的能力)

978-7-111-46996-4-Part01-118.jpg

978-7-111-46996-4-Part01-119.jpg

程序代码解释:

程序的执行过程是:18行被执行第1次(即第1次点按S1)以后→第1次执行20行,由于n初值默认为0→执行22行(即电动机1起动,电动机2仍停止。n置为1,然后退出switch语句。注:→执行29行、30行、31行、32行,若S2被点按→执行34行,由于n已被置为1→执行36行(电动机2起动,n被置为2),然后退出switch语句。 注意,从以上过程可以看出:①若没有点按S1,首先点按S2,由于n的初值为0,则34~41行不会被执行,电动机2也不会起动;②若点按S1后不点按S2,则n值为1,再点按S1,则会导致电动机1停止,n清0,还原为刚上电的要求。符合题意。

当S1点按了第一次且S2被点按了一次后,再点按S1→第2次执行20行,由于n值已被置为2,所以22~24行不会被执行,即在电动机1、电动机2都处于开启状态时,点按S1会无效→只有执行29行(即当S2点按后),由于n=2→所以执行37行,电动机2停止,n被置为3,退出switch语句→当再点按S1后(即执行18行)→由于n=3,所以执行24行,电动机1停止,n清0,退出switch语句,还原为初始状态。可见,在电动机1、电动机2都在运转的情况下,只有停止电动机2后,才能停止电动机1。

2.按键控制电动机的正反转

(1)按键控制电动机正反转硬件电路示例。实践中经常遇到要求电动机正反转的情况,控制电动机正反转的常用基本电路见表2-12。

2-12 控制电动机正反转的基本电路

978-7-111-46996-4-Part01-120.jpg

(2)常用的蜂鸣器驱动电路。常用的蜂鸣器驱动电路如图2-14所示。在图2-14a中,当BELL-IN脚得到低电平时,晶体管Q14饱和导通,蜂鸣器得电而鸣响,反之当BELL-IN脚得到高电平时,晶体管Q14截止,蜂鸣器失电,不鸣响。图2-14b中的晶体管是NPN型的,当BELL-IN得到高电平时鸣响。

978-7-111-46996-4-Part01-121.jpg

图2-14 常用的蜂鸣器驱动电路

由表2-12可知,控制电动机的正反转很简单,只要编程使单片机的I/O口输出相应的高、低电平给控制端子J1、J2,电动机就能实现正/反转。

(3)任务书:利用表2-12所示的直流电动机正反转的电路,要求用一个按键K控制一个直流电动机的正反转,具体是:第一次按下,电动机正转;第二次按下,电动机停止;第三次按下,电动机反转;第四次按下,电动机停止,每按一下,蜂鸣器响一声。如此循环。(www.xing528.com)

(4)典型程序代码示例。

978-7-111-46996-4-Part01-122.jpg

978-7-111-46996-4-Part01-123.jpg

技巧:也可以在第7行后加入宏定义语句

978-7-111-46996-4-Part01-124.jpg

978-7-111-46996-4-Part01-125.jpg

于是在switch{}内的语句中就可以写为:

978-7-111-46996-4-Part01-126.jpg

这样显得简洁。当端口改变后,只需改变宏定义中的端口,无需在程序中改,有利于程序的移植。

3.直流电动机的PWM调速

(1)占空比的概念

如图2-15所示,Vm为脉冲幅度,T为脉冲周期,t1脉冲宽度t1T的比值称为占空比。脉冲电压的平均值与占空比成正比。

(2)脉冲宽度调制方式(PWM调制方式)

改变加在直流电动机脉冲电压的占空比,可以改变电压的平均值。这种调速的方法称为脉冲宽度调制方式(PWM调制方式)。

978-7-111-46996-4-Part01-127.jpg

图2-15 矩形脉冲

(3)某控制微型直流电动机PWM调速的典型电路如图2-16所示。图2-16中PWM+、PWM-分别接直流电动机的正、负极,PWM-IN接单片机的I/O口。其工作原理是:当单片机的输出高电平给PWM-IN、经R19传到PNP型晶体管Q4的基极,Q4截止,从而使NPN晶体管Q5的基极也为低电平,Q5截止,直流电动机M处于无供电状态(相当于图2-16中脉冲的低电平);反之当单片机的输出低电平给PWM-IN时,Q4导通,Q5导通,M有供电(相当于图2-15中脉冲的高电平)。

978-7-111-46996-4-Part01-128.jpg

图2-16 直流电动机的PWM调速电路

(4)PWM调速典型示例。

使电机逐渐加速(设P1.0接PWMIN):

978-7-111-46996-4-Part01-129.jpg

(5)程序代码解释。程序执行第一遍时的过程是:06行——为电动机得电;07行——由于i初值为0,07行实际上不会执行,即得电无延时;08行——电动机无供电;09行——由于i初值为0,为i自加到1000的延时(即无供电的状态的延时);10行——i自加1,使执行第二遍时电动机得电的状态保持的时间逐渐变长,无供电的状态保持的时间逐渐变短;11行——i小于1000时不会被执行,当i自加到大于等于1000时,就保持为1000这个值。

随着执行遍数的增加,第10行也执行了多遍,i的值逐渐增加,电动机得电的持续时间逐渐增加,电动机的无供电时间逐渐减小,电动机转速逐渐变快。当i自加到等于1000时,第09行的延时实际就没有执行,即电动机无供电的时间为0,电动机的转速达到最快。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈