温度测量与控制电路_第1页
温度测量与控制电路_第2页
温度测量与控制电路_第3页
温度测量与控制电路_第4页
温度测量与控制电路_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子技术课程设计报告题目 温度测量与控制电路学院(部) 电子与控制工程学院 专 业电子科学与技术班级学生姓名 郭鹏学 号 13指导教师(签字)前言随着数字时代的到来, 人们对于温度的测量与控制的要求越来越高, 用传统的水银或酒 精温度计来测量温度 ,不仅测量时间长、 读数不方便、 精度不够高而且功能单一 , 已经不能满 足人们在数字化时代的要求。 于是我们提出, 测温电路利用温度传感器监测外界温度的变化 通过放大器将温度传感器接收到的信号进行放大,放大到比较有利于我们测量的温度范围 , 然后利用 A/D转换器实现模拟信号到数字信号的转换,最后通过编程让 FPGA实现 8位二进制数与 BCD码之

2、间的转化 , 实现温度的显示;并利用比较器来实现对放大电压信号的控制,从 而实现对温度的控制;再者还加载了报警装置,使它的功能更加完善,使用更加方便。本设计是采用了温度的测量、信号放大、 A/D 转换、温度的显示、温度的控制、报警装置六部分来具体实现上述目的。目录摘要与设计要求.4第一章:系统概述.5第二章: 单元电路设计与分析 51) 方案选择 52) 设计原理与参考电路.61 放大电路.62 低通滤波电路.73 温度控制电路.84 报警电路.95 A/D 转换器.106 译码电路 .11 第三章:系统综述、总体电路图 14第四章:结束语 .15 参考文献 .15 元器件明细表 .15 收获

3、与体会,存在的问题等 .16温度测量与控制电路摘要:利用传感器对于外界的温度信号进行收集, 收集到的信号通过集成运算放大器进行信号 放大,放大后的信号经过 A/D 转换器实现模拟信号与数字信号间的转换,再通过 FPGA编程 所实现的功能将转换后的数字信号在数码管上显示出来, 实现温度测量过程。 放大的信号可 以与所预定的温度范围进行比较, 如果超出预定范围, 则自动实现声光报警功能, 实现温度 控制过程。关键字:温度测量 温度控制 信号放大 A/D 转换 声光报警设计要求:1. 测量温度范围为 200C 1650C,精度 0.5 0C;2. 被测量温度与控制温度均可数字显示;3. 控制温度连续

4、可调;4. 温度超过设定值时,产生声光报警。第一章 系统概述传感器两端的电压信号变化不大, 经过放大电路和滤波电路之后就会形成一个比较大的 模拟量。这个模拟量有两个电路使用,一个是AD转换器,另一个就是控制温度电路。当被测温度超过控制温度时控制温度电路就会产生报警信号, 驱动报警电路达到报警要求。 当然, 控制电压分别要接另外两个 AD转换器和译码显示电路,达到数码显示的要求。整个系统的设计思路是从 A/D 转换器出发的, 由于 A/D 转换器的模拟电压输入量需要一 个比较大的值, 所以传感器的信号要经过放大电路, 由于放大电路本身以及传感器外界的干 扰因素, 在放大电路之后要加一级低通滤波器

5、。 经过滤波之后的信号就是我们需要的模拟信 号。这个模拟信号分别接两个输入端, 一个是 A/D 转换器的输入端, 另一个是控制温度输入 端。A/D 转换器的数字输出接译码显示电路 。系统的硬件流程图如下图所示:第二章 单元电路设计与分析1 )、方案选择放大电路, 低通滤波电路, 报警电路以及控制电路相对比较容易实现, 在数据采集的过 程中, 采集到得八位二进制数如何转换成十二位的BCD码,实现起来有些问题, 有两种方案可供选择: 1 采用组合逻辑电路,用 74系列的加法器 283 先形成 BCD的一位加法器,再通 过级联的方式译码。 2 用 FPGA芯片进行编程, 输入为二进制数 (并不一定是

6、二进制自然码)输出为 12 位 BCD码。经过比较,第二种方案可行,并且简单,方便易懂。第一种方案很难实现,并且某一 个温度所对应的 AD转换器的输出量,并不一定是这个温度对应的二进制数自然码。所以想 要实现第一种方案,还要另外在AD转换器的输出端加一个八位的加法器,这样会使电路更加复杂。而第二种方案用 VHDL编写程序,简单易懂,并且器件的执行速度快,还略去了组 合逻辑电路的复杂性。数据转换器的位数也有两种方案可供选择: 1 采用八位数据转换器。因为测量电路的 要求是:量程为 20到 165;精确到,这样算下来需要至少产生290个二进制数来表示温度,也就是说 AD转换器至少要 9 位才可以。

7、 持这种意见的同学认为, 八位 AD转换器虽然少了一 位,但是可以用比较器额外增加一位。 2 采用 16 位的 AD转换器。采用 16 位 AD转换器,可 以省去数模混合电路的设计,这样电路就会更加简单。所以决定用 16位 AD转换器,但是只取 9位。并且只有八位译码,另外一位控制小数 点后面的 . 这样即达到了设计要求,而且还简化了译码的程序。 2):设计原理与参考电路1、放大电路:采用三级集成运算放大电路,集成运算放大器型号为LM324,LM324 系列器件为差动输入的四运算放大器。与单电源应用场合的标准运算放大器相 比,它们有一些显著优点。该四放大器可以工作在低到伏或者高到 32 伏的电

8、源下, 静态电流为 MC1741 的静态电流的五分之一。共模输入范围包括负电源,因而消除了 在许多应用场合中采用外部偏置元件的必要性。在该放大电路中,我们将传感器收集 到的信号定义为 VEE,因为该信号过于微弱,所以需要经过集成运算放大器进行信号 放大,放大到便于我们测量的电压值,该电路采用三级集成运算放大器,放大倍数约 为 1248 倍,经过实际测量得到了放大后的电压值如下图所示:单位 mV单位 V123放大电路图如上图所示:在该电路图中, 放大电路的 2 号引线为接收传感器信号的输入端 (我们将 VEE定义为传 感器的输入信号) ,第三级放大器的 9 号引线为放大信号的输出端,它接的是滤波

9、电路。2、低通滤波器如图所示:因为传感器的输入和放大器本身不可避免的会带有一些高次谐波或高频干扰信号, 这 会对 A/D 转换器的数据采集造成干扰,为了削弱高次谐波或高频干扰的场合,提高测 量的精度, 所以要加一级或者多级低通滤波器( 仿真中为一级 ) 。具体电路如上图所示。由于同向比例放大电路的电压增益为 Auf=A0+R2/R1, 只要将 R1 的电阻值设置为远大VCC=10V时,通过放大器后的输于 R2 的电阻值,则电压增益可忽略不计,例如:当在该电路中, 电源 VCCR3 另一端接的是译码出电压为, 电压增益对于整体电路的电压输出并无决定性影响, 实际上是从上一级放大器接收到得放大信号

10、,而放大器接电阻 电路。3、温度控制电路:控制温度电路主要由两个电压比较器组成,第一个电压比较器上方) 控制的是温度下限,第二个控制的是温度上限, 当温度所对应的电压超过量程时, 两个电压比较器会有一个输出高电平,比较器的电源电压控制的适当,这个高电平就可以和门电路(或门)连接。仿 真时,电源电压为 5V,比较器输出电压为 4V。控制温度电路的输入端接电压跟随器,这个 电压跟随器再和滤波电路的输出端连接。 控制温度电路的输出端 (或门输出端) 直接连接报 警电路。温度控制电路图如下图所示:4、控制报警电路:在设计报警电路时, 我们采用了 555 多谐振荡器来实现报警功能, 利用一个发光二极管来

11、实 现光报警,蜂鸣器来实现声音报警,具体电路图如下图所示:在该电路图中 18 接的是控制电路两个比较器出来的信号,当信号大于VDD2的电压预定值,或者小于 VDD1的电压预定值时,该 555 报警电路会自动报警,发光二极管产生光报警 信号,蜂鸣器产生声音报警信号。5、A/D 转换器:采用十六位的 A/D转换器,但是由于课程设计中要求的精度为,量程为20到 165,也就是说小数点后面的数字不是 0 就是 5,所以在译码时只需要将高 8 位译成 BCD码,用第 7 位 来控制小数,当第 7 位为高电平时,小数部分为,当第 7 位为低电平时,小数部分为 0. 而 高位的 8 位二进制数并不一定是二进

12、制自然码,这个问题会在译码电路中得到解决。AD转换器的其他管脚悬空即可。AD转换器的模拟量输入端在与放大电路连接之前要加电压跟随器,这样可以防止压降的变化,减小误差。假设当温度为 20 摄氏度时,传感器的电压为,当温度为 165摄氏度时, 假设温度为 (如果温度和电压值不能对应,可以改进桥式电路,或者加一个上拉电阻, 使传 感器的电压值增大)AD 转换器如图所示:在该电路中, Vin 接的是低通滤波器传过来的放大信号,D7到 D15 接的是译码电路,即 PLD芯片, Vref+ 和 Vref- 接的是一个电压范围,即在该范围内工作,SOC为输入的脉冲信号。6、译码电路:由于经过 A/D 转换器

13、输出的为二进制数, 这些二进制数在数码管上并不能完全显示, 为了能 很好的再数码管上显示温度, 本次的课程设计采用的译码电路为 FPGA芯片,利用 VHDL编程 来实现译码功能。VHDL源程序如下:ibrary ieee;use BCD isport(reset: in std_logic;OE: in std_logic;Vin:in std_logic_vector(7 downto 0);Vout1: out std_logic_vector(3 downto 0);Vout2: out std_logic_vector(3 downto 0);Vout3: out std_logic_

14、vector(3 downto 0);end entity;architecture behave of BCD issignal temp_q: integer range 0 to 199;signal temp_q0,temp_q1,temp_q2,temp_q3:integer range 0 to 99;FUNCTION vector_to_int(input :in std_logic_vector(7 downto 0)return integer isVARIABLE q,p:integer :=0;beginfor i in 7 downto 0 loop p:=0;if(i

15、nput(i)=1) thenp:=2*(i-0);elsenull;end if;q:=q+p;end loop;return (q);end vector_to_int;beginprocess(reset,OE)beginif(OE=0)thenVout1=0000;Vout2=0000;Vout3=0000;elsif(OE=1 and reset=1)thenVout1=0000;Vout2=0000;Vout3=0000;else temp_q=100 )then temp_q3=1; temp_q0=temp_q-100; temp_q1=temp_q0 REM 10; temp

16、_q2=temp_q0-temp_q1;else if(temp_q0)thentemp_q3=0;temp_q0=temp_q;temp_q1=temp_q0 REM 10;temp_q2Vout1Vout1Vout1Vout1Vout1Vout1Vout1Vout1Vout1Vout1Vout1Vout2Vout2Vout2Vout2Vout2Vout2Vout2Vout2Vout2Vout2Vout2Vout3Vout3Vout3=0000;end case;end process;end behave;分别定义 FPGA的清零端 reset ,使能端 OE,八个输入 Vin0 到 Vi

17、n7 和三个输出 Vout3( 3 downto0)Vout2 (3 downto 0 )Vout1(3 downto 0 )。设计中之所以译码电路只连接AD转换器的 D15到 D8,是因为这八位二进制数已经足够表示20 到 165 的十进制数, AD转换器的 D7管脚直接接小数部分的数码管, 因为设计要求是显示 精度为,所以小数部分不是 0 就是 5,这样用一位二进制数控制即可。电路图如图所示:第三章 系统综述、总体电路图为了实现对于温度的测量与控制,我们采用放大电路、低通滤波电路、A/D 转换器、译码电路、控制电路和报警电路六部分来实现这个功能, 利用温度传感器接收到得信号非常的微小, 所

18、以要经过一个放大电路对接受的信号进行放大, 放大到方便于我们测量的范围内即可, 放 除,得到一个不参杂志的信号,再经过一级电压跟随器,输入到电压比较电路中。电压大后的电压信号经过一级低通滤波电路进行滤波,将信号中的高次谐波或高频干扰进行消比较电路有两个电压比较器, 一个电压比较器控制温度下限, 放大之后的电压低于这个比较 器的电压时, 就会产生报警信号。 另一个电压比较器控制上限电压, 放大之后的电压高于这 个比较器的电压时,也会产生一个报警信号。由于每一个报警信号产生,都应该声光报警, 所以, 两个比较器的输出经过或门, 在连接报警电路。 报警电路中的光报警时直接由或门的 输出来驱动的。而声

19、音报警则是通过一个555 多谐振荡器。或门的输出接发光二极管和555定时器的 4 号管脚(高电平) ,当或门的输出为低电平时,发光二极管不亮。555 定时器由于不工作,所以输出为0;当或门输出为高电平时,发光二极管亮。555 多谐振荡电路开始工作, 输出的为一个方波, 这个方波会驱动蜂鸣器, 蜂鸣器就会发生时有时无 得“滴滴” 声音,产生声音报警。 放大后的信号还要经过 A/D 转换器进行模拟信号到数字信 号的转换, 放大后的电压得电压经过低通滤波, 通过一级电压跟随器和模数转换器连接, 完 成信号的采集功能。由于题目的要求为:量程20到 165摄氏度,精度为,所以模数转换器的输出端只需要高位

20、的 9 个管脚, 其他管脚悬空即可。 这 9 个管脚中, 最低位可以直接驱动 一个数码管,这个数码管显示的是小数部分,因为由于参考电压的值适当,所以 D7 位,也 就是这 9 个管脚中的最低位所代表的温度变化就是摄氏度。 其他的八个管脚可以看成是一个 二进制数, 当然,这个二进制数不一定是自然码, 但是可以进行加操作,使其对应的二进制 数正好就是对应的温度值,这样,在经过PLD的译码,就会形成 3 个四位的 BCD码。PLD的程序是先将二进制数转换成 10 进制数,然后在将 10 进制数转换成对应的 BCD码。完 成译码功能。 PLD 的 12 端输出分别对应连接三个数码管,这三个数码管表示的

21、是温度的整 数部分。总体电路图见附图。第四章 结束语在这次课程设计中, 我们遇到了很多问题, 比如说放大电路部分, 经过一级放大并没有得到我们想要得到的倍数, 于是采用了多级放大。 还有在进行译码的过程中, 可供选择的方法很 多,但是都出现了问题, 不是出现错误就是没办法实现, 类似的问题还很多,不过经过小组 讨论以及同学的帮助, 也都解决了, 总体来说, 本次课设虽然没有得到自己想要的完美结果, 但是还算成功,总之两周的时间还算没白费,学会了很多的新知识。参考文献1林涛模拟电子技术基础重庆大学出版社2004 年;2林涛数字电子技术基础清华大学出版社2006 年 6 月;3姜立东 VHDL语言

22、程序设计及应用北京邮电大学出版社2004 年 6 月;4李群芳,肖看单片机原理、接口及应用清华大学出版社2005 年 3 月;元器件明细表:序号名称型号参数数量备注1电阻若干2电容33集成放大器LM324AD8放大滤波比较4AD转换器ADC163模数转换5PLDEPM7032-PLCC(44)3FPGA6数码管 1DCD HEX9整数显示7数码管 2DCD_HEX_DIG_RED3小数显示8555 定时器LM555CN1多谐振荡器9发光二极管5mA110蜂鸣器5kHZ4V111滑动变阻器增量 5%212导线若干13电源若干附图:见最后的附加电路图鸣谢:感谢樊小红老师在本次课程设计中对于各部分电

23、路的讲解与帮助,感谢各位同学对于我在课设上的支持与帮助。收获与体会,存在的问题等在课程设计的初期, 我们都还信誓旦旦的以为这些都很简单,并没有放太多的心思, 但是当做起来的时候, 所有的麻烦都来了, 导致时间也不够充裕了,在课程设计中,我们遇到了很多的问题, 比如说我所负责的放大电路部分, 刚开始只是采用一级放大, 但是放大的效果并不明显,而且出现的问题也很多,经过讨论, 我们又选择了采用多级放大电路,用三个放大 器来实现信号的放大, 终于得到了想要的结果, 不过信号放大后又有问题了, 当我们定义最初的输入电压时,当最初的输入电压为0,经过三级放大后,输出电压还是有信号,正常情 况下输出应该为 0,或者得到很微小的电压,这个问题到最后也没有解决,好在并无太大的 影响。 还有在译码电路的选择过程中, 利用组合逻辑电路设计出的电路图如下图所示, 其中八位二进制数,D7 位表示的是 10 进制数的 128;D6位表示的是 10 进制数的 64;D5位表示的是 10 进制数的 32;D4位表示的是 10 进制数的 16;剩余的四位可以直接通过 283 加法器译成最多两位的 BCD码(每一位 BCD码为四位),这个 BCD码记为 BCD3.这样可以设计出多个两位的 BCD码的加法器。首先实现的是 D7 位和 D6 位相加:当 D7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论