基于F28027的手写绘图板的设计

2015-09-14 09:42许志坤陈建国
物联网技术 2015年8期

许志坤 陈建国

摘 要:本设计的主控芯片为F28027,设计包括采样电路、二级放大电路、精密恒流源电路、液晶显示电路等实现手写绘图输入功能。设计时通过表笔接触覆铜板完成信号采集,然后将采集得到的微小信号经放大电路放大后输入单片机的A/D采样端,并由片内的12位A/D模块对数据进行模数转换,再由单片机算法经TableCurve 3D软件数据拟合计算出表笔在覆铜板上的坐标并最终在LCD12864显示屏上显示,最后由表笔坐标实现笔迹跟踪,从而实现手写绘图的功能。

关键词:F28027单片机;手写绘图;OPA2227;微小信号检测

中图分类号:TM50 文献标识码:A 文章编号:2095-1302(2015)08-00-03

0 引 言

随着科技的发展,越来越多的场合需要手写绘图的可视化控制与展示,目前使用较多的手写板分为电阻式压力板、电磁式感应板和近期发展的电容式触控扳[1,2],但这三者的弊端在于需要额外的手写设备,不能有效的利用各种设备的金属壳体作为输入识别设备。

本文介绍了一种基于F28027主控芯片的手写绘图板的设计,该设计的核心在于微小信号的检测与处理以及相关软件算法的设计,经实际验证,该系统精度高,能耗低,能有效利用各种设备的金属壳体作为手写信号识别区,能广泛应用于各种有绘图显示需求的导电金属表面,未来应用前景广阔。

1 总体思路

本设计采用一块规格为10 cm×8 cm的单面覆铜板制作成手写绘图板,通过高精度恒流源对覆铜板施加恒定的电流,可在覆铜板上形成稳定的微小压降,覆铜板四角均连接恒流源一端,等势线分布较为平均,可以有效地减小采集误差。由单片机控制继电器切换覆铜板上电场线的横纵走向,即可得到表笔触点的横向和纵向电压降,并经过高精度运放OPA2227放大后,通过F28027单片机的内置A/D模块可对它进行A/D转换采集,采集到的数据由TableCurve 3D软件拟合得出表笔坐标与电压的拟合曲线,再经过软件算法可计算出表笔在覆铜板上的位置并在LCD12864屏幕上显示出来。

本设计主要由信号采集模块、信号处理模块、绘图显示模块和电源模块组成,设计原理框图如图1所示。

2 硬件设计

2.1 信号采集

本设计前期应进行预实验分析,分别给覆铜板加上横向和纵向电流源,使用GW Instek GDM-8246高精度数字万用表对覆铜板上的点进行多次测量并记录数据,依据测取的电压值画出等势线,经过分析可得出图2所示的施加横纵电流源下覆铜板上的大致等电势线。

根据以上分析,信号采集电路如图3所示,对角分别接电流源正负端,A点和B点接继电器定端,通过单片机输出信号控制继电器动作,切换A、B点与恒流源正负端的连接,实现覆铜板上施加的恒流源电流横向和纵向的切换,使得表笔接触覆铜板上的某点时能采集到该点的横纵不同的电压值。利用脉冲大电流法测量微小电阻,电流的大小和脉宽应根据电阻的阻值大小和放大器的性能决定[3]。由于覆铜板电阻值过小,表面沾污、氧化等因素易造成测量误差加大,因此本设计在覆铜板的四角均加了小电阻作为负载,减少测量误差,表笔接运放输入正,固定负接运放输入负。此外,由于电阻的阻值增加与温度的变化呈线性关系,而电阻温度的变化又与通过电阻的电流及时间有关,要使大电流通过电阻且使阻值的变化很小,就应使用脉冲大电流[4,5]。本设计通过单片机严格控制继电器接通和关断的时间,使得电流为脉冲形式施加到覆铜板上,既避免了电阻的负载效应,又能使数据测取方便,同时还能有效降低系统的整体功耗。

2.2 信号处理

由信号采集电路可以测得覆铜板上的电压值在毫伏级别,由于系统要求及单片机A/D量程限制,不能直接进行A/D模数转换,故需要通过放大电路对数据进行放大,考虑单级放大的放大倍数过高易产生较大的误差,现采用二级放大电路,第一级为双端输入单端输出的差分放大电路,第二级为同相比例放大电路,使得经二级放大电路得到的电压动态范围在单片机的A/D量程以内[6],实际电路中采用精密电位器调节放大倍数,具体电路如图4所示。因为对微小信号的放大对运放要求很高,若运放性能不够,输入端的微小信号可能在放大后就淹没在产生的噪声里,给后续A/D转换带来麻烦。本设计采用TI公司出品的OPA2227高精度双路运放,具有零点漂移小、噪声低、功耗低及抗干扰能力强的优点,在放大电路中的增益精度和线性度都很不错。

A/D转换器的精度由其位数所决定,分辨率越高,A/D转换器的抗噪声能力越强[7]。本设计采用的是F28027单片机片内自带的A/D模块,48脚封装的F28027单片机拥有13通道、12位低功耗、高精度的A/D转换模块,最大分辨率为0.8mV,基本满足本设计的需要[8]。

3 软件设计

3.1 主程序流程图

本设计的主程序流程图如图5所示。

3.2 坐标算法设计

算法中常常需要确定一个变量依存于另一个或更多的变量的关系,即函数。但实际上确定函数的形式往往没有先验的依据,只能在收集的实际数据中选择一个最能拟合有关数据的函数形式[9],又由于测取的数据量有限,单纯建立数据库造成的测量误差偏大,故本设计采用TableCurve 3D软件进行数据拟合。TableCurve 3D是自动三维曲线拟合与经验公式查找软件,它能分析三维数据并自动进行曲面拟合,将测取的数据转化为拟合曲线与经验公式,软件内部拥有453,697,387个方程式,只要导入实验数据,该软件便能从数以万计的方程式中找到一个最接近3D数据的方程来拟合曲线。设计的具体过程为先在覆铜板上标上5 mm精度的坐标线,进行逐点测值,由单片机控制继电器切换覆铜板上所加的横纵电流源,即可测取表笔所触点的X、Y坐标关于横向、纵向两个恒流源作用下的两个不同电压值的关系,把测取的数据记录在Excel表格里,再把表格导入到TableCurve 3D内进行拟合,图6为软件拟合界面。

此外,在多次测量过程中我们发现,由于频繁通电和通电时间过长导致的覆铜板电阻变化会带来一定的干扰,因此我们在程序中加入了中值平均滤波算法来抑制其造成的数据干扰。先连续采集N个数据,去掉数据的一个最大值和一个最小值,再计算剩下的N-2个数据的算术平均值[10]。在硬件滤波的基础上加上软件滤波,能够有效降低偶然误差带来的影响,使得结合拟合方程计算出的坐标值更加精确。

3.3 绘图算法设计

通过前期实验采样和使用TableCurve 3D软件拟合方程得到了点的坐标与电压值的对应关系,只要表笔接触覆铜板的某一点时,程序就能依据测取的横纵不同电压值计算出此点的坐标,而绘图功能的基础就是点的坐标值。众所周知,两点确定一条直线,数学中的直线方程有点斜式,截距式,两点式等等,用其中任意一个公式我们都能得到一个正确的直线方程。在绘图算法的设计中,通过相等时间间隔确定点的坐标再通过算法绘制经过每一个坐标的曲线来达到跟踪表笔轨迹绘图的目的。

算法具体如下,首先通过设置采样间隔时间,获得每条线段的起点和终点坐标,设起点坐标为(X1,Y1),终点坐标为(X2,Y2),由此可以获得两点间的一条直线方程,然后比较X2-X1与 Y2-Y1的大小,若X2-X1> Y2-Y1则通过 X1+1,X1+2…X1+n 来确定对应Y的坐标, 直到X1+n=Y 为止,同理如果X2-X1

4 结 语

现场演示效果如图7所示,依据本设计,基本能达到在10 cm×8 cm的普通覆铜板上确定坐标,精度在2 mm误差以内,并且能够跟踪表笔运行轨迹达到简单图形的绘制,运行功耗很低。通过对本项目的研究及实验表明,该系统对普通金属表面的坐标测定及手写绘图等方面有一定的实用价值。

参考文献

[1]春燕.手写板技术面面观[J].互联网世界,2001(2):75-76.

[2] Dong Li.浅谈手写板的工作原理[J].微型计算机,2000(14):102.

[3]刘志存.微小电阻测量方法及关键技术[J].物理测试,2005,23(1):34-36.

[4]房慧龙,罗锦宏,李睛.高精度低成本的电阻测量方法[J].仪表技术与传感器,2011(12):79-80.

[5]汤伟芳.基于运放技术的精密电阻测量电路设计[J].福建电脑,2014(1):25-26.

[6]成英,童诗白.模拟电子技术基础(第四版)[M].北京:高等教育出版社,2006:327-334.

[7]蒋金,陈长兴.差动运放电路仿真分析与最优模型探究[J].海南大学学报(自然科学版),2013,31(3):240-244.

[8]周宇,胡昕睿,曾宇航,等.TMS320F28027中两A/D采样方式的实现[J].单片机与嵌入式系统应用,2014(4):47-49.

[9]刘连香.数据曲线拟合及MATLAB实现[J].金田,2012(1):388.

[10]朱恒军,王发智,姚仲敏.基于单片机的数字滤波算法分析与实现[J].齐齐哈尔大学学报,2008,24(6):53-54.