1、 子情境一子情境一 设计规划设计规划 子情境二子情境二 温度控制部分温度控制部分 子情境三子情境三 整体设计整体设计情境八情境八 基于基于18b2018b20温度控制系统设计温度控制系统设计1.1.项目任务分析项目任务分析温度控制系统设计与制作温度控制系统设计与制作温度测量温度测量温度显示温度显示温度调节温度调节功能设置功能设置电源电源传感器传感器显示电路显示电路升降温度升降温度按键按键电源电路电源电路型号和电路型号和电路LED或或LCD加热制冷加热制冷键盘电路键盘电路电源器件电源器件 设计课题:设计单片机温度控制系统,设计课题:设计单片机温度控制系统,这个系统设计要求完成以下任务:1、设计系
2、统可自动完成对象的温度控制任务。、设计系统可自动完成对象的温度控制任务。2、当作工厂产品设计,并作为实验板考虑功能扩展。、当作工厂产品设计,并作为实验板考虑功能扩展。温度控制系统设计规划温度控制系统设计规划温度控制系统设计分为两大部分组成:温度控制系统设计分为两大部分组成:1、设计项目的提出和总设计规划,单元电路试验,标准化设计。、设计项目的提出和总设计规划,单元电路试验,标准化设计。经过前两个项目的学习,对单片机基础知识有了一定的了解,其中显示、键盘、电源、单片机电路设计等有一定的认识,现在难点是温度传感受器和加热制冷部件的设计,另外增加“产品”化设计要求。2、原理图设计、电路板设计、系统应
3、用程序设计、原理图设计、电路板设计、系统应用程序设计、温度控制系统安装温度控制系统安装与调试,与调试,当第一步完成后这些相对容易了,和前面项目工作差不多,只是多花时间完成每一步,当然设计前对不明确的地方还是进行试验。温度控制系统设计规划温度控制系统设计规划1.1.项目任务分析项目任务分析提提出出项项目目和和任任务务学学生生试试验验论论证证老老师师汇汇总总规规划划实实施施步步骤骤安安装装与与调调试试项目实施过程项目实施过程理实一体化模式理实一体化模式电电路路和和程程序序设设计计1.1.项目任务分析项目任务分析温度控制系统设计规划温度控制系统设计规划温度测量温度测量精度精度传感器传感器安装位置安装
4、位置型号和电路型号和电路单片机程序单片机程序经经AD转换传感器转换传感器数字传感器数字传感器传感器型号、读取方法传感器型号、读取方法传感器型号、连接方法传感器型号、连接方法单片机接口单片机接口1.1.项目任务分析项目任务分析温度控制系统设计规划温度控制系统设计规划几位数字几位数字驱动方式驱动方式电路试验电路试验动态显示动态显示行列驱动行列驱动LED驱动电路驱动电路LCD驱动电路驱动电路电路试验电路试验温度显示温度显示显示电路显示电路LED或或LCD1.1.项目任务分析项目任务分析温度控制系统设计规划温度控制系统设计规划执行部件执行部件温度设置温度设置控制范围控制范围按键个数按键个数加热器加热加
5、热器加热压缩机制冷压缩机制冷键盘电路键盘电路六个按键六个按键扫描方式扫描方式功能设置功能设置按键按键键盘电路键盘电路1.1.项目任务分析项目任务分析温度控制系统设计规划温度控制系统设计规划温度调节温度调节升降温度升降温度加热制冷加热制冷温度控制系统设计与制作温度控制系统设计与制作传感器传感器温度显示温度显示温度调节温度调节功能设置功能设置电源电源由程序协调各部分工作由程序协调各部分工作1.1.项目任务分析项目任务分析温度控制系统设计规划温度控制系统设计规划2.2.项目任务分解项目任务分解总体方案和论证总体方案和论证 1、温度控制需用一到两条线控制加热和制冷输出,其驱动可选取可控硅或继电器,它们
6、的工作电压都是220V,要求单片机和它们之间加光耦隔离。2、显示温度,用3个数码管显示温度,采用扫描方式,字驱动要用去7-8条I/O线,位驱动用去3条线。只是设置温度和实时温度有可能用两显示。3、键盘处理,用于输入温度和校正温度,需用去26条线。4、精确温度的控制,还是用到北京腔时间,可采用单片机定时器加软件校时的方法产生,就不占用口线,如果用外接时钟芯片,当计划外接串行时钟芯片DS1302,以防掉电和今后改进设计,就会占用23条口线。5、温度传感器,串行温度将用13条口线。温度控制系统设计规划温度控制系统设计规划 根据以上要求共约1518条I/O线,考虑采用AT89C2051单片机作核心,其
7、有15条I/O线,P1口四位和74247作数码管字显示驱动,节省出4条口线,用PNP三极管作位驱动,增加一片24C02作掉电后的数据保存。用双向可控硅驱动功率负载。由于各器件都可用+5V电源,采用9V变压器供电,自带5V稳压电路,这样一来设计目标基本确定。数码管采用DIP插座,加热和制冷设备采用HB-9500 300V 20A插座,温度传感器用SIP4插座,四六个功能键,一个复位键。采用6 MHz晶振。如有多余的IO口线用于增加可能的其它功能。温度控制系统设计规划温度控制系统设计规划2.2.项目任务分解项目任务分解硬件设计硬件设计 根据设计要求,采用Protel软件绘出电路原理图和PCB电路图
8、,也可以用其它软件,注意按键、显示、传感器等设计成插座,用排线引出主电路板,数码管用三位一组电路板,带符号显示,按键采用薄膜超薄成品,设计图采用是双面走线图,由于电路相对复杂,可能花很多时间了解电路设计参数,才能设计出这些电路图。本次PCB主板采用155CM双面板布线,在微机上设计好的图纸经电路板厂加工成电路板,按设计图安装好元件,进行硬软件调试。这里要做的工作很多,由于篇幅的关系从略处理。温度控制系统设计规划温度控制系统设计规划2.2.项目任务分解项目任务分解软件设计软件设计 本次软件设计的难点是传感器和串行存储器,精确温度控制时加热器还用到加热算法,它们的编程还需试验进行理论准备和使用试验
9、,光传感器就应进行虚拟仿真试验、在仿真器上进行读数试验、在成品板上应用试验,再才使用。这里老师给出了一个主程序框架,由主程序、中断子程序、子程序三部分组成,用于测试电路,这个程序可完成计时显示测试,完成了键扫描测试,但程序不能用于温控,要求学习者自力更生编写程序,并调试程序、修改程序,或者重新设计程序。也就是说最终的应用程序由大家自己编写。温度控制系统设计规划温度控制系统设计规划2.2.项目任务分解项目任务分解传感器传感器 在自动控制系统中,通常被控信号是由传感器检测得到的模拟电量,其信号幅值随时间连续变化。而单片机只能处理数字信号或脉冲信号。因此,在单片机控制系统中,经常需要用到 AD和 D
10、A转换器。AD转换器(ADC)是一种能把输入模拟电压变成与它成正比数字量的器件。常用的ADC按工作原理分为双积分式AD转换器和逐次逼近式AD转换器,双积分式AD转换器抗干扰能力较强,逐次逼近式AD转换器转换速度较高。3.3.项目任务步骤项目任务步骤温度控制系统设计规划温度控制系统设计规划1、传感器、传感器 ADC0809是一种八路模拟电压输入的8位逐次逼近式AD转换器,和单片机的接口很方便。通过该电路及实验来理解AD转换器。ADC0809内部结构由八路模拟开关、地址锁存与译码器、比较器、256R电阻网络、树状开关、逐次逼近式寄存器SAR、控制电路和三态输出锁存器等组成,2、串行接口、串行接口A
11、/D转换器转换器 为了减少扩展接口电路对单片机引脚资源的占用,简化系统结构,近年来出现了多种串行控制的接口器件,包括:A/D转换器、D/A转换器、实时时钟、LCD显示驱动器等。串行接口常用的标准有Philips公司的I2C总线,MOTOROLA公司的SPI等。由于一般MCS-51系列单片机上没有相应接口模块,扩展时要根据接口器件要求,用并行口线仿真控制时序。3.3.项目任务步骤项目任务步骤温度控制系统设计规划温度控制系统设计规划位驱动位驱动字驱动字驱动247键盘键盘6个个温度显示温度显示3+3位位数字传感器数字传感器AT89S51单片机单片机加热与制冷加热与制冷电源电源温度控制系统设计规划温度
12、控制系统设计规划4条3-6条1条1或2条1到3条预计电路方框图3.3.项目任务步骤项目任务步骤串行串行存储器存储器温度控制系统设计与制作温度控制系统设计与制作加热制冷加热制冷功率驱动功率驱动电路和程序电路和程序温度显示电路温度显示电路LED或或LCD和显示程序和显示程序单片机单片机系统程序系统程序传感器传感器键盘电路键盘电路和程序和程序电源电路电源电路和元器件和元器件 课程小结课程小结 本课程从项目分析和实施方案研究发现,接下来的工作是研究温度传感器电路、显示电路、按键设置电路、功率驱动电路、单片机程序教学等内容、其中重点和难点是温度传感器及其电路、加热制冷电路及其程序编辑方法等。将用到AD转
13、换和一些特殊算法的编程技巧。3.3.项目任务步骤项目任务步骤温度控制系统设计规划温度控制系统设计规划1.DALLAS1.DALLAS公司公司DS18B20DS18B20基本参数基本参数 DALLAS公司生产的单线数字温度传感器DS18B20、DS1822,外形如三极管一样,支持“一线总线”接口,测量温度范围为-55C+125C,在-10+85C范围内,精度为0.5C。DS1822的精度较差为 2C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,新的产品支持3V5.5V的电压范围,DS18B20可以程序设定912位的分辨率,精度为0.5C。用户
14、设定的报警温度存储在EEPROM中,掉电后依然保存。DS1822与 DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为2C,是经济型产品。温度控制部分温度控制部分 DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如下:DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。1.DALLAS1.DALLAS公司
15、公司DS18B20DS18B20基本参数基本参数 温度控制部分温度控制部分 64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。1.DALLAS1.DALLAS公司公司DS18B20DS18B20基本参数基本参数 温
16、度控制部分温度控制部分 这是12位转化后得到的12位数据,存储在18B20的两个8比特(位)的RAM中,Bit0是最低位,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。1.DALLAS1.DALLAS公司公司DS18B20DS18B20基本参数基本参数 温度控制部分温度控制部分 DS18B20温度传感
17、器的内部存储器包括一个高速暂存RAM(数据缓冲寄存器)和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。前者暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。该字节各位的意义如下:TM R1 R0 1 1 1 1 1 如表所示。1.DALLAS1.DALLAS公司公司DS18B20DS18B20基本参数基本参数
18、温度控制部分温度控制部分 该寄存器的低五位一直都是1,TM是测试模式位,用于设置DS18B20处在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位).1.DALLAS1.DALLAS公司公司DS18B20DS18B20基本参数基本参数 温度控制部分温度控制部分 根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将
19、数据线下拉500微秒,然后释放(输出高),DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,拉低总线,主CPU收到此信号表示复位成功。1.DALLAS1.DALLAS公司公司DS18B20DS18B20基本参数基本参数 温度控制部分温度控制部分 DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进
20、行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。由于本节技术复杂性,对一般读者DS18B20内容只作阅读。2.2.温度传感器温度传感器DS1820DS1820使用中注意事项使用中注意事项 温度控制部分温度控制部分(2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。(3)连接DS1820的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。
21、当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。2.2.温度传感器温度传感器DS1820DS1820使用中注意事项使用中注意事项 温度控制部分温度控制部分2.2.温度传感器温度传感器DS1820DS1820使用中注意事项使用中注意事项 温度控制部分温度控制部分(4)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个
22、DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序会进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地.当用P1.0和DS18B20相连接时参考程序如下。DQ EQU P1.0 ORG 0000H AJMP MAIN ORG 1000HMAIN:LCALL INIT_18B20 ;调复位子程序MOV A,#0CCH LCALL WRITE_18B20 ;跳过读序列号操作MOV A,#4EH ;写限制温度命令LCALL WRITE_18B2
23、0 2.2.温度传感器温度传感器DS1820DS1820使用中注意事项使用中注意事项 温度控制部分温度控制部分整体设计整体设计1 设计任务与要求设计任务与要求一升水由一升水由1kw的电炉加热的电炉加热,要求水温可以要求水温可以在一定范围内由人工设定在一定范围内由人工设定,并能在环境温并能在环境温度降低时实现自动调整度降低时实现自动调整,以保持设的的温以保持设的的温度基本不变度基本不变.1.1 基本要求基本要求1.2 主要性能指标主要性能指标 1.温度设定范围:4090C,最小区分度为1 C 2.控制精度:温度控制的静态误差1 C 3.用十进制数码显示实际水温.4.能打印实际测量值1 设计任务与
24、要求设计任务与要求整体设计整体设计单片机应用技术单片机应用技术1 设计任务与要求设计任务与要求1.3 扩展功能扩展功能 1.具有通信能力 2.采用适当的控制方法减小系统的调节时间和超调量 3.温度控制的静态误差0.2 C 4.能自动显示水温随时间变化的曲线2 总体论证总体论证 1.总体方案确定 2.确定系统功能,性能指标整体设计整体设计2.1 总体方案确定总体方案确定 1.控制方案选择:A 输出开关量控制B 比例控制(P控制)C 比例积分控制(PI控制)D 比例积分加微分控制(PID控制)2.系统组成:本例将单片机为核心构建控制应用系统2 总体论证总体论证整体设计整体设计2.2 确定系统功能确
25、定系统功能,性能指标性能指标 本系统具备的功能:1.可以进行温度设定,并自动调节水温2.可以调整PID控制参数,满足不同的要求3.可以实时显示给定温度与水温实测值4.可以打印给定温度和水温实测值 本系统主要性能指标如下:1.温度设定范围:4090 C,最小区分度为1 C2.温度控制静态误差1 C3.双3位LED数码管显示4.采用微型打印机打印2 总体论证总体论证整体设计整体设计3 系统设计系统设计 1 软,硬件功能划分 2 系统功能划分,指标分配和框图构成整体设计整体设计3 系统设计系统设计3.1 软软,硬件功能划分硬件功能划分 1.速度估算 经计算得到:在不考虑容器热容量和环境温度影响的情况
26、下,用1kw电炉加热1升水并使水温上升1k所需的时间为4.186s,由此可见,对于指令执行时间极其短的单片机系统来说,控制速度几乎没有任何限制.2.软、硬件功能划分 硬件主要功能:温度信号的传感,放大,A/D转换 及输出信号的功率放大.软件主要功能:PID运算,输入信号滤波,大部分 控制过程.整体设计整体设计3 系统设计系统设计3.2系统功能划分系统功能划分,指标分配和框图构成指标分配和框图构成传感器信号放大A/D电炉功率放大单片机基本系统键盘显示微型打印机系统组成方框图系统组成方框图整体设计整体设计VccREF20Vin(-)7lsbDB018DB117Vin(+)6DB216DB315DB
27、414A-GND8DB513DB612msbDB711Vref/29INTR5CLK-R19CS1RD2CLK-IN4WR3ADC0804VR25kR130kAD5813261874OP-07+15VAD590+15V30K-15VR281KVR25K20K10uF+5v10k150pFP1.0RDWRA8D0D1D2D3D4D5D6D7-15v电 炉BTA12220V+-+10V输入通道硬件线路设计输入通道硬件线路设计4 硬件开发硬件开发4.1硬件电路设计与制作硬件电路设计与制作整体设计整体设计输出通道硬件线路设计输出通道硬件线路设计&7407MOC304125027VCCP1.2BTA12
28、电 炉220V0.01uF1004 硬件开发硬件开发4.1硬件电路设计与制作硬件电路设计与制作整体设计整体设计OUTA027OUTB031OUTA126OUTB130OUTA225OUTB229OUTA324OUTB328DB012BD23DB113DB214SL032DB315SL133DB416SL234DB517SL335DB618DB719RL038RL139IRQ4RL21RL32CS22RL45RD10RL56WR11RL67A021RL78CLK3SHIFT36RESET9CNTL/S37U?8279A1B2C3E14E25E36Y015Y114Y213Y312Y411Y510Y
29、69Y77U?74LS138FEDCCOMBACOMGHJP?HEADER 10FEDCCOMBACOMGHJP?HEADER 10CS9012CS9012S?SW1S?SW1S?SW1S?SW112A12A1005109124675109124678383VCCGP16D03D14D25D36D47D58D69D710WR12RD13BUSY14CS11D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D71INT0A9A0ALERESETRDWD人机对话通道人机对话通道整体设计整体设计 1.单片机基本系统调试 2.人机通道调试 3.前向通道调试 4.后向通道调试4 硬件开发硬件开
30、发4.2硬件电路的调试硬件电路的调试整体设计整体设计1、单片机基本系统调试、单片机基本系统调试 A 晶振电路 B 复位电路 C 电源4 硬件开发硬件开发4.2硬件电路的调试硬件电路的调试整体设计整体设计人机通道调试人机通道调试 A LED显示 B 键盘输入4 硬件开发硬件开发4.2硬件电路的调试硬件电路的调试整体设计整体设计前向通道调试前向通道调试 A 静态工作点调整 B A/D转换器调试4 硬件开发硬件开发4.2硬件电路的调试硬件电路的调试整体设计整体设计后向通道调试后向通道调试 A 静态调试 B 动态调试4 硬件开发硬件开发4.2硬件电路的调试硬件电路的调试整体设计整体设计5 软件开发软件
31、开发n1 确定输入确定输入/输出关系、数学模型和算法输出关系、数学模型和算法n2 划分程序模块划分程序模块,编写程序流程图编写程序流程图n3 编写程序并翻译成目标程序编写程序并翻译成目标程序n4 软件调试软件调试整体设计整体设计5 软件开发软件开发5.1 确定输入确定输入/输出关系、数学模型和算法输出关系、数学模型和算法 PID控制是应用最普遍的控制规律,技术上最成熟,技术人员也习惯采用.本系统由于采用了单片机,各种PID算法的实现只需更改应用程序而无需对硬件做任何改变,因此可适应于很多工业生产过程.整体设计整体设计5 软件开发软件开发5.2 划分程序模块划分程序模块,编写程序流程图编写程序流
32、程图 1.主程序 2.键盘输入中断服务程序 3.修改PID参数子程序 4.设定温度子程序 5.运行子程序 6.定时中断服务程序 7.水温检测子程序 8.PID算法子程序 9.脉宽调制输出子程序整体设计整体设计5 软件开发软件开发主程序主程序初始化有键入?输入键值跳转到相应子程序调修改PID参数子程序调设定温度子程序调运行子程序调打印子程序YN整体设计整体设计5 软件开发软件开发键盘输入中断服务程序键盘输入中断服务程序保护现场读入键值设置键入标志返回恢复现场整体设计整体设计单片机应用技术单片机应用技术5 软件开发软件开发修改修改PID参数子程序参数子程序开始修改KC显示KC存储KC显示K1显示K
33、D返回数字键?确认键?取消键?YYYNNN5 软件开发软件开发设定温度子程序设定温度子程序 与修改PID参数子程序类似.整体设计整体设计5 软件开发软件开发运行子程序运行子程序初始化定时时间到?调用水温检测子程序显示实测水温调用PID算法子程序调用脉宽调制输出子程序有键入?取消键?关输出返回NNNYYY整体设计整体设计5 软件开发软件开发定时中断服务程序定时中断服务程序保护现场设置定时已到标志恢复现场返回整体设计整体设计5 软件开发软件开发水温检测子程序水温检测子程序入口启动A/D转换转换完成?读取转换结果返回NY整体设计整体设计5 软件开发软件开发PID算法子程序算法子程序入口调内存中计算计算可控硅导通时间保存中间变量返回整体设计整体设计5 软件开发软件开发脉宽调制输出子程序脉宽调制输出子程序入口P12输出低电平设定延时时间为t(k)延时时间到?P12输出高电平YN返回整体设计整体设计5 软件开发软件开发5.3 编写程序并翻译成目标程序编写程序并翻译成目标程序 将上述程序流程图依次细化,并将各程序模块连接起来就可组成一个完整的程序.整体设计整体设计5 软件开发软件开发5.4 软件调试软件调试 1.测试程序输入条件或设定程序输入条件 2.以单步,断点或跟踪方式运行程序.3.检查程序运行结果 4.运行结果不正确时查找原因,修改程序,重复上述过程.整体设计整体设计