ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:190.01KB ,
资源ID:6528596      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6528596.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(全国大学生电子设计竞赛论文模板.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

全国大学生电子设计竞赛论文模板.docx

1、全国大学生电子设计竞赛论文模板2013年全国大学生电子设计竞赛手写绘图板(G题)【组】2013年9月7日摘要:本设计利用覆铜板的电势场效应,检测铜板两点间的微弱的电位差,小信号电位差经过LM324进行千倍放大,从而经过快速的高精度的A/D转换。使转换的信号经过单片机进行与所建立的触摸板坐标库函数进行比较,输出位置的的纵横坐标及所在象限,并且使精度大于0.8mm,并能很快显示表笔所在触摸板的位置。通过检测,此方案是具有可行性的,关键字:电势差; LM324千倍放大电路; ARM系统 1系统方案1.1方案比较与选择方案一:采用测微电阻的方法进行定位通过对覆铜板上电阻值的测量,由覆铜板上不同点处的电

2、阻值也不同的特点,从而让不同俩点之间产生电阻差,把测得的电阻差通过A/D转换,再把这个信号传送给单片机,进而实现手写绘图的功能。但由于测量后发现电阻值非常微小,且同一覆铜板上电阻的变化率很小,检测到很微小电阻,所以很难检测,硬件电路也非常复杂,所花费的成本也比较高,软件调试并不容易,要保证技术要求的指标困难,所并且花费的成本也比较高,故采用此方案不理想。方案二:采用测冲击电流的方法进行定位鉴于覆铜板电阻甚小,故转向测测冲击电流,采用测冲击电流的方法及相应的装置,由控制单元控制充电回路的开关闭合,放电回路的开关断开,使得充电回路中的可控电源给一个储能电容器充电,然后控制电路断开充电回路的开关,闭

3、合放电回路的开关,并同时给取样单元以触发信号,储能电容器放电产生一冲击电流至待测电阻;取样单元通过放电回路中的电流传感器和电压传感器得到待测电阻上的冲击电流和电压数据,再反馈至控制单元,控制单元读取这些数据,经计算处理得到待测电阻的阻值。电阻测出后,根据不同电阻值定位坐标。但缺点是电路板上每个点都对应一个不一样的信号,测量时对技术要求很高,所以此方案可行性也不大。方案三:采用测电压的方法进行定位本方案是给触摸板分别加横轴电势场与纵轴电势场原理(如图1)进行测电压,进而定位。表笔在覆铜板上接触相当于测量部分覆铜板的电压,找出电压大小与距离测量点距离的关系,从而进行定位。 切换DD与CC的电压,可

4、分别检测出一点的X轴坐标与Y轴坐标。经过检测,覆铜板的分辨率为mv/cm,经过1000倍的信号放大电路,产生的电压信号经过模数转换,是可以用单片机进行转换并测出并经显示屏显示出坐标与位置。(图1)综合以上三种方案,所以选择方案三。1.2方案描述把表笔检测到的信号,经过千倍以上的放大,输出03V的电压,经过A/D芯片把模拟信号转化为数字信号,然后建立横轴与纵轴的坐标库函数,然后把转化的数字信号经过单片机进行检测,输出坐标的位置象限。触摸板模块(图2总体设计框架图)1.3各模块的设计.3.表笔的设计我们的表笔采用的是万用表表笔,因为选材比较方便,还比较好用,表笔采用平衡电桥进行小信号的输出,从而使

5、输出的电压信号更加精准,更容易精确确定触摸板的定位坐标。我们用毫安表测试出了微小电压,说明了小信号的放大可行性。.3.触摸板的设计我们采用现有的设备,就是 PCB覆铜板,经过我们的改进,利用覆铜板采集到的坐标电压信号比较精确,而且选材方便,而且成本较低,经济划算。不像某些高电阻率的材料,比较难找,而且成本比较高,一点都不节约成本。.3.信号的采集模块用表笔接触触摸板,会产生微小的电位差,经过惠更斯电桥,使测得的小电压更加精准,而惠更斯电桥的搭建很简单,只采用四个电阻即可搭建,却能产生精度比较高的电压信号,而且更有利于确保信号的稳定。.3.放大电路模块放大电路我们采用的是LM324芯片,利用模拟

6、电路,搭建成级放大电路,这样使放大电路精确放大一千倍,从而产生比较容易检测的大电压信号,有利于信号的转换。而且这种芯片比较常见,资料齐全,大部分实验室都有,且成本低廉。.3.模数转换的电路模块经放大产生的电压信号只有经过A/D转换模块,才能使被单片机识别。我们所采用的是单片机自带10位高精度的A/D 芯片,这样转换的精度比普通的8位A/D芯片 更加精确,芯片的转换速度更快,这样可以使表笔的显示更加快捷敏感。.3.6单片机的选择与确定我们采用的ARM32位的单片机,采取此芯片的优点是他的运算速度比普通单片机速度高很多,这样使触摸板有足够高的灵敏度,更快的显示表笔所在的坐标,这样经过系统软件的优化

7、,使表笔采集到的信号更连贯,更快的显示当前坐标,从而使显示的坐标更精确。而采取此型单片机更大的优点是他具有更大的内存,可以驱动TFT触摸彩屏,并且可以存足够大的触摸板坐标库函数,而且可以用手触摸去控制此手写绘图板,使显示更具有可观测性。.3.7输出设备模块我们采用的是TFT触摸彩屏,它的显示精度更高,更具有可观测性,而且他可以用手去控制,减少了其他按钮,而且界面做了更加人性化的处理,更方便了对可控触摸板的优化。而6盏LED灯是我们的辅助输出设备,当电源开启时,L1灯亮;当表笔接触触摸屏时,L2灯亮;当表笔在触摸屏的第一象限时,L3灯亮;当表笔在触摸屏的第一象限时,L4灯亮;当表笔在触摸屏的第二

8、象限时,L5灯亮;当表笔在触摸屏的第三象限时,L6灯亮;当表笔在触摸屏的第四象限时,F灯亮,这样我们就可以显示基本的信号。2理论分析与计算.系统的理论分析用万用表测得覆铜板上每移动一毫米,电压变化为0.35mv/cm,这样经过平衡电桥 ,使测得的电压值更加灵敏。这样经过1000倍的信号放大,使放大后的信号为03V,这样经过高精度A/D模块把信号转化为数字信号,数字信号传输到单片机上,当单片机检测到输入的信号时,调用触摸板坐标库函数,经过分析得到表笔的实际位置坐标,然后经过单片机输出在显示屏上显示表笔所在的象限位置与坐标,从而显示触摸板的位置,这样是具有可行性的。2.2恒压源的计算恒压源是由LM

9、317经过放大组成。LM317产生的电流为1.5A,输出电压可在1.737V之间连续调节其输出电压由两只外接电阻R1与R2决定,输出端与调整段之间的电压差为1.25V,这个电压产生1几毫安的电流,经R1与R2到地,为了得到稳定的输出电压,流经R1的电流小于3.5MA。VD1为保护二极管,防止稳压器输入短路而损坏集成芯片。计算公式为U0=1.25*(R2/R1+1)(图3)运算放大器的计算对于1000倍的放大电路,我们采用的是LM324,采用的是3级放大,每级放大10倍,最终放大1000倍,使得放大的信号经转换后能被单片机检测。(图4)触摸板坐标库函数的计算如(图)中接线所示,不断在X轴与Y轴改

10、变电场方向分别检测轴与轴所在位置。由于覆铜板均匀且无噪点,如下图在AA与BB分别分别不同时刻加上1.4V和0V,以表笔作为检测电路,分别测得表笔与地之间的电压并记录。要把测出的覆铜板位置的电压信号转换成覆铜板的坐标信号,因此要建立坐标库函数。由与表笔所在覆铜板的位置不同,所对应的电压值也不同,所以根据测得的电压值能建立起库函数。由于我们要知道表笔所在位置,所以必须检测到横坐标与纵坐标的位置,这样就建立起了纵横坐标对应的电压库函数。分别先后在触摸板纵轴两端接1.4V电压,这样在平面的覆铜板上就可以实现两点定位了。先在AA、BB与CC、DD分别接正1.4V与0V,然后沿着横轴每隔0.2cm用表笔测

11、一次电压值,当示数稳定后,记录此点电压,经过多次测量求平均值,并经过线性化模拟出函数Vx=0.35mv/cm,建立起沿X轴电压变化的函数方程。然后AA、CC与BB、DD分别接1.4V与0V,并沿着纵轴每隔0.2cm用表笔测一次电压值,当示数稳定后,记录此点电压,经过多次测量求平均值,经过多次测量求平均值,并经过线性化模拟出函数Vy=0.175mv/cm,建立起沿Y轴电压变化的函数方程。这样在触摸板表的覆铜板上就可以实现两点定位了。(图5) 模拟信号的转换计算由于我们采用的是ARM片内A/D转换芯片,A/D通过采样、量化、编码,直接输出数字信号。由于我们采用的是10位数模转换芯片,他的转换速度比

12、普通8位芯片的精度更高,而40MS/S的速率也高于普通芯片,使转换速率更快。从而保证了触摸板在电源上的显示速度同步化程度更高,延迟更小,并且保证了他的高精度要求。3电路与程序设计3.1电路的设计3.1.系统总体框图本系统主要有检测模块、放大模块、A/D转换模块、显示模块与电源模块等组成。触摸板模块(图6)3.1.2放大器的子系统框图与电路原理图10倍运算放大器(图7) 经过3个10级放大电路的的放大,使放大电路最终达到1000倍。(图8)3.1.3显示子系统框图触摸显示屏(图9) 当单片机判断出手写绘图板所在的具体坐标与位置时,把信息传输给显示屏进行显示。同时也可以对触摸屏经行控制,使他手写板

13、进行模式控制、系统的开关、由于本次设计不太完整,还有利于以后程序的优化。3.1.4电源子系统框图H7805 5V稳压模块(图10)5V稳压源负责给单片机最小系统板供电系统(LM317 1.4V稳压模块)1、4V稳压源负责给单片覆铜板供电4测试方案与测试结果4.1测试方案由于铜板通电会发热,而且天气温度的变化对电势也有影响,所以不同的温度测出的数据差距不同。我们采用是固定温度法进行坐标测量,当每移动0.5mm,记下输出的数据。而当在不同的温度下,测量电路的电压与电流,从而计算出电路的最小功率。4.2测试条件与仪器在温差不大于摄氏度的条件下进行多温度下的测量精确到.摄氏度的温度计一个,毫米刻度尺两

14、个,进行坐标定位四个半的万用表一个4.3测试结果及分析进由于在温度不大于5摄氏度的情况下,最小误差为0.15mm,最大误差不大于0.45mm,所以测出的值还是比较稳定符合规定的要求,而我们的电路理论上功耗小于1.5W,但实际现象中却不能达到,是由于选择的芯片LM317发热比较严重,带来的热量损耗严重。当上电启动时,我可以把我们的启动界面显示为“欢迎使用手写绘图板,请等待5S钟”,经过5S钟,系统有稳定的电压与电流信号,总体而言系统比较稳定,测量的精度会更高更有利于我们使用手写绘图板。5结语 由于本方案可行性较高,低电压驱动,负载电流低于1A,功率消耗较低,采用ARM Contex-M0LPC1

15、114低功耗、高速率、使坐标显示更精确、误差更低,并且可以触屏操纵,从而使系统更加人性化。通过本次大赛,我们学习到很多东西,深刻体会到了理论指导实践,但实践才是检验真理的唯一标准。附录1:源程序#include includes.hint main() GUI_BUTTON bn10; GUI_WINDOW wnd; Target_Init(); LPC_SYSCON-SYSAHBCLKCTRL |=(1R_PIO1_0 &= 0x07; LPC_IOCON-R_PIO1_0 |= 0x01; LPC_IOCON-R_PIO1_1 &= 0x07; LPC_IOCON-R_PIO1_1 |=

16、0x01; LPC_SYSCON-SYSAHBCLKCTRL &= (1SYSAHBCLKCTRL |= (1DIR |= (10)|(1DATA |= (10)|(1DATA &= (1DATA |= (1DATA &= (1DATA |= (11); bn5 = GUI_DrawWindow(GUI_CreateWindow(120, 200, 230, 315, RED, GREEN, YELLOW, PINK, 坐标:); ADC_Init(CH0); while (1) GUI_SetColor(BLACK, YELLOW); GUI_ShowStr(130, 233, 象限:1);

17、 GUI_ShowStr(130, 248, 横坐标:); GUI_ShowNum(130, 263, ADC_Read(CH0), 4); GUI_ShowStr(130, 278, 纵坐标:); GUI_ShowNum(130, 293, ADC_Read(CH0), 4); switch (GUI_CheckButtonMsg(bn); break; case 4: goto start; case 5: GUI_FillRect(120, 200, 230, 310, ORANGE); bn5 = GUI_FreeButton(); break; return 0;#ifndef _G

18、UI_LIB_H_#define _GUI_LIB_H_#include lpc11xx.h#include delay.h#include math.h#include string.h#include ili9325.h#include w25x16.h#include xpt2046.h#define BLUE 0x001F / 蓝色#define BLACK 0x0000 / 黑色#define BRED 0xF81F#define BROWN 0xBC40 /棕色#define BRRED 0xFC07 /棕红色#define CYAN 0x7FFF#define DARKBLUE

19、0x01CF / 深灰蓝色#define DARKGRAY 0x8410 / 深灰色#define GRAY 0x8430 / 灰色#define GRAYBLUE 0x5458 / 灰蓝色#define GRED 0xFFE0#define GREEN 0x07E0 / 绿色#define GBLUE 0x07FF#define LBBLUE 0x2B12 /浅棕蓝色(选择条目的反色)#define LIGHTBLUE 0x7D7C / 浅蓝色#define LIGHTGREEN 0x841F /浅绿色#define LGRAY 0xC618 / 浅灰色#define LGRAYBLUE 0

20、xA651 /浅灰蓝色(中间层颜色)#define MAGENTA 0xF81F#define ORANGE 0xFC08 / 橙色#define PINK 0xF81F / 粉红色#define PORPO 0x801F / 紫色#define RED 0xF800 / 红色#define WHITE 0xFFFF / 白色#define YELLOW 0xFFE0 / 黄色#define UP TRUE / 按钮状态,未按下#define DOWN FALSE / 按钮状态,已按下#define ON TRUE / 开显示#define OFF FALSE / 关显示#define OPE

21、N TRUE / 窗口打开状态#define CLOSE FALSE / 窗口关闭窗口#define MAX_CHECK_BUTTON_NUM 20 / 最大扫描按钮的个数(1127个,0禁止发送消息)typedef struct uint8 xstart; uint16 ystart; uint8 xend; uint16 yend; uint16 textcolor; uint16 buttoncolor; uint8 *text; uint8 status; GUI_BUTTON;typedef struct uint8 xstart; uint16 ystart; uint8 xend

22、; uint16 yend; uint16 titlecolor; uint16 titletextcolor; uint16 textcolor; uint16 bordercolor; uint8 *title; GUI_BUTTON bn; GUI_WINDOW;extern void GUI_Init(void); / 初始化液晶显示器extern void GUI_DisplayOn(void); / 开显存extern void GUI_DisplayOff(void); / 关显存extern void GUI_Display(uint8 f);extern void GUI_X

23、YRAM(uint8 xstart, uint16 ystart, uint8 xend, uint16 yend);extern void GUI_SetC(uint8 x, uint16 y);extern void GUI_Clear(uint16 color); / 整屏显示extern void GUI_SetPointColor(uint16 point); / 设置前景颜色extern void GUI_SetBackColor(uint16 back); / 设置后景颜色extern void GUI_SetColor(uint16 point, uint16 back); /

24、 设置前后景颜色extern void GUI_DrawPoint(uint8 x, uint16 y); / 在屏上画一个像素的点extern uint16 GUI_ReadPointColor(uint8 x, uint16 y); / 读屏上某一点的颜色extern void GUI_DrawLine(uint8 x1, uint16 y1, uint8 x2, uint16 y2); / 画一条直线extern void GUI_DrawRect(uint8 xstart, uint16 ystart, uint8 xend, uint16 yend, uint16 color); /

25、 画矩形extern void GUI_FillRect(uint8 xstart, uint16 ystart, uint8 xend, uint16 yend, uint16 color); / 画带填充的矩形extern void GUI_DrawCircle(uint8 x0, uint16 y0, uint8 r); / 画一个圆extern void GUI_ShowNum(uint8 x, uint16 y, uint32 num, uint8 len); / 显示数字extern void GUI_ShowChar(uint8 x, uint16 y, uint8 num);

26、/ 显示一个ascii码为094的字符extern void GUI_ShowHz(uint8 x, uint16 y, uint8 *hz); / 显示一个GBK汉字extern void GUI_ShowStr(uint8 x, uint16 y, uint8 *p); / 显示字符串(英文和中文都可以)extern void GUI_Draw5Point(uint8 x, uint16 y, uint16 color); / 画5个像素直径的圆点extern void GUI_Draw9Point(uint8 x, uint16 y, uint16 color); / 画9个像素直径的圆

27、点extern GUI_BUTTON GUI_CreateButton(uint8 xstart, uint16 ystart, uint8 xend, uint16 yend, uint16 textcolor, uint16 buttoncolor, uint8 *text, uint8 status); / 创建一个标准按钮extern GUI_BUTTON GUI_DrawButton(GUI_BUTTON bn); / 画一个按钮extern void GUI_SetButtonUp(GUI_BUTTON bn); / 设置按钮为弹起状态extern void GUI_SetButtonDown(GUI_BUTTON bn); / 设置按钮为按下状态extern void GUI_SetButtonPointColor(GUI_BUTTON bn

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1