李 锋 周广益 王安敏
(青岛科技大学机电工程学院 青岛266061)
随着科技的进步,人们生活质量提高,双手也得到解放,像是自动洗衣机和刷鞋机的使用。但这些清洗设备也存在很多诟病,比如现有的刷鞋机,依靠滚筒工作,工作方式极其死板机械,容易对鞋子的外形造成伤害,严重影响美观[1]。而且滚筒内工作还会存在鞋子开胶,滚筒内残留鞋底污物等缺点。
根据这些问题的启发,本文设计了一种针对于关节假体且基于STC89C52RC单片机的智能清洗设备系统。该系统采用集成芯片HX711检测压力,确保假体不同也可以被夹紧,当清洗完毕后,蜂鸣器会报警提醒用户取走假体;超声波模块来检测工作机构与假体的距离;液位控制模块可以在设备水箱中水量不足时启动水泵向水箱加水;报警信息等需要被显示的数据将显示到LCD1602液晶屏上。
本设计中最主要的芯片是STC89C52RC,用来控制各个模块的协调配合。该系统大体分为电源模块、压力检测模块、液位检测模块、超声波模块、电机驱动模块、输出模块,总体设计框图如图1所示。
图1 系统总框架图
电源是整个系统正常运行的前提条件,STC89C52RC和其他功能模块都是在5V直流电源下工作的,所以要给系统提供5V的直流电源。一般家用电为220V交流电,所以须将此电流通过降压变压器将为12V交流电然后通过桥式整流器、电容滤波后得到10.8的直流电,还要再后面加一个集成稳压块和一个较大电容储能来稳定电压,使得输出电压不因负载变化而变化。为保证系统正常运行,还要在设计的5V电源后加TR1972-33,是的电压保持在4.4V[2],电路图如图2所示。
图2 电源电路图
因为各种关节假体各不相同,所以要借助压力检测模块让系统知道关节假体是否被压紧。压力传感器选用电阻应变片压力传感器构成电桥[3],将物体的重力转化为电压信号。因为单片机不能接收模拟信号,所以压力检测模块得到的数据必须经过模数转换才可以被单片机所获得。集成芯片HX711同时具有信号放大和模数转换的功能[4],故选用该芯片。
因为该设备体积较小,存储水量有限,所以需要液位检测保证工作正常进行。该设计中选用的是电阻式传感器,该传感器成本和精度都可以满足设备使用。它得到的是一种0V~5V的电压信号,因此只要找到电压与液位的关系,单片机控制系统就可以根据换算公式将得到的电压信号转换为液位高度[5],当液位过低时启动进水装置,达到设定液位停止进水装置停止工作。
为保证设备的工作,超声波传感器可以确保工作端刷头和关节假体的距离,保证刷毛可以最高效率的完成工作,选用HC-SR04超声波模块,电压满足直流5V,可以实现自动检测信号是否返回,测试距离=(高电平时间*声速(340m/s))/2,精度可以达到3mm[6]。
设备工作端、假体托杆伸长、进水装置的工作都需要电机,而电机驱动模块则是保证电机正常工作的重要手段,本设计中采用L293D驱动芯片驱动[7]。
输出模块分为显示装置和报警装置,显示装置会把此时液位位置、压力检测模块反馈值等数据显示在LCD1602液晶屏上;报警装置会在工作完成和液位长时间不足时报警。
本系统的所有软件程序采用Keil uVision4的51版本编程[8~9],该程序提供在线仿真调试功能。主程序流程图如图3所示。
图3 主程序流程图
首先,对系统进行初始化,初始化结束后假体托杆开始工作,当压力检测模块将接收的数据经过模数转换传递给单片机后,数据经单片机STC89C53RC计算并把之前设定需要显示内容送到LCD1602液晶屏;设备工作端匀速向假体位置靠近,超声波模块会一直检测其间的距离,直至到达程序设定的距离;到达设定距离,工作端刷头开始工作,超声波模块继续工作,当接收的数据达到程序认定的工作完成时,蜂鸣器响,报警系统工作,并在LCD1602上显示“工作完成”,让用户知道是清洗结束。
其次,该设备还用到定时器中断功能,保持每隔一段时间对液位进行检测,即液位检测模块。
因为考虑到经济性和便利性,本设计的水箱的体积受到很大约束,进水速度和液位的起伏波动都会对液位检测造成影响,这就要求提高供水系统的控制精度。
PID典型的控制算法为
其中,Kp为比例放大系数,TI为积分时间,TD为微分时间。
上述只是PID控制算法的大体设计思路,但是,对于本系统而言,我们PID控制算法的设计采用实时监测液位的方法,因此必须先对信号进行采样,然后根据采样时刻的偏差值来计算,所以对于式(1)要进行离散化处理[10]。处理之后的表达式为
由此可以看出本系统中我们对系统的电压值的信号是使用的数字量,而不是模拟量,即经过对算法系统的离散化,就转变成了数字PID控制[11~14]。系统PID控制将采用图4所示框架图。
图4 供水系统控制原理框图
神经网络PID算法即将神经网络算法与PID算法相结合,神经网络算法的特点是对样本值进行训练,而对于本系统来讲,如何获取样本值呢?对此,可以把进水装置设备看作一个输出层,直接让神经网络对输出的电压值作为样本进行训练。本系统中,被控对象会通过神经网络算法反复训练,寻找最佳控制方式,随后对PID控制算法的参数进行修正。神经网络PID控制系统结构框图如图5所示。
图5 神经网络PID控制原理框图
神经网络算法设计实现过程如下[15~16]。
设输入网络的数学表达式为
输出层表达式为
这里三个输出分量分别对应于PID控制算法中三个可调节控制参数,即:
输出层激活函数为
性能指标函数为
由此可得输出的训练算法为
其中:
这样,就可以对该系统进行神经网络算法的训练,以达到更高的控制精度。
在系统开发过程中,运用了多个方面的传感器技术,对于传感器检测和单片机控制的对接,我们查阅了大量资料。传感器的应用让我们的控制更加智能便捷,神经网络PID控制算法的加入也让进水装置控制精度和平滑度有了很大的提高。因为对自动清洗设备进行了工作方式优化,所以自身清洁力度都有所削减,下一步将对此进行更深层的研究。