基于单片机的船舶主机遥控车钟的设计与实现
2013-03-20秦珩陈生春
秦珩,陈生春
(海军大连舰艇学院,大连 116018)
0 引言
驾控台设于船舶驾驶室,是舰船的控制中心,集中了船舶航行的全部设备与系统,其中主机遥控系统在驾驶台的主要设备是遥控车钟。在船舶机舱集控室中,同样设置有集中控制台,主要控制和监测船舶主动力装置(主机)的运行,其中主机遥控车钟同样是集控台的主要设备,负责接收和传送主机车令信号。机旁同样设置有主机遥控车钟,负责机旁与驾驶室车令的接收与传送。主机遥控车钟的作用就是将驾驶室的主机操作指令送达集控室和机旁,同时将集控室和机旁的操作回令送达驾驶室,从而实现舰船主机操作指令的双向互传。
某型综合运输船主机主机遥控车钟采用模拟电路实现车钟功能,包括步进电机驱动指针指示、车令不一致时报警等功能。这种模拟电路分立元件多,结构复杂,调试困难,维修不便。大连舰艇学院研制的HG-X型船舶主机主机遥控车钟,以MCS-51单片机为核心,加上高性能的外部元件,构成高集成度,小体积,使用灵活的船用遥控主令车钟,根据不同需求,简单修改程序可以很方便的应用于各种舰船。
1 系统设计
1.1 工作原理
1)系统结构:船舶主机遥控车钟通常是3台同时使用,形成一套完整的船舶主机遥控车钟系统,如图1所示。其中一台放置在驾驶室上,一台放置集控室,另外一台放置机旁。
图1 船舶主机遥控车钟系统
2)系统功能
(1) 每台主机遥控车钟具有两个外部车钟输入通道V1和V2,用于接收另外两台主机遥控车钟送来的信号。
(2)通过内部开关K1切换,选择V1和V2中的一路信号送入比较器作为外部车钟信号进行检测。
(3) 比较器1用于比较外部车钟信号与本地车钟内部指针位置信号V3。步进电机旋转轴与一可调电阻相联,当步进电机转动时,带动可调电阻旋转,可调电阻输出电压V3。当外部车钟信号大于V3时,将驱动电机正转;反之,则将驱动电机反转,直到两者一致为止。
(4)步进电机旋转轴同时与RW1车钟指针轴相关联。 步进电机旋转带动RW1车钟指针轴一起转动,RW1的指针指示当前车钟位置。操作者在扳动手动操作器RW2时,可以进行方便直观的观察。
图2 主机遥控车钟功能示意图
(5)比较器模块COMP2用于比较外部车钟信号与本地的车钟信号V4,当两者不匹配时,将驱动报警器报警,提醒操作者注意;通常操作者接到报警信号后调整手动操作器RW2,使V4与外部车钟信号一致,即本地车钟操纵手柄档位与外部车钟档位一致,此时报警器停止报警。
(6)放大器模块A1能将RW2的车钟信号V4进行放大,一路送入比较器模块COMP2,另一路作为外部车钟信号V1和V2提供给其它两台主机遥控车钟。
(7)整个系统由船载电源提供DC24V输入电源,经内部稳压电路转换成所需工作电源。
1.2 设计方案
1)ADC部分:ADC采用TLC2543,TI公司的12位串行模数转换器[1],使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源,且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。11个模拟输入通道完全可以满足主机遥控车钟的要求。
2)单片机采用华邦的W78E58B,40个IO端口,32 k Byte的flash,256 Byte的RAM,其他资源与标准的MCS-51相同,满足了该项目需要有较大ROM和RAM的要求[2]。
3)比较器模块:车钟信号经过滤波电路,被送入TLC2543的模拟输入通道,单片机通过读取ADC转换结果,并比较各个通道的电压高低,实现软件比较器的功能。软件比较器具有延时和滤波更灵活的特点。
4)步进电机:使用台湾东方马达公司的小型步进电机PK243-03A 118’/STEP 2相DC0.3A 38.5 Ω。驱动芯片使用美国Allegro公司生产的二相步进电机驱动专用芯片A3955SB,一片A3955SB可驱动一相电机绕组[2]。其工作电压可达50 V,电流可达1.5 A。A3955SB内部的3位非线性数模转换器与内部的PWM电流控制相结合,可实现步进电机的全、1/2、1/4、1/8运行模式。而内部的PWM电流控制电路和外部参考电压相结合,则可决定电流的工作模式(快衰减模式、慢衰减模式、混合衰减模式)。同时,A3955SB还提供完善的保护措施,其中包括过温保护、过流保护及欠压保护功能。本设计将使用A3955SB的1/8运行模式和混合电流衰减模式。
5)步进电机转速设定:步进电机转速的快慢会影响车钟调整的时间,工作过程中需要根据时间情况进行设定。装置中设计了一个可调电阻,中间抽头接ADC的输入端,这样,单片机通过读TLC2543,可以知道可调电阻的位置,从而改变步进电机的转速。
6)比较器的死区范围设定:单片机软件比较器在比较外部车钟信号时需要一个允许误差范围,在这个误差范围内,单片机对车钟信号不做响应。否则,由于外部干扰和电压波动,单片机会不停的调整步进电机和启停报警器。死区范围设定是通过可调电阻来完成的。可调电阻的中间抽头接ADC的输入端,这样,单片机通过读TLC2543,可以知道可调电阻的位置,从而改变比较器的死区范围。
图3 步进电机驱动电路图
2 系统功能实现
2.1 ADC模拟输入通道的分配
前已提及,TLC2543是12位串行模数转换器,有11个模拟输入通道,根据前面的分析,对模拟输入通道分配如下:
1) 通道1:接外部车钟信号1,即V1。
2) 通道2:接外部车钟信号2,即V2。
3)通道3:接步进电机相关联可调电阻输出信号,即V3。
4)通道4:接手动操作器的输出信号,即自身的车钟信号V4。
5)通道5:接步进电机转速调节可调电阻。
6) 通道6:接比较器模块COMP1的死区范围设定可调电阻。
7) 通道7:接比较器模块COMP2的死区范围设定可调电阻。
8)其它通道:保留。
2.2 程序流程
该系统程序设计主要有ADC芯片TLC2543的读写操作和步进电机芯片A3955SB的驱动。
软件开发平台使用KEIL C51 IDE集成开发环境,运用C语言进行程序设计。单片机软件主流程如图4所示。
图4 软件主流程图
2.3 步进电机驱动的实现
步进电机驱动主要内容是对A3955SB的程序控制。按电平步序表编写C语言程序,在一个通电循环内,步进电机的转角恒为一个齿距角,所以,可以通过改变步进电机通电循环次序来改变转动方向,可以通过改变通电频率来改变其角频率。
程序中使用单片机的定时器T1产生步进电机通电频率,T1每次进入中断,步进电机就转动一个齿距角,改变T1的初始值,即可改变步进电机的转速。
3 结论
HG-X型船舶主机遥控车钟采用单片机为核心的硬软件技术,实现了驾驶室与主机集控室(机舱)之间的车令信号双向传送,操作简单直观,工作稳定,运行可靠。
[1] 李映颖.王海军.孟祥谦.串行AD转换器TLC2543与51单片机的接口设计.上海:仪表技术,2004,(1):22-23.
[2] 韩英桃.胡亚山.A3955SB步进电机驱动芯片及其应用.西安:国外电子元器件,2003,(2):58-60.