基于emWin的仓储物流机器人的无线充电管理系统设计

2020-03-04 03:40程进军马宏锋
无线电工程 2020年2期
关键词:人机界面触摸屏界面

周 彬,程进军,马宏锋

(1.兰州工业学院 电子信息工程学院,甘肃 兰州 730050;2.兰州海默科技股份公司,甘肃 兰州 730030)

0 引言

仓储物流机器人[1-3]作为智慧物流的重要组成部分,顺应了新时代的发展需求,有效解决了传统物流行业高度依赖人工、效率低下及业务高峰期分拣能力有限等瓶颈问题。但是仓储物流机器人携带电池的容量有限,需要经常进行充电,而且机器人工作环境复杂且未知,传统的锂电池充电装置多采用有线充电方式,每次充电需要插拔充电器接头,易造成接触不良、漏电等问题,且使用不便、不安全。而无线充电基于电磁感应现象、无需插拔充电插头的特点更便于机器人进行自主充电。

emWin[4]的开源化大大降低了开发嵌入式人机界面的开发成本,同时提高了开发设计触摸屏软件的效率。该设计借助emWin的优势,通过STM32F767处理器直接对触摸屏进行编程设计,实现仓储物流机器人无线充电的管理系统,对机器人的充电过程、充电费用和提醒机器人及时充电进行调度管理。

1 系统硬件设计

仓储物流机器人无线充电管理系统硬件结构如图1所示。该系统采用STM32F767[5-6]作为中央处理单元,是基于高性能的ARM Cortex-M7 的32位内核嵌入式ARM处理器,工作频率高达216 MHz,处理器自带320 KB SRAM和1 024 KB FLASH存储器,这些足够运行emWin系统;另外,STM32F767集成了诸如先进定时器、GPIO口、DMA、SPI、I2C、CAN、LCD驱动接口和12位的AD/DA等资源;加之,官方为STM32F767提供了丰富的固件库和开发资源,使得编程极其方便灵活,这一切都有利于仓储物流机器人无线充电管理系统的设计和实现。图1中,系统硬件主要模块有LCD显示屏、电能计量表(电能表)、供电电源及其他器件等。

图1 系统硬件结构Fig.1 The system hardware structure diagram

各硬件模块情况如下:

(1) LCD显示屏

LCD显示屏采用10寸大屏幕彩色触摸显示屏,显示分辨率为1 280*800,支持1 600 W真彩显示,色彩逼真,效果细腻。工作温度范围为-20~70 ℃,为emWin人机显示提供了良好的硬件基础。

(2)电能表

电能表选用在充电桩方面得到大量应用的Piolt单相多功能电能表,此表能够测量单相电压、电流、有功功率、功率因数、频率和有功电度等,并有1路RS485通信接口与各种系统的RS485进行通信。

(3)供电电源

系统供电电源采用明纬超薄开关电源MW-02-12,此电源输入电压范围宽,能够适应不同的交流电压输入,广泛应用于各种工业领域,其输入电压为90~260 V的交流电,输出12 V的直流电,为系统提供稳定地电力供应。

(4)其他器件选择

此系统的交流接触器、存储器等器件均采用工业级器件,以保障系统在工业环境下能够稳定的应用。

2 系统软件设计

emWin是GUI的高级版本,由Segger公司研发。针对嵌入式平台,开发稳定、高效的图形软件库,emWin用于提供高效且独立于处理器和显示控制器的图形用户界面,用于任何使用图形显示进行操作的应用。它与单任务和多任务环境、专用操作系统或具有任何商业RTOS兼容,支持使用任何控制器的任何 (单色、灰度或彩色)显示器 (如果有正确的驱动);在较小显示器上无显示控制器也可运行;使用配置宏可支持任何接口;可在显示器上的任何点上写入字符和位图;利用编译时间切换可进行不同优化;对于较慢的显示控制器,可在存储器中缓存显示,将存取操作减到最少,从而获得非常高的速度,结构清晰。emWin[7]的最底层是硬件层,即最基本的板级支持软件包(BSP),也称为底层驱动,提供了对硬件平台资源最直接的访问;emWin 软件库联系着底层硬件和用户应用程序,它运行在硬件层之上,为应用程序提供基于消息机制的图形用户界面编程接口,它的主要组成部分是:字符显示、2D图形绘制、窗口管理和控件操作等。

仓储物流机器人无线充电管理系统[4]的人机交互界面主要由充电桩菜单、管理、设置按钮和充电信息显示、电池电量状态可视化图标和充电二维码等组成。制作管理界面编程主要是调用2D图形和文字应用程序接口函数,采用 C 语言编写出对应的应用程序。

2.1 程序整体设计

系统软件以uCOSIII[8-9]为操作系统,采用多任务思想,整个系统划分为人机界面交互、触摸屏响应、电能计量、无线通信、充电控制和数据存储任务。软件采用任务优先级和时间片轮巡调度算法实现任务调度,任务之间既相对独立又通过消息队列和信号量相互联系。系统软件结构如图2所示。

图2 系统软件结构Fig.2 The system software structure diagram

2.2 人机界面交互任务

人机界面主要完成无线充电桩的人机交互功能[10-11]。该人机界面设计了登录权限管理、用户管理、充电信息和参数设置等6个无线充电桩的人机交互界面。主界面用emWin的Framewin框架,在框架中添加4个按钮控件,分别实现登录管理、用户管理、充电信息和参数设置界面的切换功能;添加一个多页显示控件(Multipage),实现6个充电桩的充电信息显示功能,界面创建代码如下:

static const GUI_WIDGET_CREATE_INFO _aDialogCreate[]= {

{ FRAMEWIN_CreateIndirect,"Framewin",ID_FRAMEWIN_0,0,0,1280,800,0,0x64,0 },

{ MULTIPAGE_CreateIndirect,"Multipage",ID_MULTIPAGE_0,0,0,1096,733,0,0x0,0 },

{BUTTON_CreateIndirect,"登录管理",ID_BUTTON_0,1128,250,120,60,0,0x0,0 },

{BUTTON_CreateIndirect,"用户管理",ID_BUTTON_1,1128,350,120,60,0,0x0,0 },

{BUTTON_CreateIndirect,"充电信息",ID_BUTTON_2,1128,450,120,60,0,0x0,0 },

{BUTTON_CreateIndirect,"参数设置",ID_BUTTON_3,1128,550,120,60,0,0x0,0 },

};

人机界面的其他界面用emWin的Windows框架,如充电信息界面,采用6个Windows框架,分别嵌入到Multipage上,实现充电信息显示、充电操作和充电二维码生成等功能,其显示界面如图3所示。

图3 充电桩管理系统界面Fig.3 The interface of charging pile management system

2.3 触摸屏任务

触摸屏任务主要完成人机界面的操作任务,实现充电操作、用户管理操作、充电参数设置、充电信息浏览和用户登录管理等操作任务。触摸屏任务创建程序如下:

OSTaskCreate((OS_TCB* )&TouchTaskTCB,

(CPU_CHAR* )"Touch task",

(OS_TASK_PTR )touch_task,

(void* )0,

(OS_PRIO )TOUCH_TASK_PRIO,

(CPU_STK* )&TOUCH_TASK_STK[0],

(CPU_STK_SIZE )TOUCH_STK_SIZE/10,

(CPU_STK_SIZE )TOUCH_STK_SIZE,

(OS_MSG_QTY 0,

(OS_TICK )0,

(void* )0,

(OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR,

(OS_ERR* )&err);

2.4 电能计量任务

电能计量任务根据充电状态读取电能表的计量数据,然后根据设定的充电参数统计充电度数,计算充电金额,统计充电时间等功能。电能计量任务流程如图4所示。

图4 电能计量任务流程Fig.4 The flow chart of Energy metering task

2.5 无线通信任务

无线通信任务实现无线充电桩发射端和接收端的通信功能,充电桩发射端实时接收充电接收端的充电状态信息,包括电池电压状态、电池充电电流和充电电池温度等。当充电桩端接收到信息后,根据电池状态情况实时调节发射端的充电功率,使电池充电状态处于最优。

2.6 充电控制任务

充电控制任务主要完成机器人无线充电的过程控制[12],当用户确认开始给机器人进行充电时,系统控制任务根据通信任务提交的电池参数,计算需要充电电流的大小并设置充电电流,然后闭合交流接触器开始充电。充电控制任务流程如图5所示。

图5 充电控制任务流程Fig.5 The flow chart of Charge control task

2.7 数据存储任务

数据存储任务主要实现充电参数存储,实时存储在充电桩上充电情况,如充电机器人编号、充电电量、分时电量、分时电价、充电金额、充电时间、充电电压和充电电流信息。方便用户对机器人充电情况的统计分析,优化生产调配。

数据存储任务中的参数保存程序如下:

void SaveParameter(char* Parmeter_TXT)

{

char result;

static FILTXTFile;

OS_ERR err;

u32wcnt;

OSSchedLock(&err);

result = f_open(&TXTFile,"2:/Parameter.txt",FA_CREATE_ALWAYS|FA_WRITE);

if(result == FR_OK)

{

do

{

result =f_write(&TXTFile,(void*)Parmeter_TXT,

strlen(Parmeter_TXT),&wcnt);

if(result) break;

}while(wcnt

}

f_close(&TXTFile);

OSSchedUnlock(&err);

}

3 结束语

该设计采用emWin进行仓储物流机器人的无线充电管理系统设计,能提供友好的充电管理开发人机交互界面,通过此界面完成查看和管理任务。设计成果证明,开发设计过程简捷高效,界面美观、工作稳定可靠,能对机器人进行实时调度充电、有效防止了机器人因无法及时充电而停工的情况发生。推而广之,emWin可以方便快速地嵌入到各类仪器仪表中,除了仓储物流部门,还可以在医疗技术、消费电子、汽车电子和工业自动化等嵌入式领域发挥巨大的作用。

猜你喜欢
人机界面触摸屏界面
2.5D触摸屏盖板玻璃翘曲控制技术
微重力下两相控温型储液器内气液界面仿真分析
浅谈无锡地铁信号系统人机界面的应用与研究
国企党委前置研究的“四个界面”
扁平化设计在手机界面中的发展趋势
现代汽车人机界面(HMI)设计趋势
浅析投射式多点触控电容触摸屏
皮肤“长”出触摸屏
人机界面设计中的心理学因素
人机界面设计概述