基于STM32手写绘图板的设计
2016-05-26
作者:雷金桥1,陈德伦1,欧阳次山1,沈小丽2
来源:2016年微型机与应用第09期
雷金桥1,陈德伦1,欧阳次山1,沈小丽2
(1.中国计量学院 计量测试工程学院,浙江 杭州310018;2.中国计量学院 机电工程学院,浙江 杭州310018)
摘要:系统以STM32处理器为控制核心,主要包含恒流源模块、输入模块、放大输入检测模块、显示模块等。通过将覆铜板上变化的电压使用精密放大器放大后送给A/D转换电路进行数据采集,单片机对采集的数据进行处理,计算出触点的坐标并在液晶显示屏上进行显示。运行结果表明,该系统可以正确识别手写输入的图形和文字。
关键词: STM32F103;微信号放大;恒流源;手写绘图板
0引言
随着科学技术的快速发展,手写绘图板在教学和生活中的应用越来越广泛。目前市面上大多数的手写绘图板虽然精度较高,但价格较昂贵,操作复杂,显示不方便,而且在很多场合对手写识别精度要求不高。因此操作简单、价格低廉、携带方便的手写绘图板有广泛的应用需求空间。本文介绍了一种手写绘图板系统的设计,采用STM32高性能处理器作为核心控制芯片,显示器选用TFT真彩液晶,实时性高,人机界面友好[1]。该系统具有操作简单、携带方便、测量快速、性价比高等优点。
1手写绘图板描点原理
图1覆铜板示意图覆铜板的一条对角线端点A和D接正,另一条对角线C和B接负,检测表笔触点电压,记录数据M。然后单片机控制MOS管开关切换成A和D接负,B和C接正,检测表笔触点电压,记录数据N。最后进行数据处理,计算出触点坐标。电位线分布比较均匀有规律,数据处理较简单,可以获得电压与位置的关系。覆铜板示意图如图1所示。
手写绘图板系统主要由恒流源模块、输入模块、放大输入检测模块、显示模块等电路组成。系统结构如图2所示。
2.1STM32处理器及系统接口电路
微处理器是整个系统的控制和处理部分[2]。STM32F103处理器是32位的ARM微控制器,采用Cortex-M3内核,工作频率为72 MHz。外设接口丰富,包括2个12 bit的D/A转换器、3个12 bit的A/D转换器、3个通用16 bit定时器和一个WM定时器[3]。内部集成64 KB的SRAM、128 KB的闪存。该内核设计满足集高性能、低功耗、实时应用、具有竞争性价格于一体的嵌入式领域的要求。 STM32处理器的主要接口电路如图3所示。
2.2恒流源模块
将恒流源通入覆铜板,覆铜板不同点电阻不同,使笔触的电压不同,通过电压确定触点位置。恒流源模块电路如图4所示,主要由稳压芯片LM317及其外围器件组成。LM317芯片的IN脚接输入电压正极,OUT脚接一个电阻后接恒流输出,ADJ脚直接接到恒流输出,就是OUT脚的电阻的另一端,负载正接在这里。因为LM317里面有1.25 V的基准电压,这个电压加在电阻的两端(OUT脚与ADJ脚)保持不变,电阻值保持不变,所以流过电阻的电流就是恒定不变的。
2.3放大输入检测模块
本系统对模拟信号的处理提出了较高的精度要求[4],因此将两路检测信号输入由精密运放OP07构成的差分放大电路后,再经过由LM358构成的两级反向放大电路,输入STM32单片机进行检测。电路如图5所示。
2.4显示模块
系统采用的显示器是2.8英寸的TFTLCD模块。TFT即薄膜场效应晶体管。所谓薄膜晶体管,是指液晶显示器上的每一液晶像素点都是由集成在其后的薄膜晶体管来驱动。薄膜晶体管能够高速度、高亮度、高对比度地显示屏幕信息。该模块支持65K色(65 536种颜色)显示,显示分辨率为320×240,接口为16 bit的80并口。其中几个编程常用的主要管脚分别是TFTLCD片选(CS)、写入数据(WR)、读取数据(RD)、命令/数据标志(RS)。
3系统程序设计
整个软件系统全部采用C语言进行设计[5]。系统软件设计的主要任务是采集A/D转换器转换的电压信号,根据电压与位置的关系式计算出表笔在覆铜板上相应位置的坐标并进行显示,在液晶屏上绘出表笔的运动轨迹,并不断扫描按键,如果按键按下即执行清屏操作,从而实现手写绘图板功能。因此,程序部分主要分为液晶显示部分、A/D采集计算部分、键盘扫描部分及延时函数。程序流程图如图6所示。
4结束语
基于单片机的LCD系统具有硬件结构简单、控制方便、成本低等优点[6]。该手写绘图板系统反应速度快、使用方便,引入校准机制大大增强了测量的准确性和产品的人性化,能满足一般的日常需求。本系统在运行的过程中有很好的精确度和稳定性。
参考文献
[1] 刘帅,张浩然.基于STM32的便携式多功能数字示波器设计[J].微型机与应用,2015,34(15):3739,43.
[2] 李朝清.单片机原理及接口技术[M].北京:北京航空航天大学出版社, 1994.
[3] 陈志旺.STM32 嵌入式微控制器快速上手[M].北京: 电子工业出版社, 2012.
[4] 华成英,童诗白.模拟电子技术基础[M].北京:高等教育出版社, 2006.
[5] 谭浩强 .C语言程序设计(第4版)[M].北京:清华大学出版社,2010.
[6] 杨伟,肖义平.基于STM32F1