当前位置:文档之家› LM35数字温度计(最新)

LM35数字温度计(最新)

课程设计任务书 课程设计内容与要求: 以所学EDA课程内容为核心 ,结合LM35温度传感器,及A/D转换器等内容,设计所需的测温系统。 所设计的温度计的额定温度范围为-55℃—155℃,程序设计部分可利用所学二十四进制计数器进行改编。对于其他辅助设备,A/D转换器等内容等需查阅资料,对符合要求的型号进行筛选,选出符合条件且最经济适用的部分。确定其精度大小,适用范围及在整个系统中的连接设置。 将EDA技术应用于芯片设计和系统设计,可极大提高电路设计的效率和可靠性,且节约设计成本。在实验过程中锻炼了我们的动手能力。 目录 1. LM35温度传感器测温系统摘要………………………… 2. 绪论——整个课程设计的思路…………………………… 3. Protel99绘图过程………………………………………… 4. LM35温度传感器介绍…………………………………… 5. 主要芯片及程序…………………………………………… 6. 技术总结…………………………………………………… 7. 参考文献…………………………………………………… 8. 致谢………………………………………………………… 摘要 现在EDA技术是电子设计的重要工具,其核心是利用计算机完成电路设计的全程自动化,将EDA技术应用于芯片设计和系统设计,可极大提高电路设计的效率和可靠性,节约设计成本,减少设计人员的劳动强度。 本次课程设计以EDA技术为主体 ,辅助学习传感器原理,A/D转换器原理,设计LM35温度传感器测温系统,运用LM35为温度传感器收集信号,因为用计算机来构建数据采集系统时看,利用温度传感器的敏感特性,去检测周围的温度,所经采集的温度信号时连续的信号,而计算机能处理不连续变化的信号,因此必须用A/D转换器将模拟信号转换为电信号后进行处理,所以再利用A/D转换器将收集到的模拟信号转换为电信号送入计算机进行处理,再利用显示电路把转换后的数字信号显示出来。 本次设计将介绍EP2C5Q208C8芯片,温度传感器 LM35及AD521芯片的基本原理和特点,及利用protel99画图的简要过程。 绪论 本次课程设计主要对常规数字温度计设计。LM35温度传感器测温系统的主要功能是测量周围环境的温度,在各类民用控制,工业控制以及航空航天技术方面,温度测量得到了广泛的使用。小型、低功耗、可靠性高、低成本的LM35温度传感器便得以备受关注,利用LM35为温度传感器,去收集周围环境的温度信号即可。因为所采集的温度信号是连续变化的模拟量,而只要功能芯片EP2C5Q208C8能处理不连续的信号,因此,必须用A/D转换器将模拟信号转换成数字信号,再放大相应的倍数,才能送给主芯片进行处理,再利用显示电路把转换后的数字信号显示出来。 对于显示电路的连接必须注意只能与能满足其需要的特定I/O口连接看,否则可能会导致显示的数值出现异常。 一.Protel 99 SE 绘图过程 设置原理图设计环境,设计环境对画原理图人影响很大,在画原理图之前,应该把设计环境设置好,工作环境是使用DESIGN/OPTIONS和TOOL/PREFERENCE菜单进行的,画原理图环境的设置主要包括图纸大小,捕捉栅格,电气栅格,模板设置等。 A. 放置元件。将电气和电子元件放置到图纸上,一般情况下元件的原理图符号在元件库中都可以找到,只需要将元件从元件库中取出,放置在图上,但由于本次设计中有一些新元件,故还要自己画元件。 B. 画元件图。1、首先选择菜单FILE/NEW,然后在出现的窗口选择SCHEMATIC LIBRARY DOCUMENT图标建立一个元件库,该库的缺省名为SCHLIBL.LIB;在设计管理器窗口中双击该元件库,这就进入了画元件图窗口,在元件管理器窗口,可以看到已经给元件取了个缺省名COMPONENT_ 。 2、进入编辑窗口后使用page up键将窗口放大,放大到能清楚地看到可视栅格。 3、然后使用绘图工具箱中的工具依次绘出所需使用的元件,如LM35、芯片ADC0809、芯片EP2C5Q208C8、 3-8译码器、74LS138等。 4、当需要对所画元件放置管脚时,单击工具箱上的放管脚工具,就会看见鼠标变成十字还带着一个管脚,将鼠标移动到放置管脚的地方,单击鼠标将管脚一个接一个放置,注意用空格键调整管脚方向。 其中管脚的系列号是Protel 99 SE软件自动加上去的,若管脚名称或管脚的序号需要按顺序排列,则在放置第一个管脚之前,按Tab键然后在管脚Name和Number属性中输入排列序号的第一个数值或字母加数字,例如,若管脚序列号按数字增加的顺序排列,则输入第一个数字:若管脚名按D0、D1、D2……排列,则输入D0。 C. 若需要将所画元件图放在原理图中,则需要将左上侧的Place单击则会自动跳转至原理图中,但选取适当的位置后,则单击右键即可确认。 D. 原理图布线,元件一旦放置在原理图上,就需要用导线将元件连接起来,连接时一定要符合电气规则。 E. 编辑与调整,编辑元件的属性,这些属性包括元件名,参数,封装图等,然后将元件与导线的位置进行细微的调整。 F. 检查原理图在编辑元件的属性的基础上使用Protel 99 SE的电气规则检查功能,检查原理图的连线是否合理与正确,给出检查报告,若有错误,就需要根据错误情况进行改正。 G. 在原理图右下角输入原理图名称,然后打印输出原理图。 原理图如下:

二.LM35传感器介绍 LM35是NS公司生产的集成电路温度传感器系列产品之一,它具有很高的工作精度和较宽的线性工作范围,该器件输出电压与摄氏温度线性成比例。因而,从使用角度来说,LM35与用开尔文标准的线性温度传感器相比更有优越之处,LM35无需外部校准或微调,可以提供±1/4℃的常用的室温精度。

LM35在单电源模式下在25°C下静默电流为50μA,非常省电:

静默电流温度关系 单电源模式的接法 单电源供电模式下的温度与电压变化呈线性关系 ·工作电压:直流4―30V; ·工作电流:小于133μA; ·输出电压:+6V—-1.0V; ·输出阻抗:1mA负载时0.1Ω; ·精度:0.5℃精度(+25℃时); ·泄漏电流:小于60μA; ·比例因数:线性+10.0mV/℃; ·校准方式:直接用摄氏温度校准; ·封装:密封TO-46晶体管封装或塑料TO-92晶体管封装; ·使用温度范围:-55—+150℃额定范围。 引脚介绍: 正电压Vcc;输出;输出地/电源地。

三.主要芯片及程序 A/D转换器介绍 AD521是个增益放大器,AD521集成数据采集放大器可以在环境恶劣的工作条件下进行高精度的数据采集。它线性好,并具有高共模抑制比、低电压漂移和低噪声的优点,适用于大多数12位数据采集系统。AD521通常用于电阻传感器(电热调节器、应变仪等)构成的桥式传感器放大器以及过程控制、仪器仪表、信息处理和医疗仪器等方面。 AD521主要特性: ●低漂移:2.0μV/℃(AD522B); ●非线性低:0.005%(G=100); ●高共模抑制比:>110dB(G=1000); ●低噪声:1.5μVp-p(0.1~100Hz); ●单电阻可编程增益:1≤G≤1000; ●具有输出参考端及远程补偿端; ●可进行内部补偿; ●除增益电阻外,不需其它外围器件; ●可调整偏移、增益和共模抑制比

4、温度采集模数信号转换部分电路图

工作芯片介绍 Cyclone II EP2C5Q208C8是Altera公司生产的一款具有较高性价比的FPGA芯片,它采用Stratix架构,使用90nm工艺生产,具有4608个LE,26个M4K单元,2个PLL以及13个乘法器,另外,其I/O管脚可以直接与系统中使用的其它芯片相连而不需要进行电平转换。该款FPGA的内部资源以及管脚数量能够完全满足本案的设计需求。故选用该款FPGA作为主控逻辑芯片。 FPGA的内部功能模块可以划分为UART收发、AD521控制、包络信号DDS、脉冲信号控制、变频控制信号输出这五个主要部分,另外,还包括各个模块间的协调以及时钟信号产生等部分。这些控制逻辑都通过Verilog硬件描述语言来实现 主程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY clock IS PORT( clk:IN STD_LOGIC; enable:IN STD_LOGIC; sel:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); segment:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END clock; ARCHITECTURE rt1 OF clock IS COMPONENT clk_div1000 PORT(clk:IN STD_LOGIC; clk_div:OUT STD_LOGIC); END COMPONENT; COMPONENT count100 PORT( enable:IN STD_LOGIC; clk0:IN STD_LOGIC; qh:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); ql:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END COMPONENT; COMPONENT display PORT( clk:IN STD_LOGIC; qh: IN STD_LOGIC_VECTOR(3 DOWNTO 0); ql: IN STD_LOGIC_VECTOR(3 DOWNTO 0); sel:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); segment:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END COMPONENT; signal qh:STD_LOGIC_VECTOR(3 DOWNTO 0); signal ql:STD_LOGIC_VECTOR(3 DOWNTO 0); signal clk0:STD_LOGIC; BEGIN u0:clk_div1000 PORT MAP(clk,clk0); u1:count100 PORT MAP(enable,clk0,qh,ql); u2:display PORT MAP(clk,qh,ql,sel,segment); END rt1;

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY clk_div1000 IS PORT( clk:IN STD_LOGIC; clk_div:OUT STD_LOGIC); END clk_div1000; ARCHITECTURE rt1 OF clk_div1000 IS SIGNAL q_tmp:INTEGER range 0 to 999; BEGIN PROCESS(clk) BEGIN IF(clk'event and clk='1')THEN IF(q_tmp=999)THEN q_tmp<=0; ELSE q_tmp<=q_tmp+1; END IF; END IF; END PROCESS; PROCESS(clk) BEGIN IF(clk'event and clk='1')THEN IF(q_tmp=999)THEN clk_div<='1';

相关主题