• 119.00 KB
  • 22页

生物培养液微机温度控制系统_课程设计任务书(可编辑)

  • 22页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
生物培养液微机温度控制系统_课程设计任务书课程设计任务书题目生物培养液微机温度控制系统的设计 初始条件 设计一个生物培养液微型计算机温度控制系统系统为一阶惯性纯滞后特性温度在1525℃范围内连续可控温度控制精度为05℃通过LED显示温度要求完成的主要任务输入通道及输出通道设计温度传感器AD转换PWM输出控制和温度调节驱动电路键盘温度设置与LED温度显示接口设计采用改进PID控制算法系统软件流程及各程序模块设计完成符合要求的设计说明书2011年6月20日2011年6月30日指导教师签名年月日系主任或责任教师签名年月日目录1设计要求42总体设计方案及框图421系统设计方案论证422系统结构框图43硬件设计531单片机选择532温度传感模块833AD转换模块1034键盘温度设置模块1235LED显示模块1336加热控制电路设计15 37降温控制电路设计1638报警电路174软件设计1841采用改进PID控制算法1842系统软件流程205总结体会216参考文献227附件2371系统原理图2372程序24摘要随着社会的发展温度的测量及控制变得越来越重要温度是生产过程和科学实验中普遍而且重要的物理参数本文利用单片机结合传感器技术而开发设计了这一温度监控系统本文详细地讲述了基于单片机AT89C51和温度传感器LM35的温度控制系统的设计方案与软硬件实现方案系统采用数字温度传感器LM35采集温度电压信号经ADC0809AD转换成单片机可识别的数字电压信号数码管显示温度测量值当温度低于设定值时单片机控制继电器启动加热器加热当温度高于设定值时单片机控制继电器启动半导体制冷器制冷从而实现了控制温度的目的关键字单片机温度控制传感器数码管生物培养液微机温度控制系统设计1设计要求设计一个生物培养液微型计算机温度控制系统系统为一阶惯性纯滞后特性温度在1525℃范围内连续可控温度控制精度为05℃通过LED显示温度2总体设计方案及框图21系统设计方案论证 实现温度控制的方法主要有以下几种方案一采用纯硬件的闭环控制系统该系统的优点在于速度较快但可靠性比较差控制精度比较低灵活性小线路复杂调试安装都不方便且要实现题目所有的要求难度较大方案二FPGACPLD或采用带有IP内核的FPGACPLD方式即用FPGACPLD完成采集存储显示及AD等功能由IP核实现人机交互及信号测量分析等功能这种方案的优点在于系统结构紧凑可以实现复杂的测量与与控制操作方便缺点是调试过程复杂成本较高方案三单片机与高精度温度传感器结合的方式即用单片机完成人机界面系统控制信号分析处理由前端温度传感器完成信号的采集与转换这种方案克服了方案一二的缺点所以本课题任务是基于单片机和温度传感器实现对温度的控制22系统结构框图系统主要包括温度采集部分温度放大转换部分温度驱动调节部分实时温度显示部分和报警部分以及温度设定的键盘输入部分单片机判断输入温度信号与设定的温度的差距再通过改进的PID算法给以调节系统框图如图1所示  图1生物培养液微型计算机温度控制系统图2单片机引脚图32温度传感模块LM35是由NationalSemiconductor所生产的温度感测器其输出电压与摄氏温标呈线性关系转换公式如式10°C时输出为0V每升高1°C输出电压增加10mV即LM35有多种不同封装型式外观如图所示在常温下LM35不需要额外的校准处理即可达到±°14C的准确率其电源供应模式有单电源与正负双电源两种其引脚如图所示正负双电源的供电模式可提供负温度的量测两种接法的静默电流-温度关系如图所示单电源模式在25°C下静默电流约50μA非常省电 图2  LM35封装及引脚排列  图3 单电源模式              图4 双电源模式由课程任务书可知温度在1525℃范围内连续可控因此只需要单电源模式即可满足要求又由于LM35输出的电压太小因此将输出用非反相放大器放大十倍其电路图如下图5所示33AD转换模块由于LM35温度传感器输出的是模拟量的温度电压值单片机无法直接识别因此需要对采集到的电压信号进行AD转换将其转化为单片机能识别的数字量本设计采用ADC0809AD转换器下面介绍ADC0809的特性1.主要特性  18路8位A/D转换器即分辨率8位  2具有转换起停控制端  3转换时间为100μs  4单个+5V电源供电  5模拟输入电压范围0~+5V不需零点和满刻度校准  6工作温度范围为-40~+85摄氏度  7低功耗约15mW2.内部结构  ADC0809是CMOS单片型逐次逼近式A/D转换器内部结构如图13.22所示它由8路模拟开关地址锁存与译码器比较器8位开关树型D/A转换器逐次逼近3.外部特性引脚功能  ADC0809芯片有28条引脚采用双列直插式封装如图13.23所示下面说明各引脚功能  IN0~IN78路模拟量输入端   2-1~2-88位数字量输出端  ADDAADDBADDC3位地址输入线用于选通8路模拟输入中的一路ALE地址锁存允许信号输入高电平有效STARTA/D转换启动信号输入高电平有效EOCA/D转换结束信号输出当A/D转换结束时此端输出一个高电平转换期间一直为低电平  OE数据输出允许信号输入高电平有效当A/D转换结束时此端输入一个高电平才能打开输出三态门输出数字量  CLK时钟脉冲输入端要求时钟频率不高于640KHZ  REFREF-基准电压  Vcc电源单一+5V  GND地ADC0809的工作过程是首先输入3位地址并使ALE1将地址存入地址锁存器中此地址经译码选通8路模拟输入之一到比较器START上升沿将逐次逼近寄存器复位下降沿启动A/D转换之后EOC输出信号变低指示转换正在进行直到A/D转换完成EOC变为高电平指示A/D转换结束结果数据已存入锁存器这个信号可用作中断申请当OE输入高电平时输出三态门打开转换结果的数字量输出到数据总线上图6ADC0809AD转换芯片引脚本系统中ADC0809的转化电路如下图7所示图7ADC0809转换电路接线图34键盘温度设置模块键盘模块是本控制系统的人机交流模块部分主要为用户提供进行温度的设置功能该设置功能模块中包括了0到9的数字按键启动设置按键即设置按钮输入错误时的删除按键及删除键 由于按键较多为了节省IO口的资源本系统采用3X4矩阵式键盘方案由于变成扫描定式扫描的键盘工作方式过多的占用CPU时间本系统为了不过的占用CPU时间采用中断扫描方式其中断方式接法如图8所示其键盘接线连接图如下图9所示图8中断方式接法图图9键盘模块接线图35LED显示模块由于任务书要求使用LED显示温度而且温度在1525℃范围内连续可控温度控制精度为05℃因此本系统采用了四位共阳极的LED七段数码管如图10所示为4位7段数码管的原理图由于所有的段选线并联到同一个IO由这个IO口来控制因此若是所有的4位8段LED都选通的话4位8段LED将会显示相同的字符要使各个位的8段LED显示不同的字符就必须采用动态扫描方法来轮流点亮每一位8段LED即在每一瞬间只选通一位8段LED进行显示单独的字符在此段点亮时间内段选控制IO口输出要显示的相应字符的段选码而位选控制IO口则输出位选信号向要显示的位送出选通电平共阴极则送出低电平共阳极则送出高电平使得该位显示相应字符这样将四位8段LED轮流去点亮使得每位分时显示该位应显示的字符由于人眼的视觉暂留时间为01秒当每位显示的间隔未超过33ms时并在显示时保持直到下一位显示则由于人眼的视觉暂留效果眼睛看上去就像是4位8段LED都在点亮设计时要注意每位显示的间隔时间由于一位8段LED的熄灭时间不能超过100ms也就是说点亮其它位所用的时间不能超过100ms这样当有N位的8段LED用来显示时每一位间隔的时间t就必须符合下面的式子t≤100msN-1图10LED的动态显示原理图本系统中N=4则由式子可以算出t≤33ms就是每一位的间隔时间不能超过33ms当然时间可以也设得短一些比如5ms或1ms也可以 如下图11所示为该四位8段LED数码管显示模块的管脚连接图从左到右A-G依次接P00-P06DP接P07管脚1-4为数码管位选的输入依次接P20-P23管脚图11  显示模块的管脚连接图在进行显示编程时首先选定需要显示的位数然后向段选位送数据即可显示由于单片机可以直接驱动LED显示管因此不需外加驱动电路了36加热控制电路设计在读取到从温度传感模块采集到的温度数值后与事先设定好的温度值进行比较若当前检测得的温度比设定的温度低则需要对培养液进行加热处理本系统利用高阻抗的电阻丝来对培养液加热如下图12所示在检测到温度比设定的温度低时P25管脚输出高电平从而NPN管道通驱动继电器启动从而为高阻抗加热电阻丝通电加热生物培养液利用改进的PID算法来计算PWM脉宽得出控制输出从而达到根据检测到的温度而自动调节图12培养液电阻丝加热模块37降温控制电路设计半导体制冷片也叫热电制冷片它的优点是没有滑动部件应用在一些空间受到限制可靠性要求高无制冷剂污染的场合利用半导体材料的Peltier效应当直流电通过两种不同半导体材料串联成的电偶时在电偶的两端即可分别吸收热量和放出热量可以实现制冷的目的它是一种产生负热阻的制冷技术其特点是无运动部件可靠性也比较高其工作原理如图13图13半导体降温片工作原理图半导体制冷片由许多N型和P型半导体之颗粒互相排列而成而NP之间以一般的导体相连接而成一完整线路通常是铜铝或其他金属导体最后由两片陶瓷片像夹心饼乾一样夹起来陶瓷片必须绝缘且导热良好通上之后冷端的热量被移到热端导致冷端温度降低热端温度升高 图14培养液半导体制冷片降温模块  38报警电路如果培养液里的温度过高或者是过低了超出了其允许的某个温度范围则系统会自动报警提醒用户可以让用户采取更为快速和有效地措施来避免或是减少损失报警电路图下图15所示当微机判断当前温度值超出范围时将P26管脚置低电平利用非门来驱动喇叭报警图15报警电路图4软件设计41采用改进PID控制算法采用典型的反馈式温度控制系统组成部分见下图15其中数字控制器的功能由单片机实现图15 控制系统框图已知培养皿的传递函数为设其中τ1为电阻加热的时间常数为电阻加热的纯滞后时间为采样周期AD转换器可划归为零阶保持器内所以广义对象的传递函数为4-1广义对象的Z传递函数为4-2所以系统的闭环Z传递函数为4-3系统的数字控制器为4-4写成差分方程即为4-5令 则有4-6式中第次采样时的偏差第次采样时的偏差第次采样时的偏差本生物培养液温控系统采用的数字PID算法由软件实现增量PID控制算法的优点是编程简单数据可以递推使用占用存储空间少运算快但是对于温度这种响应缓慢滞后性大的过程不能用标准的PID算法进行控制当扰动较大或者给定的温度值大幅度变化时由于产生较大的偏差加上温控本身的惯性及滞后在积分作用下系统往往产生较大的超调和长时间的振荡因此为克服这种不良的影响采用积分分离法对增量PID算法进行改进当偏差ek绝对值较大时暂时取消积分作用当偏差ek绝对值小于某一设定值M时才将积分作用投入1当ekM时用PlD控制偏差小说明系统温度已经接近设定值此时加入了积分作用可以消除系统静差保证系统的控制精度根据递增原理可得式中eKrK一yK为第K时刻所得偏差信号其中rK是给定值yK是实际输出值其中kp为比例增益ki为积分系数kd为微分系数则增量式PID控制算法为当ek≥M时用PD控制由于偏差大说明系统温度远离设定值应快速降温采用PD控制可以提高系统的动态响应速度避免产生过大的超调减小动态误差42系统软件流程图16 单片机系统主控制流程图 5总结体会 通过这次课程设计让我受益匪浅在设计期间通过与同学们的交流及查阅资料让我学习到不少的知识不仅学习到各种芯片的功能及使用方法同时还有一些软件特别是proteus让我印象很深的是之前使用protel画原理图一些在库中芯片没有我只能动手去画还不能仿真十分麻烦后来在同学的帮助下使用proteus一切迎刃而解还掌握了proteus的使用技巧及了解到他的强大之处让我兴趣倍增同时还用到了keil仿真软件虽然最后还是程序出错没能仿真成功但也为我在以后使用仿真打好了坚实的基础还有这次设计深化了我对PID控制技术的理解特别是改进算法同时提高了我独立思考问题解决问题的习惯与能力经过这次设计让我深深体会到理论联系实际的重要行平时就要扎扎实实的学号基本功只有学号理论知识在实际使用的时候都会变的更方便带给我收获的同时也让我意思到理论知识及动手操作的不足所以在以后的学习生活中我会更努力的加强理论知识与实践的学习使自己的能力不断增长不断提高自己6参考文献1于海生计算机控制技术机械工业出版社2007年5月2陈立周陈宇编著.单片机原理术及应用机械工业出版社2007.13王成等.通用微机接口实验系统教师用实验指导书北京清华大学出版社2001.1~44林立张俊亮编著.单片机原理及应用电子工业出版社2009.75刘红丽传感与检测技术国防工业大学出版社2007年3月7附件71系统原理图图18系统原理图72程序includeincludesbitSTP20sbitOE P21sbitEOCP22ucharcodedis_7[17]0x3F0x060x5B0x4F0x660x6D0x7D0x070x7F0x6F0x000x400xED0xF90xE70x390x63共阳LED段码表"0""1""2""3""4""5""6""7""8""9""不亮""-""S""E""q""C""°"ucharcodescan_con[4]0x7f0xbf0xdf0xef列扫描控制字uchardatatemp_data[2]0x000x00读出温度暂放intChannel4unsignedcharSavedDat[6]存放采集的数据结果voidInitAdc0809初始化函数ChannelSelA0ChannelSelB0ChannelSelC0默认选择第0通道ST0OE0ET01EA1TMOD0x02TH0226TL0226TR01voidReadDatvoid ST1_nop__nop_ST0启动转换_nop__nop_ifEOC1OE1SavedDat[Channel]P1_nop__nop_OE0_nop__nop_ST1_nop__nop_ST0_nop__nop_InitAdc0809channel ChannelSelswitchChannelSelcase0ChannelSelA0ChannelSelB0ChannelSelC0breakcase1ChannelSelA0ChannelSelB0ChannelSelC1breakcase2ChannelSelA0ChannelSelB1ChannelSelC0breakcase3ChannelSelA1ChannelSelB1ChannelSelC0breakcase4ChannelSelA0ChannelSelB0ChannelSelC1break defaultbreakReadDatvoidmainAdc0808ChannelP3SavedDat[Channel]VoidKeyscanvoidinterrupt1using2用中断法扫描键盘ucharKeyScan检查按键情况uchartemp40KEY0xef扫描第1列键switchKEYcase0xeetemp1breakcase0xedtemp4breakcase0xebtemp7breakcase0xe7temp10checkbreakdefaultbreakKEY0xdf扫描第2列键switchKEY case0xdetemp2breakcase0xddtemp5breakcase0xdbtemp8breakcase0xd7temp0breakdefaultbreakKEY0xbf扫描第3列键switchKEYcase0xbetemp3breakcase0xbdtemp6breakcase0xbbtemp9breakcase0xb7temp11breakdefaultbreakreturntemp返回按键键值显示扫描函数scan温度显示时4位LED扫描charkfork0k4k4位LED扫描控制 Disdatadis_7[display[k]]数据显示ifk1DINcon1DIN1小数点显示discanscan_con[k]位选delay250--------温度数据处理--------work_tempuinttemucharn0iftem6348温度值正负判断tem65536-temn1负温度求补码标志位置1display[4]tem0x0f取小数部分的值display[0]ditab[display[4]]存入小数部分显示值display[4]tem4取中间八位即整数部分的值display[3]display[4]100取百位数据暂存display[1]display[4]100取后两位数据暂存display[2]display[1]10取十位数据暂存display[1]display[1]10nowtpdisplay[3]100display[2]10display[1]计算当前温度send_Da[0]nowtp把当前温度储存到发送缓存区--------PID运算函数---------------voidpidstaticintdiff[19]0000000000000000000staticintsum_diff0∑diffstaticuintcurr_0 floatp_outi_outd_outtemp_pidfloatpwm_0temp_piddiff[curr_]ifcurr_119curr_0elsecurr_1sum_diff-diff[curr_]diff[curr_]settp-nowtpsum_diffdiff[curr_]p_outKPdiff[curr_]比例项输出i_outKIsum_diff积分项输出d_outKDdiff[curr_]-temp_pid微分项输出pwm_0KCsettp维持功率项ifi_out100i_out100积分分离ifi_out-100i_out-100PWMp_outi_outd_outpwm_0总输出量ifPWM0PWM0积分改进PID控制elseifPWM100PWM100输出函数voidPWM_OUTfloatPWMstaticuchart1t1--100周期为4秒ucharlimitpid_value输出百分比limitucharPWMiftlimitHEAT0加热 elseHEAT1停止加热tift100t1 本科生课程设计成绩评定表姓名张方举性别男专业班级自动化0804班课程设计题目生物培养液微机温度控制系统的设计课程设计答辩或质疑记录成绩评定依据评定项目评分成绩1.考勤态度15分2查阅资料能力10分3系统设计包括系统实现原理框图方案的说明20分4.硬件电路程序编写调试结果20分5.设计说明书质量及规范化参考文献充分不少于5篇15分6.答辩20分总分最终评定成绩以优良中及格不及格评定指导教师签字年月日武汉理工大学《计算机控制技术》课程设计说明书1加热控制及高阻抗加热丝加热电路生物培养皿 AT89C51单片机LED显示制冷控制及半导体制冷片制冷电路报警电路键盘电路温度采集放大AD转换电路开始单片机系统初始化温度设置程序有键按下温度采样与AD转换调用温度显示温度超出报警程序Y设定的温度值≥设定的温度值NYN保持温指示灯亮高温指示灯亮低温指示灯亮调用PID数据处理程序 控制量的输出