开关量输出(精选4篇)
开关量输出 篇1
摘要:为了低成本地实现PLC模拟量输出控制,提出了利用PLC开关量输出实现模拟量输出的方法。采用脉宽调制技术,通过控制脉冲占空比的方法控制PLC晶体管开关量输出信号;使用平滑电路以提高所输出的模拟量信号的线性度,使其具有输出一定范围的模拟量的功能,并拓展了PLC晶体管开关量输出的功能。研究结果表明,该方法的使用大大降低了设备成本的投入,可应用于对模拟量信号分辨率及精度要求不高的场合,具有一定的实用价值。
关键词:可编程逻辑控制器,开关量输出,模拟量输出,PWM脉宽调制,占空比,RC时间常数
0 引 言
PLC已被广泛应用于工业生产,而模拟量控制也已不可或缺,如今主流的PLC均具备模拟量输出模块选件,但一个模块至少需要千元左右,对于只需少量模拟量输出点且转换精度要求不高的系统,如冷却系统风机变频调速系统、供水系统压力控制系统、输送机械变频调速系统等,则显得成本较高。如果采用脉宽调制(PWM)技术,基于现有的PLC晶体管开关量实现模拟量输出,在满足控制要求的同时,可大大降低控制系统成本。
本研究以西门子S7-300、S7-200及三菱FX系列PLC为例,介绍采用PWM技术实现利用PLC晶体管开关量输出模拟量的方法。
1 PWM脉宽调制技术介绍
PWM技术被广泛应用于从测量、通信到功率控制与变换的许多领域中[1]。在本研究中,希望通过采用脉冲周期固定、调整脉冲宽度大小的方法,实现一个与脉冲宽度成线性关系的模拟量输出。开关量输出与模拟量输出的波形图如图1所示。图1(a)中,T0为脉冲周期宽度,是一个固定值,T1为开关量输出脉冲宽度,是一个可控的变化值,Δt=T1/T0为脉冲占空比,即输出导通时间占脉冲周期时间的比例[2],输出关断时,占空比为0%,输出始终导通时占空比为100%;图1(b)中,模拟量输出的大小是随着开关量输出占空比大小的变化而变化的,理想的模拟量输出Uout=Umax×Δt,即输出与占空比成线性关系。
2 输出平滑电路
开关量输出必须配合使用平滑电路,才能实现与占空比成线性关系的模拟量输出。同时,由于受频率特性限制,PLC开关量输出必须是晶体管输出类型。一典型的平滑电路如图2所示[3]。图中,当由共发射极输入端输入时,适用于三菱FX系列等共发射极输出的PLC使用,而增加虚线框内的元件后,由共集电极输入端输入,则适用于共集电极输出的西门子等PLC。
2.1 工作原理
以共发射极输入为例,电源经稳压管稳压后保持在10 V,当输入端IN为低电平时,T1导通,T2关断,电源经T1和电阻R对电容C充电,电容C两端电压慢慢上升,直至上升到电源电压;当输入端IN为高电平时,T1关断,T2导通,这时电容C通过电阻R和T2放电,电容C两端电压慢慢下降,直到为零。由输入端IN的高、低电平控制T1和T2的交替导通和断开,输出端电容C不断地经电阻R进行充、放电,使其两端的直流电压保持在一个相对平衡的值。当T1导通时间加长而T2导通时间缩短时,电容C的充电时间加长,放电时间缩短,电容C两端电压较高;反之,当T1导通时间缩短而T2导通时间加长时,电容C的充电时间缩短,放电时间加长,电容C两端电压较低;当IN始终保持在高电平时,即占空比为0%,T1保持关断,T2保持导通,电容C始终处于放电状态,直至电压为零,而IN始终保持在低电平时,即占空比为100%,T1保持导通,T2保持关断,电容C始终处于充电状态,直至电压为电源电压。电容C两端的电压与充、放电时间的比值基本成线性关系,因此,控制T1、T2的导通和关断时间比例,即输入脉冲信号的占空比,可控制电容C两端电压的大小,即:
Uc=Umax×Δt=10 V×Δt (1)
2.2 主要参数选择
电路能否正常工作,关键取决于以下两个因素:
(1) 充放电电阻R和电容C的值。时间常数t=R×C必须远大于脉冲信号脉冲周期T0,一般取10倍以上。时间常数太小时,电容C两端电压不稳,有明显的脉动,但也不能太大,过大会造成线路响应时间太长。
(2) 脉冲信号频率不能太低。频率降低,T0增大,势必要求增大RC时间常数,电容C容量加大,体积会变得很大,同时造成电容C两端电压脉动明显。由于受限于PLC的性能,脉冲信号的频率不可能很高,根据实际经验,一般以不低于8 Hz为宜,上限则取决于PLC的性能。
3 PLC设置及控制程序
3.1 有专用脉宽调制指令的PLC
西门子S7-200系列PLC有两个PTO/PWM发生器,能建立高速脉冲输出串(PTO输出,脉冲周期可以改变,占空比为50%)或高速脉冲宽度可调节的波形(PWM输出,输出脉冲周期和占空比可以改变)[4,5,6],三菱FX系列PLC也具有专用的脉宽调制指令,实现比较简单。
以三菱FX系列PLC为例,其脉宽调制指令为FNC58(PWM),用于Y000和Y001输出控制(即最多可控制2个点),由于三菱FX系列PLC为共发射极输出,平滑线路PWM脉冲信号须从共发射极输入端输入。指令应用如图3所示。
S1—脉宽T1设定值,0~32 767 ms;S2—脉冲周期T0设定值,0~32 767 ms(图中为50 ms);D—输出端,Y000或Y001.
例:在输出端Y000输出一个20 Hz,占空比为20%的脉冲信号。应设定为:
S2=50 ms,即频率f=1 000 ms/50 ms=20 Hz;S1=10 ms,占空比Δt=S1/S2=20%;分辨率为1/50。当用此设置控制某一最高运行频率为50 Hz的变频器时,理想的频率控制最小单位为1 Hz。
3.2 无专用脉宽调制指令的PLC
西门子S7-300、S7-400等PLC并无专用的脉宽调制指令,但通过循环中断程序(定时中断)也能实现PWM输出。S7-300 PLC的实现方法如下:
(1) 硬件设置。修改CPU设置cyclic interrupts中OB35的循环中断时间[7],这个时间需根据PWM脉冲频率及模拟量输出的分辨率而定,循环中断时间太长,则造成频率太低或分辨率太低,而循环中断时间太短,会使CPU负担太重。以4 ms为例,每1 s内CPU调用OB35的次数为1000 ms÷4 ms=250次,若分辨率要求为1/25,则频率为250÷25=10 Hz。
(2) 控制程序。基于S7-300/400 PLC实现的PWM控制程序如图5所示。
①插入OB35程序块,并在该程序块中加入CALL FC1指令(FC1功能块用作PWM控制程序)。
②以循环中断时间为4 ms,分辨率为1/25为例,其中中间继电器M100.0启动PWM输出,Q4.0作脉冲输出点,DB1.DBW0为脉冲周期计数器,DB1.DBW2为占空比设置值,在FC1中输入如图5所示程序。若在DB1.DBW2中设置为20,程序运行后,置位M100.0,则在Q4.0上输出频率为10 Hz、占空比Δt=20÷25=80%的脉冲信号,经平滑电路处理后,在电容器C上得到理想的模拟信号大小为:
Uc=Umax×Δt=10 V×80%=8 V。
4 应用实例
以杭州发动机有限公司从美国应达公司进口的12.5T保温电炉为例,其逆变电源冷却水要求额定温度为33 ℃,最低不得低于25 ℃,最高不高于69 ℃,冷却水系统由杭州发动机有限公司自行设计配套。为了满足冷却水温度要求,其冷却塔风机采用变频控制,根据水温调节冷却塔风机转速。具体配置如下:
(1) 硬件配置。PLC采用三菱FX1N-40MT-001;温度检测为电炉配套的5个冷却水温度检测开关,接入PLC输入点,分别设置为25 ℃、31.5 ℃、33 ℃、34.5 ℃、40 ℃,其中25 ℃为低温报警点,40 ℃为高温报警点;变频器选用三菱FR-A140E-7.5风机专用变频器。
(2) 参数设置。运行频率控制设置为模拟量0~10 V,最高运行频率52 Hz,模拟量信号由PLC的Y0采用PWM脉宽调制输出后经平滑电路提供,脉冲周期设置为100 ms(S2为100,即脉冲频率10 Hz),占空比设置值则根据冷却水温度自动调整,分辨率为1/25(即S1的最小单位为4 ms),Y2用作变频器运行控制信号。
(3) 工作数据。实际测试的运行数据如图6所示。由图中可以看出实际模拟量输出信号线性较好。由于晶体管饱和压降的缘故,当占空比为0%时,实际输出并非为零,而是0.359 V,在变频控制使用中,太低的频率段并无实用价值,因此,该缺陷对实际应用没有影响;当占空比为100%时,实际输出为9.7 V,由于变频器最高频率设置为52 Hz,变频器实际运行的最高频率为:
Fmax=Uc×52÷10=9.7×52÷10=50.4 Hz,基本接近电动机额定运行频率。
5 结束语
与模拟量输出模块相比,采用PWM控制方法输出的模拟量在实际应用中有一定的局限性,如分辨率低,线性度较差,但仍不失为一种实现模拟量输出的方法,特别是在一些项目总价较低的场合,更具有其应用价值。随着电子技术的发展,PLC运行速度日益提高,采用PMW技术实现模拟量输出,其分辨率及线性度水平将得到很大突破。
参考文献
[1]李永东.脉宽调制(PWM)技术—回顾、现状及展望[J].电气传动,1996,26(3):2-12.
[2]盛乐山.测量波形占空比的一种新方法[J].中国民航学院学报,1992,12(4):41-44.
[3]Mitsubishi Electric Corporation.Fx1s,Fx1n,Fx2n,Fx2nc编程手册[M].三菱电机,2001.
[4]刘曼,李岚.SIMATIC S7-200 CPU22X系列PLC脉宽可调高速脉冲输出(PWM)的使用[J].江西科学,2007,4(2):206-216.
[5]Siemens.S7-200可编程控制器系统手册[M].Siemens,2004.
[6]张寿兵,沈晓红.PLC在步进电机控制中的应用[J].机电工程技术,2008,37(1):104-106.
[7]Siemens.SIMATIC Programming with STEP7 V5.3 Manual[M].Siemens,2004.
微信控制6路输出开关 篇2
关键词:微信,MDK,WebSocket,单片机C8051F020 W5100
1 系统概述
系统框图如图1所示。
通过手机微信, 关注公众号后, 在公众号里, 发送命令“开灯1”, 把单片机输出模块的第一路打开, 如果输入“开灯123456”, 则同时打开6路, 发送命令“关闭3”, 则把第3路输出关闭。
如图2所示。
由于微信本身的开放性, 对于开发者来说, 可以先申请一个公众微信测试号https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login, 然后在微信开发平台设置好URL, 填写自己的服务器地址, Token是自己指定的一个字符串, 微信就会把手机发送的各种消息, 以XML数据包的形式发送到自己的服务器这边。比如我填写了http://www.gamehorse.com/wx/wx.php, 那么微信会把你公众号的消息, 最终发送到wx.php这里。
需要注意的是, 必须先编写wx.php里面的最基本的微信响应回复的代码, 因为微信服务器会对你提交的服务器地址, 先进行测试的。如果仅仅是空代码或者不符合格式, 提交URL会通不过!
在自己的服务器使用xampp建立一个网站。使用C++代码, 编写一个Web Socket程序, Web Socket和wx.php在同一个服务器, 通过使用自定义的TCP协议格式通讯。单片机这边使用C8051F020 (高速、流水线结构的8051兼容的CIP-51内核 (可达25MIPS) ) , 通过网络芯片W5100 (内部集成有10/100Mbps以太网控制器, 主要应用于高集成、高稳定、高性能和低成本的嵌入式系统中) , 单片机和服务器的Web Socket进行通讯, 使用标准的Web Socket协议。以上所见, 这样的系统结构, 复杂度在于服务器这边, 单片机明显降低了难度, 由于不是单片机为服务器, 所以也为单片机以后的扩展, 提供了方便。
Wx.php主要是通过eclipse编程环境, 当然也可以是editplus。
C++服务器代码, 使用了轻量级的MDK网络库, 使用VS2010版本。
单片机使用KEILC UV4,
2 服务器端wx.php
Wx.php里是尽可能的简洁明了, 没有使用任何框架。
define ("TOKEN", "xxx") ;
define ("APP_ID", "xxxxxxxxx") ;
define ("APP_SECRET", "xxxxxxxxx") ;
这三个字符串的信息是在微信开发平台进入自己的测试公众号里。
当有echostr字串时, 进入valid () , 再进入check Signature, 细看具体的代码, 提取出signature, timestamp和nonce, 把timestamp和nonce再混合自己的TOKEN, 通过sha1运算, 形成一个字符串, 这个字符串和signature比较, 相等的话, 通过了验证。
当没有echostr字串时, 进入response Msg。这里, 根据项目要求, 仅仅响应了菜单点击, 键盘输入, 语音输入。
显然text和voice是同一个处理函数, 因为声音已经被微信转换为文字了, 不过声音转换为文字是放在$Recognition字段, 键盘输入的文字是放在$Content的。切记在微信开发平台进入自己的测试公众号把声音功能打开, 否则声音输入是无效的!
进入receive Text ($post Obj) , 把信息放入$content, 进入自定义函数Light On Off ($content) ;在函数Light On Off里使用strpos函数找关键字“关灯”或者“开灯”, 然后分解出路数, 最后解释为1为开灯, 0为关灯, 保存到字串$cbuf中。
前面2个字节为0, 10为整个数据包的长度, 10个字节。在很多的TCP包中, 前面的两个字节一般都是代表长度的。0x81和6由于和Web Socket有关系, 在服务器程序中, 再次说明。$cbuf包含了6路的开灯和关灯数据。
从微信里获取数据后, 通过socket_write到Web Socket程序, 就可以完成, 然而, 实际中发现socket_write写好后, 提示写入成功, 并且是正常的socket_close, 可是很多时候Web Socket程序, 并没有收到任何数据。后来我推测, 应该和PHP的执行程序有关系, 在wx.php语句执行完成后, 整个相关的线程退出, 所以socket_write尽管提示写入成功, 但是还没有完全写入系统缓存, 系统也没有告诉Web Socket程序, 而PHP相关线程的退出, 导致所有的信息消失, 结果Web Socket程序没有收到相应的TCP数据包。针对这个特性, 在socket_write后, 使用socket_recv等待Web Socket程序返回数据。如此, 保证了Web Socket收到了TCP包, wx.php中的socket_recv收到返回数据包后, 再socket_close, 释放系统资源。这样的流程write和recv, Web Socket从来没有丢失过TCP包。
3 服务器端Web Socket
(1) 其实使用PHP语言使用socket_select函数也是能构造一个小型的服务器端, 然后不断的事实证明, 这个非常的不稳定, 困扰了我整整一个月, 不管我怎么改进, 仅仅连接了2个socket, 连接时间1个星期左右, 就会崩溃。最后, 我选用了高性能网络MDK库,
http://www.oschina.net/p/micr odevelopment-kit, 目前最新版本为1.97, 使用后, 性能稳定, 连续运行四个月, 没有发现任何问题。MDK库最后形成一个DLL文件, 在VS2010中, 加载MDK的.h文件, MDK仅仅需要响应业务层最关心的3件事, 连接发生 (On Connect) , 消息到达 (On Close) , 连接关闭 (On Close) 3个接口, 让服务器端开发者可以全身心的投入业务逻辑的开发中。极大的加快了Web Socket程序的开发。
(2) 单片机和服务器端的连接, 完全可以自定义数据包格式, 但是为了更加通用, 最终决定使用国际通用的Web Socket格式。
Web Socket协议首先由客户端发出握手请求。
请注意最后的字串“rn”, 绝对的不能丢掉!
服务器收到握手请求后, 进行Sha1运算后, 然后发回, 客户端再次验证, 如果通过, 就可以下一步的自由通讯了。
下一步的通讯, 使用如下的数据格式。
在Web Socket协议中, 使用序列frames方式来传输数据。一个frame的标准格式如图3。
举个最简单的Web Socket数据例子, 0x81, 6, 1, 0, 0, 0, 0, 0, 这就是符合要求的一个数据包。0x81, 代表FIN=1, 是消息的结束帧, Opcode=1, 代表文本消息。6, 代表Mask=0, 不使用掩码格式, Payload len=6整个数据长度是6个字节。而通过wx.php过来的10个字节, 后面8个字节其实是完全符合Web Socket定义的, 服务器的Web Socket程序, 只要把后面的8个字节直接转发到单片机就可以。
(3) 服务器端的Web Socket是在高性能网络MDK的基础上编写的, 编程环境为VS2010, 由于有两个TCP连接, 一个和wx.php连接, 端口号设定为12345, 一个是和单片机连接, 端口号设定8080。下面主要是分析和单片机连接TCP数据包这部分。当单片机发起握手连接的时候, 在Hand Shake函数中, 提取出Sec-Web Socket-Key关键字后面的字段, 进行Sha1运算, 再进行base64encode包装, 然后再根据填入格式中, 发回单片机。
并设定为握手完成。
后面的进行正常的websocket自由通讯了, 在小于126字节的时候, 可以使用最为简单的封装格式, [0x81], [6路开关], [开关1][开关2][开关3][开关4][开关5][开关6], 在实际中发现Web Socket的TCP连接, 大约3分半的时长不收发任何数据, 会自动断开, 正对这个问题, 服务器websokcet开启定时器, 大约在1分钟左右, 对单片机发送一次以前的数据, 从而保持长连接。
4 单片机C8051F020+W5100
C8051F020通过并口对网络芯片W5100进行读写, 当W5100有数据包到达后, 中断MCU的INT0, MCU进入中断服务程序, 进行数据包的读取。由于整个系统的复杂性, 都在服务器这边, 对于单片机来说, 初始化后,
(1) 连接服务器connect (SOCKET_RECV, server, 8080) 。
(2) 发送握手信号send (SOCKET_RECV, httphead, uhttpheadlenght) 。
(3) 等待INT0中断, 读取数据包, 判断是否是握手信号的回应。如果是, 到4, 如果不是, 异常处理。
(4) 等待INT0中断, 读取数据包, 进行自由通讯的Web Socket消息处理。服务器发送的是6路的开灯和关灯数据, 获取这6路数据后进行业务解释, 如果是1则闭合这路开关, 如果是0, 则断开这路开关。
5 总结
从手机微信发送命令, 经过微信服务器, 到达自己的服务器wx.php, 再到达Web Socket.exe, 再到达单片机C8051F020, 整个系统的复杂性在于服务器这边, 服务器端连续运行到目前为止, 从没有出现过问题。通讯的命令格式使用Web Socket国际标准, 在没有单片机的时候, 通过IE也能非常容易的收发, 验证。
泰国计划扩大对邻国的鸡肉输出量 篇3
Preecha先生说:“泰国已有相当长一段时间未再出现禽流感病毒, 而世界动物卫生组织 (OIE) 也已承认了目前泰国无禽流感疫情的状况, 因此东盟国家应及早考虑撤销对泰国鸡肉的进口禁令。此外, 东盟国家还应在年内按照东盟自由贸易协议 (AFTA) 开放其鸡肉市场。
他补充说, 由于东盟国家经济崛起, 肉类消费量不断增长, 所以泰国的鸡肉出口商应将关注重点放在这一潜力巨大的出口市场上。他指出, 目前肉类消费出现增长的国家包括柬埔寨、马来西亚和越南等。
开关量输出 篇4
关键词:开关电源,单端反激,UC3842,光伏,逆变器
0 引言
随着人们对清洁能源发电重视程度的不断加深,并网型光伏逆变器得到了越来越广泛的应用。光伏逆变器正常工作需要对其开关器件驱动、电压/电流传感器和控制系统进行多路相互隔离的直流供电,一般使用开关电源实现此功能。开关电源需从光伏阵列输出的直流母线取电,经过DC/DC变换实现对光伏逆变器的多路独立供电。由于光伏逆变器可能在不同光照条件下工作,且运行中需要实时控制直流母线电压,因此要求开关电源能适应较大范围内输入直流电压的变化并保证输出电压稳定。
随着电源技术的不断进步,开关电源的控制更加集成化,即通常将PWM控制和保护等功能集中到主控芯片上,以提高可靠性并使得外围电路简单。美国Unitrode公司开发的UC3842是一种高性能的新型开关电源控制器,其频率固定,单端输出,可直接驱动晶体管和MOSFET,具有管脚数量少、外围电路简单、安装与调试简便、性能优良、价格低等优点[1],在国内应用广泛。作为一种新型的电流控制型芯片,其结构上的电压电流双环系统可以有效提高开关电源的电压调整率、负载调整率、系统稳定性和瞬态响应特性[2]。本文以UC3842为核心,提出一种多路直流输出的光伏逆变器用开关电源的设计方法。
1 设计需求
要保证光伏逆变器向电网注入稳定、符合电能质量标准要求的电流,首先必须保证逆变器供电的可靠性和供电质量;由于采用UC3842作为控制芯片的单端反激式电源开关频率高,必须考虑噪声和电磁兼容的问题;光伏阵列输出的电压可变要求开关电源必须具备较大范围内的适应性。因此设计中对外围电路进行了一定的改进以达到减小电压的纹波、保证电源安全稳定和适应不同电压输入的目的。
本文所设计的开关电源为10~100 k W级光伏逆变器供电,包括3路独立的15 V直流电压,为三相逆变器的上桥臂驱动供电;2路共地的15 V直流电压,分别为下驱动桥臂和逆变器过压过热保护电路供电;2路分别为±15 V的共地直流电压,为逆变器的电流传感器供电;2路24 V的独立直流电压,为控制部分供电。直流输入电压的变化范围在200~500 V之间,如图1所示。
2 UC3842内部原理
UC3842有直插式和表贴式2种封装,其内部原理如图2所示,主要包括5 V基准电压源、高频振荡器、误差放大器、过流检测电压比较器、PWM锁存器、输入欠压锁定电路[3,4]。
图2中1脚为误差放大器输出,外接阻容元件,与反向输入端接成PI补偿网络,用于补偿误差放大器的频率特性。2脚为反馈电压输入端,将分压后的反馈电压加到误差放大器的反相输入端,再与同相输入端的基准电压进行比较,产生误差电压。3脚通过外接取样电阻检测开关管的电流,控制PWM锁存器调整输出电压大小,并构成过流保护电路,当输入超过1 V时闭锁输出脉冲。4脚内接振荡器,外接RC振荡元件决定振荡频率,定时电阻R在4脚和8脚之间,定时电容C接在4脚和地之间,振荡频率f=1.72/(RC),其振荡频率最高可达500 k Hz。5脚为控制电路与电源的接地引脚。6脚为驱动脉冲的推挽式输出端,呈图腾柱式输出,驱动电流的平均值可达200 m A,可直接驱动MOSFET的栅极。7脚为外接供电电源的输入端,UC3842的开启和关断电压分别为16 V和10 V,其内部有一个34 V的稳压管,并经内部基准电压电路的作用产生5 V基准电压作为内部电源,再经衰减得到2.5 V电压作为内部比较器的基准电压。8脚为+5 V参考电压输出端,可用于向RC振荡电路提供充电电流。
UC3842在正常工作时通常将反馈绕组电压经电阻分压得到的信号通过误差放大器的反向输入端与内部2.5 V基准电压进行比较,得到的误差电压一方面与反向输入端接成PI补偿网络,另一方面与电流采样电压进行比较,得到电压电流双环控制PWM序列的占空比,达到电路稳定的目的[5,6]。
3 开关电源的设计
所谓单端反激式开关电源,就是在开关管导通时,高频变压器原边流过电流,将电能变为磁能储存,而在开关管截止时,高频变压器就将原先储存的磁能变为电能,在副边输出电能向负载供电[7]。它具有断续和连续2种工作模式[8]。开关电源的硬件设计如图3所示,它主要由直流输入滤波电路、脉宽调制电路、反馈回路、过流保护、输出侧的整流滤波以及UC3842的外围振荡和误差补偿电路组成。当输入的直流电压发生变化时,UC3842能够通过电压反馈回路调节脉宽的占空比,使得变压器副边的直流电压保持稳定。
3.1 输入滤波电路
直流输入从逆变器的直流母排取电,L1、L2、C1和C2的功能是滤除高频分量,获得稳定的直流输入电压,保证良好的电磁兼容性。熔断器F1起到过流保护的作用,电路中设计了一个发光LED1用以指示直流输入。
3.2 启动电路[7,9]
系统的启动过程如下:直流电压逐渐增大,并通过R2向电容C4、C5充电,当电容上的电压达到UC3842的启动电压16 V时,UC3842开始工作。引脚6输出脉宽调制信号控制MOSFET执行高频的开关动作,从而使得变压器不停地充放电并将电磁能量传递到副边,此后反馈绕组的交流输出经过VD2和VD3整流滤波后接替启动过程中的直流电压为UC3842供电。在启动前后,UC3842消耗的电流分别为1 m A以内和15 m A,据此可以确定R2的取值,一般R2由多个电阻并联,并联数量根据功率计算。为了保持稳定的电压,C5的取值应尽量大。
3.3 电压反馈电路
为了保证输出直流电压的稳定性,取高频变压器的一个副边绕组作为电压反馈回路。开关电源正常工作时,变压器反馈绕组的输出经过VD2和VD3整流滤波后一方面为UC3842供电,另一方面经过R4和可调电阻R10的分压作为电压反馈输入UC3842内部误差放大器的反向输入端,此处设置另一个LED用以指示反馈。此外,UC3842的引脚1和引脚2之间外接RC并联电路形成PI补偿,用以改善其闭环和频率特性[9]。当输出电压增大时,引脚2的输入增加,UC3842据此调节输出脉宽的占空比以保证输出电压保持稳定。R10设计为可调电阻,可以在调试时调节各路直流电压的输出大小。同时,由图3可知,R2、R4、R10的配合还可以决定系统的启动电压。
3.4 振荡电路
振荡电路由R11、C11和C12组成,用引脚8的基准参考电压输出,使得R11和C12形成振荡电路,C11起旁路滤波的作用,振荡的锯齿波形接入引脚4决定其电源的开关频率。开关频率过大则增加开关管损耗和发热,开关频率太小不利于发挥高频变压器体积小的特性,输出直流脉动大,取R11=20 kΩ,C12=2.2 n F,振荡频率f=1.72×103/(20×2.2)=40(k Hz)。
3.5 电流检测与保护电路
电流检测电路用于检测开关管流过的电流,通过电流取样电阻R14将电流信号转为电压信号,通过R13和C13滤除尖峰后接入引脚3,形成电流反馈环节并参与调节脉冲序列的输出。当检测到R14上的电压超过1 V时,UC3842过流保护功能启动,不再输出脉冲,起到保护作用。C13可以用2~3个小电容并联进一步减小噪声。
3.6 缓冲吸收电路
由于杂散参数的存在,MOSFET在开通和关断的过程中会产生尖峰,不仅威胁开关管的安全工作,而且影响系统的稳定性。专门针对开关管设计了并联的RC吸收电路,由VD4、R9、C10组成,同时对于单端反激式电源的高频变压器原边绕组,也设计了VD1、R3、C3组成的吸收电路起到保护作用[10,11]。
3.7 驱动电路
由于UC3842具备直接驱动MOSFET的能力,驱动电路比较简单,直接在引脚6的输出外接驱动电阻R8驱动栅极,R12的作用在于限制峰值驱动电流。
3.8 输出整流滤波电路[12]
开关电源共有9路独立的直流输出,每路输出都是由二极管整流加电容滤波组成,相邻的2个滤波电容分别用以整流滤波和滤除更高频的纹波。由于驱动开关管和逆变器保护电路的电源对电能质量要求相对较低,且逆变器开关动作容易对开关电源产生干扰,故前5路输出使用π型滤波,其中第2级电容主要用于抵抗负载的不利影响。2路24 V输出采用了2个二极管并联整流以减少纹波。±15 V输出用于为传感器供电,对电能质量要求最高,因此额外增加了LM7815稳压芯片进一步保证输出电压稳定。C49、C50和C51为共模滤波电容,可以有效地滤除部分高频纹波分量,改善电能质量[13],但对光伏逆变器的IGBT驱动进行供电时,会加大IGBT开关动作对电源的不利影响,所以前5路常规15 V输出不设置共模滤波电容。
3.9 高频变压器设计
高频变压器采用EI33磁芯,根据文献[14-15]的步骤,依次初定工作占空比、磁通密度,计算原副边绕组匝数,确定气隙大小,校验。变压器的主要参数如表1所示。
4 样机试验结果
对本文设计的开关电源进行了向光伏逆变器正常供电的试验测试,达到了设计要求。图4、5是开关电源振荡电路uos、驱动脉冲ug和流过MOSFET的电流im波形,其中电流波形是通过测量流过MOSFET的电流经过一个0.8Ω的采样电阻(即R14)得到的电压波形来获得。在直流输入为350 V时各路直流输出电压的纹波值如下:前5路常规15 V输出电压纹波值分别为210、200、200、190和190 m V,2路±15 V输出电压纹波值均为120 m V,2路24 V输出电压纹波值均为130 m V,其大小代表了开关电源输出的电能质量。
由图4和图5可见,在RC振荡作为时钟信号下,控制芯片正常发出脉冲触发系统工作,流过主电路的电流尖峰得到了一定的抑制。采用该设计得到的直流输出电压纹波达到了使用要求,但是仍有提升的空间。比较几路输出的电压纹波值可知,采用稳压芯片和共模滤波电容起到了改善输出电能质量的作用。
5 结论