手写绘图板(G题)资料.docx

上传人:scccc 文档编号:14052334 上传时间:2022-01-31 格式:DOCX 页数:20 大小:457.68KB
返回 下载 相关 举报
手写绘图板(G题)资料.docx_第1页
第1页 / 共20页
手写绘图板(G题)资料.docx_第2页
第2页 / 共20页
手写绘图板(G题)资料.docx_第3页
第3页 / 共20页
手写绘图板(G题)资料.docx_第4页
第4页 / 共20页
手写绘图板(G题)资料.docx_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《手写绘图板(G题)资料.docx》由会员分享,可在线阅读,更多相关《手写绘图板(G题)资料.docx(20页珍藏版)》请在三一文库上搜索。

1、2013年全国大学生电子设计竞赛XXXXXXXXXXXXX(X题)【XX组】2013年9月x日随着电子技术的迅猛发展,触摸设备越来越多的走进了我们的生活,本文介 绍了用覆铜板做手写绘图板的基本原理。 给出了微小电阻测量法,微小信号放大 的方法,以及由于导线电路引起的电压误差的减小方法。以及用软件进行系统初始矫正的程序。本系统通过用高精度,低偏置电压的运放OPA2227,将覆铜板上微小的分压放大,在经过 AD采集,由STM32进行处理和计算,从而得到覆 铜板上任意一点的坐标,其精度在A区误差为3mm,在B区为5mm。并可实现 画圆的功能。显示部分用LCD12864来显示,可以检测接触,显示坐标和

2、象限。 在实际的系统中由于电压的不稳定性,和导线的影响,我们又引入了电阻补偿, 软件矫正的方法。极大的减小了误差。关键词:STM3弹片机微小信号放大AD转换电压补偿运放OPA2227U1系统方案11.1 测量模块的论证与选择 11.2 电源模块的论证与选择 11.3 显示模块的论证与选择 21.4 显示模块的论证与选择 22系统理论分析与计算 22.1 坐标点测量方法的分析 22.2 误差分析与矫正方法的计算 22.3 低功耗设计方法的计算 错误!未定义书签。3电路与程序设计33.1 电路的设计33.1.1 系统总体框图33.1.2 电源子系统框图与电路原理图 43.1.3 测量电路系统框图与

3、电路原理图 53.1.5 运放电路系统框图与电路原理图 错误!未定义书签。3.1.6 单片机最小系统框图与电路原理图 错误!未定义书签。3.2 程序的设计63.2.1 程序功能描述与设计思路 63.2.2 程序流程图74测试方案与测试结果 74.1 测试方案74.2 测试结果及分析74.21测试结果(数据) 74.2.2测试分析与结论9附录1:电路原理图10附录2:源程序11IIXXXXXXXX (X 题)【XX组】1系统方案本系统主要由测量模块、电源模块,显示模块、单片机最小系统模块组成,下面 分别论证这几个模块的选择。1.1 测量模块的论证与选择方案一:将覆铜板的一端看做地,则覆铜板内任意

4、一点与端点存在电阻,将覆铜板 接入电桥,通过判断每一点的电阻值大小,来确定每一点的相对位置。其仿真如下(图 1),当改变测量点的位置时,其电阻分压通过后级运放有明显变化。该方案优点如是功 耗小,不用外界电源接入覆铜板。缺点是复杂,不宜调试调试。17图1桥式电路仿真方案二:通过分析覆铜板横向和纵向接入电路时, 内部的等势面大致如图(横向图2, 纵向图3)所示:利用此原理可测得覆铜板内任意一点的电位,进而判断其位置。图3虽然方电桥法功耗较低,调试较为复杂,也不易精确确定某个点的位置。相比之下,方 案二思路简单,调试方便,配以低偏置电压运放和高精度 A/D可以达到测量要求。 综合以上二种方案,选择方

5、案二。1.2 电源模块的论证与选择方案一:采用7805等稳压芯片,特点是电路简单,但难以满足较大电流。方案二:12V到5V采用LM2576FF关稳压芯片,电压稳定主要给单片机供电12V转3.5V (图5)为测量电路提供电源,要求有较大的输出电流,电压稳定性要高, 因此用13005做的线性电源。由于高精度低偏置电压 OPA2227需要+5v, -5v供电,因 此用TI公司的TPS60400做负压产生。综合以上二种方案,选择方案二。1.3 显示模块的论证与选择方案一:采用字符型LCD1602夜晶显示器。微功耗、尺寸小,超薄轻巧,价格便宜,但 显示信息量较少,仅限于字符,不能显示图形,难以满足设计需

6、求。方案二:采用无字库LCD12864 12864是128*64点阵液晶模块,控制器为KS0108或兼 容ST7920 T6963C。 12864显示信息量大、字迹清晰、稳定,美观、视觉舒适低功耗, 能够显示图形。系统选择方案二,可以用中文LCD2864夜品进行丰富的菜单显示,使整个控制系统更加 人性化。1.4 单片机的论证与选择方案一:使用STC12c887,电路简单,运算速度低,内置 AD位数低,难以满足要求。方案二:在整个电路中,电阻计算,坐标位置显示,和上电校验等复杂任务的处理都要依靠单片机来完成,所以采用一款我们熟炼,可靠,高运算性能的单片机,是保证我们完成整个任务的基石,在众多优秀

7、芯片中STM系列较好,他们都采用高密度非易失性存储器技术制造。片上Flash允许程序存储器在系统可编程,亦适于常规编程器, 在单芯片上,拥有灵巧的32位CPU和在系统可编程Flash,在众多嵌入式控制应用系统中得到广泛应用,且价格相比同类产品非常便宜,具有很高的性价比功能强大、应用成熟,可以更好的完成任务。所以在系统我们采用我们常用的高性能微控制器STM322系统理论分析与计算2.1 坐标点测量方法的分析与计算用分压法,分压即电阻串联分压,在电路中被测覆铜板将和已知电阻 R1串联,R1 的阻值为100欧,经测试,当电压为3.5V时,整个覆铜板的总压降约为1mv,经过高精 度低偏置运算放大器OP

8、A222放大,具放大倍数为R2/(R1+R1)* = 500则气压将为理论为500 mv,但是由于覆铜板的电阻太小,加上后部导线的影响,其两端 压降约为260mu经过调整后的STM32J部AD可达16位完全可满足要。确定坐标时分别两步,首先将覆铜板接入如图3电路,具等势面可确定,即电势从 左到右依次减小,理想情况下,在一定范围内,从上到下可近似认为相等。经实际测量 确实符合这一规律。则取铜板内一点,测其点位就可以确定点的横坐标。第二,再通过 控制电路继电器控制电路将电极转变 (如图4),理想情况下,在一定范围内横向上可以 认为电势近似相等,从上到下依次递减。再测这一点的电位便可确定其纵坐标。以

9、上分 析均在理想情况下进行的,实际测量时可能存在误差,需要矫正与调整。图3根据理论计算结果,测量电路的总电流约为350mA,而覆铜板的压降放大500倍后约为260mv,铜板的电阻为V/500/350= 0.0014欧,横向时每10mm的距离压降为35mv 经16位AD采样完全可以满足3mm的精度。2.2 误差分析与矫正方法分析与计算在实际测量时,发现系统主要存在三方面的误差。第一,由于覆铜板两端点的导线长度不可能完全相等,而且还要加入继电器转换 电路,致使覆铜板两端的电位存在误差。解决办法是在电位较低的一段前加入电阻补偿, 使其产生压降,这样既可调节使两端点位相同。本系统采用加入康铜丝的方法。

10、第二,由于铜板内部的铜分布不均,导致内部等势面变形,在铜板的边缘部分这 种变形尤为明显,在靠近中心的部分,这种现象不显著。因此需要实际的测量一些数据, 当检测边缘地带时进行软件的补偿。第三,由于电源随机性,上电时的输出电压不那么稳,导致每次测量时同一点的 电位有差别,虽然只是几个毫伏,但经过运放的处理,误差非常明显,但是任意两点问 的差值比较稳定。解决办法为在测量前加入矫正环节,具体是先测量一组数据存入单片 机,当上电时检测指定点的电压,在与单片机内存储的数据进行比对, 从而确定差值,再 在以后每一个数据上加上或者减去这一差值既可得到较为准确的数据。2.3 低功耗设计的分析与计算本系统的采用电

11、阻分压的方法进行测量。从理论上分析,若想要得到较为大的分 压值就需要较大的电流,但这样又增加了系统的功耗。进行多级放大可以解决之一问题, 即在较小的电流下得到较小的压差,在经过第二级的放大。是这一差别更加显著,从而 提高了精度,降低了功耗。系统功耗的计算:W = U*I,其中U为加在系统上的总电压,I为流过系统的总电 流,I = I1 +I2 , I1为单片机部分消耗的电流,大约为 200mA, I2为测量电路消耗的电 流,大约为300mA,这样系统的总功耗约为5W。3电路与程序设计3.1 电路的设计3.1.1 系统总体框图系统总体框图如图4所示AD采集丁铜才图4 系统总体框图3.1.2 电源

12、模块子系统框图与电路原理图1、12V到5V电路原理图采用LM2576开关稳压芯片,电压稳定主要给单片机供电图512V到5V子系统电路2、12V转3.5V子系统电路12V转3.5V (图5)为测量电路提供电源,要求有较大的输出电流,电压稳定性要高, 因此用13005做的线性电源。国号图5 12V转3.5V子系统电路2、5V到-5, +5V子系统框图与电路原理图由于高精度低偏置电压 OPA2227需要+5v, -5v供电,因此用TI公司的TPS60400 做负压产生,如右图。:3.1 3测量电路子系统框图与电路原理图测量电路专门为检测覆铜板电位而设计,由于覆铜 板的整体电阻很小,必须在测量回路中加

13、以较大的电流 才会得到明显的电压输出,选用 3.5V与10欧电阻串联, 在满足精度的前提下尽量降低功耗。由于确定覆铜板内 某一点位置时要变换覆铜板两侧电极,就需要一组继电器电路来控制转换。3.14 运放电路子系统框图与电路原理图测量电路中,覆铜板的整体压降仅为 1mv左右,为了提高精度,必须采用高精度, 低偏置运算放大器,本系统采用的是 OPA2227原理图如右图所示。3.15 单片机最小系统子系统框图与电路原理图STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列:STM32F103 “增强型”系列和 STM32F10

14、1 “基本型”系列。增强型系列时钟频率达到 72MHz ,是同类产品中性能最高的产品;基本型时钟频率为36MHz ,以16位产品的价格得到比16位产品大幅提升的性能,是 16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是 SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于 0.5mA/MHz 。在 STM32F105 和 STM32F107 互 连型系列微控制器之前,意法半导体 已经推出STM32基本型系列、增强型 系列、USB基本型系列、增强型系列; 新系列产品沿用增强型系列的72MHz

15、处理频率。内存包括 64KB至11256KB 闪存和 20KB至1164KB嵌入式SRAM。 新系列采用LQFP64、LQFP100和LFBGA100三种封装,不同的封装保 持引脚排列一致性,结合 STM32平台 的设计理念,开发人员通过选择产品 可重新优化功能、存储器、性能和引 脚数量,以最小的硬件变化来满足个 性化的应用需求。STM32F0系列产品基于超低 功耗的ARMCortex-M0处理器内 核,整合增强的技术和功能,瞄 准超低成本预算的应用。该系列 微控制器缩短了采用8位和163 :步 二匕图3 STM最小系统及显示电路位微控制器的设备与采用32位微控制器的设备之间的性能差距,能够在

16、经济型用户终 端产品上实现先进且复杂的功能。系统采用STM32F103C33.2程序的设计3.2.1 程序功能描述与设计思路单片机上电进行初始化,由于要减小误差,必须进行初始系统的矫正,程序有自动 监测矫正成功与否的设置。若不成功就继续进行矫正,若成功则马上采集X轴的数据,采集完毕,用单片机控制测量电路的转换,进行Y轴的测量与转化。当以上两步完毕后, 启动液晶显示程序,显示坐标,象限等相关数据。一个周期的采集完毕后,系统进入等 待状态,等待下一次的测量。3.2.2程序流程图1、主程序流程图Ji4 f1一U图B程序主流程4测试方案与测试结果4.1测试方案首先检查利用仿真软件进行功能仿真,从理论上

17、进行分析计算,用 MATLABt覆铜 板的电位分布进行绘图,确保方案的可行性,有了理论 的保障,才能进行实际操作与 测量。1 .首先用理想的电源,在理想的状态下进行测试,测出横纵坐标的电压值。2 .接入实际的电路进行测量,把测量的数据与理想状态下进行比对,查找出误差的原因, 进一步采取措施减小误差。3 .将硬件误差调至最低,为进一步提高精度进行软件补偿。4.2测试结果及分析4.2.1 测试结果(数据)测试方法:在X轴-6到6, Y轴-4到4之间实际测量,没5MMH个刻度起家而过如 卜表。表 1 X 轴:R=10Q ,U=3.5 (室温下)坐标6543210-1-2-3-4-5-6U/mv800

18、784;678748727708688666646627610592577在横向通电下,列的电压值大致相同表 2 丫轴:R =10Q, U =3.5 (室温下)坐标6543210-1-2-3-4-5-6电 位 差1371048065544949547292122164190在纵向通电下,每,列存在压差口表 3 丫轴:Y = 0 , X=6到-6.近似均匀分布R=10 Q ,U=3.5 (室温下)坐标6543210-1-2-3-4-5-6U/mv6056056605603603601600599597596595594593由上表可知,在横向通电时可确定某一列,在纵向通电时科确定哪一行,进而确定

19、 点的坐标。另外MATLA瞰出其数学模型(图9,图10)图9 Y轴模型80060040020004图10Y轴模型4.3.2测试分析与结论根据上述测试数据,可以得出以下结论:1 .通过实际使用测试,和对测量数据的分析,横向每10mm勺电压差为10-20mv,在A区电压差大,两侧小。2 .纵向每10mnW 5到10mv的变化,在A区压差下,边缘压差大。3 .通过16位AD采样可以完成5mmiU 3mmi勺误差范围,并能准确显示象限,又有画 圆的功能。4 .综上所述,本设计达到基本要求,两项发挥要求。5 .4总结仪器类的作品往往各方面都具有严格的要求,尤其是精确度这方面,所以高精度是 我们在设计整个

20、电路时的基本原则,所以在作品在最终测试时,确实在这一块发挥很好, 达到我们预计结果。我们在完成题目基本要求的同时,还对功能做了扩展,做了良好的 人机交互界面,使其更具实用性。能够完成整个作品的制作与我们丰富的理论知识与优秀的动手能力和有好的合作 是分不开的,我想我们已经准备好迎接更多更大挑战。参考文献:信号与系统,沈元隆周井全编,北京:人民邮电出版社,2007年;C程序设计,谭浩强著,北京:清华大学,2005年;电子技术基础-模拟部分,康华光编,北京:高等教育出版社,2006年;电子技术基础-数字部分,康华光编,北京:高等教育出版社,2006年;单片机原理及应用,李建忠著,西安:西安电子科技大

21、学,2002年;晶体管电路设计,铃木雅臣著,北京:科学出版社, 2006年;附录1:电路原理图(部分)电源滤波电路系统电源电路= s n3:-I1ECb七二:1 ZTTTTT-0= Erci-1-sr rci:-cT u工hEM.ECT SXXTV3U.可 X 才 zT7-4 I- 1FE3可.22FE3LLL|g系统工作方式选择In出二-3E-I3#C- 附录2:源程序(部分)文件名称:电子设计大赛手写绘图* 开发应用芯片; STM32F103ZET6* 开发平台:KEIL 4.12* 日期:2013095*/*#include stm32f10x.h#include 1602.h#incl

22、ude 12864.h#include delay.h#include sys.h#include wrup.h#include const u8 num10=0,1,2,3,4,5,6,7,8,9;数字显示代码u8 dis6;u16 ad;u32 tempu32 = 0;u8 gototime = 0;u8 time = 0;float pianyi_X,pianyi_Y;float caiyang1;float caiyang2;float caiyang3;float caiyang4;u8 jdq1_flag=0;/继电器1允许标志位u8 jdq2_flag=0;/继电器2允许标志位t

23、ypedef enum FAILED = 0, PASSED = !FAILED areaStatus;/typedef enum one,two,three,four quatationStatus;typedef structu16 xval;/X 轴电压u16 yval;/y 轴电压float xvalue;/x 坐标值float yvalue;/y 坐标值areaStatus x_xianshi; /x 符号areaStatus y_xianshi; /y 符号XYAttitude;XY Attitude Attiude;#define jdq1_1GPIOA-BSRR = GPIO_

24、Pin_5#define jdq1_0GPIOA-BRR = GPIO_Pin_5/A5#define jdq2_1 GPIOA-BSRR = GPIO_Pin_6 /A6#define jdq2_0 GPIOA-BRR = GPIO_Pin_6 void RCC_Configuration(void);void NVIC_Configuration(void);void Delay(_IO uint32_t nCount);void GPIO_Configuration(void);void dis_x(u16 x_v);void dis_y(u16 y_v);/u16 GetVolt(u1

25、6 advalue) / return (u16)(advalue * 330 / 4096);求的结果扩大了100倍,方便下面求出小数 /*求平均值函数*/void filter(void)/int sum = 0;/u8 count;/ u8 i;/for(i=0;i3;i+)/for ( count=0;countN;count+)/sum += AD_Valuecounti;/After_filteri=sum/N;/sum=0; void disp_v(float valye)u8 s;u16 adcx;u16 t;adcx=valye;valye-=adcx;t=10000*val

26、ye;dis0=adcx/10+0x30;dis1=adcx%10+0x30;dis2=.;dis3=t/1000+0x30;dis4=t%1000/100+0x30;dis5=t%1000%100/10+0x30;LCD_Write(LCD_Write_Con_Cmd, 0x93);for(s=0;s6;s+) LCD_Write(LCD_Write_Dis_Data, diss);int get_mv(float mv)u16 adcx;u16 t;adcx=mv;mv-=adcx;t=10000*mv;return(t/1000)*100+(t%1000/100)*10+(t%1000%

27、100/10);void display_location(float mv,areaStatus flag) 显示 X 坐标 u16 adcx;u16 t;u8 s;u8 dis5;adcx=mv;mv-=adcx;t=10000*mv;dis1=adcx%10+0x30;dis2=.;dis3=t/1000+0x30;dis4=t%1000/100+0x30;if(flag=FAILED)dis0=-;elsedis0=+;LCD_Write(LCD_Write_Con_Cmd, 0x9b);for(s=0;s5;s+)LCD_Write(LCD_Write_Dis_Data, diss)

28、;void display_loca(float mv,areaStatus flag) 显示 y 坐标 u16 adcx;u16 t;u8 s;u8 dis5;adcx=mv;mv-=adcx;t=10000*mv;dis1=adcx%10+0x30;dis2=.;dis3=t/1000+0x30;dis4=t%1000/100+0x30;if(flag=FAILED) dis0=-; elsedis0=+;LCD_Write(LCD_Write_Con_Cmd, 0x9d);for(s=0;s5;s+) LCD_Write(LCD_Write_Dis_Data, diss); int ca

29、iyang(void)u16 i;for(i = 0;i 8;/16位分辨率,累加值右移 4位tempu32 = 0;return ad;void get_v(void)float temp;static m=0;temp=(float)(caiyang()*3.30/4096);if(temp0.9)display_cnasc(0x80,8,状态:无表笔接触);disp_v(temp);display_cnasc(0x9b,6,);else display_cnasc(0x80,8,状态:表笔接触 );if(m=0)if(caiyang20.688)temp=(float)(caiyangO

30、*3.30/4096)-(caiyang2-0.688);elsetemp=(float)(caiyangO*3.30/4096)+(0.688-caiyang2);disp_v(temp);Attiude.xval=get_mv(temp);dis_x(Attiude.xval);m+;jdq1_0;jdq2_1;delay_ms(800);/ display_location(Attiude.xvalue,Attiude.x_xianshi); / 显示x坐标else if(m=1) if(caiyang40.600)temp=(float)(caiyangO*3.30/4096)-(ca

31、iyang4-0.600);elsetemp=(float)(caiyangO*3.30/4096)+(0.600-caiyang4);disp_v(temp);Attiude.yval=get_mv(temp);dis_y(Attiude.yval);m+;jdq1_1;jdq2_0;delay_ms(800);while(m=2)display_location(Attiude.xvalue,Attiude.x_xianshi); / 显示x坐标 display_loca(Attiude.yvalue,Attiude.y_xianshi);temp=(float)(caiyang()*3.30/4096);if(temp0.9)m=0;delay_ms(200);break;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1