金爱国 吴海啸 朱好生 华华
摘要:在传统8位单片机控制系统的基础上设计了一套基于STM32单片机的婴儿辐射保暖台控制系统,为提高系统的实时性和稳定性引入uCOS-Ⅲ嵌入式实时操作系统。该控制系统主要由控制模块、加热模块、LCD显示模块、报警模块和电源模块等组成。实验结果表明,该系统能可靠地控制辐射头加热,使保暖台床面达到预期温度,同时能实时监测加热功率、温度数据、存储数据等情况,一旦检测到功能异常,立即发出报警信息。
关键词:STM32;婴儿辐射保暖台;uCOS-Ⅲ;嵌入式实时操作系统
中图分类号:TP273 文献标志码:A 文章编号:1009—9492(2021)03—0161—03
0引言
随着经济的快速发展,国民生活水平不断提高,人们对于新生儿的健康状况愈发重视。而早年出生的早产儿、病危儿、孱弱儿成活率相对较低。正因为此,后续逐渐就有了婴儿辐射保暖台等婴儿护理产品的问世。由于医疗器械行业准入门槛相对较高,国内生产婴儿保育设备的公司本身就不多,技术较为成熟的保暖台则大多采用8位机控制系统。目前医疗设备发展依靠智能化、集成化程度越来越高,传统的8位机控制系统由于功能单一、控制能力有限等局限,已无法满足于日益激烈的市场。与此同时,国外发达国家开发出较为完善的32位机控制系统,但存在成本较高的问题。由此可见,设计一套性能好且性价比高的婴儿辐射保暖台控制系統意义重大。
鉴于此,本文设计了一款基于STM32单片机和uCOS嵌入式操作系统的保暖台控制系统。分析并设计了控制系统的系统结构框图,在此基础上着重讨论了关键模块的硬件电路设计。软件方面,为了提高程序运行的实时性和可维护性,引入uCOS操作系统,将软件程序设计模块化,并划分为一个个相对独立的子任务。
1系统结构
由于保暖台首要任务是温度控制,在此基础之上设计了系统核心结构框图,如图1所示。
如图所示,该系统主要由5大部分组成,分别为电源模块、控制模块、加热模块、LCD显示模块与报警模块。整个系统的能量来源于220V交流电转56V直流电的开关电源,直接给辐射头供电,经过电压转换模块之后又分级地将电压转换为12V、5V、3.3V,分别为固态继电器、功率检测芯片、MCU等芯片供电。控制部分采用主从式结构,为的是提高整个系统的可靠性和稳定性。其中,主控芯片选用性价比较高的STM32F103ZET6,主要负责控制辐射头的加热与温度数据采集以及其他功能模块的运行。辅助芯片同样负责温度数据的采集和控制辐射头的加热,主从控制芯片通过RS232串口进行数据的收发。加热模块是设计中的重点亦是难点,主控芯片通过固定的管脚输出占空比可调的PWM方波控制辐射头的加热,其中占空比的大小采用变论域模糊PID控制算法计算得到。双路肤温传感器用于采集保暖台床面的实际温度并反馈至主控芯片和辅助芯片。功率检测芯片用于实时控制辐射头的功率,判断是否加热异常。报警模块负责系统工作异常时发出声光报警信息,其中包括功率异常报警、保暖台超温报警、温度传感器故障报警等。LCD显示模块主要用于显示设定温度、床面实际温度、加热比例以及各种报警提示信息等。
2硬件电路
在控制系统中将主控板和驱动板独立设计,最大程度上确保各功能模块互不干扰,同时也提高了系统硬件的可扩展性。主控板除了控制辐射头加热,还用于控制外围时钟芯片、FLASH存储芯片、手势识别芯片、功率监测芯片等。同时还包含过压过流超温保护电路,确保系统的可靠性。驱动板的设计相对简单,主要负责电压转换,辐射头控制回路中双路固态继电器的控制、功率监测和信号隔离。以下对主要功能模块进行介绍。
2.1温度采集电路
此处设计了两路采集电路,以提高温度采集的可靠性,通过比较两路温度值,从而判断温度传感器是否正常工作,具体电路如图2所示。J1接口用于连接温度传感器,为了提高电源的稳定性,降低电压纹波,经过电压转换芯片TL4050-Q1之后得到REFA(5V)直流电压。采集回路中分别挂载了2个独立的0.01μF电容和20kΩ上拉电阻。其中电容的作用是对采集的电压值做一个低通滤波,电阻值的确定主要考虑以下两个因素:(1)ADC电压采集范围(0~5V);(2)温度传感器在保暖台正常工作温度下电阻值的波动范围。skin和skin_iso信号分别连接模数转换芯片的2个输入通道。
2.2模数转换电路
综合考虑模数转换芯片的成本和转换精度,选用了TI公司的TLV2548芯片。该芯片有8个输入通道,遵循四线制SPI通讯协议,电压转换范围为2.7~5.5V。具体转换芯片外围电路的设计如图3所示。基准电压连接较为精准的REFA参考电压(5V),A0、A1通道连接温度采集电路中的skin和skin_iso的温度信号;A2通道测量外接电池电压;A3、A4、A5、A6通道闲置,作为今后扩展使用;A7通道用于检测转换芯片是否发生故障,若转换完之后对应的电压值大约为2.5V,说明芯片正常工作,若偏差较大说明AD芯片损坏。
2.3功率监测电路
因为辐射加热头随着工作时长的增加会有加热异常的风险,故设计了功率监测模块用以监测辐射头的加热功率,一旦发现功率异常则发出相应的报警信息。综合性能与价格后选择了凌特公司的LTC2945芯片,该芯片采用常见的IIC通讯协议并且有相应的接口,降低了开发难度且缩短开发时长。其中采样电阻的合理选择是确保功率采集精度的核心器件。具体监测电路如图4所示。
因为辐射头额定工作电压为56V,电阻约等于7Ω,功率监测芯片的最大采样电压为102.4 mV,根据欧姆定律可得:
综合上述两式以及常见的电阻,选用阻值为10mΩ,精度为1%,功率为2W的采样电阻,将其接人SENSE+和SENSE-管脚,INTVcc管脚是5V电压输出端,ADR0和ADIN用于确定芯片的地址,接地表示地址为0x00。区别于常规IIC接口的是输入输出数据分别与SDAI和SDAO相连,提高数据传输的效率和准确率。
3软件程序
因为控制系统涉及到的任务相对较多,如果采用前后台控制系统,一旦有某个任务发生故障就可能引起整个系统的瘫痪,具有较大的安全隐患,故此引入uCOS-Ⅲ嵌入式实时操作系统。本设计基于uCOS-Ⅲ共划分14个任务,其中较为关键的任务有开始任务、温度控制任务、温度采集任务、功率监测任务、液晶显示任务、报警任务、数据存储任务。
开始任务用于创建其余子任务,一旦创建成功就挂起自身,释放内存后不再运行。温度控制任务是设计的关键,用于控制辐射头的加热。温度采集任务用于采集保暖台床面的实际温度。功率监测任务实时监测辐射头加热功率。液晶显示任务显示设定温度、实际温度、时间等信息。报警任务为当系统异常时发出各种声光报警信号。数据存储任务用于存储实际温度、加热功率、系统工作时间等数据。
主控芯片简化的程序流程框图如图5所示。首先在main()函数中调用OSInit()函数,将uCOS系统初始化;初始化控制系统中相关外设;之后创建开始任务,调用OS_CPU_SysTickInit()函数初始化时钟节拍,在开始任务中创建其他用户任务;最后调用OSSart()函数开始正常运行。
4结束语
本文设计了一套基于STM32和uCOS操作系统的婴儿辐射保暖台控制系统,并描述了系统整体结构、部分硬件电路和主机程序流程。实验表明,相较于传统的8位机控制系统,该系统无论是稳定性还是实时性方面都有显著提升,同时预留了足够的端口,方便后续功能的完善和拓展,这也将是未来国内智慧医疗器械产品的发展趋势,具有较大的现实意义。