碧波液压网 欢迎你,游客。 登录 注册

ARM9平台下基于嵌入式WINCE的扭矩二次仪表开发

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。
液压导航网

扭矩作为重要的力学特征参数之一,用以评估机械和动力设备的工作能力、能源消耗、寿命、效率和安全等性能,是机械产品开发研究、测试分析、质量检验、安全和优化控制等工作中不可缺少的内容[1].但在扭矩测试中,通常采用单片机作为一次仪表进行扭矩信号的检测、预处理,由于单片机硬件条件限制,无法实现扭矩数据实时曲线显示,复杂的数据处理和长时间的存储.本文采用三星公司的S3C2440为处理器,利用WINCE系统的稳定性和方便的开发性设计一种易于操作、功能强的二次仪表.

1 基于ARM9的扭矩测量二次仪表总体结构设计

扭矩测量的主要组成部分有:扭矩传感器,一次仪表,二次仪表.通常扭矩传感器采用应变片式传感器,应变片式传感器具有精度高,频响低等特点.所以一次仪表的数据可以通过串口232发送给二次仪表.

本文所述二次仪表采用ARM9系列的S3C2440芯片作为处理器,采用触摸屏代替常规按钮,利用液晶屏进行曲线和数据的实时显示,并将数据存入优盘中.通过程序,可以记录下扭矩的一次峰值和最大峰值等信息.

2 二次仪表硬件环境

本系统主要由CPU,存储系统,显示控制,通讯4大部分组成. CPU采用三星公司的ARM9芯片S3C2440,存储系统由SDRAM,Flash Memory,优盘组成,显示控制由NEC液晶屏,触摸屏,按钮等组成,详细结构见图1.

 

S3C2440是一款16/32位的RISC微处理器,具有LCD控制器, 3个通道的串口, 2个USB主控制器, 8个通道的10位精度的ADC[2]. NEC2432LCD是一块3.5英寸的液晶屏,共有18条数据线,其中R, G, B各6条[3],分别于S3C2440的控制口VD2∶7, VD10∶15, VD18∶23相连接,采用触摸屏实现输入.通过S3C2440的DN0, DP0实现USB与优盘通讯.

3 二次仪表软件设计

本文采用微软免费提供的EVC4.0(Embedded Visual C++ 4.0),在Windows XP下进行开发和调试程序. WINCE是一种类Windows系统,具有和Windows基本一致的API.当然WINCE开发也有自己的特点,它的内存限制比较严格,运行库及API函数的内容要比Windows精简得多,尤其需要注意的是WINCE使用Unicode字符集[4].

本文软件设计主要包括与一次仪表通讯,曲线实时显示,数据保存,软件界面设计等.程序整体流程图见图2.WINCE串口通讯程序与Windows程序类似.操作流程图如图3所示.

 

通常设置一次仪表发送间隔为20 ms,其中需要注意的是对超时参数的设置,如果超时参数设置不正确会导致数据错误或者丢失,通常采用单独的线程负责读取,以便不会阻塞主线程[5].扭矩曲线实时显示主要通过构建一个曲线类C2DGraph来完成,该类继承于CWnd,因此也是一个窗口.该类主要由C2DGraph::C2DGraph()函数, C2DGraph::~C2DGraph()函数, BOOL C2DGraph::Create()函数, void C2DGraph::OnPaint()函数, void C2DGraph::AppendPoint()函数, void C2DGraph::DeleteFirstPoint()函数, CPoint C2DGraph::GpToSp(CPoint& point)函数组成. Create()主要实现窗体的注册,创建,更新, OnPaint()主要实现图形的绘制, AppendPoint()实现当有新的数据时,对数组的添加, DeleteFirstPoint()实现对曲线对一个数据的删除, InvalidateCtrl()实现对控件的刷新, GpToSp()实现对数据转换为屏幕点的转换.曲线实时显示的流程图如图4所示.

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码: 看不清?点击更换

最新评论