|
楼主 |
发表于 2012-9-19 11:42
|
显示全部楼层
最近抽空又整理了一下关于PWM驱动白炽灯方面的技术资料以及学习心得
前言
以下文章所陈述的观点及外部链接的学术论文和帖子为本作品的理论支撑.
虽然有很多人已经使用PWM技术作为白炽灯的驱动方式, 也产生了很多出色的作品, 但就实际情况而言, 有很多的论点未能经过实验证明, 如PWM驱动与灯泡寿命的关系, PWM驱动的占空比(AKA:dutycycle)与灯泡亮度, 色温的关系, PWM频率与灯丝固有共振频率等等.
所以, 我本人在此郑重声明如下:
- 该作品(暂定名:镁光D型手电驱动器 MagD Flashlight Driver)采用PWM(脉冲宽度调制)技术控制高频N型MOSFet(场效应管)对灯泡进行直接驱动的方式对灯泡寿命产生的影响未经实验证实. 因此该作品可能使其所驱动的灯泡寿命大幅缩短.
- 该作品采用Atmel公司生产的ATTiny85型号的微控制器(AKA:单片机, MCU)作为主控制芯片, 使用该芯片内置的ADC功能测量电池电压, 并根据程序预设定的灯泡额定工作电压计算等效PWM占空比(计算方法下面论述). 该作品可能因测量或计算错误导致输出错误的占空比从而造成被驱动灯泡或电池的损毁. 亦有可能因电池爆炸而导致严重的人身伤害.
- 该作品所使用的电子元件理论上不存在爆炸的可能, 但我本人不排除这种可能性, 亦不排除因电子元件爆炸而导致个人财产损失及人身伤害.
正文
玩筒子已经很多年了, 像大多数人一样走过了从泡子到LED又回归到泡子的路程. 随着LED技术的发展, 现在的LED无论从功耗, 光通量, 寿命等方面都已经大幅超越了传统的白炽灯灯泡. 但灯泡却仍以其独特的魅力仍然存在于很多人的心坎里.
回归灯泡党之后, 我一直在想如何能更好的使白炽灯工作, 延长灯泡寿命, 并能够像LED筒子那样对锂电池进行放电保护. 利用谷歌搜索, 我很快找到了几个相关的帖子, 而最令我激动的属AllanB在candlepowerforums.com上发表的Hotwire Regulator帖子, 是这个帖子给了我设计的灵感, 并促使我最终做出这件作品.
传统的灯泡驱动方式
传统的灯泡驱动方式, 可以说没有驱动方式.. 在灯泡两个引脚上加电压灯泡就能亮, 没记错的话这是初中物理知识. 改变所施加电压的大小就可以改变灯泡的亮度.
在过去, 改变电压大小的方式很少, 常用的是线性稳压, 当输入输出电压差较大时而线性稳压的效率问题使得它用来驱动灯泡是不合适的.
PWM驱动方式
PWM, 作为现代电子技术发展的产物已经广泛应用于各个领域, 如灯光控制, 电机调速等.
对于驱动灯泡来说, 想象这样一个电路, 电池, 灯泡, 开关三者串联. 闭合开关时灯泡点亮, 打开开关时灯泡熄灭.
现在想象有一个超人, 比如终结者在控制这个开关. 我对这个超人说请闭合开关2.5微秒, 然后再打开开关2.5微秒, 然后再闭合开关2.5微秒, 然后再打开开关2.5微秒..........如此往复~ (我相信终结者会直接将我pk的). 这样, 我们就有了一个PWM控制的灯泡. 改变闭合开关与打开开关的时间比例就能控制灯泡的亮度, 闭合开关的时间从零连续增大就实现了软启动. 简单吧~ 理论上, 如果终结者拿着镁光手电, 不需要任何电路就能实现调光.............
MOSFet=终结者的手, 执行开关动作
MCU=终结者的大脑, 控制开关频率
等效电压
PWM基本原理就是这样, 现在来做一些数学作业.
还是基于上述的例子.
闭合开关的时间加上打开开关的时间为5微秒, 设为T
闭合开关的时间设为dT
则打开开关的时间为T-dT
在一秒钟内重复闭合打开开关的次数为1000/5=200次, 所以PWM的频率为200Hz
因dT = T/2 所以占空比为50%.
设电池电压为5V, 现在让我们计算占空比为50%的时候施加在灯泡两端的等效电压Vb.
有人会说... Vb=5V*50%=2.5V呗.. 这还用计算吗?
错!!!
等效电压的衡量标准是灯泡做的功, 也就是平时我们经常接触的千瓦时.
这里给出几个基本的物理公式 ^_^
设:电压=U, 电阻=R,电流=I, 功率=W
有:
U/R=I; 变形 U=I*R, R=U/I
W=UI
根据公式计算上述例子50%占空比的情况下灯泡在一个PWM周期下作的功:
UI*50%*T = 5V*(5V/R)*50%*5ms =62.5V^2/Rms 即 62.5伏安毫秒 即 62.5瓦毫秒(单位不一样, 但跟千瓦时一回事儿)
那么等效电压等于多少呢?
设等效电压=x
xV*(xV/R)*5ms = x^2V^2/R*5ms = 62.5V^2/Rms
解上述公式, 可得出 x = sqrt(62.5/5) = 3.535534V
即等效电压是3.54V, 不是想象中的2.5V哦.
这里引出一个均方根的概念, 设等效电压=Vrms, 输入电压=V, 占空比=C
在PWM方波情况下: Vrms^2/V^2 = C
即 Vrms = V * sqrt(C)
所以如果想达到2.5V的等效电压, 那么占空比应为C=2.5^2/5^2=25%
PWM调光的核心公式被推导出来了.
所参考的一些关于均方根(Root Mean Square)链接:
http://en.wikipedia.org/wiki/Root_mean_square
http://wiki.answers.com/Q/What_are_the_peak_and_RMS_values_of_the_voltage_of_a_pulse-width-modulated_signal
关于本驱动板的Vrms
本驱动板使用单片机内置的ADC(数模转换)功能, 通过测量并联的两枚分压电阻中间点电压计算当前电池电压.
R3 R4
Vcc-----/\/\/\/--------/\/\/\/--------GND
|
|
ADC
在获知电池电压的情况下, 根据程序烧写时给定的灯泡额定工作电压利用上述公式计算出PWM的占空比C.
再利用预先设定的各档位输出百分比计算出当前档位应该输出的占空比Ci
目前的设定是:
LOW = 50%
MID = 80%
HIGH = 100%
BOOST模式是一种特殊的模式, 程序烧写时需给定BOOST模式下灯泡的等效电压, 当切换到BOOST档位时MCU根据该等效电压计算占空比.
关于PWM驱动与灯泡寿命
关于PWM驱动方式与灯泡寿命的关系在网上的资料及文献非常少, 我所能找到的有实验依据的文章只有一篇
http://www.21-lamp.com/Article/Print.asp?ArticleID=1572
在这篇论文中, 通过实验的方式对40枚四种类型的碘钨灯跑进行了PWM驱动寿命测试.
测试使用的PWM波形.
在2000小时的测试过程中, 灯泡损毁情况如下图:
对于H7灯泡的损毁, 论文仅给出了结果, 并未给出结论.
对于H8灯泡的损毁, 论文的作者指出测试时所使用的100HzPWM频率域H8灯泡的灯丝物理共振频率吻合, 使灯丝在工作时发出较大的震动, 这可能是导致H8灯泡大量损毁的原因. 但同样未给出实验结论.
该论文同样给出了均方根等效电压Vrms的计算公式, 并且给出了不同的电压与灯泡色温,亮度及灯泡寿命的关系图.
总而言之, 这篇论文就各类实验项目仅给出了实验结果, 并未对实验结果进行深入分析, 未给出实验结论..
喵了个咪的~ 这叫什么论文.
关于短时电压
在使用大电压驱动小灯泡的情况下, 存在这样一种情况, 在dT时间内, 全部的电池电压被作用在灯泡的两端, 灯泡处于超压工作状态, 上篇论文并未给出这种情况下给灯泡寿命带来的影响. 网上很多人也对此持有不同意见, 有人认为超压驱动的方式会大幅缩短灯泡的使用寿命, 也有人认为灯丝的物理特性决定了它能够承受短时间的大电压, 只要Vrms小于等于灯泡的额定电压就没有任何影响. 但持有这两种观点的人并未能给出具体的论证过程, 亦未进行相关的实验来支持自己的观点.
关于PWM的频率
如何选择PWM的频率, 在网上也没找到相关的技术文章, 但通过查看国外相关驱动板的程序源码, 基本上频率都在200Hz左右. 所以在频率选择上我使用了244Hz.
结论
无...
参考资料
Hotwire Regulator Design Collaboration Project
http://www.candlepowerforums.com/vb/showthread.php?220475-Hotwire-Regulator-Design-Collaboration-Project-part-3&p=2803333#post2803333
PWM Powered Halogen Bulb – Behavior and Circuit Design
http://www.21-lamp.com/Article/Print.asp?ArticleID=1572
Root mean square
http://en.wikipedia.org/wiki/Root_mean_square
Pulse-width modulation
http://en.wikipedia.org/wiki/Pulse-width_modulation
PWM and Quartz Halogen bulb life
https://www.ccsinfo.com/forum/viewtopic.php?p=19785
Overdriving/Overvolting with PWM
http://www.candlepowerforums.com/vb/showthread.php?264069-Overdriving-Overvolting-with-PWM
|
|