一套基于使用状态自动调节灯泡亮度的显微镜光源智能控制系统的设计

2022-07-18 09:16张楚炎
医疗装备 2022年13期
关键词:编码器显微镜灯泡

张楚炎

南京市第二医院 (江苏 南京 210000)

显微镜是一种精密光学仪器,被广泛应用于各个领域,尤其是医学诊断和科研领域[1]。显微镜的产品质量主要取决于光学系统(包括照明系统、聚光镜、物镜和目镜等)是否能产生高分辨率、低视觉疲劳感、立体感等优良的视觉效果[2]。

目前,普通显微镜的光源主要分为LED 和卤素灯泡两大类[3]。其中卤素灯泡光源显微镜的光源部分经常发生故障[4],且灯泡烧坏率较高[5-6]。分析我院近3年的显微镜报修记录发现,光源故障占比69%。究其原因,一方面是灯丝老化所致,属于自然损耗;而另一方面则是人为操作不规范造成的,如打开光源时未将亮度调节旋钮置于最低挡,导致开启瞬间电流过大,灯丝烧断。另外,使用后忘记关闭电源,从而损害灯泡寿命的情况也时有发生[7-8]。

基于上述情况,除了加强相关使用人员的培训外,本研究设计了一套显微镜光源智能控制系统,可以实时判断显微镜的使用状态并且根据使用状态自动调节光源的输出电压,从而降低因人为操作失误所导致的卤素灯泡异常损耗,也可在一定程度上节约能源。本研究的主要工作包括:(1)改进了光源供电电源的反馈回路,使其输出电压数控可调并预留控制接口;(2)设计了控制系统,以单片机为核心配合数模转换芯片,通过供电电源的控制接口对光源的输出电压进行数字化调节;(3)采用光电传感器和人体红外传感器,并编写相应判断算法,实现了对显微镜使用状态(即使用或者闲置)的判断,并根据此结果对显微镜光源供电电压进行自动调节。

1 系统结构

显微镜光源系统通过调节光源的供电电压进而调节亮度[1],而市面上的卤素灯泡大同小异,大多只有额定电压与功率的区别,因此本研究以一款规格为“6 V、20 W”的卤素灯泡为例进行了设计。

1.1 硬件总体结构

整个硬件系统分为电力系统和控制系统两大部分,见图1。电力系统是以单片式开关电源芯片TOP223为核心的开关电源[9],最大输出功率为15 W,可将220 V 交流电变为直流电给灯泡供电[10];同时,使用旋转编码器代替了传统的电位器并修改了开关电源的反馈电路部分[11],以实现输出电压数控调节的功能[12-13];此外,预留了控制接口,为后续的自动化调节奠定了基础。控制系统以单片机为核心配合多个传感器构成,可以实现对显微镜使用状态的判断和对灯泡供电电压的自动调节。

图1 硬件系统结构框图

1.2 总体流程图

系统总体运行流程见图2。整个系统上电以后,首先进行初始化,然后进行外设和传感器的初始化,完成后自动将灯泡电压平缓提升至上次关机时的光源输出电压,之后进入循环,在循环中通过读取传感器的值判断显微镜的使用状态并调节输出电压;通过读取旋转编码器的输出来手动调节光源的输出电压。

图2 系统流程图

2 电力系统设计

2.1 TOP223

选择T OP223作为开关电源的主控芯片。TOP223芯片是美国PI公司出品的一款单片式开关电源芯片,该芯片内部集成了MOS管,仅需较少的外围元器件即可搭建一套完整的开关电源。芯片的AC-DC转换效率高达90%,自带限流和过温保护功能,稳定性高,应用广泛。

2.2 电力系统概述

电力系统设计原理见图3,其输出电压在1.2~4.6 V 之间可调,最大输出功率为15 W。图3中右侧所示3个端口中,LIGHT 端口接灯泡正极,GND_A 端口接灯泡负极,ADJ 口接控制系统用于输入控制电压。具体电路原理在此不过多讲解,本设计主要对电力系统的反馈回路做了改进,以实现输出数控可调的目的。

2.3 反馈回路设计

图3中的LM2904为双运放芯片,运算放大器A 与电阻R23、R60、R63、R61和电容C59组成电压比较器A,它的作用是输出一个固定的电压VA;运算放大器B 与电阻R64、R55、R56和电容C61组成电压比较器B,用于接收控制信号,由于R55和R56分压的作用并且两者阻值相等,因此比较器B 负端的输入电压值为OUT 端口电压值的一半,即电压比较器B 输出值VB 等于2倍的AD 端口输入电压值。VA 和VB 分别通过而两个二极管共阴极接入反馈光耦芯片PC6,即该端反馈电压由VB 控制但不得小于VA,这样做的原因是由于开关电源的输出不能为0。另一路光耦芯片PC7连接开关电源的输出电压,通过稳压管D54用于维持输出电压的稳定[14-15]。

图3 电力系统原理图

3 控制系统设计

3.1 控制系统整体设计

控制系统结构见图4。控制系统以单片机STM32F407VET6为主控芯片[16]。电源模块通过AC/DC模块和稳压模块将市电转化成3.3 V直流电压,为单片机及硬件外设供电;2.5 V基准电压为精准模拟电路供电;易失数据存储模块(EEPROM)作为掉电后数据不丢失的存储芯片,记录常用电压值。DAC模块通过IIC总线与MCU通信,将每次计算的数字电压转换成模拟电压,用来控制开关电源的输出电压。旋转编码器用于用户手动调节电源输出电压。光电传感器和人体红外传感器用于判断显微镜的使用状态,当判断为空闲状态时,发出报警并控制输出电压平缓步进降至最低;当判断为在用状态时,输出电压平缓步进至上次关机时的电压值。显示模块、按键模块、蜂鸣器和LED灯等用于用户交互,显示相关系统信息进行声光报警。

图4 控制系统结构框图

3.2 主控模块设计

主控模块设计见图5。主控模块以意法半导体公司所生产的STM32F407VET6单片机为核心,该单片机支持最高为168 MHz 的时钟频率,片上存储容量高达512 kB,共有144个I/O 口,支持IIC、SPI、USART 等通信协议,完全满足本设计的要求。

图5 主控模块设计

3.3 电源模块设计

电源模块设计原理见图6。电源模块包含一个低压差稳压芯片AMS1117和一个基准电压芯片CJ431。AMS1117将输入的5 V 直流电转换成3.3 V给整个控制系统使用,CJ431用于提供一个精准的2.496 V 参考电压给DAC 模块使用[17]。

图6 电源模块设计原理图

3.4 使用状态判断模块设计

状态判断模块设计原理见图7。硬件部分由两个红外反射传感器和一个人体信号感应传感器构成。图7左侧标注光电传感器的部分为其中一对红外反射传感器的原理图。LM567是一款常见的编码器芯片,IR333C-A 为发射管,PT333-3B 为接收管。当接收管接收到信号时,图7左侧的Infrared1口输出低电平,否则输出高电平;人体信号感应传感器选用型号为AS312的红外热释电传感器,其结构较为简单,检测到确切人体信号后端口输出高电平。

3个传感器垂直于显微镜的后侧面,分布见图8。人体红外传感器负责感应周围的人体信号,当人体红外传感器前面有遮挡物时,图7中PT333-3B 接收到反射信号,输出高电平。

图7 状态判断模块设计原理图

图8 传感器分布示意图

3.5 手动/自动亮度调节模块设计

该模块硬件部分由DAC 和旋转编码器构成,DAC用于调节控制系统向电力系统反馈端输出的电压值来控制电力系统输出的电压值[18];旋转编码器则可以在实现自动调节功能的同时保留手动调节功能。

3.5.1 DAC

DAC 选用MCP4725芯片。该芯片为单通道12位缓冲电压输出数模转换器,可以通过IIC 接口命令将输入和配制数据烧写到片内非易失性存储器,使芯片在断电期间仍能保持之前的输入代码,且芯片输出在上电后立即可用。我们在非易失性存储器中预先设置了最低电压值,可使系统上电时直接输出最低电压。

MCP4725芯片的输入代码为无符号的二进制值,输出电压范围为0 V 至VDD。如式(1)所示,只需要向器件写入相应的二进制值即可实现输出电压的调节功能。以本设计所选用的VDD值2.5 V为例,可实现最高0.0006 V 的步进输出。

其中,Dn为输入的二进制值。

3.5.2 旋转编码器

旋转编码器型号为KY40,其共有3种操作:逆时针旋转、顺时针旋转、向下按。本设计主要用到了其中的顺时针和逆时针旋转,用于手动调节输出电压。使用旋转编码器代替电位器的优点包括:(1)可以实现灯泡输出电压的无极调压,调节精度和准确性更高;(2)摆脱了电位器物理调节方式的限制,方便后续控制系统进行自动调节。

3.6 易失数据存储模块设计

易失数据存储模块采用BL24C256A 芯片,电路见图9。该模块用于记录显微镜从在用状态转为空闲状态时的输出电压值,当显微镜恢复在用状态可以还原为此值。

图9 EEPROM 电路连接图

3.7 用户交互模块设计

用户交互部分由显示模块、按键、蜂鸣器、LED 灯组成,见图10。显示模块选用1.14寸的TFT显示屏,分辨率为135×240,主控芯片为ST7789,用来显示灯泡输出电压、实际输出电压、显微镜状态等信息。蜂鸣器选择为3.3 V 有源蜂鸣器。LED选择型号为MHP5050RGB 的三色LED,当系统处于在用状态时, LED 发出绿光;当系统处于判断状态时,LED 发出蓝光;当系统处于空闲状态时,蜂鸣器短鸣一声报警,LED 发出红光。

图10 用户交互模块

4 系统软件设计

4.1 开发工具和开发语言

本设计软件编写所用开发环境为Keil μVision5,开发语言为C 语言,两者应用广泛,在此不再赘述。

4.2 使用状态判断流程

传感器的值与判断结果的逻辑关系见表1,其中L 表示传感器输出逻辑低电平,H 为逻辑高电平,X 表示为任意状态。从表1可以看出,只有当3个传感器均为L 时,系统才判断这个瞬间设备处于在用状态,否则均判断为空闲状态。

然而,仅使用上表的判断方式会导致系统的不稳定,因此本设计采用图11所示的流程对两种状态进行判断[19]。设置标志Flag 用于指示显微镜当前的运行模式,Flag 为0表示显微镜处于空闲模式,Flag 为1表示显微镜处于在用模式;设置N_Count 为空闲状态计数标志,设置C_Count 为在用状态计数标志;设置判断标志C_Flag 用于指示根据表1判断后所得到的显微镜即时状态(注意区别于Flag),C_Flag 为1表示在用,C_Flag 为0表示空闲。每隔200 ms 读取传感器的值并根据表1判断设备即时状态:若为空闲,空闲计数标志N_Count 计 数+1,C_Flag 和C_Count 归 零; 当N_Count 大 于2 400(即2 min)时,Flag 置0,设 置显微镜当前模式为空闲模式;若判断为在用,C_Flag 标志置为1,开始计数C_Count,当C_Count 大于10(即2 s)时,Flag 置1,设置显微镜当前模式为在用模式。

图11 设备使用状态判断流程图

表1 传感器的值与判断结果的逻辑关系

4.3 自动升降压流程设计

自动升压流程设计见图12。开机时,MCP4725芯片直接输出最低电压1 V,然后读取24C256中保存的值,输出电压以每20毫秒步进一格的速度提升电压至该值;同样,当设备转为空闲状态时,输出电压以每20毫秒下降一格的速度降至1 V,实现了电压的步进提升与降低。

图12 自动升压流程图

4.4 手动亮度调节流程

手动亮度调节主要依靠旋转编码器和DAC,实现流程见图13。设置计数标记Count 记录旋转方向,在定时器的中断处理函数中判断旋转编码器旋转时的电平,判断到旋转时,顺时针旋转一格Count 值加1,逆时针旋转一格Count 值减1。每格的步进值设置为0.04 V。为了保证输出电压不能超过最大输出功率,当输出电压达到最高电压时,输出不再增大(本设计设置最大值为4.6 V);同时,由于开关电源的特性输出电压不能为0 V,当输出电压低于设置的最低电压1 V 时,输出1 V。

图13 手动调压流程图

本设计使用中断方式对旋转编码器进行计数,手动亮度调节具有最高的优先级,即系统一旦读取到旋转编码器发生旋转操作,系统立即将使用状态变为在用,其之前已经计数的空闲时间计数立刻清零,重新判断。

需要注意的是,在最初的实验过程中,旋转过程中计数标志Count 偶尔计错,经调试发现是由中断优先级设置不当导致的,定时器中断会影响旋转编码器计数,将旋转编码器的中断优先级提高后,计数标志Count 稳定不再计错。

5 结果

5.1 系统电气连接图

系统的电气连接见图14,实物连接见图15(电力系统板安装于显微镜底部,主控系统板安装于显微镜后侧,使光电传感器垂直于操作人员)。

图14 系统电气连接图

图15 实物连接图

5.2 电压测试结果

图16为控制信号的输出电压与灯泡电压监测图,曲线(1)为控制信号,曲线(2)为灯泡输出电压,使用了泰克TBS1102C 型示波器进行采样。需要说明的是,由于开关电源输出不能为0,空闲状态灯泡输出电压将保持最低输出1.2 V;本系统的最大输出功率为15 W,因此最大输出电压为4.6 V。图16中两条左侧的上升曲线为显微镜从空闲状态转为在用状态时的控制电压的上升图,控制信号以每20毫秒步进一格(0.04 V)的速度提升2.5 V,输出电压以2倍的提升速度步进至4.54 V(这里的结果不为5 V 是由于需要去除二极管的压降);右侧曲线为显微镜从在用状态转为空闲状态时的电压下降图。当显微镜处于空闲状态时,由于灯泡从热变冷无需太多时间,可以加快下降速度,控制信号以每20毫秒步进一格(0.1 V)的速度下降,同时灯泡输出电压以2倍的速度相应下降,结果符合本设计要求。

图16 输出电压测试结果图

5.3 测试极限距离

极限距离测试结果见表2,表中所示的距离为操作人员与控制板光电传感器的直线距离。本设计对表中所列出的每个距离分别测试了20 次,可以看出,在25 cm 以下系统可以完美识别;在25~30 cm 时,由于接近传感器的极限距离,因此传感器受到的干扰较大;而在大于35 cm 时,是否有遮挡物均不会对系统造成干扰。根据实际使用习惯,使用人员在操作显微镜时,与设备的距离不会超过20 cm;而且大于35 cm 时不进行判断,也能在一定程度上排除其他遮挡物的干扰,因此该结果完全满足本设计的要求。

表2 极限距离测试结果

6 讨论

本设计用旋转编码器代替传统的电位器,配合单片机和模数转换芯片实现了对显微镜光源的数控调节,获得了更高的调节精度;并且在此基础上结合光电传感器和人体红外传感器初步实现了对显微镜使用状态的判断,比单纯的光电传感器判断更加准确;最后,将两者结合实现了根据使用状态自动调节灯泡的亮度。本设计只是提出了一个初步的想法,目前市场上鲜有涉足设备使用状态判断的装置,尤其是医疗设备领域。实现设备使用状态的判断并且智能化开关机不仅可以减少设备故障,延长设备使用寿命,还可以做到节能减排,符合国家绿色环保,可持续发展的理念。

本设计在使用状态判断方面虽有改进,但无论是硬件方案的选择还是软件算法的设计仍处于起步阶段,存在一些不足(如何保证实时性,即使用人员如果很快来到设备面前,可能需要等待2 s 左右,亮度才能提升上来),均会影响使用体验。本设计更多的作用是抛砖引玉,希望可以吸引更多专家学者不断改进硬件和算法,例如未来可以配合AI 实现对使用人员行为的预测,使该系统更加智能。

猜你喜欢
编码器显微镜灯泡
《用显微镜看大象》
融合CNN和Transformer编码器的变声语音鉴别与还原
灯泡创意秀
设定多圈绝对值编码器当前圈数的方法
转炉系统常用编码器选型及调试
舞台机械技术与设备系列谈(二)
——编码器
显微镜下的世界
点亮小灯泡
手工课堂之小灯泡饰品制作
显微镜中奇妙的沙世界