电子系统设计课程设计报告_第1页
电子系统设计课程设计报告_第2页
电子系统设计课程设计报告_第3页
电子系统设计课程设计报告_第4页
电子系统设计课程设计报告_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子系统设计课程设计报告《电子系统设计》课程设计报告姓名:___________________学号:___________________班级:___________________目录TOC\o"1-3"\h\u4026目录 112251一.设计题目 226698二.设计目的 218167三.设计内容及要求 223472设计原理 228980(1)传感器测量电路 317359(2)放大电路 310235(3)A/D转换电路 426417(4)传感器供电电源 410060四、设计提示 427380(1)放大电路设计 423686(2)传感器专用直流稳压电源 514561(3)单片机电路 67305(4)电路调试 99111(5)软件设计 925551(6)仿真调试 148366五、设计总结 1614449六、注意事项 1617718附录: 16一.设计题目压力测量仪二.设计目的1)使学生掌握电阻应变传感器的原理、选用及正确使用方法;了解压力测量仪的工作原理。2)提高学生的知识运用能力和系统设计能力。3)通过安装、调试电路、软件调试等实践环节,提高学生的动手能力和分析问题、解决问题的能力。三.设计内容及要求设计原理压力测量仪由以下五个部分组成:传感器、传感器驱动电源、前置放大器、滤波放大器、A/D转换路、单片机系统、显示器电路等组成。其原理框图如图1所示:电阻应变式传感器电阻应变式传感器前置放大器A/D转换器89C52单片机键盘接口压力显示滤波放大器传感器驱动电源图1压力测量仪结构框图(1)传感器测量电路压力传感器的测量电路通常使用电桥测量电路,它将应变电阻值的变化转换为电压的变化,这就是可用的输出信号。电桥电路由四个电阻组成,如图2所示:桥臂电阻R1,R2,R3和R4,其中两对角点接电源电压伟U,另两个对角点为桥路的输出Uo,桥臂电阻为应变电阻。当R1R4=R2R3时,电桥平衡,则测量对角线上的输出Uo为零。当传感器受到外界物体重量影响时,电桥的桥臂阻值发生变化,电桥失去平衡,则测量对角线上有输出,Uo≠0。图2传感器电桥测量电路(2)放大电路压力测量仪的放大系统是把传感器输出的微弱信号进行放大,放大的信号应能满足A/D转换的要求。该系统使用的A/D转换可用0809A/D转换,所以放大器的输出应为0V~5V。为了准确测量,放大系统设计时应保证输入级是高阻,输出级是低阻,系统应具有高的抑制共模干扰的能力。(3)A/D转换电路传感器的输出信号放大后,通过A/D转换器把模拟量转换成数字量。(4)传感器供电电源参考图2,设四个桥臂的初始电阻相等且均为R,当有重力作用时,两个桥臂电阻增加△R,而另外两个桥臂的电阻减少,减小量也为△R。由于温度变化影响使每个桥臂电阻均变化△RT。这里假设△R远小于R,并且电桥负载电阻为无穷大,则电桥的输出为:Uo=U(R+△R+△RT)/(R-△R+△RT+R+△R+△RT)-U(R-△R+△RT)/(R+△R+△RT+R-△R+△RT)=U△R/(R+△RT)即Uo=U*△R/(R+△RT)说明电桥的输出与电桥的电源电压E的大小和精度有关,还与温度有关。如果△RT=0,则电桥的电源电压U恒定时,电桥的输出与△R/R成正比。当△RT≠0时,即使电桥的电源电压U恒定,电桥的输出与△R/R也不成正比。这说明恒压源供电不能消除温度影响。由于工艺过程不能使每个桥臂电阻完全相等,因此,在零压力时,仍有电压输出。2.设计要求(1)以单片机为核心,设计压力测量系统。(2)传感信号处理电路。该电路实现微伏级信号的放大、滤波。(3)A/D通道设计。实现传感信号模拟量的转换,单片机获取压力信息。(4)键盘及接口电路。(5)显示电路。(6)满足要求的系统软件。四、设计提示(1)放大电路设计首先,由于传感器测量范围是0~100g,灵敏度约0.5mV/V,其输出信号只有0~3mV左右;而A/D转换的输入应为0V~5V,现取0V-4V对应显示0~100g,当量为40mV/g,因此要求放大器的放大倍数约为1300倍,一般采用二级放大器组成。其次,在电路设计过程中应考虑电路抗干扰环节、稳定性。选择低失调电压,低漂移,高稳定性,经济性的芯片。电源电压±5V。最后,电路中还应有调零和调增益的环节;才能保证电子电平没有称重时显示零读数;测压力时读数正确反映被测压力。(2)传感器专用直流稳压电源传感器的电源是+6.6V电压。对于给定的传感器其输入电阻为1KΩ;输出电阻为500Ω。(3)单片机电路单片机电路完成对A/D通道的数据采集,信号处理及显示。按照要求查阅相关电路和元器件功能的资料,完成传感器恒压源、放大电路、A/D转换电路、单片机电路的设计,画出电路图。如下图所示其PCB图如下所示(4)电路调试调零:±5V电压接到传感器恒压电路的输入端,测量传感器的输出。在空载时,传感器的输出应为零,但由于制造工艺误差,输出一般不为零,调节调零电路,使其输出为零。定标:当传感器放上100g的砝码时,放大器的输出应为4V。小于4V或大于4V时应调节放大器的增益。。加载正确的变化应为:测量0~100g,输出电压变化约为0~4V.电路实物调试图如下(5)软件设计系统软件主要包括:数据采集、非线性补偿、数字滤波、传感器建模、标度变换、键盘显示等模块。源程序如下:#include"STC12C5A60S2.h"#include"intrins.h"#include"stdio.h"sbitp20=P2^0;sbitp21=P2^1;sbitp22=P2^2;sbitp23=P2^3;#definevcc 5.0; //基准电压#defineADC_POWER0x80;//adc电源控制#defineADC_FLAG0xef;//adc转换完成标志位#defineADC_START0x08;//adc启动#defineSPEED0 0x00;//540时钟周期#defineSPEED1 0x20;//360时钟周期#defineSPEED2 0x40;//180时钟周期#defineSPEED3 0x60;//90时钟周期unsignedcharland[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //设置P1ASF寄存器,选择P1口功能(i/o口或ad),0x00是P1口全为I/O口用unsignedcharADC_CHS[8]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07}; //adc通道输入选择,(其中SPEED1,SPEED0为1,1,90个时钟周期转换一次)sbitrs=P3^2;//lcd寄存器选择端sbitrw=P3^3;//lcd读写端sbite=P3^4;//lcd使能端unsignedcharlcd0[16];unsignedcharlcd1[16];unsignedcharline; //lcd行标志voiddelay(unsignedintz) //延时0.1ms{ unsignedintx,y; for(x=z;x>0;x--) for(y=132;y>0;y--);}voidwritecom(unsignedcharcom)//写lcd指令{ rs=0;rw=0; P0=com; e=1; delay(15); //检测忙信号 e=0;}voidwritedat(unsignedcharda)//写lcd数据{ rs=1;rw=0; P0=da; e=1; delay(15); e=0;}floatadc(unsignedcharland_i) //adc转换程序{ floattemp=0,sum=0; unsignedchari; P1ASF=land[land_i]; //P1口用途选择 for(i=0;i<10;i++) { ADC_CONTR=ADC_CONTR|0x60|0x80|0x08|ADC_CHS[land_i];//开adc电源,选择转换周期,通道,启动转换 //ADC_CONTR=ADC_CHS[land_i]+SPEED3+ADC_POWER+ADC_START; _nop_(); _nop_(); _nop_(); _nop_(); while(ADC_CONTR&0x10==0) ; //等待转换完成 ADC_CONTR=ADC_CONTR&ADC_FLAG; //转换完成标志位清零 temp=ADC_RES; //取高八位 temp=temp*16/4+ADC_RESL%4; //高八位数加低二位 sum=sum+temp; //ADC_CONTR=0x00; } sum=sum/10; sum=(sum/1024)*vcc; //转换成模拟电压值 returnsum;}charkeyscan() //矩阵按键{ unsignedcharkeye; P2=0x0f; if((P2&0x0f)!=0x0f) { delay(40); if((P2&0x0f)!=0x0f) { P2=0x7f; if(p20==0) keye='#'; if(p21==0) keye='*'; if(p22==0) keye=0; if(p23==0) keye='d'; P2=0xbf; if(p20==0) keye=7; if(p21==0) keye=8; if(p22==0) keye=9; if(p23==0) keye='c'; P2=0xdf; if(p20==0) keye=4; if(p21==0) keye=5; if(p22==0) keye=6; if(p23==0) keye='b'; P2=0xef; if(p20==0) keye=1; if(p21==0) keye=2; if(p22==0) keye=3; if(p23==0) keye='a'; } } returnkeye;}voidinitlcd() //lcd初始化{ writecom(0x01); //清屏 writecom(0x38); //8位总线,5*7点阵 writecom(0x0c); //开显示,有光标,闪烁 writecom(0x06);//AC自动增一画面不动 }voidinit_adc(void) //adc初始化{ P1ASF=0x00; //P1脚初始作I/O口 ADC_CONTR=0x00; AUXR1=0x00;}voiddisplay(unsignedcharline)//lcd显示{ unsignedchari; switch(line) { case1: for(i=0;i<16;i++) { writecom(0x80+i); writedat(lcd0[i]); } break; case2: for(i=0;i<=16;i++) { writecom(0xc0+i); writedat(lcd1[i]); } break; default:break; } }voidmain(void){ floatvol=0,m=0; unsignedcharkey; //unsignedintk; initlcd(); //lcd初始化 init_adc(); //adc初始化 while(1) { key=keyscan(); vol=adc(7); m=vol/40*1000; sprintf(lcd0,"U:%.3fv",vol); sprintf(lcd1,"M:%.3fg",m); display(line); line++; display(line); } }(6)仿真调试将程序烧入到单片机内后,接上电源,开始逐个放砝码,记LCD上显示的数据于表中。在调试过程中我们遇到了很大的一个问题,当时测试时最大只能测试到20G的质量砝码,电压也上不去了,我们检查了下电路,看不出问题所在,直接找到了老师,没过一会儿老师就发现了问题所在。原来是这块板子的D4二极管方向接反了,随后我们去后面将接反的二极管转正,回到原来位置继续调试,终

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论