- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于Qt的蓄电池监测系统设计
摘要 对于任何不允许出现断电状态的供电系统,蓄电池组是必不可少的。文中给出了一种以嵌入式ARM9处理器芯片S3C2440为核心搭建的蓄电池监测系统的硬件电路,同时介绍了基于Qt的系统显示界面的设计方法及流程。试验表明,该设计工作可靠,通用性好、具有一定的参考价值。
关键词 蓄电池;监测;Qt;图形用户界面
蓄电池的正常运行状态是保证不间断供电直流电源系统安全、可靠运行的必要条件。设计采用模拟开发方式,即在宿主机上建立交叉编译环境,并建立可以在宿主机上模拟目标机的环境,程序开发完成并且在目标机上模拟成功后,将原代码编译成能够在目标机上运行的代码,并移植到目标机中。这样,不需要将程序下载到目标机中进行验证,在宿主机上即可完成验证,简化了程序验证的工序,缩短了开发周期。
1 系统硬件设计
图1为系统的硬件原理框图。蓄电池监测主控系统通过人机接口模块实现人机通信,人机接口模块包括TFT-LCD及其外围基本电路。蓄电池监测模块包括电压监测电路和电流监测电路两部分,可分别实现电压和电流监测。报警模块由LED灯和蜂鸣器组成,如果电压监测模块和电流监测模块监测到电压或电流超出安全范围,报警模块会发出相应的声光报警。由于触摸屏的控制较复杂,S3C2440有自带的触摸屏控制模块,可以简化对触摸屏的写指令和读写数据等操作。
[p]
图4为蓄电池输出电流的电流信号采样电路。利用电流采样电阻R1将电流信号变换成电压信号。放电时该信号为正,充电时该信号为负,S3C2440中的A/D转换输入电压范围为0~3.3 V,因此信号变换电路应起到整流的作用,且能让S3C2440识别电流的方向。信号变换电路如图4所示。运放U2A是电压跟随器,输出反映电流大小的电压信号,Ibat2,输出到S3C2440的ADC2口,U2B将Ibat12反向,得到Ibat1,输出到S3 C2440的ADC3口。参数选取:R10=R11=10 kΩ,C1=0.1μF,D3取3.3 V的稳压管。
2 Qt图形用户界面的设计与实现
信号和槽是一种高级接口,它应用于对象和对象之间的通信,是Qt的核心机制,也是Qt区别于其他工具包的重要地方。所有从QObject或其子类派生的类都包含信号和插槽机制。
当一个事件发生时,就会发射一个信号,与该信号对应的槽就被调用。每个特定的事件都会对应一个信号,槽就是一个可以被调用的函数,这个函数用来处理特定的信号。在Qt中信号和槽取代了凌乱的函数指针,使得开发者编写的通信程序更加简明。Qt的窗口部件中有很多预定义的信号和槽,开发者也可以通过使用继承的方式来加入自己的信号,同时也可以针对自己感兴趣的信号加入自定义的槽以对其进行处理。
Qt Designer提供了良好的用户设计界面,采用QtDesigner设计图形用户界面的开发流程图如图5所示,在宿主机上启动Linux系统后进入字符命令终端,首先配置虚拟机的环境变量,建立模拟开发环境,启动Qt Designer进行界面设计。使用命令#progen-o aaa.pro生成aaa. pro工程文件,使用命令#tmake-o Makefile aaa.pro生成Makefile文件,使用命令#make进行编译。编译完成后可以运行测试程序,生成仿真界面。
3 仿真界面效果
仿真主界面如图6所示。主界面中显示蓄电池当前的电压、电流及充放电状态。点击“VoltageCurve”按钮可以进入电压曲线的显示界面,点击“CurrentCutve”按钮可以进入电流曲线的显示界面,点击“Exit”按钮则退出机载蓄电池监测系统。电压曲线显示界面和电流曲线显示界面分别显示了电压和电流与时间的关系曲线。
4 结束语
嵌入式系统具有系统内核小、专用性强、系统精简、实时性好、有专用的开发工具和开发环境等特点。采用嵌入式系统进行蓄电池监测的设计,不仅可以完成复杂任务的调度,还可以保证系统的实时性,同时,也可以为用户提供友好的人机交互界面。整个系统在S3C2440开发板上试验后运行可靠,操作简单,显示清晰美观。本设计软件结构简单,占用存储空间少,可灵活扩充功能。同时对计算机要求低,实用性强,适用范围广。
射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...