基于MC68HC908GP32的深海热液多点温度、压力采集及控制系统
扫描二维码
随时随地手机看文章
0 引 言
现代深海探测领域中,需要进行温度、压力检测,并通过电磁阀实时控制水下机械臂采样动作,通过步进电机控制旋转水下摄像头拍摄转速,以达到研究深海热液温度压力变化并实时控制的目的。海底热液温度最高可达300~400℃,最低则不超过10℃;海底压力最高可达40Mpa。根据此特殊情况,设计了测温范围为0~500℃,测压范围为1~45Mpa的控制系统。本系统利用MOTOROLA公司MC68HC908GP32单片机作为核心控制,并扩展出数据存储,电磁阀和电机控制等功能。整个系统具有实时控制,功耗低,体积小等优点。
1 系统原理
本系统由三组铂电阻测三点温度,三个铂电阻分别编号为1、2、3,由继电器控制选择输入至温度变送器变换为电流信号,后经电流-电压转换电路输入至单片机AD转换口,在单片机内部处理后在数码管显示;由一个压力传感器测压力,编号为4,经压力变送器输入单片机AD转换口,在单片机内部处理后在数码管显示。数码管为4位七段数码管,第一位显示编号,后三位显示温度值或压力值,编号1-2-3-4-1循环显示,两编号数据显示间隔时间为10秒(可调)。同时每隔1秒(可调)将温度和压力数据存入EEPROM存储器中,需要时通过串口传至PC机,可供后续数据分析处理。PC机端用Delphi做数据处理软件,可绘制温度、压力变化曲线,保存后供进一步分析处理。系统同时根据温度、压力变化实时控制电磁阀吸合控制机械臂动作,并可根据其他系统控制信号调整步进电机转速。系统设计框图如图1所示:
500)this.style.width=500;" border="0" />
2 系统软件设计
系统软件包括单片机汇编程序设计和人机交互界面设计两部分。
2.1 单片机汇编程序设计
汇编程序由各个子程序构成,对采集数据进行实时处理。主要有温度及压力循环显示子程序,A/D转换及数据处理子程序,EEPROM数据存储子程序,数据上传PC机子程序,步进电机转速调整及电磁阀控制子程序,定时中断子程序,外部中断子程序等部分构成。主程序流程图如图2所示:
500)this.style.width=500;" border="0" />
2.2 人机交互界面设计
人机交互界面由Delphi 7.0开发而成,由串口通信,数据处理,数据文件操作,数据曲线形成及其分析,端口波特率设置等部分组成。
3 系统硬件电路设计
3.1 微处理器
MOTOROLA单片机MC68HC908GP32具有加密功能的32K字节Flash ROM,512字节RAM,8路8位A/D转换控制器,增强型串行通信接口和串行外围接口,及两个16位双通道定时器接口模块。它的总线时钟高达8MHZ,最小指令周期为125ns,带时钟预分频的定时基模块有8中周期性实时中断,且具有多种保护功能[1]。
3.2 温度、压力数据采集部分
本系统选用三个PT100铂电阻作为测温传感器,通过两个继电器选通做为温度输入。这种铂电阻温度系数的离散度很小,精确度高,灵敏度好,测温范围为-200~650℃[2];配套使用的温度变送器测温范围为0~500℃,能将温度信号转换为随温度线性变化的电流信号输出,范围为4-20mA。
电流与温度之间的关系式为:
500)this.style.width=500;" border="0" />
选用北京SAILING公司压力传感器,测压范围0~60Kpa;配套使用的压力变送器测压范围为0~45Kpa,能将压力信号转换为随压力线性变化的电流信号输出,范围为4~20mA。
电流与压力之间的关系式为:
500)this.style.width=500;" border="0" />
变送器输出的电流信号经过电流-电压转换电路得到0-5V的直流电压,进入单片机进行A/D转换。转换电路如图3所示:
500)this.style.width=500;" border="0" />
3.3 数据存储及显示部分
500)this.style.width=500;" border="0" />
数据存储及显示电路如图4所示,主要由以下三部分组成:
1)数据循环显示部分。使用单片机的SPI接口扩展移位寄存器74LS164做为七段数码管接口,解决了片内I/O不足的问题。数码管共有4位,第一位循环显示编号1-2-3-4-1,后三位显示与编号相对应的数据,可精确到个位。测量所得数据每隔1秒动态扫描显示,每个编号对应数据共显示10秒,每40秒为一个大循环。
2)EEPROM存储部分。采用基于I²C-BUS的存储器件AT24C64实现存储功能,其存储容量为64Kbit。系统中采用两个并行I/O口A0与A1进行软件模拟产生I²C总线时序信号,实现I²C总线数据的读写。主要读写流程为:
字节写入:开始-器件地址/0-应答-字节高地址-字节低地址-应答-数据写入-应答-停止
字节读出:开始-器件地址/0-应答-字节高地址-字节低地址-应答-开始-器件地址/1-应答-数据读出-停止
3)与PC机串口通信部分。使用单片机的SCI接口实现单片机与主机之间的通信,采用RS-232标准实现点对点的通信,用查询方式发送、接收数据。
3.4 步进电机、电磁阀控制部分
深海探测具有复杂性和实时性,系统需一次完成多任务作业。针对海底不同的环境,系统需要根据现场采集的数据实时的调整步进电机的转速和电磁阀的吸合。因此本系统采用了德国百格拉公司的三相混合步进电机及其控制器,该电机具有低功耗、高扭矩、高精度和几无共振爬行等特点。
500)this.style.width=500;" border="0" />
驱动步进电机与电磁阀部分电路如图5所示。单片机通过步进电机控制器进行转速控制。MC68HC908GP32具有两个16位双通道定时器接口模块,利用其中一个定时器的两个通道进行控制,一个通道T1CH0为脉冲调制输出,产生电机控制器所需频率脉冲信号,另一个通道T1CH1产生电机旋转方向信号,加光耦隔离与步进电机控制器连接。通过调整脉冲输出频率即可调整步进电机转速,调整电机方向信号电平即可控制电机旋转方向。电机控制器与步进电机通过功率接口连接,同时控制器有拨码开关选择步进电机步长。电磁阀控制采用三个输入I/O口与两个输出I/O口进行控制。输入口接受其他系统控制信号,由单片机判断选择电磁阀是否吸合输出控制信号,控制信号控制继电器通断做为强电器件开关以控制电磁阀。
4 结语
本文介绍了基于mc68hc908gp32的深海热液多点温度、压力采集及控制系统,经实验表明,在0~500℃的温度范围和1~45Mpa的压力范围内工作稳定可靠,实时性及智能化程度高,体积小,使用方便。不仅可在复杂的海底测温环境中进行作业,也可扩展出更丰富的电机控制功能;既可单独作业,又可与PC机通信对数据进行更复杂精密的计算和使用,具有使用价值。