基于Cortex—M3单片机的高效智能调光台灯设计
2017-06-10从永正汪陈松刘永健宇俊
从永正++汪陈松++刘永健++宇俊
摘 要:文章简要说明一种基于Cortex-M3的32位单片机高效智能调光台灯的设计方案。该设计采用以Cortex-M3为内核的单片机作为主控单元,通过单片机自带的高效内部ADC单元调制输出PWM波形占空比,通过数字器件处理信号,最终通过降压型电源管理芯片实现对输出电压的调整,实现无级调整,并可通过液晶显示屏显示当前环境温度、台灯亮度以及使用时间计时等,并有多种调光模式。
关键词:单片机;高效能;无级调整
前言
现在市场主要销售的调光台灯在调光方面基本上以分档调节为主,在对电力资源的利用效率方面,大部分产品使用效率并不理想,在提倡低碳环保的今天,显然是不提倡的。本设计着重人性化设计,在调级方面采用两种调级方式,即真无级调光与近无级调光,并且增加了成本低廉但又很实用的温度显示、级数显示、使用时间计时等功能,这对使用者是有极大帮助的。
1 整体设计方案
1.1 调级设计
在调级方面,本设计采用两种方案。
(1)真无级调光。该部分采用0~3.3V电压信号作为信号源,单片机通过内部高速高精度ADC读取该电压值,并以3.3V为电压基准,可以精确地换算出相应的百分比,而此时输出的PWM波形的占空比应等于该百分比与100%的差值,通过旋转型电位器的旋钮,实现对单片机输出PWM波形的占空比从0%调整到100%,这就是真无级调光。这样的无级调光非常精确,可以将满级基数增加到1000或更高,远多于市场上同类产品。
(2)近无级调光。该部分采用按键调级方式,既可以通过加减按键改变级数,也可以采用输入数据的形式达到自己理想亮度级数,为了有利于调整,该方式的满级数设置为100,通过加减或者直接输入的方式得到的数字,以100为基数得到相应的百分比,同样此时输出的PWM波形的占空比就是该百分比与100%的差值。
在主控芯片选用为内核的以Cortex-M3为内核的STM32F103C8T6,该种型号单片机具有明显优势,与8位、16位传统单片机相比,该单片机具有体积小、性能稳定、功耗低、运算速度快、ADC转化速度快、精准度高、软件编写方便等特点。性价比远高于其他类型单片机。
1.2 电压调整输出设计
该设计电压输出调整主要采用降压型电源管理芯片LM2596开关电源调节器,以输出在0~24V为例,通过设计电路,调整部分元器件即可实现,在该芯片输入VCC为24V时,其控制端输入-1.37-1.37V电压,即可使其输出端输出0~24V电压,并且控制电压与输出电压直接呈负相关的线性关系。该芯片具有输出功率大,带载能力强,电源管理效率高等特点。
1.3 数字信号处理设计
数字信号处理电路主要以LM324N集成运算放大器为主,通过阻容高低通滤波,把主控芯片输出的具有一定占空比的PWM信号滤波为在0~3.3V之间变化的电压信号,该电压值随着PWM占空比变化,该运放芯片主要实现对该信号的处理,使该电压信号输出范围调整为-1.37~1.37V,这样就可以使LM2596正常工作,并且该运放芯片也起到了作为该电压信号的缓冲器的作用。
1.4 温度以及调级显示设计
在温度检测采用单总线温度传感器BS18B20,该传感器使用方便,单总线,体积小,价格低,抗干扰能力强,测量精度高等特点。显示采用0.96寸oled液晶显示屏,该显示屏体积小,总线少,能耗低,显示信息量大且清晰等特点,适合在本设计中使用。
2 系统设计实现
2.1 调级电路
(1)真無级调光电路。信号来源是3.3V电源通过3.3K旋转变阻器接地,旋转旋钮,分压得到0~3.3V电压值,通过1K限流串联至单片机IO口,并联瓷片电容和电解电容起高低通滤波作用,对输入电压信号进行滤波,防止纹波干扰。
(2)近无级调光。使用普通按键,按照矩阵键盘方式进行排布,使得在不占用过多引脚的情况下可以产生一定数量的按键供使用者进行加减键入以及直接输入的方式调整级数。
两种调光方式通过拨码开关进行模式选择,并在液晶屏显示模式以及当前级数。
2.2 电压调整输出电路
LM2596调压输出电路如图1所示,由LM2596芯片特性知V(FB)=1.23V。对该电路进行分析,可知:V(FB)=[R1*V(OUT)/(R1+R2+R3)]+[(R2+R3)*U(in)/(R1+R2+R3)]
经过计算,当输入U(in)在-1.37-1.37V之间变化时,该调压电路输出电压值V(OUT)为0-24V,并呈负相关线性变化,无论是输出电压还是输出电流,都符合本设计要求。
2.3 数字信号处理电路
该电路主要由LM324N集成运算放大器构成,此芯片为14P型芯片,每片芯片含有四组运放器,以及公用的工作电压输入端,即正负电源。其中先通过电阻电容组成的滤波电路将PWM波转成电压信号,变化范围为0~3.3V。经过由LM324N组成的差分放大电路,使得电压信号变化为-1.37~1.37V,其中单片机与处理电路输入间、处理电路输出与电压调整电路之间与经过由LM324N组成的缓冲电路,目的是匹配前后的不同时间常数的电路。
2.4 软件程序设计
初始外部信号采集ADC转换、测温和oled显示具体程序在各类电子信息论坛上均有,本文也不进行详细的说明。在PWM波形输出方面,使用单片机内部专门PWM波的定时器编写程序,这样定时准确,且易于操作。在工作模式切换以及按键改变级数方面,采用外部中断扫描方式,这样不仅提高对数字键入读取的准确度,还提高主控芯片的工作效率。
3 设计总结
无论是在真无级情况下还是近无级情况下,经测定,灯泡两端电压均满足设计需求,按键值读入无误,按键输入级数可以准确达到设定亮度,旋钮开关可以实现无级调整,温度读取准确,级数显示准确,使用时间计时准确,实现了设计的初衷。
参考文献
[1]华成英.模拟电子技术基础(第五版)[M].高等教育出版社.
[2]童诗白.数字电子技术基础(第五版)[M].高等教育出版社.
[3]张洋.原子带你玩转STM32库函数版(第二版)[M].北京航空航天大学出版社.
作者简介:从永正(1997,01-),男,汉族,学历:本科,研究方向:测控技术与仪器。