经常夜里用电脑,或写作、或上网,要是开着没有调光功能的工作台灯,40w的白炽灯似乎有点明亮了,总会感觉有点防碍了思考,但是关了灯又会感觉周围暗暗的,连键盘都没法看清。于是自己diy了一个pwm调光的小夜灯。这个电路实现长按开关电路、具有8级调光、低功耗等功能,可以用作夜晚的弱光照明、设备的背光、小功率调光手电等等。对于年少的小朋友,夜里看书、玩电脑最好还是打开台灯或房间的吸顶灯,足够明亮的光线才不会影响视力的发育。
先来了解一下pwm英文全称为pulse width modulation即脉冲宽度调制,是一种利用数字输出对模拟电路进行控制的一种十分有效的技术,非常广泛应用到功率控制、电机调速、通信等各种电子技术培领域中。pwm简单来说就是把模拟信号进行量化,使其变为数字编码方便调控。pwm信号只有“高”和“低”,也可以看作“1”和“0”这2个二进制数字,在直流供电中的任何时刻只表示“通”与“断”。图1是2种占空比信号,分别是占空比为10%和90%的pwm输出。假设信号供电电源为10v,方波以一定频率进行10%占空比输出时,信号10%的时间是通的,90%的时间是断的,输出信号则对应一个电压幅值为1v的模拟信号,如果点空比为100%时,方波则变为高电平,则对应为10v的模拟信号。可能你还是没搞明白是pwm信号到底指什么,那可以看看图2的例子。
图2是一个电灯的控制电路,也是一个可以用pwm控制的电路,如果电池电压为12v,把开关按下50毫秒灯泡就亮50毫秒,这段时间内灯泡得到的电压12v,下一个50毫秒断开开关这时灯泡的电压为0v,1秒内进行10次这样开关,灯泡亮度看起来就像用6v电压供电一样,而6v正是12v的50%,这种情况就是调制频率为10hz,占空比为50%的pwm。
同样的占空比,调制频率越低,负载效率就越低,可以设想一下,10hz就是灯泡不断亮50毫秒灭50毫秒,这样人眼看起来是有点闪烁的,如果在一个周期内把12v供电灯泡点亮.5秒然后再断开5秒,这样就是0.1hz,这时的占空比依然是50%,但是所得到的效果就更差了,光亮度看起来就5秒全亮,然后紧接着5秒全暗,根本就不可能相当于12v的50%(6v)供电的效果了。要想取得像调光灯一样的效果,就需要把调制频率提高,通断循环周期与负载对开关状态变化的响应时间相比必须足够短。大多数负载的pwm应用的调制频率一般是1k-200khz。
了解了pwm的基本原理,我们就可以用硬件电路去实现了。笔者的这个制作里选用了atmel公司的attiny13单片机生成pwm信号,它是一个只有8引脚的低功耗avr单片机,除了基本的单片机功能外,还有一个具有8位pwm功能的定时器,能在pb0(oc0a)、pb1(oc0b)两引脚输出2路独立的pwm信号。本制作的电路图如图3。
制作中用到2颗“食人鱼”白光led(eagle-eye led或piranha led),其外形像食人鱼,所以得其名,所封装的支架为4引脚,提高了散热性能,还具有比较大的发光角度,一般为120度。笔者选用的是5mm的白光“食人鱼”,标称导通电压约为3.6v,电流30ma。制作中直接使用电脑usb取电,电压为5v,pwm信号从pb0输出,通过r3、r4使q1基极得到电流从而对q1发射极电流进行控制,总电流控制在最大60毫安左右。r1、r2则起到限流作用。sw1为功能按键。attiny13使用内部9.6mhzrc振荡电路不对系统时钟进行8分频,使其工作在9.6mhz的频率中,使用内部复位电路,使电路最简化。
笔者使用小型雕刻机制作好pcb后,焊接电路,效果如图5、图6。笔者用包装小型继电器的透明塑料包装条用来安装电路,切割成合适的大小,钻好安装孔,安装电路进入塑料条。使用usb接口线取得电源。使用usbasp工具将固件程序pwmled.hex烧录进入芯片中。电路焊接无误后,无需调试,上电后pwm输出12.5%的占空比,点亮led总电流约为10ma,每短按一次按键时,占空比递增12.5%,直到100%输出电流约为60ma,再短按时又回到12.5%占空比,一共有8个亮度档位。长按3秒则可以关闭和点亮led。图7是安装完成后的发光效果,为了使光线柔和笔者在塑料条上帖了一层美纹纸,光线柔和不剌眼。
本文中前两制作中使用的pcb是使用小型雕刻机在单面玻纤覆铜板上雕刻而成,因板材及雕刻刀具限制,最小线间隔在0.3mm左右,为了方便业余制作画板时尽量保留覆铜面,这样可以减少雕刻时间,同时没有钻过孔,也没有刷阻焊漆,使制作最简化。虽然比不上成品印刷电路板的精度和品质,但是胜在方便快捷,在制作一些业余制作中简单的电路时还是十分好使的。
程序编写使用到c语言,由于attiny13的pwm是由硬件方式产生,只需要更改ocr0a寄存器的值,就可以更改pwm的占空比,所以在程序编写上显得极为简单,只需要编写一个按键处理程序就可以了,然后把按键的次数对应转换为定时器pwm设定值写入到ocr0a寄存器中。ocr0a为8位寄存器,也就是说它可以把一个方波周期分成256份,每增加一个值则占空比增加约为0.4%。
图5:pcb
图6:安装配件
图7:发光效果(左图为普通效果,右图为贴上美纹纸后的效果)
BT321F蓝牙音频主机发射连接TWS耳机回连和主动连接的说明
注射针针尖刺穿力测试仪技术指标请查收!
大兴机场将开通116条航线并在2022年北京冬奥会之前完成转场工作
HCPL-7800隔离运放的功能特点及典型应用分析
大电流弹片微针模组为电池测试提供了质量保障
DIY一个PWM调光的小夜灯
微投影和手机钱包:预测手机行业未来发展趋势
物联网技术在智慧养猪上的作用
刻录机的日常保养和维护
在Android移动设备上应用机器学习
三星和台积电将在扇出型封装展开大战
微生物致病菌检测仪使用说明
下一代iPhone或将支持第三方软件多任务处理
Opencv人脸识别的制作
压力表主要构造、注意事项、常见类型、分类
Linux性能及调优指南:内存架构
工业控制网络安全需要警钟长鸣,决不让病毒攻击有机可乘
并联和串联电抗器的用途
Tqdm:Python超方便的迭代进度条
采用短信方式的汽车防盗报警系统设计