1.按键控制电动机的顺序起动
在实际应用中,常常遇到电动机必需按顺序起动,否则会出现事故的情况。例如在冷库中,必需首先起动冷水泵或冷却风扇,然后才能起动压缩机。停机时,必须首先停止压缩机,才能停止冷却水泵或冷却风扇。下面介绍用单片机解决这一问题的方法。
(1)任务书:交流电动机M1和M2的起动和停止过程是第一次点按S1,电动机M1起动。只有当M1起动后,按键S2才生效,第一次点按S2,电动机M2起动。第二次点按S2,电动机M2停止,必须是M2停止后,按键S1才能生效。第二次点按S1时,电动机M1停止。
相关电路如图2-13所示。
图2-13 按键控制交流电动机的顺序起动
(2)程序示例1(这种方式比较适合初学者的思维习惯)
(3)程序示例2(用switch……case语句,可锻炼灵活编程的能力)
程序代码解释:
程序的执行过程是: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 控制电动机正反转的基本电路
(2)常用的蜂鸣器驱动电路。常用的蜂鸣器驱动电路如图2-14所示。在图2-14a中,当BELL-IN脚得到低电平时,晶体管Q14饱和导通,蜂鸣器得电而鸣响,反之当BELL-IN脚得到高电平时,晶体管Q14截止,蜂鸣器失电,不鸣响。图2-14b中的晶体管是NPN型的,当BELL-IN得到高电平时鸣响。
图2-14 常用的蜂鸣器驱动电路
由表2-12可知,控制电动机的正反转很简单,只要编程使单片机的I/O口输出相应的高、低电平给控制端子J1、J2,电动机就能实现正/反转。
(3)任务书:利用表2-12所示的直流电动机正反转的电路,要求用一个按键K控制一个直流电动机的正反转,具体是:第一次按下,电动机正转;第二次按下,电动机停止;第三次按下,电动机反转;第四次按下,电动机停止,每按一下,蜂鸣器响一声。如此循环。(www.xing528.com)
(4)典型程序代码示例。
技巧:也可以在第7行后加入宏定义语句
于是在switch{}内的语句中就可以写为:
这样显得简洁。当端口改变后,只需改变宏定义中的端口,无需在程序中改,有利于程序的移植。
3.直流电动机的PWM调速
(1)占空比的概念
如图2-15所示,Vm为脉冲幅度,T为脉冲周期,t1为脉冲宽度。t1与T的比值称为占空比。脉冲电压的平均值与占空比成正比。
(2)脉冲宽度调制方式(PWM调制方式)
改变加在直流电动机脉冲电压的占空比,可以改变电压的平均值。这种调速的方法称为脉冲宽度调制方式(PWM调制方式)。
图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中脉冲的高电平)。
图2-16 直流电动机的PWM调速电路
(4)PWM调速典型示例。
使电机逐渐加速(设P1.0接PWMIN):
(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,电动机的转速达到最快。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。