您现在的位置是:首页 > 消费电子 > 技术解析

Qt/Embedded的/蓄电池状态检测控制软件设计

时间:2018-09-13 来源:互联网 关键字:蓄电池   状态检测   软件设计   

1 引言

蓄电池生产过程中的状态参数检测是保证蓄电池出场质量的关键。然而目前,国内蓄电池的状态检测主要依靠蓄电池电压巡检仪、蓄电池电导测试仪和内阻容量测试仪等仪器,这些仪器只是能够实现单一的检测蓄电池状态,而且操作灵活度有限,数据的存储、传输以及实时分析都需要额外的pc的辅助来实现, 已经不能很好的满足当前许多要求较高的工业现场控制的应用。为了使蓄电池生产线上的蓄电池性能参数测量更加灵活,本文提出一种基于qt/embedded的便携式蓄电池状态检测系统,实现了对蓄电池的多路数据采集,控制软件界面友善、检测仪器轻巧方便。

2 系统总体设计与实现

本检测系统由数据采集部分、a/d转换、arm微控制器和数据存储等几部分组成,总体架构设计图如图1所示。其中,数据采集部分主要完成对蓄电池性能参数的采集,a/d转换部分主要完成采集信号的模/数转化,arm微控制器是整个系统的关键部分,主要负责与基于qt/embedded的连接,接受第三方用户的命令信息并进行相应的处理。数据存储部分主要负责将处理后的数据存放到usb设备中,为以后数据分析提供依据。

3 控制软件的设计

3.1 qt/embedded简介

qt/embedded是一个和完整的自包含gui和基于linux的嵌入式平台工具,是qt在嵌入式平台的版本。它通过qt api与linux i/o以及framebuffer直接交互,拥有较高的运行效率,而且整体采用面向对象编程,拥有良好地体系架构和编程模式。通过qt/embedded可以直接构建工作在嵌入式设备上的控制软件,为便携式设备提供良好的人机交互界面,使设备的操作更加灵活。



图1 测量系统的组成

3.2 qt/embedded的移植

本文采用宿主机-目标板的移植方式,先在宿主机上调试通过后,再将调试通过的程序移植到目标板上。

3.2.1宿主机上的移植

qt/embedded直接写入帧缓冲,在宿主机上则是通过qvfb(vituralframe buffer)来模拟帧缓冲。宿主机上的移植需要的工具及环境变量见表1。其中环境变量的设置可以直接用export来声明,配置qt-embedded-3.3.2时,/configure–qconfig–qvfb–depths4,8,16,32,就是指定qt/embedded开发包生成虚拟缓冲帧工具qvfb。

3.2.2目标板上的移植

将qt/embeded程序应用到arm开发板,在configure配置时配置linux-arm-g++配置选项[6]。最后将交叉编译好的应用程序烧写到开发板的根文件系统的/opt目录中。

3.3应用程序的框架结构

基于qt/embedded的蓄电池状态检测控制软件包括以下4个主要模块,如图2所示。



图2 软件框架结构

3.3.1用户界面(user interface)模块

用户界面如图3所示,主要包括工作人员信息(图3①部分)、蓄电池信息(图3②部分)、需要显示的数据(图3③部分)(理想数据、数据上下限、实际检测数据及其当前蓄电池的状态)和数据存储(图3④部分)几部分组成。其中,检测人员工作前,需要手动的输入员工信息和设备信息等内容,便于数据分类,最后将这些数据共同存储。



图3 人机界面运行图

3.3.2数据处理模块

采集数据处理模块的基本结构流程图如图4所示。系统启动之后,首先进行arm微处理器芯片的初始化工作,完成初始化之后,系统启动qt上位机软件,然后整个程序进入监听状态,不停检测是否有控制命令事件触发,一旦触发则进行a/d转化,将数据采集模块采集到的信息进行数/模转化,最后将完成处理的数据送至显示模块显示。



图4 软件流程图

在ad模块的驱动程序设计中采用中断采集的方式完成数据采集。ad驱动函数主要代码如下:
(1)设备初始化,驱动设备的注册。为防止设备号的冲突,这里设备注册采用的是自动分配设备号。

devfs_handle=devfs_register(null,device_name,devfs_fl_auto_devnum,0,0,s_ifchr|s_irusr|s_iwusr,&s3c2410_fops,null)。

(2)open函数,用于设置ad通道,并进行比例因子初始化。

init_waitqueue_head (&adcdev.wait);

//等待队列,当数据到达的时候,进程被唤醒,并将数据返回调用者。
adcdev.channel=0;
adcdev.prescale= 0xff;
//ad设置,说明对通道0进行采样。

(3)read函数,关键函数之一,在这个函数中需要配置ad器件的控制寄存器,并启动转换。使用copy_to_user函数把数据从内核传递到用户空间,功能函数主要代码如下:

start_adc_ain(adcdev.channel, adcdev.prescale);
interruptible_sleep_on(&adcdev.wait);
copy_to_user (buffer, (char*)&ret, sizeof(ret))。

(4)最后,把所有功能函数写进file_operations。



表1 宿主机上的移植需要的工具及环境变量

4 总结

在各种检测系统的研究和设计中,数据采集是必不可少的环节。本系统以s3c2410a微控制器为基础,利用图形化编程语言qt设计出可视化、友好的控制界面,能够显著提高人机界面的显示效果。该系统具有较高的稳定性、可靠性,特别适用于便携式检测装置。因此,该系统具有广阔的市场前景。

换一批

延伸阅读

[资讯] 日本光伏企业与宁德时代携手开发蓄电池

日本光伏企业与宁德时代携手开发蓄电池

据媒体报道,7月25日,日本光伏企业Next Energy and Resources公司宣布与中国动力电池巨头宁德时代达成协议,未来两家公司将在蓄电池的开发和销售领域开展合作。 ......

关键字:日本 光伏 蓄电池

[资讯] 国家发改委:11月太阳能发电同比增长2.5%

国家发改委:11月太阳能发电同比增长2.5%

近日,国家发改委举行了12月份定时定主题新闻发布会。会上,政研室副主任、委新闻发言人孟玮关于经济运行方面的情况进行了分析,今年1—11月全国发电量同比增长6.9%,增速较1—10月份回落0.3个百分点。11月当月,水电、核电、太阳能发电同比......

关键字:太阳能 光伏清洁 蓄电池

[资讯] 整合转型及技术升级将成为铅酸蓄电池行业未来发展趋势

整合转型及技术升级将成为铅酸蓄电池行业未来发展趋势

据近日发布的《中国电池产业投融资与并购战略研究(2012)》显示,随着国家环保部门对行业整顿力度的加大以及行业标准的提高,未来3年该行业将有三分之二落后产能面临淘汰,铅酸蓄电池的厂商将由2000多家减少到不会超过300家,整个行业集中度有望......

关键字:铅酸蓄电池 蓄电池 电池

[资讯] 明年2月1号起实施!动力电池三项新国标发布

明年2月1号起实施!动力电池三项新国标发布

记者获悉,国家质量监督检验检疫总局、国家标准化管理委员会批准312项国家标准,其中电动汽车用动力电池相关标准3项,分别为GB/T 34013-2017《电动汽车用动力蓄电池产品规......

关键字:动力电池 蓄电池

[资讯] 瑞士用钠镁材料替代锂开发蓄电池取得阶段性成果。

瑞士用钠镁材料替代锂开发蓄电池取得阶段性成果。

锂电池目前已获得广泛应用,但其具有明显的缺点,一是含锂的材料来源有限,二是目前锂电池中使用可燃的液态电解液,易燃易爆,安全风险较大。在瑞士国家科研基金会的支持下......

关键字:锂电池 蓄电池 钠镁材料
发表评论 共有条评论
用户名: 验证码:

盘点精彩绝伦的设计

盘点精彩绝伦的设计

测量放大电路必须把两根线上的压差检测出来,它们分别是100V和99.9V,共模就有99.95V,……

怎样设计调速开关的电路?

怎样设计调速开关的电路?

对交流电机而言,调速方式有:电感式调速,抽头式调速,电容式调速,控硅调速,变频式……

教你分区射频电路板

教你分区射频电路板

最小电容值通常取决于其自谐振频率和低引脚电感,C4的值就是据此选择的。C3和C2的值由……

项目外包