找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8136|回复: 2
打印 上一主题 下一主题
收起左侧

单相AC-DC 变换电路 2013年全国大学生电子设计竞赛

[复制链接]
跳转到指定楼层
楼主
ID:142955 发表于 2016-10-16 23:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
完整的设计论文下载:
2013全国电子设计竞赛AC-DC变换电路(A题)设计报告 (1).doc (623.5 KB, 下载次数: 76)

下面是部分内容预览:

2013年全国大学生电子设计竞赛
单相AC-DC 变换电路(A题)
【本科组】





201397
摘要:本设计利用PFC控制系统和51单片机控制系统,通过对电路系统实施监控和调整,来达到对电路性能的提升,以保证电路输出满足题目要求,负载电压误差不超过±0.1V,负载调整率和电压调整率均不超过0.5%,功率因数在95%以上。并且能够使电路在出现过流时能系统断电,实现保护,保证整个电路系统安全、高效的运行。
关键词:PFC控制,单片机控制,自行校正
   
1.设计任务.... 5
2.设计要求.... 5
2.1基本要求... 5
2.2发挥部分... 5
3.设计方案评定与选择.... 6
方案一:... 6
方案二:... 6
方案三:... 6
4.单元模块设计.... 7
4.1 AC/DC电源模块... 7
4.2 Boost升压模块... 7
4.2.1Boost升压结构特性分析... 7
4.2.2 样机电路设计... 9
4.2.3储能电感L. 10
4.2.4 输出电压取样电阻R1、R2. 11
4.2.5 开关S. 11
4.2.6 输出二极管D和输出电容器C2. 11
4.2.7 外补偿网络... 11
4.2.8 斜坡补偿... 12
4.3 功率因数校正模块... 14
4.4 功率因数测量模块... 14
4.5 电路保护模块... 15
4.6 89C54单片机控制模块... 15
4.7 LCD液晶显示模块... 15
4.7.1液晶显示原理... 15
4.7.2引脚功能说明... 16
4.7.3 1602液晶模块的指令(说明:1为高电平、0为低电平)... 16
4.8 直流电源供电模块... 17
5.程序设计.... 17
6.系统调试与分析.... 18
6.1测试仪器:... 18
6.2 硬件调试... 18
6.3 软件调试... 18
6.4 软硬联调... 19
6.5结果分析(系统对题目完成情况)... 19
7.结束语.... 19
参考文献:.... 19
附录一:控制电路.... 20
附录二:源程序.... 20


单相AC-DC 变换电路(A题)
【本科组】
1.设计任务
设计并制作如图1 所示的单相AC-DC变换电路。输出直流电压稳定在36V,输出电流额定值为2A。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg
图1 单相AC-DC 变换电路原理框图
2.设计要求2.1.基本要求
(1)在输入交流电压Us=24V、输出直流电流Io=2A 条件下,使输出直流电压Uo=36V±0.1V。
(2)当Us=24V,Io在0.2A~2.0A 范围内变化时,负载调整率SI ≤ 0.5%。
(3)当Io=2A,Us在20V~30V 范围内变化时,电压调整率SU ≤ 0.5%。
(4)设计并制作功率因数测量电路,实现AC-DC 变换电路输入侧功率因数的测量,测量误差绝对值不大于0.03。
(5)具有输出过流保护功能,动作电流为2.5A±0.2A。
2.2.发挥部分
(1)实现功率因数校正,在Us=24V,Io=2A,Uo=36V 条件下,使AC-DC 变换电路交流输入侧功率因数不低于0.98。
(2)在Us=24V,Io=2A,Uo=36V条件下,使AC-DC 变换电路效率不低于95%。
(3)能够根据设定自动调整功率因数,功率因数调整范围不小于0.80~1.00,稳态误差绝对值不大于0.03
3.设计方案评定与选择
89C52单片机控制模块、LCD液晶显示模块、按键控制模块、直流电源供电模块组成。在本设计中,核心采用PFC校正技术,因此重点对PFC控制方案的选取进行论证。
方案一:使用PWM斩波后利用高频变压器隔离升压的方案。该方案电路原理简单,所需元器件少,方便焊接。但由于高频变压器的加工设计等问题,改进难度大,使用受到限制,而且其电压需要高频整流滤波,电压毛刺较大,精度低,所以不用该方案。
方案二:选用TI公司的UC3854。UC3854封装引脚多,从而导致应用电路复杂,线路之间的干扰较大,因此产品的噪声较大。对焊接工艺要求较高,而且调试电路的难度较大。UC3854 组成的PFC 电路还需要调节电压放大器电流、放大器和乘法器。
方案三:采用带PFC的Boost型DC—DC升压器。该电路有专用的控制芯片,容易实现,电路结构简单,同时采用PFC功率因数校正技术,功耗低,输出电压范围宽。输出电压波形中毛刺也比方案一要小。选用TI公司的UCC28019。UCC28019交流输入市电电流总谐波畸变率低,功率校正因数高,抗干扰能力强,封装引脚较少,PFC控制部分电路相对简单。只需调节一个放大器的补偿网络即可, 高压起动源直接接在高压输入端,光耦直接接到IC 的端子,不再处理放大器的补偿,前沿消隐做在IC 内部,IC 外部只有电流取样。这样的做法使设计的步骤减少了。
综合比较,选择方案三。
方案流程图如图2所示
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif
2  方案流程图
4.单元模块设计4.1 AC/DC电源模块
       自耦变压器是输出和输入共用一组线圈的特殊变压器。通过改变初、次级的线圈匝数比的关系来改变初、次级线圈端电压,实现电压的变换。由于初级和次级线圈直接相连,致使会有跨级漏电的危险。
       隔离变压器是一种1/1的变压器,它的输出端跟输入端是完全“断路”隔离的,这样就有效的对变压器的输入端起到了一个良好的过滤作用,从而给用电设备提供了纯净的电源电压。加之它的次级不与大地相连,任意两线与大地之间没有电位差,人接触任意一条线都不会发生触电,这样就比较安全。
由于MOSFET管工作时频繁的开关,因此对电路的干扰较大,在整流电路前加入EMI滤波电路,从而达到降低噪声的作用。设计中还加入了压敏电阻VAR1,当电路中回路电流过大时,压敏电阻VAR1闭合保险丝F1熔断从而达到保护电路的目的。当输入为220V交流电压时,首先经过隔离变压器降至18V左右交流电压。再经过保护和滤波后输出端接入整流桥,整流部分选用了全波桥式整流电路,输出为直流电压。在选择二极管时,其额定正向电流必须大于流过它的平均电流ID,其反向击穿电压必须大于它两端承受的最大反向电压VRM 。由此确定整流二极管的参数。
利用上述特点,按自耦变压器、隔离变压器和桥式整流器的顺序将三者连接起来,就够成了一个可调、滤波、安全的AC/DC降压模块,如图3所示。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg
图3       AC/DC降压模块
4.2 Boost升压模块
4.2.1Boost升压结构特性分析  
Boost升压电路,可以工作在电流断续工作模式(DCM)和电流连续工作模式(CCM)。CCM工作模式适合大功率输出电路,考虑到负载达到10%以上时,电感电流需保持连续状态,因此,按CCM工作模式来进行特性分析。Boost拓扑结构升压电路基本波形如图3所示
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg
图4   Boost升压电路基本波形
ton时,开关管S为导通状态,二极管D处于截止状态,流经电感L和开关管的电流逐渐增大,电感L两端的电压为Vi,考虑到开关管S漏极对公共端的导通压降Vs,即为Vi-Vston时通过L的电流增加部分△ILon满足式(1)
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.gif                    (1)
式中:Vs为开关管导通时的压降和电流取样电阻Rs上的压降之和,约0.6~0.9V。
    toff时,开关管S截止,二极管D处于导通状态,储存在电感L中的能量提供给输出,流经电感L和二极管D的电流处于减少状态,设二极管D的正向电压为Vf,toff时,电感L两端的电压为Vo+Vf-Vi,电流的减少部分△ILoff满足式(2)。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image016.gif               file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.gif(2)
式中:Vf为整流二极管正向压降,快恢复二极管约0.8V,肖特基二极管约0.5V
   
在电路稳定状态下,即从电流连续后到最大输出时,△ILon=ILoFf,由式(1)(2)可得
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image018.gif                    (3)
因占空比file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.gif,即最大占空比file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image022.gif
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image024.gif             (4)
如果忽略电感损耗,电感输入功率等于输出功率,即
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image026.gif                    (5)
由式(4)和式(5)得电感器平均电流
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image028.gif                   (6)
同时由式(1)得电感器电流纹波
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image030.gif                      (7)
式中:f为开关频率。为保证电流连续,电感电流应满足
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image032.gif                       (8)
考虑到式(6)、式(7)和式(8),可得到满足电流连续情况下的电感值为
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image034.gif                  (9)
另外,由Boost升压电路结构可知,开关管电流峰值Is(max)=二极管电流峰值Id(max)=电感器电流峰值ILP
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image036.gif                               (10)
开关管耐压  file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image038.gif           (11)
二极管反向耐压file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image040.gif            (12)
4.2.2 样机电路设计
样机的电路图如图2所示,是基于UCC28019控制的升压式DC/DC变换器。电路的技术指标为:输入Vi=18V,输出Vo=30V、Io=2A,频率f≈49 kHz,输出纹波噪声1%。根据技术指标要求,结合Boost电路结构的定性分析,对图5的样机电路设计与关键参数的选择进行具体的说明。
   file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image042.jpg
图5   Boost升压模块
4.2.3储能电感L
根据输入电压和输出电压确定最大占空比。由式(4)得
DMAX≈file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image044.gif=file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image046.gif=0.4当输出最大负载时至少应满足电路工作在CCM模式下,即必须满足式(9),
   Lfile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image048.gif=file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image050.gif=220μH同时考虑在10%额定负载以上电流连续的情况,实际设计时可以假设电路在额定输出时,电感纹波电流为平均电流的20~30%,因增加△IL可以减小电感L,但为不增加输出纹波电压而须增大输出电容C2,取30%为平衡点,即
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image052.gif
流过电感L的峰值电流由式(10)得
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image054.gif
L
可选用电感量为200~500μH且通过4.5A以上电流不会饱和的电感器。电感的设计包括磁芯材料、尺寸选择及绕组匝数计算、线径选用等。电路工作时重要的是避免电感饱和、温升过高。磁芯和线径的选择对电感性能和温升影响很大,材质好的磁芯如环形铁粉磁芯,承受峰值电流能力较强,EMI低。而选用线径大的导线绕制电感,能有效降低电感的温升。
4.2.4 输出电压取样电阻R1R2
因UCC28019的脚2为误差放大器反向输入端,芯片内正向输入端为基准2.5v,可知输出电压Vo=2.5(1+R1/R2),根据输出电压可确定取样电阻R1、R2的取值。由于储能电感的作用,在开关管开启和关闭时会形成大的尖峰电流,在检测电阻Rs上产生一个尖峰脉冲,为防止造成UC3842的误动作,在Rs取样点到UC3842的脚3间加入R、C滤波电路,R、C时间常数约等于电流尖峰的持续时间。
4.2.5 开关管S
开关管的电流峰值由式(10)得
Iv(max)=ILP=4.17A
开关管的耐压由式(11)得
Vds(off)=Vo+Vf=30+0.8=30.8V
按20%的余量,可选用6A/50V以上的开关管。为使温升较低,应选用Rds较小的MOS开关管,要考虑的是通态电阻Rds会随PN结温度T1的升高而增大。
下图为实测开关管的开关电压波形和电流瞬态波形图如图6所示。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image056.jpg
6   实测开关管的开关电压波形和电流瞬态波形图
4.2.6 输出二极管D和输出电容器C2
升压电路中输出二极管D必须承受和输出电压值相等的反向电压,并传导负载所需的最大电流。二极管的峰值电流Id(max)=ILP=5.11A,本电路可选用6A/50V以上的快恢复二极管,若采用正向压降低的肖特基二极管,整个电路的效率将得到提高。输出电容C2的选定取决于对输出纹波电压的要求,纹波电压与电容的等效串联电阻ESR有关,电容器的容许纹波电流要大于电路中的纹波电流。电容的ESR<△Vo/△IL=30x1%/1.33=0.22Ω。另外,为满足输出纹波电压相对值的要求,滤波电容量应满足
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image058.gif1157μF
根据计算出的ESR值和容量值选择电容器,由于低温时ESR值增大,故应按低温下的ESR来选择电容,因此,选用1000μF/50V以上频率特性好的电解电容可满足要求。
4.2.7 外补偿网络
   UCC28019误差放大器的输出端脚l与反相输入端脚2之间外接补偿网络Rf、Cf。 Rf、Cf的取值取决于UCC28019环路电压增益、额定输出电流和输出电容,通过改变Rf、Cf的值可改变放大器闭环增益和频响。为使环路得到最佳补偿,可测试环路的稳定度,测量Io脉动时输出电压Vo的瞬态响应来加以判断。
     图7为Cf选用0.0lμF和470pF时动态响应控制波形的区别,上冲下降幅度和复位时间都有差别。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image060.jpg
7  Cf选用0.0lμF470pF时动态响应控制波形
4.2.8 斜坡补偿
在实用电路中,增加斜坡补偿网络,一般有二种方法,一是从斜坡端脚4接补偿网络Rx、Cx至误差放大器反相输入端脚2,使误差放大器输出为斜坡状,再与Rs上感应的电压比较。二是从斜坡端脚4接补偿网络Rx、Cx到电流感应端脚3,将在Rs的感应电压上增加斜坡的斜率,再与平滑的误差电压进行比较,作用是防止谐波振荡现象,避免UC3842工作不稳定,同时改善电流型控制开关电压的噪声特性。本文采用方法二。
4.3 功率因数校正模块
该系统(如图7所示)采用有源功率因数校正,可改善电源输入功率因数,减小输入电流谐波。其主要实现方式有2 种:(1)两级PFC技术,即在整流滤波和DC/DC功率级之间加入有源PFC电路为前置级,用于提高功率因数和实现DC/DC级输入的预稳,该技术一般用于较大功率输出场合;(2)单级PFC技术,即将PFC级与DC/DC级中的元件共用,实现统一控制,通常共用器件为MOSFET。该方式设计与优化尤为重要,适用于小功率应用。
有源功率因数校正的控制方式又可根据电感电流是否连续分为平均电流型控制、CCM/DCM边界控制和电流箝位控制模式。其中CCM/DCM边界控制 Boost PFC是一种滞后控制技术,其上限为正弦基准电流,由输出检测信号经误差放大后与输入全波电压检测信号相乘得到,下限为零。具体工作过程为:检测电感电流并与正弦电流基准信号相比较,当电感电流达到该基准时,关断开关:当电感电流为零则再次导通,使电感电流为临界电流工作状态。即CCM/DCM边界,可消除二极管的反向恢复损耗,大大减小主开关的非零电压导通损耗。该技术优点是控制简单,使用专用器件的外围元件数量少。运用Boost电路的PFC,在 CCM模式下输入电流畸变小且易于滤波,开关管的电流应力也小,可以处理较大的功率并保持较高的效率。
这里选用CCM模式PFC控制器UCC28019实现最终的功率因数校正。该器件采用软启动机制,动态响应良好,结合外围电路可实现输入欠压保护,开环保护,输出过压保护,软过流控制(SOC)和峰值电流限制等功能。系统输出电压由该器件VSENSE引脚所接分压电阻与其内部+5 V的基准决定。由公式  file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image062.gif可得,通过调节分压电阻的比率实现输出电压的数字可调。
PFC控制部分的电路设计见附录1,芯片管脚3电流信号的采集通常采用串联一个电阻,这种方案电路结构简单,成本低,开关电流通过MOSFET开关源串连的分路电阻转换为一个电压。该分压电阻从源极(地)连接到输入整流器返回引脚3。这种检测电流的方法会产生一个负电压,这对于IC而言并不理想,但方案容易实现,所以本方案采用串联一个电阻。
经计算file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image064.gif ,本方案用0.05file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image066.gif。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image068.gif
图7  功率因数校正框架
4.4 功率因数测量模块
变压器副边处通过电流互感器和电压互感器取样交流信号,然后经双路比较器LM393整形后利用等精度法测量相位差,得到系统功率因数。LM393的整形电路如图8所示。
根据公式file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image070.gif进行编程,即可算出功率因数。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image072.jpg
图8  功率因数测量模块
4.5 电路保护模块
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image074.gif
图9  继电器驱动电路图
继电器驱动接口电路如图9所示,如果输入信号为低电平,三极管的基极就会被拉低而产生足够的基极电流,使三极管导通,继电器就会得电吸合,从而断电保护。继电器的输出端并联100Ω的电阻和6800pF的电容,目的是避免继电器吸合与释放期间产生火花。每个继电器都有一对常开常闭的触点,便于在其他电路中使用,继电器线圈两端反相并联的二极管是起到吸收反向电动势的功能,保护相应的驱动三极管,这种继电器驱动方式硬件结构比较简单。
4.6 89C54单片机控制模块   
       该系统采用AT89C52为控制和运算核心,通过等精度测相法测量出系统的功率因数。功率因数校正则以UCC28019为核心,利用硬件电路形成闭环反馈电路,实时监测输出电压、电流。单片机提供过流保护来控制继电器以及采样和显示电压电流。通过单片机实时采样输出电流。当电流过大时单片机控制继电器模块使其断开,系统断电;当故障排除后测得电流值小于预定值时单片机再次发出指令使继电器闭合,电路重新开始正常工作。
4.7 LCD液晶显示模块 4.7.1液晶显示原理
液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。
4.7.2引脚功能说明
  
编号
  
  
符号
  
  
引脚说明
  
  
编号
  
  
符号
  
  
引脚说明
  
  
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
  
  
BLA
  
  
背光源正极
  
  
8
  
  
D1
  
  
数据
  
  
16
  
  
BLK
  
  
背光源负极
  
4.7.3 1602液晶模块的指令(说明:1为高电平、0为低电平)
指令1:清显示,指令码01H,光标复位到地址00H位置。
指令2:光标复位,光标返回到地址00H。
指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。
指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。
指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时
为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:字符发生器RAM地址设置。
指令8:DDRAM地址设置。
指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:写数据。
指令11:读数据。
设计测量输出电压、电流电路图如图5所示,该电路采用霍耳传感器采集电流信号,提高了采集信号的精度,减小了测量误差。单片机内部具有D/A转换功能,通过编程即可将输出电压、电流显示在LCD上。
4.8 直流电源供电模块     
电源按功能分为主电源模块和辅助电源模块两类。主电源由变压部分、滤波部分和稳压部分组成。为整个系统提供高电压或者大电流,确保电路的正常稳定的工作。这部分电路由自耦变压器、隔离变压器和整流桥组成。辅助电源是控制电路、驱动电路的电源。其作用是给控制电路、驱动电路提供稳定的低压稳压电源。要求能输出12V、5V的稳压直流电。
5.程序设计
程序功能设计,该设计采用相位差测量法,即分别对变压器副边检测的电压、电流信号先经比较器整形,然后通过计算得到电压电流的相位差,再进行余弦运算,即可得到系统的功率因数。负载端输出电压、电流经采样得到系统视在功率。根据P=S×COSQ=S2-P2(Q表示无功功率)计算电源的有功功率、无功功率等参数。具体算法见图10。该方法易于操作,而且通过等精度法测相,可达到很高精度,从而能很好满足系统要求(程序见附录)。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image076.gif
10  程序算法
6.系统调试与分析6.1测试仪器
(1)数字万用表
(2)双踪示波器GOS—6051(50MHz)
(3)失真度测试仪
6.2 硬件调试
       整个主电路比较复杂,有三部分:AC\DC电路,boost电路及控制电路, 当电路焊接好后,首先要做的就是检查电路的连接状况,看是否有短路的地方或者是接错了的地方,然后测量输入电压是不是在预定的范围内,通常是没有什么问题的,因为前级的电路就是一个整流桥加一个电感滤波输出通常是输入的0.9-1.2倍,具体值与电容值有关。输出只会有两种情况,一是有输出但输出的电压不是设定值,这种情况很好解决 就是改变电压反馈电阻的值,如果怎么改都没有效果则电路元件的参数没有选好,需要好好的将电路的参数重新计算一遍,二是没有输出,导致这个结果的可能有很多的情况,需要认真读控制器的数据手册查看芯片,然后根据电路的状态确定控制器的工作情况,这是最麻烦的事情了。而且问题比较难找到!很幸运我们没有碰到这个问题,虽然电路的输出与设定值有一定的差距但改变反馈电阻后可以达到设定值。
6.3 软件调试
与硬件相比,软件的调试麻烦的多了,对输出电压采样显示来说,为了达到一定的准确度好多的参数需要校准,将采样值转换为实际的电压值时,其结果与ADC的参考电压与硬件电路的放大比率值有直接关系,虽然参考电压的值在数据手册已经给定了但实际的参考电压与数据手册上有一定的差距,信号调理电路的放大比例也可以通过计算得到但元件的容差会使其不准确,而且这两个量是独立的没有联系,所以要在两者之间权衡,根据多次的调试校准,获得相对准确的值,具体的值在附件程序里见。调试功率因数检测时首先观察程序能不能进入外部中断服务程序,其实只要硬件做好了,这一点问题也没有,实际上也是这样的,程序能够进入中断服务程序,然而在显示器上却看不到结果,显示的只有乱码,后来在线仿真可以看到在数据缓存时出了错,在C54中sfr16 是定义一个寄存器变量,但必须是连续的两字节才能这样,然而定时器0的高低字节不是连续的所以把高字节的值没有缓存,修改后就好了但显示的数据一直在跳动,后来才知道计数值缓存后没有清零,修改后就好了
6.4 软硬联调
       控制系统先加载程序,然后开始输入电压。改变输入条件,检测并记录各类参数值,分析参数值的变化情况,判断系统的运行情况,改进电路以提高电路效率和性能。
6.5结果分析(系统对题目完成情况
①在输入交流电压file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image078.gif=24、输出直流电流file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image080.gif=2A条件下,我们的设计作品能稳定输出,但离指标还有一定的距离。
②当file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image078.gif=24file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image080.gif0.2A~2.0A范围变化时,负载调整率file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image082.gif
③当file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image080.gif=2Afile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image078.gif20V~30V范围变化时,电压调整率file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image082.gif
④通过计算可得,电路的功率因数计算值和测量值相似,在误差范围内,
⑤当电路出现过流现象时,系统断电,实现了过流保护功能。
⑥在人为改变电路,导致功率因数下降时,系统会自动校正功率因数,来提高功率因数值,但未达到题目的要求。
⑦在file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image084.gif=24V,file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image080.gif=2A条件下,file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image078.gif值稳定,但与指标有一定差距。
⑧本设计可以自动校正功率因数,稳态误差绝对值与测量值接近,但未能达到0.89~1.00这样的水平。
⑨本设计的特点之处在于,可以实时显示输出电压、输出电流和功率因数,且误差率极小。
7.结束语
       通过此次竞赛,加深了同学间的友谊,培养了学生间的合作能力,提高了学生的动手能力、创新能力和思考能力,使得我们受益匪浅。
参考文献:
[1] 毛兴武等. 功率因数校正原理与控制IC及其应用设计-北京:中国电力出版社,2007
[2] 王兆安等. 电力电子技术-北京:机械工业出版社,2000
[3] 张乃国. 电子电源技术与应用-北京:机械工业出版社,2007.4 
[4] 刘胜利. 现代高频开关电源实用技术[M].北京:电子工业出版社,2001
[5] 刘生建. 两种功率因数校区(PFC)—龙岩市:控制方法分析与比较龙岩学院报,2007
附录一:控制电路
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image088.jpg
附录二:源程序
#include  <reg52.h>
#define  uint unsigned int
#define  uchar unsigned  char
float num;
uchar xx=0;
ucharmsg1[]="0123456789";
ucharmsg2[]="00.000";
ucharmsg3[]="0.0000";
ucharmsg4[]="U:";
sbit c_rs=P3^4;
sbit c_rw=P3^5;
sbit c_e=P3^6;
sbit AD_OUT=P1^0;
sbit AD_IN=P1^1;
sbit AD_CS=P1^2;
sbit AD_CLK=P1^3;
sbit EOC=P1^4;
sbit P3_0=P3^0;
void  delay(unsigned int tt)
{
    while(tt--);
}
voidWrite_Cmd(uchar dd)
{
     c_rs=0;
     c_rw=0;
     c_e=0;
     delay(50);
     P2=dd;
     c_e=1;
     delay(50);
     c_e=0;
     delay(50);
}
void  Write_Dat(uchar dd)
{
     c_rs=1;
     c_rw=0;
     c_e=0;
     delay(50);
     P2=dd;
     c_e=1;
     delay(50);
     c_e=0;
     delay(50);
}
void Lcd_Init()
{                                 
     Write_Cmd(0x38);
     delay(200);
     Write_Cmd(0x38);
     delay(200);
     Write_Cmd(0x38);
     delay(200);
     Write_Cmd(0x38);
     delay(200);
     Write_Cmd(0x08);
     delay(200);
     Write_Cmd(0x01);
     delay(200);
     Write_Cmd(0x06);
     delay(200);
     Write_Cmd(0x0c);
     delay(200);
     Write_Cmd(0x80+0x00);
}
uint tlc1543(ucharport)
{
      uint m=0;
        uint h;
        uchar i;
        AD_CS=0;
        EOC=1;   
        port<<=4;
        for(i=0;i<10;i++)
      {               
               AD_IN=(bit)(port&0x80);
            AD_CLK=1;
               m<<=1;
          h=AD_OUT;
               m=m|h;         
               AD_CLK=0;                 
            port<<=1;      
        }   
        EOC=0;         
        AD_CS=1;
     return(m);  
}
void  main()
{      
     float res;
     uchar i=0;
        TCON=0x01;
        IP=0x01;
        IE=0x81;
        Lcd_Init();
     while(1)
        {   
                 if(xx==0)
                     {            
                              
                                 num=tlc1543(0);
                                    res=num*5.0/1023.0;      
                              msg2[4]=msg1[(int)(res*1000)%10];
                              msg2[3]=msg1[(int)(res*100)%10];
                                 msg2[1]=msg1[(int)(res*10)%10];   
                                 msg2[0]=msg1[(int)res];        
                                    if(msg2[0]==0x30)
                                    {
                                             msg2[1]=0x20;
                                    }
                                     Write_Cmd(0x80+0x02);                              
                                     Write_Dat(0x55);
                                      Write_Cmd(0x80+0x03);                           
                                     Write_Dat(0x3A);
                                    
                                 i=0;
                              Write_Cmd(0x80+0x44);
                                while(msg2!=0x00)
                                 {
                                           Write_Dat(msg2);
                                           i++;
                                 }
                                    Write_Cmd(0x80+0x50);                        
                                    Write_Dat(0x56);
                   }
                      if(xx==1)
                      {
                           
                                      num=tlc1543(1);
                                      res=num*5.0/1023.0/1.61;
                                      if(res<2.5)
                                      {P3_0=1;}
                                      if(res>=2.5)
                                      {P3_0=0;}
                                      msg3[4]=msg1[(int)(res*1000)%10];
                             msg3[3]=msg1[(int)(res*100)%10];
                                msg3[2]=msg1[(int)(res*10)%10];   
                                msg3[0]=msg1[(int)res];
                                       Write_Cmd(0x80+0x02);                          
                                     Write_Dat(0x49);
                                      Write_Cmd(0x80+0x03);                           
                                     Write_Dat(0x3A);   
                                i=0;
                             Write_Cmd(0x80+0x44);
                              while(msg3!=0x00)
                                {
                                       Write_Dat(msg3);
                                       i++;
                                }
                                      Write_Cmd(0x80+0x50);
                                   Write_Dat(0x41);
                     }
                     if(xx==2)
                     {
                             
                                   num=tlc1543(2);
                                   res=num*5.0/1023.0/40.16;     
                             msg3[4]=msg1[(int)(res*1000)%10];
                             msg3[3]=msg1[(int)(res*100)%10];
                                msg3[2]=msg1[(int)(res*10)%10];   
                                msg3[0]=msg1[(int)res];
                                    Write_Cmd(0x80+0x02);                                
                                     Write_Dat(0xE0);
                                      Write_Cmd(0x80+0x03);                           
                                     Write_Dat(0x3A);                              
                                i=0;
                             Write_Cmd(0x80+0x44);
                               while(msg3!=0x00)
                                {
                                          Write_Dat(msg3);
                                          i++;
                                }
                                   Write_Cmd(0x80+0x50);
                                Write_Dat(0x20);                              
                     }
      }
}
void ISR_INT0()interrupt 0 using 1
{
         xx++;
         if(xx==3)
         xx=0;
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:546381 发表于 2020-8-11 11:36 | 只看该作者
如果有原理图那就好了
回复

使用道具 举报

板凳
ID:511461 发表于 2020-9-2 19:31 | 只看该作者
楼主的文档里面的程序和你帖子上的程序不一样
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表