课程设计电子秤的设计.docx
- 文档编号:4037765
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:20
- 大小:375.04KB
课程设计电子秤的设计.docx
《课程设计电子秤的设计.docx》由会员分享,可在线阅读,更多相关《课程设计电子秤的设计.docx(20页珍藏版)》请在冰豆网上搜索。
课程设计电子秤的设计
课程设计
课程名称传感器与自动检测技术
设计题目电子秤
专业电子科学与技术
班级
学号
学生姓名
实习成绩
指导教师
2009年5月1日
电子秤设计
目录
1、设计概述
2、总体设计
1.
2.
2.1电源电路
2.2金属箔式变片全桥电路
2.3放大电路
2.4模数转换电路
2.5控制电路
2.6显示电路
2.7VHDL描述
3、设计总结
附录
参考文献
1.概述
1)课程设计要求
基本要求:
利用金属电阻应变片工作原理设计电子称,测量范围在0~200g,有放大级,AD转换电路,显示电路,AD转换部分可以用单片机、CPLD、或基本数模电路。
提高:
可以外加电源电路,对于用单片机、CPLD等实现AD转换的还可以附加程序代码,可扩大测量范围等。
2)课程设计目的
理论联系实际,学习金属箔式应变片的简单应用,学会查芯片手册,巩固模拟电路、数字电路基础知识,了解设计过程,增强动手能力。
2.总体设计
1)电源
本次设计用的是220V交流市电,而本次设计用到的是0~20V之间的直流电压,需要设计一个直流电源。
2)核心原理部分
应变片直流电桥。
根据金属式应变片的工作原理设计一个性能最优的电桥。
根据理论课程的学习知道全桥性能最好。
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整流电路
此次设计采用单相桥式整流电路,电路中采用了四个二极管,接成电桥,故称为桥式整流电路。
桥式输出电压为
(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使R1上的电流为零。
电桥工作原理
当被测量无变化时,电桥输出为零,即电桥平衡,据此选择全桥上的四个电阻相等都为
。
当电桥电阻发生变化,即称重物使应变片发生形变时,则相应的输出电压为:
(2-7)
其中,
为应变片发生形变时的电阻变化。
为输入电压值,这里
。
要实现测量范围为
称重传感器的电灵敏度为满负荷输出电压与激励电压的比值。
使用5mV/V灵敏度和10V激励电压的传感器时,其满度输出电压为50mV。
通常,为了使用称重传感器线性度最好的一段称重范围,应当仅使用满度范围的三分之二。
因此满度输出电压应当大约为30mV。
当负载为500g时要使传感器信号能够实现1g的精度,总共需要500次计数,并显示在LCD显示屏上。
1g的重量转换为电压形式可等效为:
30mV/500gx1g=0.06mV。
为了实现1g的测量精度,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)
则差动放大倍数为
(2-11)
U4为差分输入比例放大电路,其放大倍数为
(2-12)
所以总的放大倍数
经过放大之后Uo的变化范围为
。
反比例放大电路
(2-13)
当滑动变阻器滑到最左端时,Au=1,当滑动变阻器滑到最右端时Au=20。
R9、R11、R13组成差分输入的调零端。
最终放大输出给AD转换的电压为
。
2.48位微处理器兼容模数转换器ADC0804
2.4.1封装
2.
2.1
2.2
2.3
2.4
2.4.1
2.4.2ADC0804外围应用电路
转换控制由CPLD提供的时序控制,转换之后的数据通过ADC0-ADC7送到CPLD的IO口上。
由于ADC0804输出电平为5VTTL电平,MAXII系列提供IO设计是3.3V,但是它可以通过串接一个电阻来平衡电平。
所以,不需要电压转换芯片,为系统设计节约了成本。
2.4.3ADC0804的时序图及其解释(译自Datasheet)
Thenormaloperationproceedsasfollows.Onthehigh-to-lowtransitionoftheWRinput,theinternalSARlatchesandtheshift-registerstagesarereset,andtheINTRoutputwillbesethigh.AslongastheCSinputandWRinputremainlow,theA/Dwillremaininaresetstate.Conversionwillstartfrom1to8clockperiodsafteratleastoneoftheseinputsmakesalow-to-hightransition.Aftertherequisitenumberofclockpulsestocompletetheconversion,theINTRpinwillmakeahigh-to-lowtransition.Thiscanbeusedtointerruptaprocessor,orotherwisesignaltheavailabilityofanewconversion.ARDoperation(withCSlow)willcleartheINTRlinehighagain.
一般的转换过程描述如下。
在输入端
(Write写)由高电平到低电平的变化后,内部的SAR锁存器和移位寄存器的状态被复位,同时输出端
(Interrupt中断)会被置为高电平。
只要输入端
(ChipSelect片选)和
保持低电平,ADC会保持一个复位的状态。
当这两个输入端中的任何一个从低电平跳变到高电平时,转换会在1到8个时钟周期后开始。
当经过数个周期,转换过程结束后,输出端
会发生从高电平到低电平的跳变,可用来给处理器产生一个中断,或用来标志可以开始新的转换过程。
(Read读)低电平且
也为低电平时,会将
重新置为高电平。
Thedevicemaybeoperatedinthefree-runningmodebyconnectingINTRtotheWRinputwithCS=0.Toensurestartupunderallpossibleconditions,anexternalWRpulseisrequiredduringthefirstpower-upcycle.Aconversion-in-processcanbeinterruptedbyissuingasecondstartcommand.
将输出端
与输入端
连接在一起(同时
为低电平),ADC会处在自运行模式。
为确保能够在任何可能出现的情况下启动转换,在第一次上电的时候需要加一个外部的
脉冲。
正在转换的进程会被之后发出的启动转换命令打断。
Thedigitalcontrolinputs(CS,RD,andWR)meetstandardTTLlogicvoltagelevels.ThesesignalsareessentiallyequivalenttothestandardA/DStartandOutputEnablecontrolsignals,andareactivelowtoallowaneasyinterfacetomicroprocessorcontrolbusses.Fornon-microprocessorbasedapplications,theCSinput(pin1)canbegroundedandthestandardA/DStartfunctionobtainedbyanactivelowpulseattheWRinput(pin3).TheOutputEnablefunctionisachievedbyanactivelowpulseattheRDinput(pin2).
逻辑电平输入信号(CS,RD和WR)符合TTL逻辑电平标准。
这些输入信号相当于ADC开始转换和输出使能的控制信号,并且为了使得微处理器控制简便,这些输入端都采用低电平有效。
在没有微处理器参与的应用中,输入端CS(1管脚)可以接地,并且当输入端WR(3管脚)为低电平时,AD转换启动。
输入端RD(2管脚)的低电平信号可以激活输出端的使能功能。
2.4.4状态转换过程
根据Datasheet中上面节选的对于时序转换的描述,总结出的ADC0804的状态转换过程,以便使用VHDL语言编写状态机来完成模数转换的过程。
ST0(启动):
CS=0,WR=0,RD=1,此时中断INTR:
1
ST1(转换):
CS=1,WR=1,RD=1,此时中断INTR:
1→0(0时结束转换并输出到锁存中)
ST2(输出):
CS=0,WR=1,RD=0,此时中断INTR:
1
ST3(结束):
CS=1,WR=1,RD=1,此时中断INTR:
1
2.5Altera公司MAXII系列CPLD——EPM570T100C5
2.5.1选用Altera公司目前市场性价比较高的MAXII系列CPLD
Altera推出的MAXII器件系列是一款革命性的CPLD产品。
它基于突破性的CPLD架构,提供业界所有CPLD系列中单个I/O管脚最低成本和最小功耗。
这些器件采用新的查表(LUT)体系,采用TSMC的0.18μm嵌入Flash工艺,使其裸片尺寸仅为同样工艺器件的1/4。
MAXII系列和上一代MAX产品相比,成本降低了一半,功耗只有其1/10,同时保持MAX系列原有的瞬态启动、单芯片、非易失性和易用性。
新的系列器件容量翻了两番,性能是上一代MAXCPLD的两倍多,使消费类、通信、工业和计算机产品的设计者能够采用MAXII系列器件代替昂贵和不够灵活的小型ASIC和ASSP。
2.5.2MAXII系列器件的主要特征
MAXII系列CPLD器件具有成本优化的架构、低功耗、高性能、用户可访问且可编程的8K比特Flash存储器、实时在系统可编程能力(ISP)允许用户编程正在工作的器件、灵活的多电压MultiVolt内核、MAXIICPLD的JATG翻译器(JTAG)、I/O驱动能力强等特征。
EPM570T100C5有570个逻辑单元,等效宏单元是192个,资源比较丰富,内有8KbitFlash的存储空间;采用12MHz的晶振,为CPLD提供主时钟;JTAG接口可使用标准ByteBlasterII或USBBlaster进行下载。
表1.2MAXII的I/O标准
I/O标准
性能
3.3VLVTTL/LVCMOS
300MHz
2.5VLVTTL/LVCMOS
220MHz
1.8VLVTTL/LVCMOS
200MHz
1.5VLVCMOS
150MHz
3.3VPCI
33MHz
1
2
2.1
2.2
2.3
2.4
2.5
2.5.1
2.5.2
2.5.3CPLD外围应用电路
2.5.3.1模数转换器ADC0804转换后的数据:
Port1–Port7(ADC0–ADC7)
2.5.3.2全局时钟Clock(12Mhz晶振):
Port12(CLK0)
2.5.3.3模数转换器ADC0804的控制端:
Port15–Port18(/ADCS,/ADRD,/ADWR,/ADINTR)
2.5.3.47段数码管位选:
Port19–Port21(SEL1,SEL2,SEL3)
2.5.3.5JTAG:
Port22–Port25(TMS,TDI,TCK,TDO)
2.5.3.67段数码管段选:
Port68–Port75(DPYA–DPYG,DPYDP)
2.6数码显示电路
3个七段数码管组成三位数码显示,通过CPLD的I/O端口分别进行段选、位选的控制来对测量的电压值进行数字显示输出。
由于MAXII系列CPLD的IO驱动能力比较强,所以可以直接驱动数码管。
不过为了保护IO口,在每一个回路之中各自串接了200Ω保护电阻。
2.7VHDL设计代码
--输入电压范围0-5V,显示0-255数位
--------------------库定义、包定义--------------------
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_ARITH.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
--------------------实体定义--------------------
ENTITYbalanceIS
port(
clk:
INSTD_LOGIC;--全局时钟输入,12Mhz晶振产生
reset:
INSTD_LOGIC;--复位输入
intr:
INSTD_LOGIC;--AD转换结束产生的中断输入
data_i:
INSTD_LOGIC_VECTOR(7DOWNTO0);--ADC转换后的数据输入
data_o:
OUTSTD_LOGIC_VECTOR(7DOWNTO0);--数码管数据输出
l:
OUTSTD_LOGIC_VECTOR(2DOWNTO0);--输出数码管位选
cs:
OUTSTD_LOGIC;--ADC使能
wr:
OUTSTD_LOGIC;--ADC写控制
rd:
OUTSTD_LOGIC--ADC读控制
);
ENDbalance;
--------------------结构体--------------------
ARCHITECTUREbhvOFbalanceIS
TYPEstateIS(start,convert,read1,read2);--状态机定义
SIGNALcurrent_state,next_state:
state;--状态定义
SIGNALread_data:
STD_LOGIC;--读数据寄存器
SIGNALclock:
STD_LOGIC;--扫描时钟
SIGNALp:
INTEGERRANGE0TO255;--数据寄存器
SIGNALb0,b1,b2:
INTEGERRANGE0TO9;--3位数码管显示数据寄存器
SIGNALcnt:
INTEGERRANGE0TO3:
=0;--扫描寄存器
BEGIN
--------------------显示进程--------------------
PROCESS(p,clk)
BEGIN
CASEpIS
WHEN0|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<=0;
WHEN1|11|21|31|41|51|61|71|81|91|101|111|121|131|141|151|161|171|181|191|201|211|221|231|241|251=>b0<=1;
WHEN2|12|22|32|42|52|62|72|82|92|102|112|122|132|142|152|162|172|182|192|202|212|222|232|242|252=>b0<=2;
WHEN3|13|23|33|43|53|63|73|83|93|103|113|123|133|143|153|163|173|183|193|203|213|223|233|243|253=>b0<=3;
WHEN4|14|24|34|44|54|64|74|84|94|104|114|124|134|144|154|164|174|184|194|204|214|224|234|244|254=>b0<=4;
WHEN5|15|25|35|45|55|65|75|85|95|105|115|125|135|145|155|165|175|185|195|205|215|225|235|245|255=>b0<=5;
WHEN6|16|26|36|46|56|66|76|86|96|106|116|126|136|146|156|166|176|186|196|206|216|226|236|246=>b0<=6;
WHEN7|17|27|37|47|57|67|77|87|97|107|117|127|137|147|157|167|177|187|197|207|217|227|237|247=>b0<=7;
WHEN8|18|28|38|48|58|68|78|88|98|108|118|128|138|148|158|168|178|188|198|208|218|228|238|248=>b0<=8;
WHEN9|19|29|39|49|59|69|79|89|99|109|119|129|139|149|159|169|179|189|199|209|219|229|239|249=>b0<=9;
WHENOTHERS=>NULL;
ENDCASE;
CASEpIS
WHEN0|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<=0;
WHEN10|11|12|13|14|15|16|17|18|19|110|111|112|113|114|115|116|117|118|119|210|211|212|213|214|215|216|217|218|219=>b1<=1;
WHEN20|21|22|23|24|25|26|27|28|29|120|121|122|123|124|125|126|127|128|129|220|221|222|223|224|225|226|227|228|229=>b1<=2;
WHEN30|31|32|33|34|35|36|37|38|39|130|131|132|133|134|135|136|137|138|139|230|231|232|233|234|235|236|237|238|239=>b1<=3;
WHEN40|41|42|43|44|45|46|47|48|49|140|141|142|143|144|145|146|147|148|149|240|241|242|243|244|245|246|247|248|249=>b1<=4;
WHEN50|51|52|53|54|55|56|57|58|59|150|151|152|153|154|155|156|157|158|159|250|251|252|253|254|255=>b1<=5;
WHEN60|61|62|63|64|65|66|67|68|69|160|161|162|163|164|165|166|167|168|169=>b1<=6;
WHEN70|71|72|73|74|75|76|77|78|79|170|171|172|173|174|175|176|177|178|179=>b1<=7;
WHEN80|81|82|83|84|85|86|87|88|89|180|181|182|183|184|185|186|187|188|189=>b1<=8;
WHEN90|91|92|93|94|95|96|97|98|99|190|191|192|193|194|195|196|197|198|199=>b1<=9;
WHENOTHERS=>NULL;
ENDCASE;
IF(p<100)THENb2<=0;
ELSIF(p>=100andp<200)THENb2<=1;
ELSIF(p>=200)THENb2<=2;
ENDIF;
ENDPROCESS;
--------------------分频进程--------------------
PROCESS(clk)
VARIABLEcnt1:
INTEGERRANGE0TO100;
VARIABLEcnt2:
INTEGERRANGE0TO20;
BEGIN
IF(clk'EVENTANDclk='1')THEN
IF(cnt1=100)THEN
cnt1:
=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 电子秤 设计