张泽宇,杨明国
电力推进系统面板控制器的设计与实现
张泽宇1,杨明国2
(1.武汉船用电力推进装置研究所,武汉 430064; 2. 海军驻七一二研究所军代室,武汉 430064)
本文介绍了一套基于ARM内核的面板控制器的设计。本文采用基于ARM Cortex-M3内核的ST公司的STM32系列微控制处理器完成与船舶操纵面板的接口设计,作为船舶监控系统中操纵面板的中心枢纽,具有集成度高、安全可靠、智能化、小型化等特点。
面板控制器 ARM 监控系统
随着船舶电力推进技术的发展与应用,现代化船舶监控系统朝着小型化、智能化的方向发展,电力推进系统船舶中操纵面板作为监控系统的一部分,操纵面板作为最直观的可视化设备具有操纵性好、直观智能的特点,面板控制器作为船舶监控系统中操纵面板的核心,具有集成度高、安全可靠、智能化、小型化的特点。
船舶驾控台采用按键开关实现控制指令的输入、采用LED灯指示监控系统的相应状态,然后控制指令及监控状态通过通讯网络传递给相应的设备或接受相应的设备的反馈。因此整个面板控制器按照功能可分为三大模块:模拟信号处理模块、数字信号处理模块以及通讯模块。
数字信号处理模块完成数字信号的输入输出处理功能。输入数字信号主要是指控制各设备的按钮开关,输出信号主要是指驱动LED 灯的电压信号。
模拟信号处理模块完成模拟信号的实时采集与实现显示,模拟输入信号主要是车种的输入信号,输出信号主要是驾控台相关仪表(如转速表和功率表)的显示。
通信模块包括一路CAN总线通信和两路 RS-232通信,其中CAN通讯完成与监控系统其他设备的通信,RS232通信完成与驾控台液晶屏的通信。
后面将根据总体框架设计中的功能和接口,分别从硬件和软件两个方面阐述相关的设计。
STM32F103系列微控制器基于超低功耗的ARM Cortex-M3内核,时钟频率最高可达72MHz,搭载有TIMER、ADC、DAC等众多外设,支持SPI、IIC、CAN等总线传输,该系列处理器具有高性能、低成本、低功耗的特点[1]。
在驾控台中,模拟输入信号为车钟的输入信号,主要模拟输出信号为仪表(如转速表、功率表等)。其中模拟输入信号还可以包括驾控台或驾驶室内温度、湿度等传感器的模拟信号。
在本文中对驾控台车钟的输入信号设定为0-5V。由于STM32F103控制器的ADC模块对模拟信号采样的电平标准基于芯片REF端参考电压的选择(最高为3.3 V),在本文中我们选择使用输出电压为2.5 V的电压基准芯片,因此输入的模拟信号必须经过一级调理电路才能输入到CPU的ADC模块中。OP07作为常用的低功耗、高精度运算放大器得到了我们的青睐,模拟信号的调理电路起信号转换,低通滤波的作用[2]。具体的设计电路如下:
电压基准芯片选用TI公司的REF5025,其具有低噪声、低漂移、高精度的特点[3]。具体电路图如图2所示,当输入为+5 V时输出为2.5 V,纹波在几十mV以内。
在图3中,0~5 V的输入模拟信号通过比例运放电路之后,模拟信号线性变化为0-2.5 V,同时 R85与C68 构成一个低通滤波器,抑制一部分高频噪声。经过测试,模拟信号在经运算放大电路前后电平呈线性变化,在输入端为5 V 的时候,输出电压值为最高VREF,当输入端为0 V时,输出电压值为0 V。
STM32F103芯片的ADC外设为12位逐次逼近式模数转换器,测量范围为0~2.5 V,完全满足我们的日常需要。同时该芯片还搭载有双通道10位的数模转换器,可用于驾控台仪表的驱动信号。
由于驾控台仪表中功率表驱动信号为±20 mA,而芯片的模拟输出信号为电压信号,所以需要进行电压电流转换,这里我们选用TI公司的电压电流转换器XTR111。XTR111作为精密的电压电流转换器大量应用于0~20 mA和4~20 mA电路设计,其非线性度为0.002%,精确度高达0.015%[4]。在电路中,输入电压范围为0~12 V,R61串联于输出端,起限流保护的作用。在实际应用中,为增加电路的驱动能力,往往会在输出端加入电压跟随电路。
开关量输入通道用于各种开关和指示灯的开关状态。出于减少现场干扰和对微控制器的保护,输入回路采用光耦隔离,使现场和控制器实现电气隔离,保持控制器工作的可靠性。输入接口的电路图如图5所示,R86为限流电阻,R89和C57组成一阶滤波电路,防止外部干扰进入系统,D10为输入信号指示灯,若输入为高电平,则灯亮,反之则灭。
开关量输出通道用于指示灯的指示。输出回来同样采用光耦隔离电路,使现场与控制器实现电气隔离,保证控制器工作的可靠性。输出接口的电路图如图6所示,DOUT1为单路输出通道,TLP521为光耦隔离器,D12作为输出信号指示灯若输出为高电平,则灯亮,反之则灭。
图7为操纵面板控制器实物,目前正进行全面的系统测试,未来可用在船舶电力推进系统的监控系统中,配合各类操纵面板使用。
以硬件为基础,面板控制器有了正常工作的基础和条件,但要使其正常而有效的工作,还需要软件的配合。软件设计最主要有两部分,一部分为相应的控制算法,一部分为相应的接口底层代码。在这里我们将软件程序划分为以下几个部分:
1)系统初始化:设置CPU及外设初始状态;
2)接口代码:模拟量采集、数字信号处理;
3)控制算法:完成控制流程和逻辑运算。
在具体实施中程序设计划分为以下几步[5]:
1)设计规划:将设计对象划分为若干个主要功能部分,分块处理;
2)流程图处理:根据具体工作要求,确定软件的各个功能模块并根据要求画出流程图;
3)定义单片机外设:作为单片机外设的驱动,方便逻辑程序调用;
4)优化算法:优化算法增强处理器的运算时间;
5)编写程序:使用前面的算法和流程图编写软件并进行调试。
本文设计了一种基于ARM内核的面板控制器。控制器采用基于ARM Cortex-M3内核的ST公司的STM32系列微控制处理器作为CPU处理器,通过对外围电路的设计完成与船舶操纵面板的接口设计,作为船舶监控系统中操纵面板的中心枢纽,具有集成度高、安全可靠、智能化、小型化等特点。
[1] 刘波文. ARM Cortex-M3应用开发实例详解[M]. 北京:电子工业出版社, 2011,(02): 3-5.
[2] 王钰, 潘士斌, 王卉. 数据采集中IIC的应用[J]. 科技广场, 2008,(08): 72-74.
[3] Texas Instruments Inc. F5025 datasheet, 2007.
[4] Texas Instruments Inc. XTR111 datasheet, 2010.
[5] Thomas A. Dimensions of microstrip coupled lines and interdigital structures [J]. IEEE Transaction on Microwave Theory and Techniques, 1977:405-410.
Design of Panel Controller for Electric Propulsion System
Zhang Zeyu1, Yang Mingguo2
(1.Wuhan Institue of Marine Electric Propulsion, Wuhan 430064 ,China; 2. Naval Representatives Office in WIMEP , Wuhan 430064, China)
TP274
A
1003-4862(2014)11-0056-03
2014-04-10
张泽宇(1989-),男,助理工程师。研究方向:船舶监控系统。