数字温度控制器.docx
《数字温度控制器.docx》由会员分享,可在线阅读,更多相关《数字温度控制器.docx(26页珍藏版)》请在冰豆网上搜索。
数字温度控制器
摘要
本作品是以8051单片机为核心的数字式温度控制器的设计实现。
在硬件电
路方面,主要分成了几个模块,即温度检测电路模块,ADC0809电信号的处理
模块,加热控制电路模块,数据处理模块,电压输入模块,LED显示模块,键
盘输入模块和温度控制输出模块,并在protel99SE上进行电原理图绘制及双层印制电路板设计。
关键字:
8051ADC0809protel99SE
Abstract
Thispowersupplyabout8051singlechipmicrocomputerasthecoredigitaltemperaturecontrollerdesignimplementation.Inthehardwarecircuit,mainlydividedintoseveralparts,i.e.atemperaturedetectioncircuitmodule,ADC0809electricalsignalprocessingmodule,heatingcontrolcircuitmodule,dataprocessingmodule,thevoltageinputmodule,thekeyboardinputmoduleandtemperaturecontroloutputmodule,andintheelectricityprotel99SEprinciplechartdrawinganddoubleprintedcircuitboarddesign.
Keyword:
8051ADC0809protel99SE
数字温度控制器
1引言
随着人们生活质量的提高,在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面:
酒店、厂房及家庭生活中都会见到温度控制的影子。
现代工业设计、工程建设及日常生活中也常常需要用到温度控制。
现在,市面上已经出现了各式各样的温度控制器,其种类却不外乎两种:
模拟和数字。
并且,大有向数字发展的倾向。
原因在于数字系统相对来说更简单,更容易处理。
我们所设计的温度控制器,采用数字显示。
虽然,我们深知市面上这类产品已经非常之多,但我们的目的并不在于去为了生展一些所谓的新产品,新技术。
我们也没有这种能力去完成这样的事情。
我们所能做的,或者说我们选择这样一个设计课题的根本出发点仅仅在于:
能够灵活地运用我们所学过的模电、数电知识,并我们将来做相应的设计提供一点基础。
2设计任务
为了完成这样一个设计,我们将所要实现的目标列举如下:
⑴能够实现温度的检测和转换;
(2)系统温度定值可输入(由拨码盘设定),当检测值温度小于给定值时,打开加热器,否则关闭加热器;
⑶利用LED数码管显示检测到的温度值;
(4)系统的控制时间间隔设为5S;
⑸为了统一供电电压,本电路设计采用直流5V电源电压,运放使用+(-)12V电压。
流程图如下:
图2.1数字温度控制器流程图
3硬件设计
本设计看似复杂,实则可以将其分成三大部分:
温度检测部分,温度与电信号转换,并显示,附加控制电路处理。
下面就主要分这三部分对这个课题进行分析、处理。
3.1温度检测电路的设计
温度是基本物理量之一,从是常生活到各行各业,都需要温度测量和温度控制。
在航空航天各系统的试验测试中,热敏传感器尤显重要,比如检测飞机喷气
发动机出口温度就是米用了一种以镍铬—镍硅或
热敏传感器。
K型热电偶与电阻电桥构成的
我们设计的温度检测电路采用电阻电桥网络,
Pt100的阻值与温度之间的理论关系为:
采用的热敏电阻建议为Pt100。
R二R。
1AtBt2
(3—1)
式中,t为摄氏温度;Ro为t=0°C时的阻值;A、B为常数。
但于实际应用
时,精度要求不是那么高,经过我们查找相应的资料得到如下近似的表达式,此
式便作为我们选取电阻的依据。
如果在实际应用时,发现不符合使用精度,也可以由使用者根据相应的精度进行调整。
其输出电压的表达式为:
(3—3)
0.38%
输出电压与温度成线性关系,满足我们的传感需要
3.2电信号的处理电路设计
321A/D转换电路
由于从温度检测转换过来的电信号为模拟信号,而我们要求处理的信号往往
都是数字信号,所以我们需要将模拟信号转换为数字信号。
A/D转换器的型号有
很多,我们采用的A/D转换器为ADC0809,其引脚图如下:
图3.2ADC0809引脚图
使用时,我们只需要使用一路作为输入,即可完成模拟和数字的转换。
所转换出去的数据可以供后续转换成BCD码进行数码管显示,也可以供从拨码盘输入的数据进行比较使用,在设计时,我们考虑将其设置为总线(BUS)
结构,方便处理,调用。
322二进制—BCD转换
为了便于显示处理,我们必须将数据变为BCD码,而实际处理中,由于二进制数是由A/D转换器得到,与温度有很大的关系,故而从某种角度上来说,我们可以将温度与BCD码相一一对应,这就大方便了处理的需要。
而我们所做的代价仅仅是一块EPROM2716。
也就是说,如果我们将温度的BCD码与相应的地址空间中的数据相对应,便很容易处理。
下表是我们在EPROM中固化的数据。
(表一EPROM中固化的数据)
地
址
00
01
02
03
04
05…
…F9
FA
数
据
00
00
00
00
00
01…
…50
50
3.2.3比较器电路
从以上得到的BCD码经过与我们设定的拨码盘中的数据相比较,得到的结果以便来控制加热电路。
这一点是很容易办到的。
采用两个拨码盘,每个拨盘与一个74LS85比较器相连,可以实现实际温度与设定温度相比较的效果。
比较得到的结果可以用来处理后续的加热控制电路。
3.3加热控制电路
加热器所用的电源为220V工频交流电,因此我们有必要将强电和弱电相互隔离。
我们在设计过程中考虑到固态继电器(SSR)作为接口元件,当然也可以使用直流继电器作为接口元件,将强电和弱电相互隔离。
但是,在电路设计过程中,有一个问题需要考虑的是:
由于比较器的输出电流相对来说比较有限,不足以驱动SSR,因此我们需要使用晶体三极管来驱动
SSR。
当然,三极管要能够保证其工作在饱和/截止的状态。
3.4时钟信号电路
整个电路的时钟信号可以利用555定时器产生,由于设计的要求为:
时间间隔设为5S。
我们可以再利用一个十进制计数器74LS192,如果555定时器产生频率为2Hz的脉冲,那么每5s,在74LS192的进位端便可产生1个脉冲信号,如果我们使用此脉冲信号作为A/D转换控制,便实现了设计的要求和任务。
3.5LED显示电路
对于LED可以使用2个LED作为当前温度的显示,因为设计要求对于温
度的精度要求并不是很高,为1度,所以只用两个LED,显示个位和视为没有显示小数位。
这样的设计比较实际化,也节约了成本。
另为两个LED作为用户设置的温度的显示,使用户可以清晰的看到自己设置的温度和当前温度的差异。
4protel软件概要
PROTEL是PORTEL公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者
的首选软件,其基于Windows环境的99SE版本,不仅提供了功能完备的电路设计工具,而且具备强大的电路仿真能力。
《Protel应用实践》课程设计旨
在让同学们对Protel软件的熟练操作,并对其各项强大功能的了解。
本次课
程设计是以脉冲宽度调制信号控制电路为例,叙述原理图绘制、原理图库元件的创建、PCB设计等的具体步骤和出现问题及其解决方法。
早期的PROTEL主要作为印制板自动布线工具使用,运行在DOS环境,
对硬件的要求很低,在无硬盘286机的1M内存下就能运行,但它的功能也较少,只有电原理图绘制与印制板设计功能,其印制板自动布线的布通率也低,而现今的PROTEL已发展到PROTEL99(网络上可下载到它的测试板),是个庞大的EDA软件,完全安装有200多M,它工作在WINDOWS95环境下,是个完整的板级全方位电子设计系统,它包含了电原理图绘制、模拟电路与数字电路混合信号仿真、多层印制电路板设计(包含印制电路板自动布线)、可编程逻辑器件设计、图表生成、电子表格生成、支持宏操作等功能,并具有Client/Server(客户/服务器)体系结构,同时还兼容一些其它设计软件的文件格式,如ORCAD,PSPICE,EXCEL等,其多层印
制线路板的自动布线可实现高密度%布通率。
Client99SE.exe
图1Protel99SE桌面图标
Protel99SE是应用于Windows9X/2000/NT操作系统下的EDA设计软
件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力
和开放性及3D模拟功能,是一个32位的设计软件,可以完成电路原理图
设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号
层,16个电源--地层和16个机加工层。
4.1Protel99SE的系统组成
按照系统功能来划分,Protel99se主要包含以下俩大部分和6个功能模
块。
1电路工程设计部分
(1)电路原理设计部分(AdvaneedSchematic99):
电路原理图设计部
分包括电路图编辑器(简称SCH编辑器)、电路图零件库编辑器(简称Schlib编辑器)和各种文本编辑器。
本系统的主要功能是:
绘制、修改和编辑电路原理图;更新和修改电路图零件库;查看和编辑有关电路图和零件库的各种报表。
(2)印刷电路板设计系统(AdvaneedPCB99):
印刷电路板设计系统
包括印刷电路板编辑器(简称PCB编辑器)、零件封装编辑器(简称PCBLib编辑器)和电路板组件管理器。
本系统的主要功能是:
绘制、修改和编辑电路板;更新和修改零件封装;管理电路板组件。
(3)自动布线系统(AdvaneedRoute99):
本系统包含一个基于形状
(Shape-based)的无栅格自动布线器,用于印刷电路板的自动布线,以实现PCB设计的自动化。
2电路仿真与PLD部分
(1)电路模拟仿真系统(AdvaneedSIM99):
电路模拟仿真系统包含一个数字/模拟信号仿真器,可提供连续的数字信号和模拟信号,以便对电路原理图进行信号模拟仿真,从而验证其正确性和可行性。
(2)可编程逻辑设计系统(AdvaneedPLD99):
可编程逻辑设计系统
包含一个有语法功能的文本编辑器和一个波形编辑器(Waveform)。
本系
统的主要功能是;对逻辑电路进行分析、综合;观察信号的波形。
利用PLD
系统可以最大限度的精简逻辑部件,使数字电路设计达到最简化。
(3)高级信号完整性分析系统(AdvaneedIntegrity99):
信号完整性
分析系统提供了一个精确的信号完整性模拟器,可用来分析PCB设计、检
查电路设计参数、实验超调量、阻抗和信号谐波要求等。
4.2Protel99SE的功能特性
1开放式集成化的设计管理体系
2超强功能的、修改与编辑功能
3强大的设计自动化功能
5电路原理图的绘制及仿真
5.1电路原理图的绘制
原理图的设计流程如下:
新建原理图设计库文件一载入元件库一元件放置与布局-原理图的绘制-
元件属性的编辑-电气规则检查-生成网络表
5.2层次电路的设计思想
当编辑复杂电子产品的电路原理图时,在特定幅面的图纸上绘制出整个电子
系统的原理图有一定难度。
这时我们可以采用层次电路的设计思想,即模块化的
设计,来绘制总的原理图。
用户可以将总的电子系统分为若干个功能模块,自顶
向下分别进行设计。
这样可以使电路层次结构清晰,设计分工明确,便于理解和操作。
5.3新建原理图设计库文件
(1)启动Protel99SE软件,选择菜单“File/New”,弹出如图6所示的对话框
建立名为“温度控制及显示电路.ddb”的原理图库文件如下。
随即,此库文件名将显示在左栏explore子目录下。
LocationPassword
ProleI99SEstoresalldesigndocumentsinanImtegratedidesigndatabase・
Dependinguponthestoragetype^documents^reeitherstoredinasingledesign
databaseorsland-alomefilesandfolders:
onyourdisk
仃吧signSinrageTMSAct:
e-ssDatabase仃:
MSAccesstypeSltireealldesiyiiducuriiciritgin也^iriyleMSAccessdulabase.
DatabaseL>□匚atiun
D^protel99^e\Exairriple&
DntabaseFile鬧温鬲空制及显示电銘-ddb
*
Cancel
Help
Browse.,,
图5.1创建原理图库文件界面
(2)
双击打开库文件,选择菜单“File/New”,弹出如图7所示的对话框。
单击
“SchematicDocumen”,建立名为“温度控制及显示控制电路.prj”的原理图文件。
图5.2创建原理图文件界面
(3)双击原理图文件,进入原理图编辑界面
5.4载入元件库
点击界面左侧Browse对话框中的“Add/Remove”按钮,屏幕上会出现如下
图所示的“元件库添加/删除”对话框;选中常用的元件库Miscellaneous
Devices.ddbProtelDOSSchematicLibraries.ddb和sim.ddb,点击“Add”按钮即可。
图5.3添加元件库界面
5.5编辑电路总原理图
(1)选择“Placd'菜单下的“SheetSymbol",移动光标到原理图编辑区内,
(2)按下“Tab”键,进入放宽电路属性设置窗口,编辑方块电路名(如“信号采集电路”)和方块电路文件名(如“信号采集电路.sch”);
(3)移动光标到合适位置,左击放置方块电路模型;
(4)重复上述操作三次,完成总的方块电路模型;
(5)放置方块电路的I/O端口,注意模块间的输入输出关系,设置端口属性。
5.6绘制子模块电路
建立了项目文件原理图后,可以单独编辑各自模块电路的原理图,编辑器会
自动完成匹配,生成总的电路原理图。
单击“Design”菜单下的“CreatSheetFromSymbol”,将光标移动至U某一方块电路上,单击鼠标进入该模块的电路原理图的绘制。
561电路原理图绘制的基本方法
(1)元件放置与布局
加载元件库后,在元件浏览器中可浏览到各种元件库元件列表及图形。
选中绘制原理图所需的元件,点击“Place”按钮,将选中的元件放置到原理图中的合适位置。
可单击鼠标左键多次,进行同类元件的多个放置,以单击鼠标右键结束放置。
为了使元件位置布局合理,原理图整体效果规范和美观,可以对元件位置进行调整。
选中目标不放,将其拖拽到合适的位置,即可完成移动;选中目标后,点击“Space键,还可以使元件做90?
旋转。
(2)原理图的绘制
(3)
WiiringToolsQ
绘制导线。
选择视图/工具栏中的wiring工具栏
1添加电源及接地符号;
2放置电路节点和端口,以及总线和网络标号等。
(4)元件属性的编辑
双击某一元件,进入该元件属性设置的窗口。
通常需要设置的项目有元件的
圭寸装形式Footprint,元件标号Designation和元件标称值Part。
不同元件的圭寸装形式不同,需要特别注意。
以下是常用元件的封装形式:
(1)三极管NPN封装号(Footprint)为TO-92B,器件类别(Part)为9013,元件称号(Designator)依次设为VT1-VT4;
(2)电阻RES2封装号(Footprint)为AXIAL0.3,标示值(part)为阻值,称号
(Designator)依次设为R1-R15;
(3)滑动变阻器POT1封装号(Footprint)为VR1,标示值(Part)为总阻值,称号(Designator)依次设为RW1-RW4;
(4)无极性电容CAP封装号(Footprint)为RAD0.2,标示值(Part)为电容值,均为470nF,称号(Designator)C4,C6;
(5)电解电容ELECTRO1封装号(Footprint)为RB.2/.4,标示值(Part)
为其大小,称号(Designator)C1-C3,C5。
5.6.2温度检测电路
图5.4温度检测电路
5.6.3A/D转换及显示电路绘制
图5.5A/D转换电路
图5.6LED显示电路
5.6.4时钟信号电路
图5.7时钟脉冲信号产生电路
5.7.ERC电气规则检查
当整个电路设计完成后,进行ERC检查。
选择“Tools”下设的“ERC”,弹出如下对话框,点击0K即可。
图5.8ERC界面
5.8生成网络表
网络表是原理图与印制电路板之间的一座桥梁,是印制电路板自动布线的依
据。
网络表提供了电路的元件清单以及元件之间的互联关系。
使用菜单命令
【Design]/【CreateNetlist】,在弹出的对话框中,单击0K即可生成与原理图同名的网络表文件*net。
PreferencesTraceOptions
OutoutFormat
IProtel匚]
NetId©卩Scqde
SheetSymbol/PortConnectiT
SheetstoNetlist
|Activeproject上
AppendsheetnumberstolocaDescendintosheetptncludeun-namcdsinglepii
OK;Cancelllefp
图5.9网络表对话框
5.9生成材料清单
执行菜单命令【REPORT】/【BILLOFMATERIAL】出现新的对话框选择
“project”点击下一步,其他默认直到倒数第二步将ProtelFormat、CSVFormat、
ClientSpreadshee全部选中点击下一步和Finish就生成了材料清单,材料清单见附录。
6印制电路板设计
6.1仓U建PCB文件
(1)执行“File'New”命令,选择创建PCB文件
(2)双击PCB文件图标,进入PCB设计界面。
6.2电路板的规划及网络表的载入
(1)在PCB设计界面,单击标签“Keepoutlayer”进入禁止布线层。
执行“Place'Track'命令,移动光标绘制电路板边框。
(2)选择“Design”菜单下的“CreatNetlist”,在弹出的“NetlistFile”对
话框中浏览并选中网络表文件,单击“Execute”按钮,即可加载网络表格。
在
网络表文件载入时,常常会出现两种错误:
FootprintNotFound(封装元件遗漏)、NodeNotFound(引脚遗漏)。
在加载的时候,应该注意改正错误,得到正确的网络表。
ThisoperationblingstheschematicdesigndataintothePCBwenkspaceu$inganetlislFile.IIyouare:
loadinganetlisttartfnelirsttimeNelistMacrtKarecr&atedfortheenAirenetlisLIf^ouFoiwaidAnnotatingyourdesignNetistMacroEcreated!
feweachdesignchange.YoumihoddahdNeiJistMacrostoincludeororrAparticuhrdtesigmchanges.Note:
wwwents曲便ma(亡hedbpdtsionaioront.
NctlisiFii'臥度控制及显下电趾-WbT温度扌空制及显于电路且rowg;!
:
…]
AddnewcomponentC7AddnewcomponentCSAddnewcomponentCH
Arifiiiikwo:
ijmi9iiiiiriri1C10
Addnewcom卩onentC11AddnewcomponentCl2
图6.1导入网络表后界面
6.3手动制作封装库文件
本电路有一个元件-单刀双掷继电器开关,在元件封装库里找不到对应的封
装,在导入网络表时提示有错,所以,我对此元件单独建立了一个封装库文件,
手动制作了它的封装。
(1)创建封装库文件,操作同原理图文件的新建方法。
(2)根据元件实际情况,放置焊盘,设置其参数并确定位置。
⑶切换到"TopOverLayer",用线条工具绘制元件封装的外形轮廓线
(5)设置元件的参考原点,并将文件保存为原理图中此元件的名字
图6.2新建的元件封装
6.4手动布局与自动布线
由于此电路图元件较多,不适合自动布局,所以我采取了手动布局的方法,手工完成电路板的布局。
对于布线操作,我采取了系统自动布线的方式。
因为在手动布局时,已注意使有关联的元件尽量排布在一起,所以自动布线操作非常成功。
(1)用鼠标拖开重叠的元件,手动布局,使所有的元件互不重叠。
在确定元件放置位置时,要注意相关联元件的放置,尽量使各元件之间的连线最短。
图6.3手动布局后的PCB
⑵在“AutoRoute”下拉菜单中点击“All”进行自动布线。
□
□
口
□
n
a
g
iE
§
□7二
图6.4自动布局后的PCB
6.5电路板设计技巧铺铜
执行“Place'PloygonPlane”命令,选择需要铺铜的区域点吉鼠标右键进行铺铜。
图6.5铺铜后的PCB图
7设计中遇到的问题和解决方法
一开始有在元器件库里占不到自己需要的元器件的情况,后来经过指导老师的指点和自己的摸索,我们指导了要按照自己的需要加载不同的元器件库,从中寻找自己需要的元器件。
画完原理图后,确定各器件的封装形式是我们比较头疼的问题。
除了我们短学期做ProteI作业是了解到的几个具体的元器件外,其余的一些元件我们一开始根本不清楚如何确定他们的封装形式。
后来我们就在PCB版图编辑界面里自己
在元器件圭寸装库里自己找可以用于这些器件的圭寸装形式,最后很好的解决了这一
问题。
由此我们也了解了