首页 » 通讯 » 单片机小制作感温彩虹杯垫_温度_单片机

单片机小制作感温彩虹杯垫_温度_单片机

少女玫瑰心 2024-12-12 20:26:48 0

扫一扫用手机浏览

文章目录 [+]

图8.1 波兰爱好者制作的感温杯垫

元件选择

为尽可能减少元件数量,我利用一片ATTINY24单片机,同时完成温度丈量以及LED灯的掌握。
为了减少LED驱动所需元件以及简化布线,LED采取了ST505042。
这款LED内置有ST313掌握器,可以用串行双极性旗子暗记直接驱动,并可直接串联,减小了PCB绘制的难度。
此外,由于这款掌握器是采取恒流驱动办法,以是不会有闪烁的问题,同时也可以在3~5V下的任一电压处事情良好,不会涌现由于电阻限流发生电压改变时涌现的偏色问题。
因此,无论是干电池、锂电池,还是5V或3.3V电源,都可以使电路良好事情。

单片机小制作感温彩虹杯垫_温度_单片机 通讯

设计事理

这个制作的电路构造比较大略,电路事理图如图8.2所示,PCB图如图8.3所示。
设计时,为避免电源反接导致电路烧毁,在电源路径上串联了1个肖特基二极管。
之后,利用去耦电容来滤除电源上的滋扰。

图8.2 彩虹杯垫电路事理图

图8.3 彩虹杯垫PCB图

电路利用单片机内部的PN结测温,通过软件即可读到温度值。
单片机利用一个I/O口连接到两个阻值相同的分压电阻,这样当I/O口输出电平时,两个电阻的中点电平为高/低电平,而当I/O口转为高阻状态时,电阻中点电平即可输出1/2VCC,由此可以天生驱动LED所需的双极性旗子暗记。

LED内置的ST313掌握器利用1.2MHz以下的旗子暗记来传输信息,用1/2VCC后接低电平表示逻辑0,用1/2VCC后接高电平表示逻辑1,以此来表达每个LED所需的18bit颜色旗子暗记。
当数据线闲置60µs以上时,ST313将移位寄存器中的数据锁存至LED的电流掌握器中,以改变LED的颜色。
由于我们的连线间隔很短,以是不用考虑电磁滋扰对付数据精确性的影响。
但当长间隔传输时,由于有1/2VCC的存在,可能会导致LED颜色涌现混乱,须要采纳方法减少滋扰的影响。
将LED串行连接,在第1个LED上接入单片机旗子暗记,就可以根据单片机输出的电平旗子暗记单独掌握任何一个LED的RGB颜色了。

编程调试

为了对单片机进行编程,一样平常利用ISP(在线编程)功能进行程序下载。
可是这一功能常日须要6条线,至少也须要除电源线外的4条线。
这对付自行制作的单面电路板布线是有一定难度的,而且会部分毁坏电路的都雅。
一种办理办法是利用单片机烧写座进行编程,这种方法的缺陷是烧写座价格不菲,而且芯片焊接后较难再次编程。

我采取的办理方案是利用AVR的单线调试功能(debugWIRE)实现程序修正。
DebugWIRE是利用单线双向接口的片上调试系统,除电源线外,仅须要1条线就可以实现程序的修正和调试。
但是为开启debugWIRE功能,仍旧须要焊接飞线来修正芯片的熔丝位。
设置熔丝位完成后,即可撤除飞线,仅利用复位线这1条线来掌握芯片的程序。
这种办法唯一的哀求是须要一个原厂的调试工具,如AVR Dragon或MKII。
之后就可以在AVR Studio中直接仿真程序,并按须要插入断点,实时查看各变量的值,以调试程序的精确性。

须要把稳的是,每次断点的利用都将减少Flash的寿命,以是最好不要用同一块芯片调试过多的程序,但调试完直策应用是没有什么问题的。
正常结束调试后,芯片不会在上电时实行程序,在调试运行时拔掉调试线,即可让程序正常运行。
利用debugWIRE时,复位线上不要有其他元件。
不过,debugWIRE会略微增加休眠功耗,故对功耗哀求高的运用末了要将其关闭。

温度标定

利用单片机测定温度时,须要考虑传感器的偏差。
由于单片机测温是利用片上二极管测温,以是偏差比较大。
在不经标定的情形下,可能只有±10℃的精度,以是须要利用标定方法来提高精度。
对付电子丈量来说,我们是用电旗子暗记来表达另一个物理量,也便是用电压来表示温度,并用ADC来转换为数字量。
因此,我们须要电压与温度的函数关系,才能够用电压值来反推温度值。
显然,我们须要知道单片机丈量到的真实温度。
我们可以用一个较高精度的温度计来得到温度值,市售的玻璃水银温度计、指针温度计或远程温度计均可,也可利用万用表附赠的热电偶,或者是经由激光标定的传感器,比如18B20。
如果Geek精神够足,利用冰水稠浊物等非主流方法亦可。

得知温度后,接下来便是建立电压与温度的函数关系。
由于我们终极要由ADC转换为数字量,以是数字量输出和温度的函数关系也是等价的。
空想的情形下,我们要取到尽可能多的温度点,使任何一个输出值都被覆盖到,利用查找表即可用输出值反推温度值。
但是,这么多温度点的覆盖每每是不现实的,我们只能采集有限个数据点,并拟合出函数曲线。
一样平常来说,函数的次数要低于采样的数据点数,可以利用最小二乘法来拟合曲线。
如果只须要结果,excel就能做到这一点。
其余,如果想知道穿过所有点曲线的形状,可以考试测验利用拉格朗日插值法来得到函数。
一样平常工程上,采取等间隔采集多个数据点,然后分段直线拟合就能得到比较不错的效果。

这个制作由于对精度哀求不高,而且追求大略,我们假设数字量输出和温度的函数关系是线性的,而且每1℃的变革对应数字输出量变革1。
我们只须要1个点就能确定函数的位置。
当然,这一点处于待测区间之中会使精度高一些。
在这种情形下,只要把待测点的输出值和标定点的输出值求差,并把这个差加到标定点的真实温度值上,就可以求到待测点的真实温度值。
虽然精度仍旧不高,但对付这个制作绰绰有余。

其余,传感器测定出的温度值可能会有少许的抖动,这会导致系统在临界温度上在两种模式间来回切换。
以是,在温度的剖断上,我采取了滞回算法,即在温度上升到40℃时切换到高温模式,而低落到35℃才能切换回普通模式。
低温也运用类似算法。
这样,系统不会被传感器的抖动所滋扰,事情较为稳定。

制作方法

为组装全体杯垫,须要将PCB裁为六边形,并裁取一块与之形状同等的有机玻璃板,可以在确定切割线后用钢尺赞助,以钩刀划开。
之后,在有机玻璃板中心钻孔,但要把稳钻头速率不能太快,进刀量不要太大,以避免温度过高,导致孔边缘熔化。
在有机玻璃板中心钻孔。
如果有机玻璃板上涌现了划伤,可以用热风枪加热损伤部分,有机玻璃的小划痕会在高温下消逝。
之后在PCB上打上热熔胶,将有机玻璃板粘接在PCB上。
末了将导热胶从有机玻璃板开孔处注入,将开口的上表面和单片机连接成一体。
这样单片机就可以丈量到杯垫表面的温度了。
制作出来的实物如图8.4所示。
至此,将杯垫连接上电源,全体杯垫就会点亮,发出彩色的光芒,如图8.5所示,并可以根据杯垫上饮料的温度,变换出不同的颜色了。

图8.4 制作出的杯垫实物

图8.5 发光效果

标签:

相关文章