魏浩然, 倪继锋, 龙艳花
(上海师范大学 信息与机电工程学院,上海 200234)
基于STM32F103的手写绘图板设计
魏浩然, 倪继锋, 龙艳花
(上海师范大学 信息与机电工程学院,上海 200234)
本设计采用铜板电阻分压电路,基于AD7982的AD转换模块、STM32F103的主控制模块和LCD12864的液晶显示模块设计了一种手写绘图板.通过查找铜板电阻-电压变化关系的数据表,进行软件编程和优化,实现了表笔触动15 cm×10 cm覆铜板时,在液晶屏上显示触点坐标及象限功能、文字显示和表笔轨迹追踪、显示功能.本设计精度高、功耗低,是一种较理想的设计方案.
STM32; AD7982; LCD12806; 坐标定位; 轨迹追踪
随着科技高速发展,各种人机交互方式层出不穷,现在主流的手机、平板电脑都是通过触屏技术实现快速操作[1].绘图板的普及将会为人们发挥绘画、书法、多媒体、视频等艺术才干提供高科技的平台,借助于绘图板以及各个专业制作软件的帮助,图形图像视频等的处理技术必将在艺术领域发挥更好的作用[2].
覆铜板是将补强材料浸以树脂,一面或两面覆以铜箔,经热压而成的一种板状材料.它经照相制版、化学蚀刻、电镀等一系列的工序可制成印刷电路板(Printed Circuit Board,PCB)[3].本设计利用雕刻后的覆铜板,在表笔触动覆铜板时,液晶屏上可显示触点坐标及象限、表笔轨迹,进而实现手写绘图功能.
本文作者先介绍了系统的组成和各模块的链接与使用方法,接着就软件的设计情况进行了说明,给出了软件流程图,然后对完成的系统进行了测试,给出了覆铜板电阻-电压变化关系数据表和覆铜板定位测试数据表.最后,总结了本设计的性能,并对本设计的不足进行了说明,给出了改进的方法.
1.1 总体结构
系统组成如图1所示,由铜板电阻分压电路、基于AD7982的AD转换模块、基于STM32的主控制模块和基于LCD12864的液晶显示模块4部分组成.其中,铜板电阻分压电路将触点位置以电压的形式读取出来.基于AD7982的AD转换模块将检测到的模拟电压高精度地转换为数字字符串送入控制器.基于STM32的主控制模块通过程序控制实现识别触点位置坐标,追踪表笔轨迹功能.基于LCD12864的液晶显示模块实现位置点、坐标、轨迹实时显示功能.
图1 系统组成框图
1.2 单元电路
1.2.1 绘图板
用雕刻机将覆铜板分割成若干4 mm×4 mm的小块,加大整块铜板的电阻值,具体分割方法如图2所示,由于铜丝的长度不同,每一小块的电阻值也不同.而当表笔触碰铜板时,由于串联电阻分压,使得不同区域所得到的电压值不同.雕刻后的覆铜板作为本研究的绘图板.
图2 改变阻值测压法覆铜板
1.2.2 电源电路设计
由于常用的L7805和LM317芯片功耗大、效率低,而LM2576采用开关控制方式,符合低功耗的要求,故使用LM2576组成的电源电路模块.
本模块的电路连接如图3所示.LM2576作为稳压芯片,1脚接输入电压,2脚输出电压,3、5、6脚接地,4脚接反馈电路,通过LM2576将12 V的电源做DC-DC稳压至5 V输出,为整个电路提供可靠的电压输入.
图3 电源电路
LM2576内含固定频率振荡器(52 kHz)和基准稳压器(1.23 V),并具有完善的保护电路,包括电流限制及热关断电路等,利用该器件只需极少的外围器件便可构成高效稳压电路[4].
1.2.3 AD电路模块设计
本模块电路连接如图4所示.由于电阻板的电压范围为0~2.5 V,而AD7982转换范围为±10 V,故电阻板的电压需要经由AD628共模差分放大器放大4倍,放大后的信号经过滤波器OP2177来提供足够高的信噪比.AD7982需要十分精确的基准电压,所以使用ADR421来提供稳定的基准电压,最后再经过一个电压跟随器,提供足够的带宽,得到ADC数据,通过SPI总线,三线制输出.
图4 AD模块电路
AD7982是一款18位、逐次逼近型模数转换器(ADC),采用单电源(VDD)供电.它内置一个低功耗、高速、18位采样ADC和一个多功能串行接口端口.其功耗和吞吐量呈线性变化关系[5].
1.2.4 控制模块电路设计
相较于89C52,STM32存储空间大,因本设计中有大数据需要处理,且满足低功耗的要求,故采用STM32F103作为控制核心来控制整个流程,本模块电路如图5所示.STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核[6].
图5 STM32最小系统原理图
1.2.5 显示电路设计
TFT显示屏显示图像较为美观,但功耗较大,不满足低功耗的要求.LCD1602由于屏幕尺寸无法满足要求,LCD12864可以显示8×4行16×16点阵的汉字,也可完成图形显示,低电压低功耗由该模块构成的液晶显示方案与同类型的图形点阵液晶 显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块.故选择LCD12864作为此次设计的显示屏.
2.1 软件设计流程
软件的设计流程图如图6所示.
图6 软件流程图
2.2 软件功能介绍
硬件电路初始化程序,实现了LCD清屏、初始画面显示以及STM32初始化功能.读取AD数据程序,并对AD数据进行采样、滤波,最终在显示屏上显示出触点具体坐标位置,并可以通过按键清屏.
3.1 线性铜板电阻-电压变化关系的数据表
由于本设计根据表笔触点的位置不同,得到不同的电压,再采用线性查表法查询覆铜板电阻-电压变化关系数据表,以此确定表笔触点的位置坐标.因此需要事先测得覆铜板电阻-电压变化关系数据,并将这些数据作为系统的软件部分写入STM32F103中.
表1 覆铜板电阻-电压变化关系数据表
表1列明了每行电压与转换值的关系,例如第一行最右边电压为4.001 V,第一行最左边电压为3.9713 V,分别将转换值记为152638150和151505095,并将第一行中间位置的电压Vi近似为线性关系,从而通过公式Vi×38.15×106计算出转换值,从而确定位置坐标.根据表1可以通过点击手写绘图板上任意点得到表笔此点的电压,进而通过查询覆铜板电阻-电压变化关系数据表得到此点的近似位置坐标.
3.2 定位测试数据表
在系统设计完成后,分别测试了不同位置点的定位精度,并给出了这些位置坐标的理论值与实测值.
表2 覆铜板定位测试数据表
表2是系统完成后,对手写绘图板位置坐标进行测试的结果.由表2可见,在(64,24)、(63,-24)、(-63,24)、(-63,-24)等绘图板的4个角定位非常准确,在(32,0)、(-32,0)、(0,32)、(0,-32)等绘图板4个边的中间位置定位基本准确,在(0,0)、(8,0)等内部位置定位稍有偏差.由此可见,定位精度已经达到所需要求.
本论文设计了一款基于STM32F103的手写绘图板,设计的难点在于前期 AD信号的采集部分,由于覆铜板电阻率较低,要求的精度却较高,所以对微弱信号的采集就相当关键.本论文采用18位AD、STM32开发板、开关电源、从而使得坐标定位精度高、功耗低、系统性能优良而且稳定.
本论文设计的系统参加2013年全国大学生电子设计大赛,获得了上海赛区一等奖.本设计采用刻板机对覆铜板进行了雕刻,与其他常见方法有显著区别,在定位精度、功耗等要求上均满足了赛题要求.由于系统采用了雕刻覆铜板的方法,也出现了如下几个问题:(1)覆铜板的电阻受到温度的影响较为严重,随着系统通电时间的延长,覆铜板测量电压变化较大,系统的定位精度会迅速下降;(2)系统定位的精度处处相等,没有在中心处表现出突出的优越性.在软件定位算法改进、加入温度传感器、降低覆铜板对温度的敏感度等方面还有改进的空间.
[1] Tan Y J,Huang H,Yu Y X,et al.Design of drawing board based on stm32 [J].Practical Electronics,2014(5):79.
[2] Yue L Q,He S X,Du D Z.Design of handwritten drawing board based on STC89C52 microprocessor [J].Electronic Test,2014(7):54-55.
[3] Xu P,Hui Z L,Cheng L M,et al.Design of positioning system of copper clad plate based on high-frequency skin effect [J].Electronics World,2014(17):188-189.
[4] Texas Instruments Incorporated.LM2576 User′s manual [R].Dallas,Texas:Texas Instruments Incorporated,2013.
[5] Analog Devices.ANALOG DEVCIES AD7982 User′s manual [R].Norwood,MA:Analog Devices,2011.
[6] ST Microelectronics.STM32F103 User′s manual [R].HUNTSVILLE,AL:ST Microelectronics,2011.
(责任编辑:包震宇)
Design of handwritten drawing board based on the STM32F103
WEI Haoran, NI Jifeng, LONG Yanhua
(College of Information,Mechanical and Electrical Engineering Shanghai Normal University,Shanghai 200234,China)
A bleeder circuit of copper plate resistance is used to design a drawing board,in which the AD conversion module is based on AD7982,the master control module is based on the STM32F103,and the liquid crystal display module is based on LCD12864.By searching the linear data sheet which records the change of copper plate resistance-voltage,the drawing board can display the coordinates and quadrant of the contact,the text and the track of the pen on the LCD screen when the pen touches on the 15 cm×10 cm copper plate.This design is an ideal solution because of its high precision and low power consumption.
STM32; AD7982; LCD12806; coordinate positioning; path tracking
2015-04-27
上海高校青年教师培养资助计划(ZZshsf14026)
倪继锋,中国上海市徐汇区桂林路100号,上海师范大学信息与机电工程学院,邮编:200234;E-mail:nijifeng@shnu.edu.cn
TP 368
A
1000-5137(2016)05-0543-05
10.3969/J.ISSN.1000-5137.2016.05.005