ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU

[STM32F0] 【改装】+ 旋转编码器PWM调光LED台灯

[复制链接]
1762|4
 楼主 | 2019-10-4 01:18 | 显示全部楼层 |阅读模式
      这个被改造的旧台灯是从朋友家拿的,早些时候自己家也有一台类似准备改造的台灯,只是灯管架相对于支撑杆来说居中,长度也略长一点,不幸的是准备改造前被老婆收拾房间扔了,结果准备改造触摸台灯的项目下马了。这次从朋友那里拿的这个旧台灯,准备改造成一款采用两颗3W+3W的LED灯珠并采用旋转编码器调整PWM占空比对LED亮度进行连续改变。下面是改造过程的简单记录:

一、改造项目简介
      照明部分使用了2颗东芝3W LED灯珠并配有散热铝板;LED恒流驱动使用了国产的PB1808芯片;PWM波的产生使用了TSSOP20封装的STM32F030F4P6微控制器芯片,PWM波占空比的调整使用了一只EC11旋转编码器进行用户调整控制LED灯的亮度;电源使用了一只旧的9V/0.6A成品电源。台灯在冷启动时默认亮度为最暗状态;热启动时为上次关闭时的亮度。

二、硬件部分介绍
1、主控芯片采用了ST的STM32F030F4P6,只所以选这颗芯片这要原因是手里有一些闲置,再有就是采用STM32CubeMX搭建程序框架比较方便省事,其他就不用多介绍了,这是一款大家都非常熟悉的芯片;

2、LED灯珠。
       LED采用TOSHIBA_TL1F1-NW0-L两只串联,其主要参数见下图。LED散热器选用了一根250*27*5mm的铝合金条;
212716n9wav09t2jt0w2xg.png.thumb.jpg

3、LED驱动芯片BP1808A
      BP1808A是一款多工作模式、宽输入/输出范围的高压DC-DC LED驱动芯片,内部集成80V/300mΩ功率开关。BP1808A可以工作于升压、降压、和升降压模式,其输入/输出电压范围可达3V—70VDC。BP1808A 可通过外置采样电阻调节输出电流的大小,其输出电流的精度可达+/-3%。BP1808A可通过DIM Pin 进行PWM和模拟调光。从手册中引用的说明可以看出这是一款使用非常灵活的芯片,详细资料详附件。

4、旋转编码器及其他
    旋转编码器使用了一只从网上购买的EC11型,使用手感相对于当年玩的道奇收音机上的相比相差太多了,当然价格便宜,也能干活儿;另外的电源应该是路由器上使用的一只电源,输出电流稍小了点。

三、硬件设计及安装
1、电路设计
      STM32F030F4P6只是一个最小系统,BOOT0直接接地;复位NRST使用了一只100n电容接地,上拉电阻实际没有焊接;另外引出了调试线SWDIO、SWCLK;EC11按手册中的说明在两个旋转端子上增加了消抖电容,上拉电阻由于采用了芯片内部的上拉电阻而实际没有焊接; LED的开关使用了一只NPN型8050三极管和一只P沟道的MOS管AO3401进行组合,并通过 STM32F030F4P6的PA4端口进行开关控制;STM32F030F4P6的供电采用了一只拆机的DC-DC电源模块,输入电压4.75v~24v,能提供1A的输出电流,用在这大材小用了,一片HT7133就解决问题了。PCB上画错了,A、B、C三个控制端在接地的状态下输出3.3V,画的时候直接复制的以前5V输出的,还好测试前把负载切断进行空载测试发现了错误。
      BP1808价格很便宜,使用也非常灵活。因为是第一次使用,也算是一次尝试,本案采用了手册中的降压接法:
Image 003.png
Image 004.png
      按照手册中的要求:comp电容使用了一只4n7涤纶电容;续流二级管使用了一只SR260肖特基;检流电阻按公式0.2/0.35A=0.57欧姆,选用了一只标称0.56的2W碳膜电阻,但LED的电流只有0.3A,不知问题出在了哪里?不知道跟实际使用的是普通电感有没有关系,亦或检流电阻值不准确?由于时间关系暂时先这样,下来再说。

2、PCB制作
      根据功能需求利用Sprint-Layout画了块PCB,直接画的PCB也就没有电路图,原则就是怎么方便布线就怎么画,有的朋友说现在打板很便宜干吗自己做?关键我这个方便快捷。画好的板子尺寸只有54mm*42mm、最小线宽0.3mm,其余的部分只是为了不浪费材料而夹带的私货,另案处理;
IMG_20191001_104510.jpg
IMG_20191001_110829.jpg
IMG_20191001_114206.jpg
IMG_20191001_121311.jpg

3、器件安装
    手里的元件比较杂,什么样儿的都有,看着挺热闹。元器件的焊接比较简单,时间都耗费在了找元件上了,慌忙中还把用于LED开关控制的NPN型三极管用成了PNP型,结果后期调试程序时才发现。下面是过程当中拍的几张照片:
IMG_20191002_123138.jpg
IMG_20191002_123453.jpg
IMG_20191003_161828.jpg
IMG_20191003_161900.jpg
IMG_20191002_122735.jpg
IMG_20191002_123049.jpg
213305z4xc4nz8mxbbtzxb.jpg.thumb.jpg
IMG_20191001_175852.jpg
IMG_20191002_123027.jpg
IMG_20191001_175928.jpg

四、软件调试
1、程序框架
      使用用STM32CubeMX搭建程序框架真是方便、省时,实际应用中也是通过这个软件对硬件部分进行了辅助设计。
Image 005.png

2、程序简介
      PWM输出使用了TIM1_CH3,TIM1的计数频率采用了24分频,即48000000/(23+1)=2MHz,PWM频率为2MHz/2000=1000Hz,其实PWM频率在这个应用中不用这么高;PWM极性设计为高,初始化PWM占空比为(Pulse/Period)*100%=20/2000*100%=1%,这样在台灯冷启动时确保LED有一个亮度;
Image 006.png
Image 007.png

      在主函数中,根据EC11旋转、按压等操作所返回的状态来控制外部设备;
Image 008.png
Image 009.png

五、整体组装及测试。这项工作比较简单,细心点别多出配件。
1、拆原台灯并将新设备装入:
IMG_20191003_162332.jpg
IMG_20191003_173045.jpg
IMG_20191003_174009.jpg
IMG_20191003_183453.jpg
IMG_20191003_183627.jpg
IMG_20191003_184039.jpg

2、测试
a、最小占空比
IMG_20191003_185401.jpg

b、冷启动后
IMG_20191003_185345.jpg

c、最大占空比
IMG_20191003_185428.jpg

六、存在问题及改进
1、电源功率稍小。准备替换为9V/1A或12V/1A规格电源,保证有足够的电源储备功率;
2、LED输出电流0.3A。对BP1808电感从新造型,调整电感及检流电阻参数,尝试将输出电源调整至0.34A~0.35A之间;
3、增加灯罩,改善光照。先期考虑使用1.5mm亚克力板打磨制作;
4、EC11检测程序采用的轮询方式,效率较低,有失步现象。改进使用中断检测方式,提高检测灵敏度及精度;
5、LED控制亮度的PWM占空比每次EC11旋转变化幅度过小,LED亮度在某个区段内随PWM占空比变化的影响肉眼感受不大。改进为分区段控制,通过旋转EC11能明显感受LED亮度平滑增减。

七、附件
      工程文件就不上传了,等改进调试后再来分享。下面是BP1808的资料以及改装测试的视频,有点大压缩成两个包,有兴趣的朋友可以看一下。
BP1808.rar (1.74 MB, 下载次数: 3)

使用特权

评论回复
| 2019-10-5 11:47 | 显示全部楼层
弄的真不赖,如果上面用铝箔纸或者金箔纸做个反光板效果肯定更拉轰。然后外面贴个散光板。

使用特权

评论回复
| 2019-10-5 13:09 | 显示全部楼层
不错,感谢分享

使用特权

评论回复
 楼主 | 2019-10-5 20:31 | 显示全部楼层
598330983 发表于 2019-10-5 11:47
弄的真不赖,如果上面用铝箔纸或者金箔纸做个反光板效果肯定更拉轰。然后外面贴个散光板。 ...

台灯原来有一片铝反光板,被LED散热铝板挡住了一大部分。贴铝箔是个好办法,找点试试。谢谢指点!

使用特权

评论回复
 楼主 | 2019-10-5 20:33 | 显示全部楼层

谢谢支持!

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表