《片机应用系统的设计与实例.ppt》由会员分享,可在线阅读,更多相关《片机应用系统的设计与实例.ppt(35页珍藏版)》请在三一办公上搜索。
1、主 编 范立南 谢子殿 副主编 刘 彤 尹授远 李雪飞,单片机原理及应用教程第9章 单片机应用系统的设计与实例,9.1 单片机应用系统的设计方法9.2 单片机应用系统的开发过程9.3 单片机系统应用实例,第9章单片机应用系统的设计与实例,9.1 单片机应用系统的设计方法,单片机应用系统设计的一般过程,9.1 单片机应用系统的设计方法,系统总体方案的确定可行性调研 系统总体方案设计 设计方案细化,9.1 单片机应用系统的设计方法,应用系统的硬件设计 确定各输入输出数据的传送方式是中断方式、查询方式还是无条件方式等。根据系统需要确定使用何种结构,确定系统中主要电路是最小系统,还是扩展系统。除单片机
2、外,系统中还需要哪些扩展芯片、模拟电路等。资源分配:各输入输出信号分别使用哪个并行口、串行口、中断、定时器/计数器等。电路连接:根据以上各步完成完整的线路连接图。,9.1 单片机应用系统的设计方法,应用系统的软件设计 划分功能模块及安排程序结构。例如,根据系统的任务,将程序大致划分成数据采集模块、数据处理模块、非线性补偿模块、报警处理模块、标度变换模块、数据控制、计算模块、控制器输出模块、故障诊断模块等,并规定每个模块的任务及其相互间的关系。画出各程序模块详细流程图。选择合适的语言(如高级语言或汇编语言)编写程序。编写时尽量采用现有模块子程序,以提高程序设计速度。将各个模块连结成一个完整的程序
3、。,9.1 单片机应用系统的设计方法,应用系统的抗干扰设计电压检测及掉电保护技术 切断来自传感器、各功能模块部分的干扰 对系统中用到的元器件要进行筛选,要选择标准化以及互换性好的器件或电路 电路设计时要注意电平匹配 软件的抗干扰设计 加密保护技术,9.2 单片机应用系统的开发过程,单片机的开发与开发工具 单片机的开发是一门综合技能,需要相关的数学基础知识、模拟及数字电子技术基础知识,甚至是计算机控制技术、智能控制等知识。单片机的开发是一项实践性很强的技能,只有不断的动手实践才能掌握,因此一般需要有计算机及相关的开发工具,如编程器、实验板等。单片机学习的初期如果有人指点则可以事半功倍、少走弯路。
4、单片机入门后技能的提高只能靠自己的勤奋与努力,很少有人能帮得上忙,9.2 单片机应用系统的开发过程,单片机开发系统的功能 在线仿真功能单片机仿真功能 模拟功能 调试功能允许控制功能 对目标系统状态的读出修改功能 跟踪功能 辅助设计功能,9.2 单片机应用系统的开发过程,单片机应用系统的调试、运行与维护调试工具 硬件调试 软件调试 运行与维护,9.3 单片机系统应用实例电阻炉温度控制系统,在很多行业有大量的用电加热设备,如用于热处理的加热炉,用于融化金属的坩埚电阻炉及各种不同用途的温箱等,人们都需要对它们的温度进行监测和控制。采用单片机对它们进行控制不仅具有控制方便、简单和灵活性大等特点,而且可
5、以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,智能化温度控制技术正被广泛地采用。对电阻炉温度控制,可以采用适用于工业控制的8051单片机组成的控制系统。该系统的被测参数是电阻炉的温度,由单片机PID运算得出的控制量去控制双向可控硅的导通和关断,以便切断或接通加热电源,调整电工功率,从而控制电阻炉的温度稳定在设定值上。本系统采用过零触发方式,干扰小、器件运行可靠,同时省去了传统的D/A变换器件,简化了硬件设备。,1.系统组成及工作原理,图9.2所示为电阻炉温度控制系统原理图。图中主要包括8051单片机、温度检测元件和变送器、A/D转换器、键盘与显示电路、温度控制电路和报
6、警电路等几个部分。因为8051单片机内部有4K字节的程序存储器,空间足够,所以不必再扩展程序存储器。其工作过程为,热电偶可将检测的温度转变成mV级的电压信号,经温度变送器放大后,送入A/D转换器,转换成数字量送入计算机,与设定值进行比较,经PID调节后,输出驱动信号,控制可控硅的导通与关断,从而达到调节温度的目的。若检测的实际值与设定值相比较越限,则产生报警信号。,1.系统组成及工作原理,图9.2 电阻炉温度控制系统原理图,1.系统组成及工作原理,(1)温度检测元件和变送器 温度检测元件和变送器的类型选择与被控温度及精度等级有关。01000范围内的温度可以选用镍铬/镍铝热电偶,其输出电压为04
7、1.32mV。这个信号比较小,故需要变送器将其变换成A/D转换器所需的电压范围。变送器由毫伏变送器和电流/电压变送器组成。毫伏变送器用于把热电偶输出的041.32mV变换成010mA范围内的电流;电流/电压变送器用于把毫伏变送器输出的010mA电流变换成05V范围内的电压。为了提高测量精度,变送器可以进行零点迁移。例如:若温度测量范围为4001000,则热电偶输出为16.441.32mV,毫伏变送器零点迁移后输出010mA范围电流。这样,采用8位A/D转换器就可使量化温度误差达到2.34以内。,1.系统组成及工作原理,(2)A/D转换电路 ADC0809为温度测量电路的输入接口。ADC0809
8、的IN0和变送器输出端相连,故当P0.20.0=000时,就选中IN0通道。当P2.1=0时,启动A/D转换器。EOC引脚连接到8051单片机的P1.3引脚,正在转换时EOC=0,转换结束时EOC=1,通过查询方式,若D/A转换结束,将转换后的数字量读入单片机。,(3)键盘/显示电路的扩展 8051单片机通过并行接口8255扩展键盘/显示电路,由图9.2可见,在P2.7=0时,选中8255芯片,8255的PA口、PB口、PC口和控制口的地址分别为7FFCH、7FFDH、7FFEH和7FFFH。,1.系统组成及工作原理,(4)过零触发电路 过零同步脉冲是一种50Hz交流电压过零时刻的脉冲,可使可
9、控硅在交流电压正弦波过零时触发导通。过零同步脉冲由过零触发电路产生,更为详细的电路原理图如图9.3所示。图中,电压比较器LM311用于把50Hz正弦交流电压变为方波。方波的正边沿和负边沿分别作为两个单稳态触发器的输入触发信号,单稳态触发器输出的两个窄脉冲经二极管或门混合后就可得到对应于交流220V市电的过零同步脉冲。此脉冲一方面作为可控硅的触发同步脉冲加到温度控制电路,另一方面还作为计数脉冲加到8051的T0和T1端(见图9.2)。电源正弦波交流信号u与过零同步脉冲uo之间的关系如图9.4所示。,1.系统组成及工作原理,图9.3 过零触发电路,1.系统组成及工作原理,图9.4 正弦波交流信号u
10、与过零同步脉冲uo之间的关系,1.系统组成及工作原理,(5)温度控制执行电路 8051单片机对温度的控制是通过可控硅调功电路实现的。双向可控硅和加热丝串接在交流220V、50Hz交流市电回路。在给定周期T内,8051单片机只要改变可控硅的接通时间便可改变加热丝功率,以达到调节温度的目的。可控硅接通时间可以通过可控硅控制极上触发脉冲控制。该触发脉冲由8051单片机用软件在P1.4引脚上输出的信号,其时间的长短由PID运算后对控制量取整完成,再经过零同步脉冲同步后再经光耦和驱动器输出送到可控硅的控制极上,从而达到调功的目的。调功控制信号关系示意图如图9.5所示。,1.系统组成及工作原理,图9.5
11、调功控制信号关系示意图,1.系统组成及工作原理,(6)报警电路 8051单片机的P1.0P1.2引脚用于报警,可以和报警电路相连。究竟采用何种报警可由设计者根据需要选定。,2.温度控制的算法和程序,(1)温度控制的算法 通常,电阻炉炉温控制采用偏差控制法。偏差控制的原理是先求出实测炉温对所需炉温的偏差值,然后对偏差值处理而获得控制信号去调节电阻炉的加热功率,以实现对炉温的控制。在工业上,偏差控制又称为PID控制。模拟PID控制的理想微分方程为:,(9-1),式中,e(t)=r(t)-y(t)是温度调节器的控制量,一般为给定值与本次采样值(也即输出反馈值)之差。其中r(t)为给定值,y(t)为被
12、测变量值;u(t)为调节器的输出信号,kp为比例系数;Ti为积分时间常数;Td为微分时间常数。,2.温度控制的算法和程序,若设温度的采样周期为T,第n次采样得到的输入偏差为en,调节器输出为un,则有:,式(9-1)便可改写为:,(9-2),2.温度控制的算法和程序,写成递推形式为:,改写为:,(9-3),2.温度控制的算法和程序,u(n)PID调节器n次输出值(操作量);u(n-1)n-1次输出值;E(n)n次测量值与设定温度值的偏差,为PID运算的变量(控制量);E(n-1)n-1次测量值与设定温度值的偏差;E(n-2)n-2次测量值与设定温度值的偏差;KP比例系数;KI积分系数,;KD微
13、分系数,;T采样周期。,2.温度控制的算法和程序,(2)温度控制程序 本机软件采用模块结构,分为如下几个部分。主程序 主程序是本系统的监控程序,用户可以通过监控程序监控系统工作。在程序运行中,必须首先对系统进行初始化,为简化起见本程序只给出有关标志、暂存单元和显示缓冲区清零、T0初始化、开中断、温度显示和键盘扫描等程序。其相应的框图如图9.6所示。,2.温度控制的算法和程序,图9.6 主程序流程图,2.温度控制的算法和程序,(2)T0中断处理程序,T0中断处理程序是温度控制系统的主体程序,用于启动A/D转换、读入采样数据、数字滤波、越限报警和越限处理、PID计算和输出可控硅的同步触发脉冲等。P
14、1.4引脚上输出的该同步触发脉冲宽度由T1计数器的溢出中断控制,8051利用等待T1溢出中断空隙时间(形成P1.4输出脉冲顶宽)完成把本次采样值转换成显示值而放入显示缓冲区和调用温度显示程序。8051从T1中断服务程序返回后便可恢复现场和返回主程序,以等待下次T0中断。,2.温度控制的算法和程序,在T0中断处理程序中,还需要用到一系列子程序。例如:采样温度值的子程序、数字滤波子程序、越限处理子程序、PID计算子程序、标度变换子程序、键盘扫描子程序和温度显示子程序等。T0中断服务程序流程图如图9.7所示。为了使程序设计简单,每一个功能模块设计成一个模块形式。本程序的基本思想是对IN0通道的信号采
15、样5次,然后对信号进行数字滤波、越限报警、PID计算等一系列处理。程序中每个模块用一个子程序代替。因此,在中断服务程序中,只需按顺序调用各功能模块子程序即可,程序可读性强。下面介绍几个常用模块。,2.温度控制的算法和程序,图9.7 T0中断服务程序流程图,2.温度控制的算法和程序,数据采集模块 数据采集程序的主要任务是将炉温参数采样5次,并将它们存放在内部RAM指定单元30H39H。本系统采用查询方式进行采样。程序流程图如图9.8所示。,图9.8 采样子程序流程图,2.温度控制的算法和程序,越限报警模块,设温度的上限和下限分别存放在内部RAM3EH、3FH单元,报警标志单元为20H。设采样值经滤波后存入3AH单元。则越限报警子程序流程图如图9.9所示。,图9.9 越限报警子程序流程图,2.温度控制的算法和程序,PID控制模块 本系统采用增量型PID控制算法,式(9-3)为离散化的增量型PID编程表达式。当系数KP、KI、KD求出后,分别存放在指定的RAM单元中,如表9.1所示,采用浮点数运算。,2.温度控制的算法和程序,表9.1 常数项及中间结果存放单元地址分配表,2.温度控制的算法和程序,标度变换模块 采用标度变换子程序是要把实际采样的二进制值转换成BCD形成的温度值,然后存放到显示缓冲区64H69H。,只要设定热电偶的量程,即可以编写相应的子程序。,(9-4),