1、 - 1 - 摘要 现在小型船舶采用的模拟电子控制舵机技术存在传输距离长的情况下,线路易于受到外部干扰,舵机偏转角度会有不确定的稳定性缺陷,使得这一类设备在远距离控制使用时受到限制。并且反馈电位器长时间磨损和腐蚀也造成舵角控制的不确定。另外模拟电路和电源的漂移,也常使得舵角显示不能够满足使用要求。虽然现在大型船舶大多都使用电动舵轮或者是液压舵了,但是任然是机械式的控制,且反应速度也由人的“灵敏度”所决定,误差范围很大,精确度不高。 本设计以 STC89C52 单片机作为核心控制器, ARM2148 作为辅助控制器,E6B2-CWZ5G 作为 角度传感器, 远程控制舵机的左右偏转 ,并通过主控制
2、器STC89C52 单片机控制的 LCD1602 显示器实时显示舵机偏转角度。其中主控制器与辅助控制器之间通过串口线进行数据传输,从而实现对舵机的远程控制。 这种数字式控制的舵机可以避免模拟电路控制所带来的精确度不高,误差较大稳定性差的问题,实现舵机控制的轻型化和小型化,节省船体空间,增加载重辆。将数字控制舵机与轮船的动力系统相结合,结合现在的 GPS 与 GIS 技术,还可以实现轮船的自动导航驾驶 . 关键词: STC89C52 ARM2148 角度传感器 LCD1602 - 2 - Abstract now the small vessels of analog electronic co
3、ntrol steering technology in long transmission distance, line vulnerable to external interference, steering gear deflection Angle will be uncertain stability defect, make this kind of equipment in the remote control when using limited. And feedback potentiometer long wear and corrosion also causes r
4、udder Angle control of uncertain. Another analog circuit and power supply drift, often also makes the rudder Angle display cant satisfy the use requirement. Although large ship now mostly use electric steering wheel or hydraulic steering, but still is mechanical control, and the reaction rate and by
5、 the person “sensitivity“ decision, error range is very large, accuracy is not high. This design to STC89C52 single-chip microcomputer as the core controller, ARM2148 as supplementary controller, E6B2 - CWZ5G as Angle sensor, remote control steering left deflection, and through the main controller S
6、TC89C52 single-chip microcomputer control LCD1602 display real-time display steering gear deflection Angle. Among them main controller and auxiliary controller through a serial port line between data transmission, so as to realize the remote control of steering gear. The digital control of steering
7、gear can avoid analog control brought about by the accuracy is not high, error larger poor stability problem and realize the steering gear control light-duty and miniaturization, saves the hull space, increase the load car. Digital control steering gear and the combination of the power system, combi
8、ned with the present GPS and GIS technology, but also can realize the automatic navigation driving. Keywords: STC89C52 ARM2148 LCD1602 Angle sensor - 3 - 一、整体设计与论证 1、方案选择 : 1)主控制器 : 主控制器采用的是 STC89C52 单片机, STC89C52 是一种低功耗、高性能 CMOS8位微控制器,具有 8K 在系统可编程 Flash 存储器 。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 STC
9、89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。在本设计中, STC89C52 单片机主要负责两项工作。一是接收控制按键给出 的指令并通过串口线发送给辅助控制器 LPCARM2148,使得辅助控制器 LPCARM2148 能够及时根据指令改变舵机偏转方向。二是及时更新LCD1602 液晶显示屏,将此时舵机偏转角度显示出来。 2) 辅助控制器: 3) 在本设计中采用 LPCARM2148 作为辅助控制器,之所以选择 ARM2148 是因为其采用的 3 级流水线模式增加处理器指令流速度,这样可使几个操作同时进行,并使处理和存储之间的操作更加流畅连续,能提供 0.9MIPS/MHZ
10、 的指令执行速度,因此在舵机快速偏转时,处理器仍然可以远远满足编码器瞬间给出的众多条代码值, 避免使用 52 单片机出现的卡死现象,使整个系统更加稳定可靠。 LPCARM2148 是基于一个支持实时仿真和嵌入式跟踪的 32/16 位ARM7TDMI-SCPU 的微控制器,并带有 32kB 和 512kB 嵌入的高速 Flash 存储器。128 位宽的存储器接口和独特的加速结构使 32 位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用 16 位 Thumb 模式将代码规模降低超过30%,而性能的损失却很小。较小的封装和很低的功耗使 LPC2141/42/44/46/48 特别适用
11、于访问控制和 POS 机等小 型应用中;由于内置了宽范围的串行通信接口(从 USB 2.0 全速器件、多个 UART、 SPI、 SSP 到 I2C 总线)和 8kB 40kB 的片内 SRAM,它们也非常适合于通信网关、协议转换器、软 modem、语音识别、低端成像,为这些应用提供大规模的缓冲区和强大的处理功能。多个 32 位定时器、1 个或 2 个 10 位 ADC、 10 位 DAC、 PWM 通道、 45 个高速 GPIO 以及多达 9 个边沿或电平触发的外部中断管脚,使它们特别适用于工业控制和医疗系统。 ARM2148 在整个系统中主要起的作用是实时检测角度传 感器偏转角度,并将检测
12、的值同 STC89C52 单片机通过串口线传输过来值进行对比,如果二者值不相同,就及时修正舵机偏转方向,使之与单片机给出的指令保持一致。 - 4 - 3)角度检测部分 角度的检测电路我们选择的是 E6B2-CWZ5G 角度传感器,这种角度传感器是一种增量式的旋转译码器, 增量式旋转编码器通过内部两个光敏接受管转化其角度码盘的时序和相位关系,得到其角度码盘角度位移量增加(正方向)或减少(负方向) 。 这种增量旋转编码器输出精度高,性能不会因为时间缘故发生变化,舵机电动执行模块的同心连接轴连接增量旋转编码器 轴。编码器轴被动旋转时,内部电路会根据旋转方向和角度大小,给出相应高低电平形式数字信号。传
13、输给角度编码导线与之相连的角度处理传输模块。在接合数字电路特别是 ARM 后,增量式旋转编码器在角度测量和角速度测量较绝对式旋转编码器更具有廉价和简易的优势。 增量式旋转编码器的内部工作原理如图 1 所示 图 1 增量式旋转编码器 通过输出波形图可知每个运动周期的时序 如下表所示。 我们把当前的 A,B输出值保存起来,与下一个 A,B 输出值做比较,就可以轻易的得出角度码盘的运动方向, - 5 - 4)驱动部分部分 L298N 是 ST 公司生产的一种高电压、大电流电机驱动芯片。该芯片采用 15脚封装。主要特点是:工作电压高,最高工作电压可达 46V;输出电流大,瞬间峰值电流可达 3A,持续工
14、作电流为 2A; 额定功率 25W。 内含两个 H 桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用 L298N芯片驱动电 机,该芯片可以驱动一 台两相步进电机或四相步进电机, 也可以 驱动两台直流电机。 而且 L298N 有过电流保护功能,当出现电机卡死时,可以保护电路和电机等。 因此,我们采用安全性更高的 L298N 驱动芯片来驱动电机 , - 6 - 5)显示
15、部分 方案一:数码管显示 七段八位二进制数码显示器分为动态显示和静态显示两种:静态显示方式编程简单,显示便于监测和控制,但占用单片机的 I/O 端口线多,同时硬件电路复杂,成本高,只适合显示位数较少的场合 ; 动态显示方式显示位数较多可以节省I/O 端口,但硬件电路简单 ; 不管是静态显示的方式还是动态显示的方式都只能显示数字不能显示字符和汉字,对于整体的显示还是不够完美。 方案二: LCD 液晶显示 LCD1602 液晶显示器是一种低功耗的显示器件,它不仅省电而且能够显示大量的信息,如文字、曲线、图形等,显示质量高,数字式接口于单片借连接更加简单可靠,操作方便。综上,我们采用方案二来作为显示
16、模块。2、 方案描述 : 在驾驶室,当驾驶员需要改变船舶行驶方向时,可以通过方向控制器上的按钮调节舵机偏转角度。 STC89C52 单片机不断检测控制器上的按钮。当驾驶员对控制器进行操作时, STC89C52 单片机检测到控制器的变化,并将检测的值通过串口线发送给 ARM2148 辅助控制器。而在船尾, ARM2148 辅助控制器也不断检测 STC89C52 单片机通过串口线发送给自己的值,并将检测的值同自己检测到的舵机偏转的值进行比较。如果两者相同,则继续检测; ,由主控制器通过电机驱动模块控制舵机进行相应角度的偏转。而当舵机偏转时,带动与 之相连接的角度传感器转动,角度传感器进行编码,这些
17、编码被 核心控制器获得,并将获得的数据通过串口线发送给 STC89C52 单片机,由 STC89C52 单片机将获得的数据通过 LCD1602 液晶显示器显示出来。同时驾驶员也可以通过驾驶室的液晶显示屏实时掌握舵机偏转情况,以便及时进行修正。 - 7 - 图 2 系统方案框图 二、理论分析计算 1、角度的计算 采用 E6B2-CWZ5G 角度传感器进行测量舵机偏转的角度 E6B2-CWZ5G 角度传感器旋转一周共有 200 个代码,因此一次脉冲即为 1.8,由角度传感器向ARM2148 主控制器 发送脉冲,通过中断来记录下脉冲数 m,即可知道舵机偏转角度。角度传感器最后所测得的角度 D即为:
18、D=m*1.8 2、脉冲的计算 先测量将舵机偏转 5时所需要的脉冲数 p,然后当已经给出了角度为 x 时,所需要的脉冲数 N 即为 : 角 度 传 感器 主控制系统 液晶显示器 辅助控制系统 按键控制 电机驱动模块 串口线 - 8 - N=(x/5)*p 三、系统硬件设计图 3.1 电源的设计 图 3 电源原理图 3.2 主控制器电路设计 3.2.1 主控电路复位电路 单片机复位电路就好比 电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。 在复位电路中,
19、电容在上接高电平,电阻在下接地,中间为 RST。这种复位电路的工作原理是:通电时,电容两端相当于是短路,于是 RST 引脚上为高电平,然后电源通过电阻对电容充电,RST 端电压慢慢下降,降到一定程序,即为低电平,单片机开始正常工作 。复位电路通常有两种,一种是 上电复位电路 ,另一种是 上电复位兼手动复位电路 ,简称手动复位电 路。 - 9 - 左 图是上电复位电路, RST 高电平复位有效。开机上电瞬间,电源经过 R1 和IC给 C1 充电,即电流经 C1 流向 RST 电容充电电流最大,电容相当于短路, RST端为高电平, RST 得到高电平, IC 即复位。复位完毕以后, C1 充电停止
20、不再有电流流过, RST 经 R1 接地为低电平,电路进入工作状态。 C1和 R1 构成时间常数,这里的时间常数是 10X10K=0. 1 秒,实际电路不会用电解电容来做复位电路,原因是电解电容的漏电流较大,工作不可靠, 通常选用瓷片电容 右 图是上电复位兼手动复位电路。 10 电容和 R2 电阻,与图 1 起着相同作用外,还起着另一个作用,即防抖动, C1 和 R1 的组合使 RST 只送入一个高电平的脉冲。当按下按键时, RST 直接与 VCC 相连,为高电平形成复位,同时电解电容被短路放电;按键松开时, VCC 对电容充电,充电电流在电阻上, RST 依然为高电平,仍然是复位,充电完成后
21、,电容相当于开路, RST 为低电平,正常工作 。在本设计中,主控电路设在驾驶室,出于方便控制因素考虑,选用手动复位电路 . 3.2.2 主控电路 单片机最小系统电路介绍 - 10 - 3.2.3 晶振电路 : 单片机最小系统晶振可以采用 6MHz 或者 11.0592MHz,典型的晶振取 11.0592MHz(因为可以准确地得到 9600 波特率和 19200 波特率 ,用于有串口通讯的场合 )/12MHz(产生精确的uS 级时歇 ,方便定时操作 )51 单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。单片机最小系统起振电容 C2、 C3 一般采用 1533pF,并且电容离晶振越近越好,晶振离单片机越近越好 , 作为输出口时需加上拉电阻,阻值一般为 10k。