基于DC/DC稳压器的大功率LED恒流驱动设计
扫描二维码
随时随地手机看文章
摘要:分析了数控制码系统中数据处理的特点,讨论了数控系统中两种传统的数据处理方法及三种改进方法。综合分析各种方法的优缺点,结合制码系统中数据处理的特点,提出了一种更适用的数据处理新方法。该方法即节约了系统资源,又提高了制码速度和工作效率。
关键词:数据处理数控译码制码系统
数控系统的数据处理是指NC程序送入零件缓冲区之后、插补之前的准备工作,主要包括译码、运动轨迹计算、进给速度计算三部分。选用合理的数据处理方法将大幅提高编程的正确性和工作效率,且便于数据校对,尤其适合批量零件和有规律零件程序加工。数据处理方法是否合理主要取决于其连续性、时间效率和资源占用情况。目前,对传统数据处理方法改进的数据处理方法主要有:资源重叠流水处理的解释方法、目标码编译方法、解释一编译方法。它们各有优点和不足,如在不同的环节加快了处理速度,减少了等待时间,但就整体的连续性和时间效率而言,还不够完善。为了进一步提高加工连续性和加工效率,本文针对各算法的优缺点提出了一种新的数据处理方法,更加适用于制码系统的加工处理。
1数控制码系统
制码系统由三个步进电机驱动,在圆形小零件上制码。零件圆面上需以环形刻两组对称的、由字母和数字组成的标记码。规定每个零件上的标记码字符个数相同(取6位字符为例),即每个零件加工时编译的目标码大小一样,所占内存空间相同。标记码主要有两部分:整批零件的代号(相同)和每个零件单独的标记码(不同)。刀具上固定需要用到的字母刀和数字刀,根据转动刀架和转动零件对准零件上需要刻码的位置。所以这三个步进电机分别用来控制刀架的转动、零件的位置和刀架的深浅。其数据处理就是对固定位数的标记码进行译码,主要特点是:每个零件的标记码可作为一个代码段来处理;可以针对标记码中整批零件代号相同和各零件代码不同的特点进行相应的处理;零件上刻的是两组完全相同的标记码,即处理的数据相同,只是改变了位置;每个零件加工的衔接速度很快,数据处理需要有很好的连续性。针对制码系统中数据处理的特点,结合各数据处理方法,研究出一种建立在已有数据处理方法基础之上、更适用于制码系统数据处理的方法。
2传统的数据处理方法
传统的数据处理方法有解释方法和编译方法两种。
(1)解释方法
解释方法是将加工程序整理成某种形式,在加工时由主控程序顺序取出,分析判断后,进行译码处理,并对零件加工程序逐条进行解释、插补和控制。这种方法占用内存少、操作简单,但存在难以克服的缺点:各模块问的控制是顺序的,如果对一个程序的解释过程较慢而使机床具有一定的等待时间,则加工出来的工件就会出现明显的粗糙度;不易处理各程序间的转接,易形成停顿与过切。
(2)编译方法
编译方法是先对加工程序全部编译,将结果放到缓冲区中,当开始加工时,直接启动插补中断程序。从缓冲区中取出编译好的数据,进行计算并控制加工。这种加工方法的优点是加工速度快、效率高;缺点是编译与加工之间存在时间间隔。
3改进的数据处理方法
3。1资源重叠漉水处理的解释方法
针对传统方法的缺点,对传统的解释控制进行改进,即资源重叠流水处理的解释控制方法。时间重叠是流水处理的关键。它不仅是CNC装置处在NC工作方式时,程序输入、译码、插补和位控加工四个处理过程的时间资源重叠,而且译码过程所包含的各子过程,即程序装入、语法检查、解释和刀具补偿四个子过程之间也运用了时间资源重叠。
在NC工作方式下。若用t1、t2、t3、t4分别表示程序输入、译码、插补和位控加工四个子过程的处理时间,则加工一个零件程序段的数据转换时间将是t=tl+t2+t3+t4;在数据处理的译码过程中,tl、t2、t3、t4分别表示程序装入、语法检查、解释和刀具补偿四个子过程的处理时间,则数据处理的总时间将是t=t1+t2+t3+t4。如果以传统的解释方式顺序处理,即第一个数据处理完后再处理第二个数据,则在两个程序段的输出之间将有一个时间长度t的时间间隔,其时空关系如图1(a)所示。这种时间间隔反映在电机上就是电机时转时停,反映在刀具上就是刀具时走时停。不管这种时间间隔多么小,时走时停在数控加工中都是不允许的。
采用重叠流水处理技术可以消除这种间隔,重叠流水处理后的时间空间关系如图1(b)所示。其关键是时间重叠,即在一段时间间隔内不是处理一个过程,而是处理两个或更多的子过程。经过时间重叠流水处理后,每个零件程序段的输出之间、每个数据处理之间不再有间隔,从而保证电机转动和刀具移动的连续性,加快数控加工的速度。
该方法节约了系统资源,有效防止了内存碎片的形成,适应大程序译码和复杂数据处理。
3。2目标码编译方法
目标码编译是执行一个零件的加工程序,只需在开机后首次运行时进行编译,然后将得到的目标码存放在RAM中,下次加工同样的零件时,无需再次对原零件程序进行编译,直接执行目标码即可,从而减少了每次重新编译所占用的时间。
3。3解释一编译方法
单纯使用传统的解释方法或编译方法都有不可避免的缺点,解释一编译方法是将两种方法相结合进行数据处理的方法。在开始加工前先开辟一段内存作为缓冲区(根据具体情况分配),接着一次性编译若干程序段,直到缓冲区满。然后,从缓冲区中取出已编译好的程序段进行加工处理。这里必须给加工处理完的程序置一标志,例如,定义一标志位bufflag,初始为False,程序加工处理完后置为True,则当所有程序的标志位都为True时清空缓冲区,继续装入下一批编译的程序段。译码缓冲区在译码进程初始化时被开辟,在译码进程被杀死时释放。在译码缓冲区的生命期间,数据被不断地写入、修改、读出与清除。对于某一个缓冲区,它不断地接收新的零件程序段,不断地被各子进程轮流处理。这种将大量加工程序分成若干程序段进行编译加工的方法,可有效减少编译等待时间,增加加工效率。
4适用于制码系统数据处理的新方法
上述几种数据处理方法都有其不足,如资源重叠流水处理解释方法只是缩短了进程间的等待时间,其解释阶段不如目标码编译方法效率高,整个译码处理效率不如解释一编译方法;目标码编译方法只是优化了编译阶段的数据处理;解释一编译方法结合解释方法和编译方法,提高了整体数据处理效率,但数据解释送缓冲区阶段不如资源重叠流水处理解释方法效率高,缓冲区编译阶段又不如目标码编译方法效率高。
综合分析上述各方法的优缺点,为制码系统研究出一种更优的数据处理方法。主要思想是:总体运用解释一编译方法,开辟一段内存作为缓冲区,先一次性编译若干代码段存入缓冲区,直到缓冲区满。然后,从缓冲区中取出已编译好的代码段进行加工处理。而在一次性编译若干代码段中各条代码时,采用资源重叠流水处理的解释方法进行编译处理。并且在编译处理时综合采用目标码编译方法,先判断各标志位,如具有相同代码段,就将该段相同代码编译后的目标码存入RAM中,下次处理相同数据时直接调用RAM中的目标码即可。其数据处理过程如下:
(1)定义缓冲区数据格式
根据零件标记码的固定长度分配一定内存空间作为缓冲区,需两个一样大小的缓冲区,一个用来存放若干程序殷(一个零件的6个标记码);另一个用来存放译码结果。缓冲区的数据结构定义如下:
每个缓冲区设置6小块缓冲区BUF0~BUF5,用来存放每个零件的6位标记码,并置相应的bufflag为1;6块缓冲区满后,再依次进行数据译码处理,处理结果放入另一缓冲区,同时置相应的bufflag为2;当6块缓冲区全部准备好(bufflag为2),则进行加工,加工完的标记码所对应的缓冲区就置bufflag为O,继续存放下一个零件标记码。
(2)采用资源重叠流水处理的解释方法进行译码
①从第一个缓冲区取出第一个零件标记码进行编译并将结果放入第二个缓冲区中,同时输入第二个零件的标记码。
②从第二个缓冲区中取出第一个零件的编译结果对第一个零件进行加工,这时编译第二个零件的标记码放入已空的第二个缓冲区中,同时输入第三个零件的标记码。
③第一个零件加工完毕,继续加工第二个零件,并编译第三个零件的标记码,同时输入第四个零件的标记码。
采用重叠流水数据译码处理,直到加工完成整批零件。数据译码处理过程如图2。
(3)编译缓冲区的数据
数据编译阶段,即从第一个缓冲区取出数据进行编译的阶段,编译结果存入第二个缓冲区,采用目标码编译方法对数据进行编译。由于零件上标记码是两组对称的相同代码且整批零件的代号相同,为了避免重复编译相同代码,在缓冲区格式中定义了两个标志位accessorynuml和accessorynum2。accessorynuml是某个零件单独标记码编译后的目标码标志位,为0表示该码还未编译或已重复使用一次;为1表示已编译存储,且还未重复使用。accessorynum2是整批零件代号编译后的目标码标志位,为0表示还未编译或已重复使用n次;为n表示第一次编译存储,且未重复使用;为i表示已重复使用了n-i次(n为整批零件数,i为1~n间的整数)。当acccssorynum1为1时说明该零件单独标记码还要被使用,应先保存,下次使用时可以直接加工而无需再去编译;由于加工零件是对称的。所以第二次加工就无需重新编译而直接加工即可。当accessorynum2的值大于O小于n时,说明该代码需保存。由于整批零件的代号相同,因此加工每个零件时都可以直接调用第一次编译好的代号数据直接加工。通过accessorynum1和accessorynum2两个标志位,可以加快数据编译处理速度,有效提高数据处理的效率。
当一个零件加工完换下一个零件时,继续进行下一个零件标记码的数据处理,直到加工完整批零件。只有在输入或编译下一个零件,即需要占用两缓冲区之一、而上一零件的编译或加工还没有处理完时需要等待,但这种等待是极其短暂的。
经实验可知,数控制码系统中运用资源重叠流水解释方法实现数据处理时,一个零件的制码时问需要2。4s;运用解释一编译方法实现数据处理时,需要2。3s;而运用这种新数据处理方法实现数据处理时,只需要2。0s,比运用前两种方法的教率分别提高了16。7%和13。04%,有效地提高了数控制码的速度和效率,且使用至今一直很稳定。
这种新的数据处理方法适合大量有规律或程序段较短的数控程序的译码。它能节约系统资源,加快数据处理速度,且译码缓冲区是静态分配的,可有效防止内存碎片的形成。该方法还能很好地利用Windows系统本身提供的基于线程的抢先式多任务机制。
2改进方案
DC/DC开关稳压器内部集成的常见的基准电压有1。23V、1。25V、2。5V和5V等,若按图2所示,设计成恒流源给工作电流为350mA的单颗1W的白光LED供电时,以准电压为Vref=1。23V为例,采样电阻上的损耗为1。23×0。35=0。4305W,忽略DC/DC变换器及其他损耗,电源的最高效率为:
若为工作电流为700mA的单颗3W的白光LED供电时,采样电阻上的损耗则更大。为了降低功耗,提高效率,应该尽量选用小阻值采样电阻,但采用小阻值的采样电阻后,图2中的反馈电压Vref变小,输出电流不能达到理想值,为了满足需求,提高电路对输出电流变化进行控制的灵敏度,提高恒流精度,需要增加放大电路对采样信号放大,如图3所示。
图3改进的DC/DC开关恒流源原理框图
当电路进入恒流工作状态时,输出电流Iout满足式(3):
一般来说,运算放大器的增益都能做到很大,这样电路中就可以采用很小的采样电阻,从而达到降低损耗、提高效率的目的。假设采样电阻采用0。1Ω,同样为工作电流为350mA的单颗1W的白光LED供电时,在采样电阻上的损耗为0。01225W。一般来说,通用的运算放大器的工作电流和最大工作电压分别在1mA和30V左右,加上运算放大器及其附属电路的损耗,增加的电路的总损耗大约0。05W左右,忽略DC/DC变换器及其他损耗,效率最高可达
效率明显提高。
将式(3)变换得出:
由式(4)可以看出,合理设置电阻Rf、R1和Rs的值,即可获得所需的输出电流值,并能获得理想的效率。
3设计实例
目前,在市面上可以找到很多价格低廉、性能优良的可调输出的DC/DC单片集成开关稳压器或者控制器,如LM2577-ADJ、LM2596-ADJ、LT1086-ADJ、TL494、MC34063等,LM2596-ADJ是LM2596中可调输出电压的电源管理单片集成电路,内部集成固定频率发生电路以及频率补偿电路,最大输出电流可达3A,具有功耗小(待机电流仅80μA)、效率高、过热保护和限流保护功能、很好的线性和负载调节、外围电路简单等特性。图4所示是基于LM2596-ADJ的LED开关恒流稳压电源。
图4基于LM2596-ADJ的LED开关恒流稳压电源
该电路中,含有电压控制环路和电流控制环路两个环路。电压控制环路由运算放大器U2A、R1、R5组成,用于控制电源的最大输出电压,其输出电压Vout由式(5)表示。
式(5)中,Vref=1。23V,VD=0。4V。由式(5)可以看出,改变R1和R5的参数就能改变最大输出电压的值。在LED驱动电路的实际应用中,Vout应高于实际的负载电压,并且负载电压VLoad应满足式(6),电源才能自动工作于恒流模式。
电流控制环由运算放大器U2B、R7、R3、C2、R6、R2、C5组成。电源的输出电流Iout由式(7)表示。
由式(7)看出,改变R2、R6或者R7的值,即可改变输出电流的值。当输出电流较大时,R7可以采用阻值更小的电阻,以降低功耗。
Q1、R4、C6、ZD1构成运算放大器的供电稳压电路,保证给运算放大器的供电电压不超过其最大允许工作电压。
D6、D7组成电压反馈环路和电流反馈回路自动切换控制电路。当电源工作在恒压模式时,由于负载电流小,U2B的输出电压V2小于U2A的输出电压V1,此时D6导通,D7截止,U2B的输出不影响U2A的输出;当负载电流增大到设定值时,U2B的输出电压V2大于U2A的输出电压V1,此时电源自动切换到恒流模式,D7导通,D6截止,U2A的输出不影响U2B的输出。2个控制环路中,同时只有一个控制环路起主导控制作用。当电压控制环路起主导作用时,输出电压不随负载电流的变化而变换,保持恒定值,相当于恒压源;当电源输出电流增大,达到设定值时,电源自动转入恒流模式,电流控制环路起主导作用,输出电压随负载的变化而变换,输出电流值保持恒定,相当于恒流源。
表1和表2是基于LM2596-ADJ的LED开关恒流稳压电源的相关实测数据,表1中的理想效率是按照式(8),且在开关频率为150kHz、开关时间Ts为0。3μs的条件下计算而得:
表1效率测试数据
表2恒流精度测试数据
式(8)为最理想的开关损耗情况下,Buck调整器的效率计算公式,式中,Vdc为电源的输入电压。
从表1的测试数据来看,实测效率与理想效率接近,且超过了87%,接近88%。这主要是因为实现恒压源到恒流源转变所增加的小阻值采样电阻以及低功耗的运算放大器等附加电路,并没有明显增加电源的总损耗。
从表2的数据来看,电源的恒流误差小于1%,具有相当高的恒流精度。这是因为负载上电流的很小变化,经过运算放大器放大后,都能被控制电路感知,从而使输出电流保持在一个稳定的值。
根据式(7),输出电流
但由于电路中的二极管D7处于微导通状态,导致电源的实际输出电流值与计算值存在一定偏差,但误差很小,可以通过修改反馈电阻的值,获得理想的电流值。
4结束语
基于LM2596-ADJ的LED开关恒流稳压电源已经投入实际使用,且长期工作稳定可靠,该电路的成功设计,说明了利用市面常用DC/DC稳压器设计成高效的LED恒流驱动的方法的可行性,且取材广泛,成本低。从实验数据可以看出,电路具有恒流精度高、效率高。该电源电路不仅可用于大功率LED驱动,还可用于电池充电等。