电子秤课程设计报告.doc

上传人:西安人 文档编号:5026119 上传时间:2020-01-29 格式:DOC 页数:17 大小:550KB
返回 下载 相关 举报
电子秤课程设计报告.doc_第1页
第1页 / 共17页
电子秤课程设计报告.doc_第2页
第2页 / 共17页
电子秤课程设计报告.doc_第3页
第3页 / 共17页
电子秤课程设计报告.doc_第4页
第4页 / 共17页
电子秤课程设计报告.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《电子秤课程设计报告.doc》由会员分享,可在线阅读,更多相关《电子秤课程设计报告.doc(17页珍藏版)》请在三一文库上搜索。

1、电子秤设计 2009 课 程 设 计 课程名称 传感器与自动检测技术 设计题目 电子秤 专 业 电子科学与技术 班 级 一班 学 号 06040132 学生姓名 简文宇 实习成绩 指导教师 宫香山 2009年 5 月 1 日电子秤设计目录1、 设计概述 2、 总体设计 1.2.2.1 电源电路 2.2 金属箔式变片全桥电路 2.3 放大电路 2.4 模数转换电路 2.5 控制电路 2.6 显示电路 2.7 VHDL描述 3、 设计总结 附录 参考文献 1. 概述1) 课程设计要求基本要求:利用金属电阻应变片工作原理设计电子称,测量范围在0200g,有放大级,AD转换电路,显示电路,AD转换部分

2、可以用单片机、CPLD、或基本数模电路。提高:可以外加电源电路,对于用单片机、CPLD等实现AD转换的还可以附加程序代码,可扩大测量范围等。2) 课程设计目的理论联系实际,学习金属箔式应变片的简单应用,学会查芯片手册,巩固模拟电路、数字电路基础知识,了解设计过程,增强动手能力。2. 总体设计1) 电源本次设计用的是220V交流市电,而本次设计用到的是020V之间的直流电压,需要设计一个直流电源。2) 核心原理部分应变片直流电桥。根据金属式应变片的工作原理设计一个性能最优的电桥。根据理论课程的学习知道全桥性能最好。3) 放大电路分为两级放大,第一级放大为差分放大电路,第二级放大为反比例放大电路,

3、主要实现电压的放大作用。4) AD转换电路是放大电路输出信号(模拟量)转化成数码管可以显示的数字量。5) CPLD控制电路控制ADC的转换工作及数码管的输出6) 显示电路及接口电路实现数码管输出及相关功能7) VHDL描述用VHDL语言用状态机对AD转换过程进行描述,对数码显示功能进行描述1.2.2.1 电源电路 直流电源的组成:电源变压器、整流电路、滤波电路、稳压电路。2.1.1 电源变压器电源变压器需要把220V市电变为5V交流电,由公式: (2-1)可以算出匝数比为44。2.1.2 整流电路此次设计采用单相桥式整流电路,电路中采用了四个二极管,接成电桥,故称为桥式整流电路。桥式输出电压为

4、 (2-2)脉动系数为 (2-3)1.1.1 滤波电路采用电容滤波电路。1.1.2 稳压电路采用三端集成稳压器。理由:电路内部包括了串联型的直流稳压电路的各个部分,另外加上了保护电路和启动电路。用滑动变阻器使得输出电压可调。输出电压 (2-4)可以算出的变化范围为5.5到60V。其中为W7805的输出电压如上图,有关资料见附录。调节滑动变阻器使输出为15V (2-5) (2-6)这样就输出了多个直流电压。2.2 金属箔式变片全桥电路R1为保护电阻,R15为差分输入调零端,理论上当R15在中点时,由于接的两个正负电源两边压降相同,使得R1上没有电流流过。但实际上由于干扰等缘故,需要调节R15使R

5、1上的电流为零。电桥工作原理当被测量无变化时,电桥输出为零,即电桥平衡,据此选择全桥上的四个电阻相等都为。当电桥电阻发生变化,即称重物使应变片发生形变时,则相应的输出电压为: (2-7)其中,为应变片发生形变时的电阻变化。为输入电压值,这里。要实现测量范围为,称重传感器的电灵敏度为满负荷输出电压与激励电压的比值。使用 5mV/V灵敏度和10V激励电压的传感器时,其满度输出电压为50 mV。通常,为了使用称重传感器线性度最好的一段称重范围,应当仅使用满度范围的三分之二。因此满度输出电压应当大约为30 mV。当负载为500g时要使传感器信号能够实现1 g的精度,总共需要500次计数,并显示在LCD

6、显示屏上。1 g的重量转换为电压形式可等效为:30 mV / 500g x1g = 0.06mV。为了实现1 g的测量精度,ADC的LSB电压应取0.06mV/0.4=0.15mV。即当放上1g砝码时数码管显示为1g,ADC转换的输入电压为0.02V时转换得到00000001,当放上500g砝码时数码显示为500g,ADC的输入电压为4.88V时转换得到11110100。所以需要放大的倍数为。2.3 放大电路差分放大电路由于电路结构对称,他们的漂移和失调都有相互抵消的作用。由于对称性,先算出U3的输出电压,同理可以算的U2的输出电压,有下式: (2-8)则 (2-9) (2-10)则差动放大倍

7、数为 (2-11)U4为差分输入比例放大电路,其放大倍数为 (2-12)所以总的放大倍数经过放大之后Uo的变化范围为。反比例放大电路 (2-13)当滑动变阻器滑到最左端时,Au=1,当滑动变阻器滑到最右端时Au=20。R9、R11、R13组成差分输入的调零端。最终放大输出给AD转换的电压为。2.4 8位微处理器兼容模数转换器ADC08042.4.1 封装2.2.12.22.32.42.4.12.4.2 ADC0804外围应用电路转换控制由CPLD提供的时序控制,转换之后的数据通过ADC0 - ADC7送到CPLD的IO口上。由于ADC0804输出电平为5V TTL电平,MAXII系列提供IO设

8、计是3.3V,但是它可以通过串接一个电阻来平衡电平。所以,不需要电压转换芯片,为系统设计节约了成本。2.4.3 ADC0804的时序图及其解释(译自Datasheet) The normal operation proceeds as follows. On the high-to-low transition of the WR input, the internal SAR latches and the shift-register stages are reset, and the INTR output will be set high. As long as the CS inpu

9、t and WR input remain low, the A/D will remain in a reset state. Conversion will start from 1 to 8 clock periods after at least one of these inputs makes a low-to-high transition. After the requisite number of clock pulses to complete the conversion, the INTR pin will make a high-to-low transition.

10、This can be used to interrupt a processor, or otherwise signal the availability of a new conversion. A RD operation (with CS low) will clear the INTR line high again.一般的转换过程描述如下。在输入端(Write写)由高电平到低电平的变化后,内部的SAR锁存器和移位寄存器的状态被复位,同时输出端(Interrupt中断)会被置为高电平。只要输入端(Chip Select片选)和保持低电平,ADC会保持一个复位的状态。当这两个输入端中

11、的任何一个从低电平跳变到高电平时,转换会在1到8个时钟周期后开始。当经过数个周期,转换过程结束后,输出端会发生从高电平到低电平的跳变,可用来给处理器产生一个中断,或用来标志可以开始新的转换过程。(Read读)低电平且也为低电平时,会将重新置为高电平。The device may be operated in the free-running mode by connecting INTR to the WR input with CS = 0. To ensure startup under all possible conditions, an external WR pulse is re

12、quired during the first power-up cycle. A conversion-in-process can be interrupted by issuing a second start command.将输出端与输入端连接在一起(同时为低电平),ADC会处在自运行模式。为确保能够在任何可能出现的情况下启动转换,在第一次上电的时候需要加一个外部的脉冲。正在转换的进程会被之后发出的启动转换命令打断。The digital control inputs (CS, RD, and WR) meet standard TTL logic voltage levels. T

13、hese signals are essentially equivalent to the standard A/D Start and Output Enable control signals, and are active low to allow an easy interface to microprocessor control busses. For non-microprocessor based applications, the CS input (pin 1) can be grounded and the standard A/D Start function obt

14、ained by an active low pulse at the WR input (pin 3). The Output Enable function is achieved by an active low pulse at the RD input (pin 2).逻辑电平输入信号(CS,RD和WR)符合TTL逻辑电平标准。这些输入信号相当于ADC开始转换和输出使能的控制信号,并且为了使得微处理器控制简便,这些输入端都采用低电平有效。在没有微处理器参与的应用中,输入端CS(1管脚)可以接地,并且当输入端WR(3管脚)为低电平时,AD转换启动。输入端RD(2管脚)的低电平信号可以激

15、活输出端的使能功能。2.4.4 状态转换过程根据Datasheet中上面节选的对于时序转换的描述,总结出的ADC0804的状态转换过程,以便使用VHDL语言编写状态机来完成模数转换的过程。ST0(启动):CS=0,WR=0,RD=1,此时中断INTR:1ST1(转换):CS=1,WR=1,RD=1,此时中断INTR:10(0时结束转换并输出到锁存中)ST2(输出):CS=0,WR=1,RD=0,此时中断INTR:1ST3(结束):CS=1,WR=1,RD=1,此时中断INTR:12.5 Altera公司MAXII系列CPLDEPM570T100C52.5.1 选用Altera公司目前市场性价比

16、较高的MAXII系列CPLDAltera推出的MAX II器件系列是一款革命性的CPLD产品。它基于突破性的CPLD架构,提供业界所有CPLD系列中单个I/O管脚最低成本和最小功耗。这些器件采用新的查表(LUT)体系,采用TSMC的0.18m嵌入Flash工艺,使其裸片尺寸仅为同样工艺器件的1/4。MAX II系列和上一代MAX产品相比,成本降低了一半,功耗只有其1/10,同时保持MAX系列原有的瞬态启动、单芯片、非易失性和易用性。新的系列器件容量翻了两番,性能是上一代MAX CPLD的两倍多,使消费类、通信、工业和计算机产品的设计者能够采用MAX II系列器件代替昂贵和不够灵活的小型ASIC

17、和ASSP。2.5.2 MAX II系列器件的主要特征MAX II系列CPLD器件具有成本优化的架构、低功耗、高性能、用户可访问且可编程的8K比特Flash存储器、实时在系统可编程能力(ISP)允许用户编程正在工作的器件、灵活的多电压MultiVolt内核、MAXII CPLD的JATG翻译器(JTAG)、I/O驱动能力强等特征。EPM570T100C5有570个逻辑单元,等效宏单元是192个,资源比较丰富,内有8Kbit Flash的存储空间;采用12MHz的晶振,为CPLD提供主时钟;JTAG接口可使用标准ByteBlasterII或USB Blaster进行下载。表1.2 MAX II的

18、I/O标准I/O标准性能3.3V LVTTL/LVCMOS300MHz2.5V LVTTL/LVCMOS220MHz1.8V LVTTL/LVCMOS200MHz1.5V LVCMOS150MHz3.3V PCI33MHz122.12.22.32.42.52.5.12.5.22.5.3 CPLD外围应用电路2.5.3.1 模数转换器ADC0804转换后的数据:Port 1 Port 7(ADC0 ADC7)2.5.3.2 全局时钟Clock(12Mhz晶振):Port12(CLK0)2.5.3.3 模数转换器ADC0804的控制端:Port 15 Port 18(/ADCS,/ADRD,/AD

19、WR,/ADINTR)2.5.3.4 7段数码管位选:Port 19 Port 21(SEL1,SEL2,SEL3)2.5.3.5 JTAG:Port 22 Port 25(TMS,TDI,TCK,TDO)2.5.3.6 7段数码管段选:Port 68 Port 75(DPYA DPYG,DPYDP)2.6 数码显示电路3个七段数码管组成三位数码显示,通过CPLD的I/O端口分别进行段选、位选的控制来对测量的电压值进行数字显示输出。由于MAX II系列CPLD的IO驱动能力比较强,所以可以直接驱动数码管。不过为了保护IO口,在每一个回路之中各自串接了200保护电阻。2.7 VHDL设计代码-

20、输入电压范围0-5V,显示0-255数位-库定义、 包定义-LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;-实体定义-ENTITY balance ISport ( clk : IN STD_LOGIC; - 全局时钟输入,12Mhz晶振产生 reset : IN STD_LOGIC; - 复位输入 intr : IN STD_LOGIC; - AD转换结束产生的中断输入 data_i : IN STD_LOGIC_VECTOR(7 DO

21、WNTO 0); - ADC转换后的数据输入 data_o : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); - 数码管数据输出 l : OUT STD_LOGIC_VECTOR(2 DOWNTO 0); - 输出数码管位选 cs : OUT STD_LOGIC; - ADC使能 wr : OUT STD_LOGIC; - ADC写控制 rd : OUT STD_LOGIC - ADC读控制 );END balance;-结构体-ARCHITECTURE bhv OF balance ISTYPE state IS (start, convert, read1, read

22、2);- 状态机定义SIGNAL current_state, next_state : state; - 状态定义SIGNAL read_data : STD_LOGIC; - 读数据寄存器SIGNAL clock : STD_LOGIC; - 扫描时钟SIGNAL p : INTEGER RANGE 0 TO 255; - 数据寄存器SIGNAL b0,b1,b2 : INTEGER RANGE 0 TO 9; - 3位数码管显示数据寄存器SIGNAL cnt : INTEGER RANGE 0 TO 3 := 0; - 扫描寄存器BEGIN-显示进程-PROCESS(p, clk)BEG

23、IN CASE p IS WHEN 0|10|20|30|40|50|60|70|80|90|100|110|120|130|140|150|160|170|180|190|200|210|220|230|240|250 = b0 b0 b0 b0 b0 b0 b0 b0 b0 b0 NULL; END CASE; CASE p IS WHEN 0|1|2|3|4|5|6|7|8|9|100|101|102|103|104|105|106|107|108|109|200|201|202|203|204|205|206|207|208|209 = b1 b1 b1 b1 b1 b1 b1 b1

24、b1 b1 NULL; END CASE; IF (p 100) THEN b2 = 100 and p 200) THEN b2 = 200) THEN b2 = 2; END IF;END PROCESS;-分频进程-PROCESS(clk)VARIABLE cnt1 : INTEGER RANGE 0 TO 100;VARIABLE cnt2 : INTEGER RANGE 0 TO 20;BEGIN IF (clkEVENT AND clk = 1) THEN IF (cnt1 = 100) THEN cnt1 := 0; IF (cnt2 = 20) THEN cnt2 := 0;

25、clock = NOT clock; IF (cnt = 3) THEN cnt = 0;ELSE cnt = cnt + 1;END IF; ELSE cnt2 := cnt2 + 1; END IF;ELSE cnt1 := cnt1 + 1;END IF; END IF;END PROCESS;-状态驱动进程-sync : PROCESS(clock, reset)BEGIN IF (reset = 0) THEN current_state = start; ELSIF (clockEVENT AND clock = 1) THEN current_state - 启动状态 next_

26、state = convert; cs = 0; wr = 0; rd = 1; read_data - 初始化 IF (intr = 0) THEN next_state = read1; ELSE next_state = convert; END IF; cs = 1; wr = 1; rd = 1; read_data - 读状态1 next_state = read2; cs = 0; wr = 1; rd = 0; read_data - 读状态2 next_state = start; cs = 1; wr = 1; rd = 1; read_data - 其他状态 next_s

27、tate = start; END CASE;END PROCESS comb;-读取ADC数据-get_data : PROCESS(clock, reset)BEGIN IF (reset = 0) THEN p = 0; ELSIF (clockEVENT AND clock = 1) THEN IF (read_data = 1) THEN p smg7 := 11111100; - ABCDEFGH WHEN 1 = smg7 := 01100000; WHEN 2 = smg7 := 11011010; WHEN 3 = smg7 := 11110010; WHEN 4 = smg

28、7 := 01100110; WHEN 5 = smg7 := 10110110; WHEN 6 = smg7 := 10111110; WHEN 7 = smg7 := 11100000; WHEN 8 = smg7 := 11111110; WHEN 9 = smg7 := 11110110; WHEN OTHERS = smg7 := 10001110; END CASE;RETURN smg7;END b_to_s7;BEGIN CASE cnt IS WHEN 0 = l = 110; data_o l = 101; data_o l = 011; data_o l = 111; E

29、ND CASE;END PROCESS;END bhv;3. 设计总结:通过本次对电子秤的设计,将电路分析、模拟电路、数字电路、传感器等理论课中的知识应用到设计一台生活中常见的电子秤,学会了设计简单的电源,从芯片手册了解了如何使用一些常见元器件如放大器UA741、模数转换器ADC0804、常见的MAX II系列CPLD、一些外围电路的搭建常识,基本掌握金属箔式应变片的简单应用,并再一次巩固了相关的模拟电路知识、数字电路知识,了解了设计电子电路的基本流程,从而具有基本的设计能力。参考文献1. 李瀚荪编:简明电路分析基础第一版,北京:高等教育出版社,2002.72. 清华大学电子学教研组编,杨素行主编:模拟电子技术基础 简明教程第二版,北京:高等教育出版社,1998.103. 清华大学电子学教研组编,阎石主编:数字电子技术基础第五版,北京:高等教育出版社,2006.54. 史晓东,苏福根,陈凌霄编著:数字电路与逻辑设计 实验教程第一版,北京:北京邮电大学出版社,2008.55. 潘松,黄继业编著:EDA技术与VHDL第二版,北京:清华大学出版社,2007.16. 余成波,胡新宇,赵勇主编:传感器与自动检测技术第一版,北京:高等教育出版社,2004.2附录:芯片手册Datasheet第16/48页电子秤设计报告

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1