
张秉云郑崇苏
(福州大学电气工程与自动化学院,福建福州 350108)
摘要:介绍了基于51单片机的发电机输出电压自动控制的设计方案,通过单片机控制步进电机的转向来调节柴油机的油门开度,从而实现对发电机输出电压的自动控制,并可以极大提升发电机的输出电压的稳定性。并且通过Proteus 软件的仿真验证了本设计方案的可行性。
关键词:步进电机;发电机;51单片机;Proteus
中图分类号:TM31 文献标识码:A 文章编号:1672-4801(2010)05-069-04
1 系统的工作原理
1.1 步进电机的工作原理
图1 步进电机内部绕线图
如图1所示,初始时,开关S B接通电源,S A,S C,S D断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当开关SC接通电源,S B、S A,S D断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0,3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依此类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。系统的各个机构组成如图2所示,系统可分为检测环节、控制环节和执行机构。检测环节主要包括输出电压、油温、油压和油量的检测。控制机构是单片机构成,执行机构是一台常州宝来电器公司最大静力矩为80N cm转动惯量为280g cm2的57BYGH型步进电机。
1.2 系统的工作原理
在本方案中当发电机正常工作且输出电压在允许范围内时,步进电机不会动作。而当工作过程中出现油温、油量等非正常状态时,系统就会发出声光报警。在本方案中根据实际要求设定输出电压的误差范围和期望的输出电压,由此可得到调节过程中电压的上限值和下限值。系统上电后先判断输出电压是否大于上限值,如果大于上限值则程序跳转到反转程序使单片机发出反转脉冲,接收到反转脉冲后的步进电机将反转,从而关小柴油机的油门,此时发电机的转速变慢,输出电压也因此降低,直到发电机输出电压降到允许范围内时步进电机才停止动作。同理当发电机的输出电压小于下限电压值时单片机会给步进电机发出正转的脉冲信号,使得步进电机正转,从而调大柴油发电机的油门,使得柴油机转速加大,输出电压加大,最终使发电机的输出电压调节到所设定的范围内。整个系统的工作过程如图2所示。
图2 系统的工作原理框图
2 硬件设计
2.1 输出电压测量
在本设计方案中发电机的输出电压为400V,选CHV-25P/4600V型电压传感器。图3所示为电压传感器及其接线图。电压传感器共五个接线端子,其中两只为原边端子±TH,两只为副边端子±端分别接±15V工作电压。M端为信号输出端。
根据被测电压的大小,须将被测电压串联一只电阻R 后再接到传感器原边端子,串联电阻R 可由下式计算:
P IN IN
V
R R I =−
式中:R 为串联电阻(Ω);P V 为被测电压(V );IN I 为额定输入电流(A)(一般额定电流下取
10mA)IN R 为传感器原边内阻。串接电阻的功率:W=P V ×IN I 。
图3 电压传感器及其接线图
在本设计方案中发电机的输出电压为400V ,原边内阻为350Ω,由于原边内阻远小于串联电阻故可将原边电阻忽略不计。选R 的值为40k Ω。串联电阻的参数确定为40k Ω/4W 副边的内阻为
110Ω将公共地与输出端的输出电阻阻值选为55Ω便可将传感器的输出转换为0~5V 的直流信号,此信号可直接进入A/D 转换器。电压测量电路如图4所示。IN+接电压传感器的输出端,将来自传感器的测量信号经A/D 转换器送入单片机。在本设计中考虑到成本及被测量的个数A/D 转换器具体为MCP3001,为单路A/D 转换,将转换后的数据串行输出。
图4 电压测量电路
2.2 步进电机驱动
步进电机驱动电路如图5所示。控制脉冲由
ATC2051的P1口的P1.4~P1.7输出,经过74LS14反相后进入9014,经9014放大后控制光电开关,光电隔离后,由功率管TIP122将脉冲信
号进行电压和电流放大,驱动步进电机的各个绕组,使步进电机随着不同的脉冲信号分别作正转、反转、停止等动作。图中RL1~RL4为绕组的内阻,50Ω电阻是一外接电阻,起限流作用,也是一个改善时间常数的元件。D1~D4为续流二极管,使电机绕组产生的反电动势通过续流二极管而衰减掉,从而保护了功率管TIP122不受损坏。在50Ω的外接电阻上并联一个200μF 电容,可以改善注入步进电机绕组的电流脉冲前沿,提高了步进电机的高频性能。与续流二极管串联的200Ω电阻可减小回路的放电时间常数,使绕组中电流脉冲的后沿变陡,电流下降时间变小,也起到提高高频工作性能的作用。
图5 步进电机驱动电路
2.3 油温和油量的异常检测
图6 油温、油压及油量检测电路
油温和油量检测电路图如图6所示,油温、油量相对于步进电机的控制电路功能简单,且三者功能、控制电路也较相似。它们主要功能是在油温高于50℃,油量少于10%时通过发光LED 报警。
如图6以油温的监侧过程为例,通过R24和R26设
置油温上限LM358N 的正向端接来自温度传感器的标准范围内电压信号,当此电压大于R24和R26设置的参考电压时系统将通过红色发光LED 报警。74LS14作用是提高驱动能力。油压、油量报警的工作过程与其相似。温度传感器和油量传感器的实物图如图7所示。
图7 温度传感器和油量传感器的实物图
3 软件设计
系统采用汇编语言模块化结构。仿真系统的程序在KEIL C51 μ Vision3环境下编译。程序主要包括:输出电压读取程序、正反转判断程序、正转及反转程序和油温油压报警程序。程序流程图如8所示。
图8 程序流程图
在程序中,要特别注意步进电机在换向时的处理。为使步进电机在换向时总能平滑过渡,不至于产生错步,应该在每一步中设置标志位。其中20H单元的各位为步进电机正转标志;21H单元各位为反转标志位。正转时不仅给正转标志位赋值,也同时给反转标志位赋值;在反转时也如此。这样步进电机换向时,就可以以上次的位置作为起点反向运动,避免了电机换向时产生的错步。
4 仿真结果
根据上面的理论分析,结合Protues软件对系统进行仿真,仿真结果如图9所示。图中四条波形图为步进电机按设定的方案动作时向步进电机发送的控制信号。从上到下依次为步进电机A、B、C、D四个脉冲输入端的输入脉冲。为了验证设计方案的可行性发电机的反馈信号随时间变化的值与设定的上限电压和下限电压的值比较来控制步进电机的动作过程,即:正转、反转和正反转的过渡过程。
4.1 正转
当发电机输出电压大于误差上限电压值时,从电压传感器回来的信号反馈给单片机经比较判断后向步进电机发送如图9所示控制信号。由图得步进电机正转按以下脉冲顺序驱动: 1110、1100、1101、1001、1011、0011、0111、0110与设定的正转脉冲相同。此时步进电机反转增加柴油机的油门从而提高了发电机的输出电压,当输出电压增大到设定误差范围内时步进电机停止动作。
图9 步进电机正转脉冲
4.2 反转
当发电机的输出电压小于下限电压值时,单片机机比较反馈回的输出电压值和下限值之后向步进电机发出波形图如图10所示:同样得到一组驱动步进电机转动的脉冲:0011、1011、1001、1101、1100、1110、0110、0111。按此序列步进电机反转,从而减小柴油机的油门使得发电机的输出电压下降至设定的误差范围内。当输出电压减小到设定误差范围内时步进电机停止动作。
图10 步进电机反转脉冲
4.3 正反转过渡
柴油机启动后油门存在小范围振荡使得输出电压存在较大波动因此步进电机需要经历从正转过渡到反转的过渡过程。某时刻输出电压大于上限电压,步进电机反转进行调节,未调节到误差范围内时输出电压又小于下限电压,这样经过数次调解后由于系统输出电压误差逐渐递减,振荡逐渐减小到步进电机的控制范围内步进电机开始按要求工作。转动的脉冲波形图如图11所示。
图11 步进电机发转-正转过渡脉冲
从图得出两组脉冲:0110、0111、0011、1011、1001、1101、1100、1110和0011、0111、0110、1110、1100、1101、1001、1011。这两组脉冲即为过渡过程中由反转到正转的过渡脉冲。
由以上这些脉冲图及其对应的数字可知步进电机的动作按照模拟的从发电机反馈回的电压信号测量值来动作的,仿真过程验证了设计的方案的可行性。
5 结语
本文提出了一种基于51单片机自动控制发电机输出电压稳定的方案,通过对步进电机正反转的控制来控制柴油机油门的开度,从而达到控制发电机输出电压稳定的目的。通过KEIL C51软件与Proteus软硬件仿真验证了本方案的可行性。和传统的控制方案相比,本系统有以下特点:稳定性好,可靠性高,实时性强,节约燃料的等优点。在应用于实际中时,还需要知道很多实际的参数值,比如柴油机油门的开度变化与发电机输出电压的变化的准确值,同时还需要知道步进电机旋转角度和柴油机油门开度之间的关系等等一些实际的参数,总之,从方案到实际的应用还有一段路要走。
参考文献:
[1]高伟,曹国君,李向群,等.AT 单片机原理及应用[M].北京:国防工业出版社.2008.
[2]张大明.单片机控制实训指导及综合应用实例[M].北京:机械工业出版社.2007.
[3]王林,李志敏,陈志云,等.基于AVR的小型汽油发电机系统的实现[J].重庆大学学报.2006,29(2):38-40.
[4]杨凌.模拟电子线路[M]. 北京:机械工业出版社,2007.
作者简介:张秉云(1985年-),男,研究生,研究方向:检测技术与自动化装置。
郑崇苏(1954年-),男,副教授,研究方向:检测技术与自动化装置。
