基于单片机的ATX电源智能检测仪的设计设计.docx
《基于单片机的ATX电源智能检测仪的设计设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的ATX电源智能检测仪的设计设计.docx(47页珍藏版)》请在冰豆网上搜索。
基于单片机的ATX电源智能检测仪的设计设计
基于单片机的ATX电源智能检测仪的设计
基于单片机的ATX电源智能检测仪的设计
摘要
本文主要阐叙了用51单片机实现ATX电源智能检测仪的设计方法。
该智能检测仪是对电脑电源的输出电压进行检测,判断其性能好坏的一款产品。
设计思路是利用AD芯片对ATX电源实际输出电压进行采集,通过单片机系统对数据进行处理,并将数据和结果在显示模块显示。
本设计能实现采集ATX电源+5V、+12V、+3.3V几个大功率输出端口的电压,判断ATX电源的的性能。
本产品能很准确的检测出ATX电源的实际带负载能力,为ATX电源实际性能检测提供了有力依据。
熒绐譏钲鏌觶鷹緇機库。
关键词
单片机;AD芯片;LCD;ATX电源
TheDesignofATXPowerSupplySmartDetectorBasedMCU鶼渍螻偉阅劍鲰腎邏蘞。
Abstract
Thisarticleillustratesthereclassificationof51MCUwithsmartdetectorATXpowersupplydesign.Thedetectorisintelligentcomputerpowersupplyoutputvoltagefortestingtodeterminetheirqualityofaproduct.TheideaofdesignistousetheADchipATXpowersupplyoutputvoltagetotheactualcollection,throughMCUsystemthedataprocessinganddataandresultsinthedisplaymodule.AcquisitionofthisdesigncanachieveATXpowersupply+5V,+12V,+3.3Vseveralhigh-poweroutputvoltageandjudgetheperformanceoftheATXpowersupply,ThisproductcandetecttheATXpowersupplywiththeactualloadcapacityveryaccurately,providingastrongbasisfortheactualperformancetestoftheATXpowersupply.纣忧蔣氳頑莶驅藥悯骛。
Keyword
MCU;ADchip;LCD;ATXpowersupply
引言
电源是电脑能够运行的动力之源,在电脑运行的过程中我们越来越认识到它的重要性。
如果电源性能不佳,轻则机器时不时给你来个反复启动、仿制处于半梦半醒之间,重则让整部机器为此献身。
即使你机器配备的是品质优良的电源,但随着不断地给机器添置新的硬件和外设,这个电源是否还能担当起重任呢?
我们又如何选择合适的电源呢?
颖刍莖蛺饽亿顿裊赔泷。
打开电源的外壳后一个有经验的用户能够了解电源的工艺水平,但并不能估算出电源输出的实际功率,而且大多数经销商是不会给用户这样的机会的,所以电源的输出功率、各端的最大输出电流等指标通常都标注在电源的铭牌上。
我们怎么知道这些指标是否属实呢?
市场上出现了许许多多的大功率电源,200W——400W的电源到处都是,有杂牌的还有名牌的,面对这么多行行色色的产品,作为消费者,我们到底该如何选择?
很多人只是单纯的用万用表检测下空载情况下电脑电源是否正常,根本不清楚电源的实际负载能力。
市场上很难找到一款检测电脑电源功率的电子产品。
在网上找,费了很大力气才找到深圳的一家公司有类似的产品而且价格昂贵!
针对这种情况,我们很有必要设计个合适的电脑电源检测仪。
目前单片机应用广泛,利用单片机可以设计出一款价格低廉适用性强的检测仪。
它有很大的市场前景,并可以很有力的打击假冒伪劣产品,保护我们消费者的利益。
濫驂膽閉驟羥闈詔寢賻。
1. 设计内容及要求
设计一款单片机ATX电源智能检测仪,能检测出ATX电源的输出功率是否达到要求。
具体要求如下:
(1)采样ATX电源+12V、+5V、+3V输出端子在带大功率负载时所能提供的电压,单片机根据这个电压值判断电源输出功率是否符合要求,并在LCD显示模块显示数据和处理后的结果。
銚銻縵哜鳗鸿锓謎諏涼。
(2)采样ATX电源+5VUSB1+5VUSB2输出端子在带小功率负载时所能提供的电压,并在LCD显示模块显示数据和处理后的结果。
挤貼綬电麥结鈺贖哓类。
(3)ATX电源-12V、-5V用指示灯表示正常与否。
(4)LCD显示模块能对采样的数据及处理后的结果进行循环显示。
2. 整体方案设计和论证
2.1 ATX电源工作原理
检测电脑电源,自然很有必要知道电脑电源的工作原理,以下是对电脑电源的简要介绍:
PC电源的工作流程:
当市电进入电源后,先通过扼流线圈和电容滤波去除高频杂波和干扰信号,然后经过整流和滤波得到高压直流电。
接着通过开关电路把高压直流电转成高频脉动直流电,再送高频开关变压器降压。
最后滤除高频交流部份,这样最后输出供电脑使用的相对纯净的低压直流电。
赔荊紳谘侖驟辽輩袜錈。
图2.1 PC电源流程框图
如图2.1PC电源流程框图所示,电源内部的大致流程为:
高压市频交流输入一、二级EMI滤波电路(滤波)→全桥电路整流(整流)+大容量高压滤波电容(滤波)→高压直流→开关三极管→高频率的脉动直流电→开关变压器(变压)→低压高频交流→低压滤波电路(整流、滤波)→稳定的低压直流输出。
塤礙籟馐决穩賽釙冊庫。
开关管的品质直接决定了电源的稳定性,它也是电源中主要的发热元件,拆开电源后看到的主散热片上的两个晶体管就是开关管。
裊樣祕廬廂颤谚鍘羋蔺。
高频开关变压器同样是整个电路中的核心部件,讲究的是铁氧体的效率、磁芯截面积的大小和磁隙的宽度,截面积过小的变压器容易产生磁饱和而无法输出较大的功率,各个绕组的匝数直接影响输出的电压,通常我们无法具体的掌握这些参数,所以无法准确的判断变压器到底能输出多大的功率。
另外,开关变压器的输出端虽然很多,但其中的某些输出端使用的却是相同的绕组,比如+3.3VDC和+5VDC就是这样,所以当+3.3VDC输出最大电流时+5VDC就无法输出很大的电流了,就是由于这个原因我们不能将电源各个输出端的功率进行简单的累加。
仓嫗盤紲嘱珑詁鍬齊驁。
在主变压器旁边的两个小变压器也有各自的作用,其中一个将开关电路控制信号进行放大以驱动开关管进行工作,同时还可以将开关管工作的高压区和集成电路工作的低压区进行物理隔离。
另外一个完全是一套独立的小型开关电源,这就是我们所说的待机电路,其输出的电压为电源的主电路供电,同时通过+5VSB端输出到主板来实现唤醒功。
绽萬璉轆娛閬蛏鬮绾瀧。
开关电源向电脑提供+5V、+12V、+3.3V、-12V、-5V、+5VUSB1、+5VUSB2七个端口,其中+5V、+12V、+3.3V端口需带的起电脑的大功率负载,才能保证电脑正常运行。
骁顾燁鶚巯瀆蕪領鲡赙。
以上介绍了ATX电源的基本工作原理及一些特殊的输出端口。
我们就是要检测这些特殊的端口,来检测ATX电源的实际负载能力。
瑣钋濺暧惲锟缟馭篩凉。
2.2 整体方案设计与论证
2.2.1 整体方案设计
单片机ATX电源智能检测仪由直流电源模块,单片机模块,数据采集模块,开关模块,负载模块,显示模块几个部分组成。
关系图如下。
鎦诗涇艳损楼紲鯗餳類。
显示模块
图2.2ATX电源智能检测仪设计框图
整体方案简叙:
通过单片机控制开关模块来轮流选通场效应管IRF32055,打开场效应管后,负载开始工作,在打开负载端口的期间,负载会迅速加热。
单片机再控制AD芯片不断的对提供负载工作的端口电压进行采集,并将采集到的模拟值进行处理,然后再把采集到的数据和处理后的结果显示。
栉缏歐锄棗鈕种鵑瑶锬。
2.2.2 整体方案的论证
(1)电源供电
直流电源模块作为给单片机、AD芯片、LED显示提供正常工作
电压的电路,在一般产品的设计中都是不可或缺的,但单片机ATX电源智能检测仪检测的是一个有源器件,而且能提供+5V、+12V的电压,那么我们是否能就只对这个电压进行稳压处理来提供各个模块的正常工作电压呢?
答案是在被检测的ATX电源本身是一个工作在正常状况下可以实现为各个模块提供工作电压,但是当ATX电源在非正常工作状态下或不工作状态下,就会导致ATX电源智能检测仪工作不正常或不工作。
所以直流电源模块是必须的,只有加上了直流电源为各个模块提供正常的工作电压,才能使ATX电源智能检测仪持续稳定的工作。
辔烨棟剛殓攬瑤丽阄应。
(2)AD测量范围的处理
由于接触到的AD芯片都只能采样0-5V的电压,那采样12V就不能直接实现,设计通过加分压电路的方法把采样电压降的测量范围以内,在通过但片机内部处理,折算出实际的电压。
峴扬斕滾澗辐滠兴渙藺。
(3)采样选择
ATX电源智能检测仪主要是检测ATX电源的带负载能力,看它到底能输出多大的功率,而+5VUSB1、+5VUSB2输出端本身并不是大功率输出端口。
考虑到这些,设计就采用只采样而不做大功率测试的采样方法,把大功率负载换成适当的电阻,在采样检测判断是否能输出相应的电压。
詩叁撻訥烬忧毀厉鋨骜。
(4)负电压采样
ATX电源输出-12V、-5V两个负电压,由于接触到的AD芯片都只能采样正电压,就拿ADC0809来说如果要输入负电压信号的话,在输入AD之前应该在这个信号上叠加一个合适的正电压信号,使得输入AD的信号全部在0V以上,然后在微处理器的程序中减去叠加上的正电压信号。
如果强行输入负电压信号可能会导致芯片损坏,即使没有损坏,微处理器读到的数据也只有正电压部分是正确的,负电压部分将被认为是0V。
则鯤愜韋瘓賈晖园栋泷。
2.3 各模块的介绍
2.3.1 直流电源模块
本设计需向芯片提供+5V电压及+12V电压,用最简单的7812及7805稳压电路即可满足要求。
市电进入后经15V变压器整形滤波后向7812提供输入端。
胀鏝彈奥秘孫戶孪钇賻。
2.3.2 单片机模块
本设计的核心控制芯片就是单片机,该模块的功能:
实现对系统的控制.单片机种类繁多,应该选择最合适的单片机,要熟练掌握它的功能且灵活应用.本设计选择的是AT89C51。
优点:
控制方便,性能稳定,资源丰富。
AT89C51单片机简介:
鳃躋峽祷紉诵帮废掃減。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C51是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
稟虛嬪赈维哜妝扩踴粜。
MCS-51系列单片机的引脚图如下
图2.3MCS-51系列单片机的引脚图
2.3.3 数据采集模块
该模块主要实现对ATX电源输出的电压进行采集,通过该数据判断电源的输出功率是否满足要求。
本模块采用ADC0809芯片实现数据的采集,下面对该芯片进行介绍。
ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。
它是逐次逼近式A/D转换器,可以和单片机直接接口。
陽簍埡鲑罷規呜旧岿錟。
(1)ADC0809的内部逻辑结
图2.4ADC0809的内部逻辑结构图
由上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
沩氣嘮戇苌鑿鑿槠谔應。
(2)引脚结构
图2.5ADC0809引角图
图2.6实物图
IN0-IN7:
8条模拟量输入通道
ADC0809对输入模拟量要求:
信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
钡嵐縣緱虜荣产涛團蔺。
地址输入和控制线:
4条
ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
懨俠劑鈍触乐鹇烬觶騮。
通道选择表如下表所示。
表2.1
C
B
A
选择的通道
0
0
0
IN0
0
0
1
IN1
0
1
0
IN2
0
1
1
IN3
1
0
0
IN4
1
0
1
IN5
1
1
0
IN6
1
1
1
IN7
数字量输出及控制线:
11条
ST为转换启动信号。
当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。
OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。
OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。
D7-D0为数字量输出线。
謾饱兗争詣繚鮐癞别瀘。
CLK为时钟输入信号线。
因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(+),VREF(-)为参考电压输入。
呙铉們欤谦鸪饺竞荡赚。
(3)ADC0809应用说明
ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。
初始化时,使ST和OE信号全为低电平。
送要转换的哪一通道的地址到A,B,C端口上。
在ST端给出一个至少有100ns宽的正脉冲信号。
是否转换完毕,我们根据EOC信号来判断。
当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。
2.3.3 开关模块
该模块要实现的功能:
提供单片机选择具体让某块负载工作的端口。
该模块可有用开关功能实现电路加上开关管构成。
莹谐龌蕲賞组靄绉嚴减。
(1)开关功能的实现的选择
方案1:
选择普通三极管,如9012、9013等。
优点:
易于控制。
缺点:
浪费单片机的管脚资源,稳定性差。
方案2:
选择模拟开关芯片。
优点:
易于控制,节约单片机管脚资源,产品已经非常成熟,稳定性好,易于采购。
理想的多路开关其开路电阻为无穷大,其导通时的电阻为零此外,还希望它切换速度快,噪音小,寿命长,工作可靠。
在计算机控制系统中多采用集成电路多路开关,其种类、型号都比较多,有8通道、16通道、甚至32通道的。
常用的多路开关有CD4051(八选1)、菜单4052(双四选1)、cd4067(十六八选1)等。
本设计选择的是CD4051芯片。
下面是对CD4051芯片的详细介绍:
麸肃鹏镟轿騍镣缚縟糶。
CD4051引脚图如下:
图2.7CD4051引角图
功能图如下:
图2.8CD4051功能图
CD4051是8通道多路开关,由逻辑电平转换、二进制译码器和8个开关电路组成。
CD4051的引脚如图2.7所示,图中C、B、A是二进制的控制输入端,INH是允许输入端。
当INH为高电平时,不论从A、B、C端输入何值,8个通道均不通;当INH为低电平时,允许由A、B、C端输入3位二进制数,在8路通道中选择一路将输入和输出接通。
CD4051允许双向使用,改变图中IN/OUT和OUT/IN的接法,可以实现“多到一”或“一到多”的转换。
CD4051是计算机控制系统中广泛使用的模拟开关,直流供电电源为VDD=5~15V,输入电压UIN=0~VDD,它所能传送的数字信号电位变化范围为3~15V,模拟信号峰峰值为15V,当VEE接负电源时,正、负模拟电压均可通过。
接通电阻小,一般小于80Ω,断开电阻高,在VDD-VEE=10V时,泄漏电流的典型值为±10nA。
納畴鳗吶鄖禎銣腻鰲锬。
CD4051应用上有个非常值得注意的地方,那就是VDD的大小会影响到芯片对选通管脚的选择端口A、B、C电压高低的识别。
比如当VDD>10V时,要给A赋高于6V的电压才认为是A至1了。
当VDD<=8V时,只要给A赋5V,A就至1。
風撵鲔貓铁频钙蓟纠庙。
(2)开关管的选择
开关管的要求:
1、必须能承受大功率。
2、开路电阻为无穷大,其导通时的电阻为几乎为零。
3、希望它切换速度快,噪音小,寿命长,工作可靠。
灭嗳骇諗鋅猎輛觏馊藹。
对于这样苛刻的要求也只有场效应管方能胜任。
场效应管与晶体管不同,它是一种电压控制器件(晶体管是电流控制器件),其特性更象电子管,它具有很高的输入阻抗,较大的功率增益,由于是电压控制器件所以噪声小。
场效应管是一种单极型晶体管,它只有一个P-N结,在零偏压的状态下,它是导通的,如果在其栅极(G)和源极(S)之间加上一个反向偏压(称栅极偏压)在反向电场作用下P-N变厚(称耗尽区)沟道变窄,其漏极电流将变小,反向偏压达到一定时,耗尽区将完全沟道"夹断",此时,场效应管进入截止状态,此时的反向偏压我们称之为夹断电压,用Vpo表示,它与栅极电压Vgs和漏源电压Vds之间可近以表示为Vpo=Vps|Vgs|,这里|Vgs|是Vgs的绝对值。
当Vgs=0时Id(漏极电流)=0,只有当Vgs增加到某一个值时才开始导通,有漏极电流产生。
并称开始出现漏极电流时的栅源电压Vgs为开启电压。
本设计是给Vgs提供足够大的电压,使场效应管工作在放大区,Ids完全取值于Rds。
本设计选择了IRF3205,下面是对IRF3205的详细介绍:
铹鸝饷飾镡閌赀诨癱骝。
IRF3205是大功率场效应管,开路电阻为无穷大,其导通时的电阻为几乎为零,切换速度快,只要应用得当,能长时间工作。
攙閿频嵘陣澇諗谴隴泸。
以下通过图片来描述IRF3205场效应管
与Id的关系,
与Id的关系。
图2.9在室温25摄氏度下典型的输出特性
图10在175摄氏度下典型的输出特性
从以上2图可以看出
与Id的关系基本不受温度的影响,且
只要大于1V,Id足可以超过15A。
利用这点可以很好的解决当
为3.3V时向ATX电源提供大功率负载的问题。
趕輾雏纨颗锊讨跃满賺。
图2.11典型的传输特性
从上图可看出,只要
6V,Id能有可达到100A。
足以满足产品设计要求。
图1.12开关时间波形
从上图可以看出IRF3205易于控制,且开关时间短。
2.3.4 显示模块
该模块的功能:
实现对采集到信号的及时显示
方案1:
用LED做时时动态显示。
优点:
控制简单,价格低廉,易于购买。
缺点:
浪费CPU资源。
方案2:
用LCD做静态显示。
优点:
控制简单,价格低廉,易于购买,可以有效的节约CPU资源。
可以显示字符。
缺点:
浪费单片机断口;本设计采用的是LCD1602。
夹覡闾辁駁档驀迁锬減。
下面是LCD1602进行详细资料。
表2.21602B引脚说明
编号
符号
引脚说明
编号号
符号
引脚说明
1
VSS
电源地
9
D2
双向数据口
2
VDD
电源正极
10
D3
双向数据口
3
VL
对比度调节
11
D4
双向数据口
4
RS
数据/命令选择
12
D5
双向数据口
5
R/W
读/写选择
13
D6
双向数据口
6
E
模块使能端
14
D7
双向数据口
7
D0
双向数据口
15
BLK
背光源地
8
D1
双向数据口
16
BLA
背光源正极
VDD:
电源正极,4.5-5.5V,通常使用5V电压;
VL:
LCD对比度调节端,电压调节范围为0-5V。
接正电源时对比度最弱,接地电源时对比度最高,但对比度过高时会产生“鬼影”,因此通常使用一个10K的电位器来调整对比度,或者直接串接一个电阻到地;视絀镘鸸鲚鐘脑钧欖粝。
RS:
MCU写入数据或者指令选择端。
MCU要写入指令时,使RS为低电平;MCU要写入数据时,使RS为高电平;偽澀锟攢鴛擋緬铹鈞錠。
R/W:
读写控制端。
R/W为高电平时,读取数据;R/W为低电平时,写入数据;
E:
LCD模块使能信号控制端。
写数据时,需要下降沿触发模块。
D0-D7:
8位数据总线,三态双向。
如果MCU的I/O口资源紧张的话,该模块也可以只使用4位数据线D4-D7接口传送数据。
本充电器就是采用4位数据传送方式;緦徑铫膾龋轿级镗挢廟。
BLA:
LED背光正极。
需要背光时,BLA串接一个限流电阻接VDD,BLK接地,实测该模块的背光电流为50mA左右;騅憑钶銘侥张礫阵轸蔼。
BLK:
LED背光地端。
根据资料,只要对各端口进行准确的控制,可以很容易的实现读写。
3. 硬件电路
3.1 电源模块
电源模块采用的是最常用的7812、7805稳压电路。
硬件电路图如下:
图3.1直流电源
市电经过15V的交流变压器后进行整流稳压可得到+12V、+5V电压。
3.2 单片机模块
单片机模块主要是起控制作用,具体电路图如下:
图3.2单片机控制模块
为了便于画图,本设计主要是用网络节点来绘图。
单片机要工作的基本条件都必须有,它包括晶振、电源等。
上图中CON16是LCD显示模块。
疠骐錾农剎貯狱颢幗騮。
3.3 AD模块
AD模块主要实现对ATX电源输出电压的采集,具体电路如下:
图3.3AD模块
本模块采用IN-1-IN-5这5个模拟量输入通道,对ATX电源各个端口输出电压进行采集,单片机给出控制地址输入信号A、B、C和控制信号OE、ST控制其工作状况,数据通过IN1-IN7传送给单片机。
镞锊过润启婭澗骆讕瀘。
3.4 与电脑电源的衔接模块
从废旧的主板上拆下与电源衔接的20针座子,因为该接口包括了电脑电源出来的所有需要检测的电压。
具体接口如下图所示:
图4.4电源接口
其中需注意的是:
必须将3、4脚的针同时插上,保证连接。
电脑电源才会启动。
其他的端口有多输出端子,可以只接一个。
榿贰轲誊壟该槛鲻垲赛。
4. 软件设计
4.1 系统总的流程图
显示
图4.1系统流程图
4.2 CD4051控制子程序
voidcd4051()
{
switch(ccd){
case
(1):
{A1=1;B1=0;C1=0;}break;
case
(2):
{A1=0;B1=1;C1=0;}break;
case(3):
{A1=0;B1=0;C1=1;}break;
case(4):
{A1=0;B1=1;C1=1;}break;
case(5):
{A1=1;B1=1;C1=1;}break;
case(6):
{A1=0;B1=0;C1=0;}break;
case(7):
{A1=1;B1=1;C1=0;}break;
case(8):
{A1=1;B1=0;C1=1;}break;
de