吴忠伟
摘 要
Proteus软件元件仿真模型丰富,微处理器仿真功能强大,本文以Proteus软件为基础,提出了一种适用于自动控制系统的仿真方法,以采用AT89C51单片机为微处理器的温室温度自动控制系统为例,分析了系统的整体结构,探讨了Proteus仿真程序设计和实现,利用C语言进行编程,仿真结果显示,系统仿真控制效果良好。
【关键词】Proteus软件 自动控制系统 仿真程序
Proteus软件是专门针对单片机等微处理器的互动型电路仿真软件,在原理图虚拟原型上即可完成编程,且能够实时对软件源码进行调试,从而直观的观测系统控制效果。基于以上,本文简要探讨了Proteus软件在自动控制系统仿真中的运用,旨在为相关研究和实践提供参考。
1 Proteus软件概述
Proteus是一种电路及单片机系统设计及仿真软件,由英国著名软件开发公司Labcenter公司开发研制,在没有目标原形的基础上,也能够实现各种处理器的实时仿真和调试测试。Proteus软件中的元件库功能十分庞大,能够为单片机设计提供外围部件,同时Proteus软件支持第三方编译器,这提升了其使用的便利性。在实际应用的过程中,Proteus软件及Keil软件有着明确的分工,前者主要负责硬件仿真,后者主要进行软件仿真,通过二者的联调来构建虚拟单片机实验室,对于提升系统的设计效率有着积极的意义。
2 系统设计与仿真应用实现
本文以温室温度自动控制系统为例,探讨了Proteus软件在自动控制系统仿真中的应用,下面来介绍系统设计及实现。
2.1 总体设计
以AT89C51单片机为控制核心,采用DS18B20温度传感器测量温度,其能够将测量信息传输到单片机中,单片机进行温度测量值处理后会在LCD1602显示器上显示。系统运行的过程中,设定温度上下限值,如果温度测试值超过设定的温度上限,蜂鸣器和指示灯会产生报警,此时通风电机启动,通过温室室内外通风来实现温室降温;如果温度测试值低于设定的温度下限,则通风电机停止。系统以串行通信为主,现场采集的数据通过串口传输到上位机中。
2.2 Proteus仿真设计
2.2.1 Proteus仿真模块
采用Proteus软件中的ISIS工具进行电路原理图的编辑和电路仿真,其不仅包括常用分立元件和集成块元件,还包括众多类型微控制器和仿真元件,能够实现对外围接口器件的仿真。采用的芯片包括运算放大器芯片、AT89C51芯片、逻辑门路芯片及模数转换芯片等。
2.2.2 仿真结构
本文提出的温室温度自动控制系统以PID控制为基础,其仿真原理图如图1所示。
在Proteus仿真框图中,程序中给定r(k)的设定值,由AT89C51单片机处理器程序来实现PID控制算法,选用DAC0808作为模数转换器,利用运算放大器进行执行机构的仿真,主要的执行机构包括蜂鸣器、温度上下限指示灯、继电器及通风机等。为了提升仿真分析的直观性,增加“ANALOGUE ANAALYSIS”仿真图形显示,显示被控制对象的输出曲线,以此来更好的进行观测和分析。
2.2.3 程序设计
选用Keil C51工具对程序进行编写和变异,以面向对象的模块化程序设计方法为基础,对各个模块进行设计,并进行模块调试,模块设计和调试完成之后,进行所有模块的联合调试工作。在本文提出的温室温度自动控制系统中,主要包括的模块有温度采集模块、电机驱动控制模块及显示模块等。定时器中断处理程序首先进行温度反馈信号的采集,并将温度数据信息进行数字化处理,之后根据温度上下限设定值进行温度误差的PID计算,模数转换器进行输出的数字信号转换。在整个仿真程序设计的过程中,PID输出计算的编程至关重要。
3 仿真结果分析
在Keil C51中进行软件调试,将生成的.HEX文件在单片机芯片上加载,点击运行键运行程序,则可以直观、生动的观察到温室温度自动控制系统的运行结果。当温度测量值为34℃的时候,超过温度设定上限,此时显示器屏幕上显示出“Temperature val:34℃”,温度上限指示灯闪烁,同时蜂鸣器产生声光报警,继电器触点接收到指令后合上,通风机开始运转,实现温室的内外通风,从而将温室温度降低到温度设定上限之下。
4 结论
Proteus软件能够为基于微处理器的自动控制系统提供仿真平台,能够实现软硬件仿真,有利于提升仿真效果。本文以温室温度自动控制系统为例,提出了基于Proteus软件的仿真方法,仿真结果表明,其能够提升仿真效率和仿真的直观性与准确性,指的进一步推广和应用。
参考文献
[1]陈朝元,鲁五一.Proteus软件在自动控制系统仿真中的应用[J].系统仿真学报,2008(02):318-320.
[2]王申莹,胡志超,吴惠昌,彭宝良,王海鸥,吴峰.基于Proteus的甜菜收获机自动对行控制系统设计仿真与试验[J].中国农机化学报,2014(03):35-40.
作者单位
吉林建筑大学城建学院 吉林省长春市 130000