APP下载

船舶运动手操盒的设计及模糊自适应仿真

2013-12-10哈尔滨工程大学自动化学院高淑芬丁聪聪

电子世界 2013年6期
关键词:液晶显示液晶寄存器

哈尔滨工程大学自动化学院 高淑芬 张 影 丁聪聪

特种船作业时需要操船人员既能观察目标,又能操船,两者协调配合达到最佳作业效果;手操盒系统作为一套特殊的船控操作系统,使操纵人员携带手操盒,到船旁观察目标,根据目标离船的距离操纵船舶运动,满足上述作业要求。手操盒通过网络接收来自于传感器系统DGPS、罗经和风传感器的信号,同时,手操盒与推力器系统有接口,可单独的对船舶推力器系统进行控制。手操盒系统包括操作终端、主操纵终端等。其系统结构图如图1所示。手操盒可根据需要通过接线端子,连接到任何一个操作终端,行使对船的操纵控制。

手操盒系统可实现的操作模式有:手动控制模式、自动艏向控制模式、自动定位模式等,甚至可以将自动舵模式加入其中。手动控制模式即人工模式,在该方式下:操纵人员通过手柄操纵船舶前进、后退、左移、右移、左旋、右旋等运动;考虑到作业区域外部环境非常复杂,极有可能超出手动控制系统的控制范围,为了保证船舶的工作,需要操纵人员进入手操盒自动艏向控制模式和自动定位模式操作,主要是根据水动力和船舶的运动特性同时考虑风、流等因素的综合影响制订控制方法,如定向、定位等控制功能。

系统的控制处理器,接收来自于传感器系统的信号,经过处理后作为控制器的控制依据,生成控制命令,一方面把信号传递给推进器系统,另一方面通过以太网把信息传递给主操作终端在主控制室显示相关信息;如果操作人员按下操作终端请求信号,首先通过CAN网络向主操纵杆操作终端发出请求信号,主控制室将允许信号返回操作终端,这时候手操盒便可进入工作模式,选择手动控制模式、自动艏向控制模式、自动定位模式。

1.手操盒的设计

手操盒是一个包括界面显示、按键、指示灯、操纵杆和艏向轮的人机交互设备终端,专门为在驾驶舱外实时控制的工作人员而设计的一个控制终端设备。相对于主操纵终端系统,其功能相对简洁,主要包括操纵杆控制以及自动艏向轮的控制这两个功能,除了与主操纵杆配合应用,另一方面通过CAN总线与其他的操作终端形成CAN总线网络,并作为一个单独的操作终端。

手操盒设备包括:操纵按键、按键指示灯、控制偏差报警器、船舶运动信息液晶显示器、船舶运动操纵三轴操纵杆、方位操纵手轮/ID接口、信息通讯CAN总线接口。其硬件框如图2。

手操盒在操纵杆系统中通过CAN总线与其他设备进行通信,考虑到硬件设计简便性与稳定性等方面因素,采用ATMEL公司的AT90CAN128系列单片机。由于船用电源为24V,一方面通过整流电源模块把24V转化为5V,为操作终端提供电源。同时,系统会时刻接收来自于按键、三轴操纵杆的信号,进行及时处理。

面板的按键为矩阵键盘,通过单片机对键值进行定时扫描,从而确定操作员输入的命令;三轴操纵杆的纵向位移、横向位移、转动角度所对应的模拟信号通过单片机集成的10位AD转化为数字量,得到相应的位置和角度信息。指示灯可由单片机I/O直接驱动,报警器电路则采用三极管驱动蜂鸣器来完成;界面采用TFT液晶进行显示,显示内容为船舶的当前艏向和操作员设置的艏向,初始化信息,报警信息,工作模式等相关信息。

2.手操盒操作终端与主操作终端

手操盒操作终端和主操操作终端通过CAN总线连接在起来。需要采用手操盒控制模式时,操作人员将手操盒连接到操作终端接线盒上,按下手操盒上的请求按键,通过CAN总线向主操操作终端主机发送请求信号,得到主操作终端的允许后,进入手操盒控制方式。手操盒操作终端进行处理,最终操作终端把所有信息显示在手操盒液晶屏上。其控制流程如图3所示。

3.手操盒液晶显示原理

本手操盒采用TFT6448BS-5.7液晶显示器,采用5.7英寸、分辨率为640*480的真彩TFT屏,提供一个简单的高速8位总线与单片机连接,支持256色,可直接与AVR相连,并且直接输入X、Y坐标,无须计算地址。

该液晶采用并行总线方式,数据总线D[7:0]、地址总线A[1:0]、片选/CS、读/RD、写/WR,显示屏中每个点影射显示存储器中的一个字节,显示屏上的X、Y坐标与显示存储器的地址一一对应。因此,只需输入X、Y坐标便可直接读写相应点数据,不用计算像素点在显示存储器中的地址,写入数据后X坐标自动加1,写满一行后自动换行,用户也可实现Y坐标自动加1。显示存储器的一个字节由8位构成,显示器屏幕上的一个“像素”点由R、G、B三个“点”来组成。一个字节对应一个像素,位分配原则是是R3-G3-B2,也就是红色占高三位,绿色占中间三位,蓝色为低2位。因此,共可显示8种红色,8种绿色,4种蓝色。通过红、绿、蓝的混合,总共可以得到256种颜色。其基本原理如图,DC/DC电压变换器产生液晶显示所需要的各种驱动电压,背光驱动电路则产生LED背光灯所需要的供电电源。逻辑控制电路采用CPLD器件,自主研制的优化逻辑,利用独有的缓冲技术,让显示与写入数据同时进行,完全杜绝雪花现象,实现了画面的高速更新,且互不干扰。

3.1 硬件设计

本系统采用的单片机是AVR系列单片机中功能最强的AT90CAN128。该单片机具有丰富的片内资源如128k的Flash,4kB的内部SRAM,51个I/O端口,可寻址64KB的地址,支持ISP下载和JTAG仿真等。由于液晶的显示缓冲区里的内容是不能读出的,为了保存写入的数据,在外面还外扩了一片AT24C04,由于本单片机的资源有限,须借助外扩存储器。AT90CAN128采用IIC总线对EEPROM进行读写操作,上电后首先发送保存在片内的数据,然后接受PC发送过来的数据并保存起来,再次读取数据返回给PC,断电后数据不丢失。IIC总线对EEPROM进行读写操作,其过程如下:

1)发送START信号,通过对TWCR写入特定值,指示TWI硬件发送START信号。

2)START信号被发送之后,TWCR寄存器的TWINT标志位置位,TWCR更新为新的状态码,表示START信号成功发送。

图1 手操盒系统组成

图2 手操盒设备组成

图3 控制流程图

3)应用程序应检验TWSR,确定START信号已成功发送,TWINT清零,启动地址包的传送。

4)地址包发送后,TWCR寄存器的TWINT标志位置位,TWDR更新为新的状态码,表示地址包成功发送。

5)应用程序应检验TWSR,确认地址包已成功发送、ACK为期望值。

6)一旦TWINT清零,TWI启动数据包发送,发送后TWCR的TWINT置位,TWSR更新为新的状态码,表示数据包已成功发送。

7)应用程序检验TWSR,确认地址包已发送,ACK为期望值。

图4、图5为AVR单片机对EEPROM的读写流程图。

3.2 液晶显示设计与实现

TFT的接口方式采用总线方式,外部引线包括数据总线(DB0-DB7)、片选信号(/CS)、读写输入(/RD、/WR),可以直接接到单片机的总线上。

图4 读数据流程图

图5 写数据流程图

图6 无环境干扰时采用模糊PID控制仿真结果

由于TFT显示数据读写方式是首先必须指定行地址Y,以及列地址X。然后就可以将该行从地址X开始的数据连续进行读写操作,无须重新设置X和Y。在显示数据的每次读写操作后,列地址X将自动加1,当地址加到行尾时,地址将跳到下一行的行首。当要读写一个新的行时,必须重新设置X、Y。

CMD为液晶控制寄存器,DAT为液晶数据寄存器,显示数据通过该寄存器写入和读出,每次读写操作后地址自动沿X方向加一,一次读写一个像素。对液晶显示器进行控制。

TFT的控制寄存器CMD如下:

76543210 Model1Model0EN

EN为使能位,该位为1使能8点写模式,为0则是的单点写的基本功能。

Mode=00:数据寄存器DAT是像素数据写入寄存器。

Mode=01:数据寄存器DAT是前景色颜色写入寄存器。

Mode=10:数据寄存器DAT是背景色颜色写入寄存器。

图7 有环境干扰时采用模糊PID控制仿真结果

Mode=11:数据寄存器DAT是亮度值写入寄存器。

显示函数:

TFT屏的显示是直接把数据赋给数据寄存器,然后就能显示出来,所有我们要做的就是确定显示的首尾地址。

3.3 显示汉字和其他功能

在屏幕上显示16*16点阵汉字的基本步骤是首先取得该汉字的32个字节的点阵数据,再确定屏幕上显示的位置,利用显示函数即可显示该汉字。由于本液晶不带字库,而且单片机本身的资源有有限,所以从外扩的EEPROM中读取数组,然后再液晶上显示。

其函数如下:

4.手操盒系统软件仿真

为了验证所设计的手操盒系统的性能,需要将其应用于船舶控制。由于条件有限无法将控制器应用于实船上验证,因此需要搭建动力定位控制系统的半实物仿真平台,并在该平台上采用模糊PID控制算法对船舶艏向进行控制,以此来验证控制器效果。

本文验证方案为在PC机上建立一个三自由度的船舶模型,在手操盒控制板与PC机通过RS232相连,通过操纵手操杆,实现船舶控制量与船舶状态量之间的关系。

仿真系统流程如下:首先先给系统上电,等待系统产生的船舶当前艏向,然后与原来模型产生的数据进行比较,如果相等,则程序结束。

在仿真试验中,运行有船舶模型的PC机上时刻记录着水面船舶的艏向信息,并将该信息保存到记事本中,待仿真结束利用MATLAB绘制出艏向控制曲线,主要验证了在有环境干扰和无环境干扰下,模糊PID对船舶的艏向控制情况如下:

PID的控制算法为:

其中,u( t)为控制器输出量,e( t)为误差信号,ec( t)为误差变化率,Kp,Ki,Kd分别为比例系数、积分系数、微分系数。这种PID存在参数修改不方便不能进行自整定等特点,如果能实现PID参数在线自整定,那么就能进一步改善PID控制器性能,以适应控制系统参数变化和工作条件的变化。

(1)无环境干扰时的艏向、北向控制仿真

试验过程中,未加入风、浪和海流环境干扰力,比较了采用模糊PID算法将船舶艏向控制到10°时的变化情况,分别如图6所示。

(2)有环境干扰时的艏向、北向控制仿真

试验过程中,风速以17m/s从120°的方向吹向船舶,流速为0.3m/s,方向为90°,比较了采用模糊PID控制艏向角为10°时的控制曲线,如图7。

5.结语

手操盒作为一种特殊的船控终端操作系统,在需要人为操作时才进行工作,拥有良好的人机交互界面。液晶显示界面程序均在ICCAVR编译器里调试通过,实现了在液晶屏幕上正常显示各种颜色的汉字、英文、数字及简单的图形功能,采用本液晶模块,达到了显示稳定,显示色彩丰富,人机界面友好的较理想的显示效果。

[1]刘树中,孙书鹰,王春平.单片机和液晶显示驱动器串行接口的实现[J].单片机开发和应用,2007,23(1):137-141.

[2]汪川,樊明泽.基于单片机的HT1621液晶显示系统设计[J].现代电子技术,2010,334(23):165-167.

[3]林孝工,施小成,边信黔.工作母船综合操纵系统副控台控制与显示方法[J].船电技术,2004,1:278-301.

[4]褚东升,元庆刚,岳成亮.基于AVR单片机的VRAM型彩色液晶显示模块设计[J].液晶与显示,2005,20(5):435-439.

[5]马成,何培祥,李庆东.图形点阵式液晶显示模块与51单片机接口设计[J].应用天地,2007,26(5):76-79.

[6]沈建良,赵文宏,贾玉坤,王华东,胡克佳.ATmega128单片机入门与提高[M].北京:北京航空航天大学出版社,2009.

[7]刘彬,韩进.基于单片机的液晶显示触摸屏控制设计[J].液晶与显示,2010,25(2):241-244.

[8]陈京培,徐永梅.基于AT89S52单片机的液晶显示控制电路设计[J].电路设计,2008,285(22):22-25.

[9]许思达.基于51单片机的TFT液晶显示设计[J].电子元器件应用,2010,12(10):38-44.

猜你喜欢

液晶显示液晶寄存器
STM32和51单片机寄存器映射原理异同分析
不可压液晶方程组的Serrin解
《液晶与显示》征稿简则
Lite寄存器模型的设计与实现
基于TRIZ理论液晶显示模块开发板的创新设计
122×32 点阵液晶显示汉字原理实验
液晶与显示2015年第30卷第1期 目录
液晶与显示2014年第29卷第2期 目录
高速数模转换器AD9779/AD9788的应用
一种可重构线性反馈移位寄存器设计