版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕 业 设 计(论 文)说 明 书题 目:基于单片机的水温控制系统(硬件部分设计)系 别:专业班级:学生姓名:指导教师:教 研 室:提交时间: 摘 要本文提出了一种基于单片机实施水温控制系统的设计方案,该方案主要由数据处理单元、数据采集单元、键盘设定单元、语音播放单元、数据显示单元和串行接口打印单元组成。该系统通过铂电阻和电压放大电路将温度信号送至数据处理单元,经过运算转换后将信号输出至74ls138,然后通过数码管实现显示功能。同时,输出信号通过语音放大芯片spy0030以及hin232cp芯片,分别实现系统的语音播报功能和串行接口打印功能。关键字:单片机;数据采集;pid算法;水温控制ab
2、stractthe article discusses a sort of water_temperature controlling system scheme,which is based on a type of single_chip computer.the system consists of date processing unit,date acqusation unit,keyboard controlling unit,voice broadcasting unit,data displaying unit and interface printing unit. the
3、temperature signal is transmitted data processing cell by pt resister and voltage amplify circuit, after processed,then it can be output to realize displaying function,voice broadcasting function and interface printing functionkey words:mcu;data sampling;pid algorithm;temperature controlling目 录摘 要ia
4、bstractii第1章引 言1第2章 水温控制系统的设计要求及方案选择22.1 水温控制系统的设计要求22.1.1系统设计功能22.1.2 系统设计指标要求22.2 水温控制系统的方案选择22.2.1驱动部分22.2.2测量部分3第3章单片机spce061a结构及工作原理43.1结构览要43.2功能描述43.2.1存储器53.2.2时钟(锁相环振荡器、系统时钟、实时时钟)53.2.3输入/输出端口63.2.4模数转换器与数模转换器73.2.5串行设备接口83.2.6中断83.2.7定时器/计数器93.2.8低电压监测/复位10第4章 水温控制系统硬件功能模块设计114.1 系统总体方案框图及
5、说明114.2系统各功能模块设计124.2.1温度信号采集模块124.2.2数据显示模块134.2.3语音播报模块154.2.4串行通信模块164.2.5继电器/热电炉模块174.2.6键盘接口模块19第5章 水温控制系统软件设计205.1程序结构205.2主程序流程图205.3温度设置显示程序流程图215.4中断流程图22第6章 电路板设计24第7章 结束语26致 谢27参 考 文 献28附录一 水温控制系统整体电路原理图29附录二 水温控制系统pcb板图29第1章 引 言随着计算机技术的发展及其在控制系统中的广泛应用,以及设备向小型化、智能化方向发展,作为高新技术之一的单片机以其体积小、功
6、能强、价格低廉、使用灵活等优势,显示出强大的生命力。进入21世纪以来,开发推出单片机的公司很多,各种高性能单片机芯片市场也异常活跃,随着新技术的不断采用,单片机的种类、性能以及应用领域也不断的扩大和提高。凌阳科技公司最近推出了一款新型16位单片机spce061a,使16位单片机的科技含量及应用跃上了一个新的台阶。spce061a具备全双工异步通讯的串行接口,可实现多机通讯,并组成分布式控制系统;其红外收发通讯接口,可用于近距离的双机通讯或制作红外遥控装置;a/d,d/a转换接口可以方便用于各种数据采集、处理和控制输出,并为与用户系统友好的交互打下基础;a/d,d/a转换接口与cpu的dsp运算
7、功能结合在一起,可实现语音识别功能,使其方便地运用于数字声音和语音识别应用领域。可广泛的应用在以下领域:语音识别类产品、智能语音交互式玩具、高级亦教亦乐类玩具、儿童电子故事书类产品、通用语音合成器类产品和需较长语音持续时间类产品等。在该系统中,采用了凌阳十六位单片机spce061a作为系统的核心处理部件,以此实现温度控制。温度信号由pt1000和电压放大电路提供,并通过pid算法实现水温控制。同时配以相应的外扩电路,使之具有温度数字语音播报和显示功能。 第2章 水温控制系统的设计要求及方案选择2.1 水温控制系统的设计要求2.1.1系统设计功能设计制作一个水温控制系统,控制对象为1升净水,容器
8、为搪瓷器皿,水温可以在一定范围内由人工设定,如在40到90范围内设定控制水温。静态控制精度为0.2,并能在温度低于目标温度时,继电器工作,高于目标温度时,继电器停止工作来实现自动调整,并保证具有良好的快速性与较小的超调量,以保持设定温度不变。2.1.2 系统设计指标要求1)环境温度降低时(如电风扇降温)温度控制的静态误差1;2)温度设定范围为40到90,最小区分度为1,标定温度1;3)用数码管实时显示水的温度。2.2 水温控制系统的方案选择2.2.1驱动部分方案一:此方案采用89c51单片机实现,但是89c51单片机需要外接模数转换器来满足数据采样。如果系统增加语音播放功能,还需要外接芯片,对
9、外围电路来说,比较复杂,且软件实现也比较麻烦。另外,89c51单片机需要用仿真器来实现软硬件来调试,较为繁琐。方案二:此方案采用spce061a单片机实现,此单片机内置8路adc和2路dac,且集成开发环境中,配有很多语音播放函数,用spce061a实现语音播放极为方便。另外,比较方便的是该芯片内置在线仿真和编程接口,可以方便实现在线调试,这就大大加快了系统的开发与调试。2.2.2测量部分方案一:采用热敏电阻,可以满足40到90的测量范围,但热敏电阻精度、重复性和可靠性都比较差,对检测小于1的信号是不适用的。方案二:采用温度传感器pt1000,pt1000测量准确度高、测量范围大、复现性和稳定
10、性较好,此外还具有抗振动、耐高温和高压的特点。综上所述,在该系统中采用以凌阳单片机spce061a为控制核心,以传感器pt1000为传感器采集温度信号,以pid算法控制继电器实现水温自动调节的电子装置。第3章单片机spce061a结构及工作原理本系统采用spce061a芯片作为核心部件,目前有两种封装形式:84引脚的plcc84封装和80引脚的lqfp80贴片封装。3.1结构览要 图3.1 spce061a结构览图spce061a配备了凌阳科技开发的最新的16位微处理器unsp。它在2.6v-3.6v工作电压范围内工作频率范围为0.32mhz-49.152mhz,较高的工作速度使其应用领域更加
11、拓宽。2k字的sram和32k字的闪存rom仅占一页存储空间,32位可编程的多功能i/o端口;两个10位定时器/计数器;32768hz实时时钟;低电压复位/监测功能;8通道10位模数转换输入功能并具有内置自动增益控制功能的麦克风输入方式;双通道10位dac方式的音频输出功能;内置在线仿真板接口。spce061a是数字声音和语音识别产品的一种最经济的应用。3.2功能描述spce061a内包含8个寄存器:4个通用寄存器r1-r4,一个程序计数器pc,1个堆栈指针sp,一个基址指针bp和一个段寄存器sr。通用寄存器r3和r4结合形成一个32位寄存器mr。mr可被用作乘法运算和内积运算的目标寄存器。此
12、外,spce061a有3个piq中断和14个irq中断,并且带有一个由指令break控制的软中断。3.2.1存储器1)ramspce061a有2k字的sram,地址范围从$000000到$0007ff。2)闪存(flash)rom全部32k字闪存均可在ice工作方式下被编程写入或被擦除。对闪存设置保密设定后,其内容不能再通过ice被读写,也就可以使程序不被他人读取。3.2.2时钟(锁相环振荡器、系统时钟、实时时钟)1)锁相环(pll,phase lock loop)振荡器pll的作用是为系统提供一个实时时钟的基频(32768hz),然后将基频进行倍频,调整至49.152mhz、40.96 mh
13、z、32.768 mhz、24.576 mhz或20.480 mhz。系统默认的pll自激振荡频率为24.576 mhz。2)系统时钟系统时钟的信号源为pll振荡器。系统时钟频率(fosc)和cpu时钟频率(cpuclk)可以通过对p_system_clock(写)($7013h)单元编程来控制。默认的fosc、cpuclk分别为24.576 mhz和fose/8。可以通过对p_system_clock单元编程完成对系统时钟和cpu时钟频率的定义。当系统被唤醒后的最初时刻的cpuclk频率亦为fose/8,随后逐渐被调整到设定的cpuclk频率。这样,可以避免系统在唤醒初始时刻读rom出现错误
14、。3)实时时钟(32768hz)32768hz实时时钟通常用于钟表、实时时钟延时以及其它与时间相关类产品。spce061a通过对32768hz实时时钟源分频而提供了多种实时时钟中断源。例如,用作唤醒源的中断源irq5_2hz,表示系统每隔0.5秒被唤醒一次,由此可作为精确的计时基准。3.2.3输入/输出端口(i/o,input/output)输入输出端口是系统与其他设备进行数据交换的接口。spce061a具备两个可编程输入输出端口:a口和b口。a口既是具有可编程唤醒功能的普通i/o口,又可与adc的多路line_in输入共用(ioa6-0与line_in1-7共用);b口除了具有普通的i/o口
15、功能外,在特定管脚上还可以完成一些特殊的功能。i/o端口如图所示: 图3.2 i/o端口连接图尽管数据能够通过数据端口p_iox_data和数据缓冲器端口p_iox_buffer写入相同的数据寄存器,但从这两个端口读出的数据却来自不同的位置;从后者读出的仍是数据寄存器里的数据,而从前者读出的是i/o管脚上的电平状态。ioa7-0口为键唤醒源,通过读p_ioa_latch单元来锁存ioa7-0端口的电平状态,从而可激活其唤醒功能。当ioa7-0口的状态和锁存时不一致时,会触发系统由节电的睡眠工作模式切换到唤醒模式。b口除了具有常规的输入/输出端口功能外,还有一些特殊功能,如下表所示:表3.1 b
16、端口特殊功能介绍表口位特殊功能功能描述iob0 sck串行接口sio的时钟信号iob1sda串行接口sio的数据传送信号iob2iob2ext1外部中断源(下降沿触发)feedback_output1与iob4组成一个rc反馈电路,获振荡信号iob3feedback_output2与iob5组成一个rc反馈电路,获振荡信号ext2外部中断源(下降沿触发)iob4feedback_input1iob5feedback_input2iob6-iob7rx通用异步串行数据接收端口iob8apwmotimera脉宽调制输出iob9bpwmotimerb脉宽调制输出iob10tx通用异步串行数据发送端口
17、如下图所示的电路显示了带有反馈应用的iob2、iob3、iob4和iob5等端口的设置情况。有了反馈功能,只要在iob2(iob3)和iob4(iob5)之间增加一个rc电路就可以从ext1(ext2)得到振荡源频率信号。 图3.3 带有反馈设置的端口电路图3.2.4模数(adc)转换器与数模(dac)转换器spce061a有8个10位模-数转换器通道,其中7个通道用于将模拟量信号(例如电压信号)转化为数字信号,可以直接通过引线(ioa0-6)输入。另外有一个通道只作为语音输入通道,通过内置自动增益控制放大器的麦克风通道(mic_in)输入。实际上可以把adc看作是一个实现模/数信号转换的编码
18、器。spce061a为音频输出提供了2个10位的数/模转换器,即dac1和dac2。dac1、dac2转换输出的模拟量电流信号分别通过aud1和aud2管脚输出。3.2.5串行设备接口(sio,serial input output)串行输入输出端口sio提供了一个1位的串行接口,用于与其他设备进行数据通讯。在spce061a内通过iob0和iob1这两个端口实现与设备进行串行数据交换功能。3.2.6中断(interrupt)spce061a具有两种中断方式:快速中断请求frq(fast interrupt request)中断和中断请求irq(interrupt request)中断。中断控
19、制器可以处理3种fiq中断和14种irq中断,以及一个由指令break控制的软中断。相比之下,fiq中断的优先级较高而irq的中断优先级较低。也就是说,fiq中断可以中断irq中断服务子程序的执行,而cpu执行相应的fiq中断服务子程序的过程不能被任何中断源的中断请求中断。下表列出了中断的优先级别:表3.2 spce061a中断优先级列表中断源中断优先级fosc/1024fiq/irq0timera溢出信号fiq/irq1timerb溢出信号fiq/irq2外部时钟源输入信号ext2irq3外部时钟源输入信号ext2触键唤醒信号4096hz时基信号irq42048hz时基信号1024hz时基信
20、号4hz时基信号irq52hz时基信号频选信号tmb1irq6频选信号tmb2uart传输中断irq7break中断软中断3.2.7定时器/计数器(timer/counter)spce061a提供了两个16位的定时器/计数器:timera和timerb。timera为通用计数器,timerb为多功能计数器。timera的时钟源由时钟源a和时钟源b进行“与”操作而形成;timerb的时钟源仅为时钟源a。定时器发生溢出后会产生一个溢出信号(taout/tbout)。一方面,它会作为定时器中断信号传输给cpu中断系统;另一方面,它又作为4位计数器计数的时钟源信号,输出一个具有4位可调的脉宽调制占空比
21、输出信号apwmo或bpwmo(分别从iob8和iob9输出),用来控制马达或其它一些设备的速度。此外,定时器溢出信号还可以用于触发adc输入的自动转换过程和dac输出的数据锁存。表3.3 时钟频率列表时钟源a的频率时钟源b的频率fosc/22048hzfosc/2561024hz32768hz256hz8192hztmb14096hz4hz12hz0(默认)1(默认)ext1ext2向定时器的p_timera_data(读/写)($700ah)单元或p_timerb_data(读/写)($700ch)单元写入一计数值n后,选择一个合适的时钟源,定时器/计数器将在所选的时钟频率下开始以递增的方
22、式计数n,n+1,n+20xfffe,0xffff。当计数值达到0xffff后,定时器/计数器溢出,产生中断请求信号,被cpu响应后送入中断控制器进行处理,n值将被重新载入定时器/计数器并重新开始计数。在timera内,时钟源a是一个高频时钟源,时钟源b是一个低频时钟源。时钟源a和时钟源b组合,为timera提供多种计数速度。若以clka作为门控信号,1表示允许时钟源信号b通过,而0表示禁止时钟源b信号通过而停止timera计数。例如,如果时钟源a为“1”,timera的时钟频率将取决于时钟源b;如果时钟源a为“0”,将停止timera的计数。ext1和ext2为外部时钟源。下图为一个3/16
23、的脉宽调制占空比输出信号产生过程的时序。apwmo波形是通过写入p_timea_ctrl单元的b9-b6选择一个脉宽数(以计数溢出周期数定义)产生出来的,即每16个计数溢出周期将产生一个由上述单元定义的脉宽。此类pmw信号可以用于控制马达及其它设备的速度。 图3.4 3/16脉宽调制占空比输出信号时序图一般说来,时钟源a为高速时钟源,时钟源b来自实时时钟32768hz系统。因此,时钟源b能用于一个精确的时间计数器。例如,2hz时钟信号可用于实时时间计数。3.2.8低电压监测/复位(lvd,low voltage detect)低电压监测功能可以提供系统内电源电压的使用情况。4级电压监测低限:2
24、.4v、2.8v、3.2v和3.6v,可通过对p_lvd_ctrl单元编程进行控制。假定vlvd=3.2v,当系统电压vcc低于3.2v时,p_lvd_ctrl单元第15位返回值为“1”,这样,cpu可以通过可编程电压监测低限来完成低电压监测。系统默认的电压监测低限为2.4v。引起spce061a复位通常有2个途径:电源上电复位和低电压复位。当电源电压低于2.2v时,系统会变的不稳定且易出故障。导致电源电压过低的原因很多,如电压的反跳、负载过重、电池能量不足等。如果系统设置低电压复位功能,当电源低于该值时,会在4个时钟周期之后产生一个复位信号,使系统复位。14第4章 水温控制系统硬件功能模块设
25、计4.1 系统总体方案框图及说明spce061a16bit cpu语 音 播 报键 盘 设 定数 据 采 集数 据 显 示串 口 打 印继 电 器热 电 炉图4.1 系统整体方案框图 根据水温控制系统的设计要求及功能,大致可以将系统分为六个部分(如图4.1所示),各部分实现的功能大概介绍如下:1键盘设定单元,用于温度设定,共三个键。key1:设置温度的十位数(0-9);key2:设置温度的个位数(0-9);key3:温度设置确认,并语音播报/温度重新设置。2数据采样单元将电压信号传送给数据处理单元经a/d转换后,换算成温度值,用于播报和显示。3语音播报单元语音播放水温设置温度,并播报整数温度变
26、化。4数据显示单元采用三位八段数码管显示,设置温度和测量温度,显示小数点后1位数字。5串口传输单元将采样温度值,上传至pc机,描绘曲线并打印。6继电器/热电炉单元是通过三极管控制继电器开关来完成对热电炉功率控制。4.2系统各功能模块设计4.2.1温度信号采集模块在本部分中,温度传感器使用pt1000,运放采用ht9274集成芯片。因为pt1000在0摄氏度时,阻值为1千欧,在100摄氏度时,阻值为1380欧,则所表示的阻值变换从0380欧,电压从0v3.3v。采用差动运放,通过可调分压电阻可以满足零点调节。因为pt1000中电流基本为12ma,则其电压就在0380mv波动。因此采用10倍电压放
27、大,基本满足spce061a数模转换。1)ht9274内部结构图如下: 图4.2 ht9274内部结构图该芯片内置4个参数一样的放大器,其正负电压输入、输出端如上图所示。在选用时,可任意选择其中的一个或多个放大器接入电路。2)信号采集(测温)部分电路设计 图4.3 测温部分电路图通过温度的变化,将影响到pt电阻阻值的变化,然后通过调整分压电阻r3的阻值来使电路获得合适的输入信号,经过两级放大后,输出至spce061a的a/d转换端口。其放大倍数可以通过以下表达式进行计算: (4-1) (4-2)(4-3)通过上式,将u1b的值计算出来,这样就可以得到ht9274在某一具体情况的放大倍数a=u1
28、b/u5。随着温度的改变,pt电阻的阻值也相应发生变化,ht9274的放大倍数也就发生变化。所以,环境温度、pt阻值和ht9274放大倍数都存在着一一对应的关系。经过放大输出后的电压信号经过单片机的a/d转换后,换算成温度值,用于播报和显示。4.2.2数据显示模块1)74ls138芯片介绍图4.4 74ls138引脚图74ls138是用ttl与非门组成的3线-8线译码器,它输入的3位二进制代码共有8种状态,且每个输入代码对应一根输出线上的高、低电平信号状态。其中如图所示、e3作为附加控制端。当+=0时,译码器处于工作状态。否则译码器被禁止,所有的输出端被封锁在高电平,这3个端也叫作“片选”输入
29、端,利用片选的作用可以将多片连接起来以扩展译码器的功能。带有控制输入端的译码器又是一个完整的数据分配器。如果把e3作为数据输入端(同时令=0),而将cba作为“地址”输入端,那么从e3送来的数据只能通过由cba所指定的一根线输出去。例如当cba=101时,e1的数据以反码的形式从输出,而不会输出到其它任何一端上。2)数码管led5641a介绍图4.5 led5641a引脚图本次设计选用了凌阳公司生产的8段数码管led5641a来对温度值进行显示,led发光器件一般常用的有两类:数码管和点阵。8段数码管又称为8字形数码管,分为8段:a、b、c、d、e、f、g、p。其中p为小数点。数码管常用的有十
30、根管脚,每一段都有一根管脚,另外两根管脚为一个数码管的公共端,两根之间相互连通。在该led数码管中,所有笔段的led发光二极管的负极连接在一起,所以在连接方式上来说属于共阴极连接方法。从led数码管结构可以看出,不同的笔段组合可以构成不同的字符,例如当笔段a、b、c、d、e、f被点亮时,就可以显示数字“0”,又如笔段a、b、c、d、g被点亮就显示数字“3”。 用单片机驱动led数码管的方法有很多,按显示方式分,有静态显示和动态显示两种。静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不再控制led,直到下一次显示时再传送一次新的显示数据。静态显示的数据稳定,占用的cpu
31、时间少;另外一种方式是动态扫描。动态扫描的方法是用其接口电路把所有显示器的8个笔画段a-h同名端连在一起,而每一个显示器的公共极com各自独立的受i/o线控制。动态扫描需要cpu时刻对显示器件进行数据刷新,显示数据有闪烁感,但占用cpu的时间较多。在设计中只需要当温度改变的时候才显示一次,不需要时时更新,所以采用静态显示的方法对温度值进行显示。3)数码显示部分电路设计图4.6 输出显示电路图从单片机的a端口(ioa8-ioa15)输出的信号通过2个4470欧姆的排阻的限流、稳流作用后,将信号输入数码管led5641a,作为位选码,通过对ioa8-ioa15的设置,可以显示0-9的数字,并显示小
32、数点。同时,通过74ls138译码的信号经与门作用后,作为led5641a的选通信号。只有在选通后,位选码才起作用。因为译码器出来的信号比较弱,加与门后增大其驱动能力。图4.6中与门的输入端口分别连接到74ls138的任意3个输出端口,为了方便起见,这里选用74ls138的14、12和11端口。4.2.3语音播报模块1)spy0030芯片介绍图4.7 spy0030引脚图 spy0030作为一款语音放大芯片,可以直接接收来自于单片机输出的模拟信号进行放大,与lm386相比,具有音质更好的特点。它可以工作在2.4v到6.0v的范围内,输出功率可达700mw。2)语音播放单元电路设计 图4.8 音
33、频输出电路图spce061a单片机自带双通道dac音频输出,dac1、dac2转换输出的模拟量电流信号分别通过aud1和aud2管脚输出,dac输出为电流型输出,所以dac输出经过spy0030音频放大,以驱动喇叭放音,放大电路如图,经过滤波电容后,获得比较平稳的电流信号,然后通过外接可调电阻对语音放大芯片的放大倍率进行调整,经spy0030放大后输出至喇叭,从而实现语音播报功能。在图中有两个跳线,其作用在于可以测量dac的输出波形;另外拔掉跳线,可以断开dac到喇叭放大的通路,使得dac通道处于开路状态。这样便于用dac做其它用途,可以用这个跳线来加入自己的外围电路,这为单片机的音频设计提供
34、了极大方便。在它们后面接一个简单的音频放大电路和喇叭即可实现语音播报功能,音频的具体功能主要通过程序来实现。4.2.4串行通信模块1)hin232cp芯片介绍图4.9 hin232cp芯片引脚图hin232cp是intersil公司生产的标准rs-232收发器。该器件包含2驱动器,2接收器和一个提供rs-232电平的电压发生器。该器件符合rs-232标准。每一个接收器将rs-232电平转换成5v ttl电平。每一个发送器将ttl电平转换成rs-232电平。2)串行通信单元电路设计图4.10 串行通信电路图该部分接收来自于单片机串行信号输出引脚输出的采样温度值的ttl电平信号,经过hin232c
35、p电平转换芯片后,转换成rs-232电平信号输出至9针插孔的信号采集端口,可以比较方便的实现串口打印、串口纪录等等功能。同样,该芯片也接收来自于9针插孔数据发送端口传送的rs-232信号,通过hin232cp后,转换成与单片机相匹配的ttl电平信号,再送回到单片机的串行数据接收端口,这样就实现了外部设备与单片机之间的相互通信功能。4.2.5继电器/热电炉模块1)继电器简介继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流控制较大电流的一种自动“开关”故在电路中起着自动调节、安全保护、转换电路等作用。它的主要技术
36、参数指标有:a额定工作电压 是指继电器正常工作时线圈所需要的电压。根据继电器型号的不同,可以是交流电压,也可以是直流电压。b直流电阻是指继电器中线圈的直流电阻,可以通过万能表测量。c吸合电流是指继电器能够产生吸合动作的最小电流。在正常使用时,给定的电流必须略大于吸合电流,这样继电器才能稳定的工作。而对于线圈所加的工作电压,一般不要超过额定工作电压的1.5倍,否则会产生较大的电流而把线圈烧坏。d释放电流是指继电器产生释放动作的最大电流。当继电器吸合状态的电流减小到一定程度时,继电器就会恢复到未通电的释放状态。这时的电流远远小于吸合电流。e触点切换电压和电流是指继电器允许加载的电压和电流。它决定了
37、继电器能控制电压和电流的大小,使用时不能超过此值,否则很容易损坏继电器的触点。2)继电器控制热电炉功率电路图 图4.11 继电器部分电路图通过单片机输出一个电平信号使三极管导通,线圈k1得电后,从而产生电磁效应,衔铁就在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点4和公共端3吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力下返回原来的位置,使静触点5和公共端3吸合,从而导通、切断电路中电流,起到控制热电炉工作状态的目的。4.2.6键盘接口模块图4.12 键盘接口电路图该部分主要用于温度设置,共3个键。其中k1用于设置温度的十位数(0-9),k2用于设置温
38、度的个位数(0-9),k3作为温度设置确认键,并控制语音播报和温度重新设置。系统上电后,数码管全部显示为零,然后根据按k1键的次数,十位的数码管顺序增加。同样,k2键是如此。按k3键后,系统开始测量温度,并语音播报变化的整数温度值。第5章 水温控制系统软件设计5.1程序结构在基于单片机的水温控制系统中,程序结构主要由主程序和以下几个部分的子程序组成:led显示程序、键盘扫描程序、键值处理程序、a/d采样及上传程序、pid计算程序、语音播报程序和继电器控制程序。通过主程序来调用相关的子程序来实现相对应的功能。5.2主程序流程图系统初始化取键值键值处理是否有采样数据处理语音播报处理 pid计算继电
39、器控制yn开 始图5.1 主程序流程框图首先,进行系统初始化,通过按键key1和key2设置一个初始温度值,然后通过程序对键值进行采样判断(1表示有,0表示无)。如果此时采样值为1,则将该温度值与设定温度值进行比较,当水温高于设定温度时候,加热炉停止加热,adc定时采样,并送led显示,当温度为整数值时,语音播报,当温度与设定温度差距为2摄氏度时,启动pid控制,进行微调,使温度稳定在设定值;当水温低于或等于设定温度时,加热炉开始加热,adc定时采样,当温度低于设定温度时,启动pid控制,进行微调,使温度稳定在温设定度。如果此时采样值为0,则继续采样,等待有信号送来为止。5.3温度设置显示程序
40、流程图是否有数字键按下?刷新led显示数据是否有确认键按下?设置系统状态为温度确认状态语音播报设定状态led显示nnyy温度设置状态处理开 始返 回图5.2 温度状态设置流程框图首先在某温度环境中,即在已经有一温度状态存在的情况下,此时如果按键key1或者key2按下时,刷新led并显示该温度设定值。在没有数字键按下,但有温度确认键key3按下的时候,将原温度状态设置为温度确定状态,并语音播报该状态温度值,当各键均未按下时,此时led直接显示原有温度状态值。5.4中断流程图是否到5s?取adc数据数据上传ny2hz中断返 回图5.3 频率为2hz的定时中断流程图初始化中断为2hz的定时中断源,
41、用来确定adc采样时间定时,1秒钟采样一次,如果信号在串行通信时,达到每5秒钟传输一次,此时取adc数据,经过电平转换后上传至外设接口,实现串行通信。图5.4 定时10ms中断流程图加热时间到否?关闭继电器清中断ny10ms中断返 回利用中断定时10ms来确定加热时间,当加热时间足够的时候,此时关闭继电器,并清除中断退出,当加热时间不足时,直接跳转到清除中断语令并退出,等待下一10ms中断命令发出。第6章 电路板设计在pcb的制作中,采用protel99软件作为制作工具,在protel99里面绘制pcb板图。其步骤如下.1规划电路板的尺寸设置当前工作层面为禁止布线层,然后在该层按照电路板的实际
42、尺寸分别绘制直线,最后确定pcb板的矩形边界线。2装入网路表与初始pcb图的形成 在软件环境下,通过操作生成网络表,并确认所装入的网络表是否正确,待确认正确后,完成网络表与元件的装入过程。将元件装入设计好的矩形内。在元件的装入中,有时可能出现无法完全装入的情况,检查时发现有些元件还没有封装,这时可以回到原理图内对元件进行封装,然后重新生成网络表即可。3元器件的布局待元件全部加载到pcb内后,就可对元件进行布局,在元件的布局中首先放置与结构有关的固定位置的元器件,如电源插座、指示灯、开关、连接件之类,再放置线路上的特殊元件和大的元器件,如发热元件、变压器、ic等。最后放置小器件。4布线在本次的p
43、cb制作中,采用手动布线的方式,在布线中一般的信号线采用10mil,电源线和地线采用20mil,这样可以提高电路的抗干扰能力,增强系统的可靠性。同时在走线要有合理的走向:如输入/输出,交流/直流,强/弱信号,高频/低频,高压/低压等,它们的走向应该是呈线形的(或分离),不得相互交融。其目的是防止相互干扰。输入端与输出端的边线应避免相邻平行, 以免产生反射干扰。必要时应加地线隔离,两相邻层的布线要互相垂直,平行容易产生寄生耦合。合理布置电源滤波电容:布置这些电容就应尽量靠近这些元部件,离得太远就没有作用了。最好使用大面积敷铜,这对接地点问题有相当大的改善。 设计中应尽量减少过线孔,减少并行的线条密度。另外,由于在设计中存在数字电路和模拟电路,因此在布线时就需要考虑它们之间互相干扰问题,特别是地线上的噪音干扰,数字电路的频率高,模拟电路的敏感度强,对信号线来说,高频的信号线尽可能远离敏感的模拟电路器件,对地线来说,整个pcb对外界只有一个结点,所以必须在pcb内部进行处理数、模共地的问题,而在板内部数字地和模拟地实际上是分开的它们之间互不相连,只是在pcb与外界连接的接口(如插头等)。数字地与模拟地有一点短接。5设计规格检查(drc) 布线设计完成后,需认真检查布线设计是否符合设计者所制定的规则,同时也需确认所制定的规则是否符合印制板生产工艺的需求,一般检查有如下几个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB12T 598.5-2015 天津市建设项目用地控制指标 第5部分:市政基础设施项目
- 中职校长在新学期教职工大会上的讲话稿(8篇)
- 个人自我小结
- 报关实务-教学课件 第四章 海关税收
- 航空航天用带沉头窝的MJ螺纹减小型角形托板自锁螺母 征求意见稿
- 老师培训课件教学课件
- 骨科的课件教学课件
- 怎么修改课件教学
- 2025 高考语文总复习 第三部分 语言文字运用(含解析)
- 关于项目工程实测实量质量奖罚办法的通知g
- 《成本会计》考试复习题库(浓缩300题)
- 工作成功案例分享模板
- 国网基建各专业考试题库大全-安全专业-上(单选题汇总)
- 新疆乌鲁木齐2022学年高二上学期期中考试 英语
- 2023年湖南有色金属职业技术学院单招考试职业技能考试模拟试题及答案解析
- 中班健康《魔幻消气屋》有声动态课件
- 基于兰州市局部路网数据的非平衡交通分配模型分析
- 夏商周考古课件 第1章 绪论
- GB/T 709-2019热轧钢板和钢带的尺寸、外形、重量及允许偏差
- GB/T 29602-2013固体饮料
- 国家开放大学电子政务概论形成性考核册参考答案
评论
0/150
提交评论