还剩39页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
目录目录任务书………………………………………………………………………………….Ⅰ开题报告……………………………………………………………………………….Ⅱ指导教师审查意见…………………………………………………………………….Ⅲ评阅教师评语………………………………………………………………………….Ⅳ答辩会议记录…………………………………………………………………………Ⅴ中文摘要……………………………………………………………………………….Ⅵ外文摘要……………………………………………………………………………….ⅦTOC\o1-2\h\z\u前言11引言
11.1课题来源
11.2课题研究的研究背景
11.3国内外的发展现状、发展趋势及存在的主要问题
21.4课题研究的指导思想与技术路线
31.5位移测量装置的技术要求42位移测量传感器原理介绍
52.1差动变压器结构和工作原理53方案选择
63.1从__检测过程可以分为直流求差法和交流求差法
63.2正弦__产生方案选择
73.3单片机的选择
73.4总体设计框图84系统硬件设计
94.1器件芯片介绍
94.2系统硬件框图
144.3主要组成电路分析
144.4总电路图设计175系统软件设计
175.1主程序流程图
175.2中断子程序流程图
195.3DDS控制软件设计
195.4AD7886软件驱动设计
205.5系统源程序216制作位移测量装置的步骤217总结22____23致谢24附录125附录226附录327前言差动变压器式(LVDT)位移传感器广泛用于工业现场和测试领域,如过程检测和自动控制、形变测量等本设计为电子设计竞赛题目该题目主要实现位移测量的功能,具有一定实际研究意义,除了测量位移本身外,其他很多物理量也可以转化为位移来测量比如液位等本文采用差动式变压器作为位移传感器测量位移,达到了比赛规定的设计指标而且不仅可以测量位移还可以实现位移的控制,这是本文的特点系统采用MSP430单片机制作核心控制器件,实现磁棒小范围位移的精确测量本设计首先采用DDS芯片AD9851得到一个频率为100kHz的正弦波__,并且采用THS4503芯片进行差分输出,驱动线性可变差动变压器的原边;差动变压器两个副边的输出__分别经过ad811芯片放大后,进行半波整流、电子滤波,得到稳定的直流电压,实现磁棒位移__的实时采集对两路直流__分别进行A/D转换,并送入单片机分析处理,最后将计算结果用LCD显示整个系统结构合理,设计简洁,性能稳定,有较强的抗干扰能力1引言
1.1课题来源2008年湖北省电子设计竞赛题目
1.2课题研究的研究背景在电子技术中,位移的测量十分重要,这就要求位移测量计要不断的提高其精度、量程、线性比和实用性小位移通常用应变式、电感式、差动变压器式、涡流式、霍尔传感器来检测,大的位移常用感应同步器、光栅、容栅、磁栅等传感技术来测量电感式传感器是一种建立在电磁感应基础上,利用线圈的自感或互感变化原理来实现非电量电测的传感器传感器测头检测到被测物体的位移,通过测杆带动衔铁产生__,从而使线圈的电感或互感系数发生变化自感或互感__再通过引线接入测量电路进行测量电感传感器本身是互感系数可变的变压器,当一次测线圈接入激励电源后,二次线圈就将感应产生的电压输出互感变化时,输出电压将作相应的变化光栅式位移传感器是由一对光栅副中的主光栅和副光栅进行相对位移时,在光的干涉与衍射共同作用下产生明暗相同的规则条纹图形,称之为莫尔条纹经过光电器转换使明暗相同的条纹转换成正弦波变化的电__,再经过放大器放大,整形电路整形后,得到两路相差为90的正弦波或方波,送入光栅数显表计数显示差动式位移测量装置具有测试精度高、线性范围大、稳定性好和使用方便等特点被广泛应用于直线位移本课题主要研究的是以单片机为控制核心,线性可变差动变压器为传感器,辅以相应的模拟电路,能够实现精确的位移测量功能本系统电路构造简单,通过较少的元件就可以达到一定精度的测量本系统一大特色就是具有电机驱动以动磁棒__到指定位移
1.3国内外的发展现状、发展趋势及存在的主要问题可用于位移测量的传感器的种类很多,其中用于直线位移测量的有电阻式、电感式、电容式、振弦式、编码式、感应同步器式、光栅式、磁栅式、光电式、霍尔效应式、磁敏电阻式、喷射式、激光式、复合式以及光纤式等,但这些传感器在实际应用中或多或少都存在着一些问题,有的设备复杂、成本高,有的对环境要求高,有的精度低、线性范围小、有的结构复杂、工艺要求高于此同时,在微电子行业中高精度模板的制造和定位,高精度传感器的标定都需要很高的位移测量精度,甚至有些应用要求测量精度达到纳米量级,同时测量范围的要求也越来越大,这样测量精度与测量范围的要求构成了尖锐的矛盾,因此,需要设计一些通用性好、__便宜的测量仪器,并对这类的测量仪器进行不断的更新和改进,以进一步高测量精度各种测量传感器的主要性能如表1所示本文采用差动式传感器设计的位移测量装置差动变压器式传感器的优点是测量精度高,可达
0.1μm;线性范围大,可到±100mm;稳定性好,使用方便因而被广泛应用于直线位移,或可能转换为位移变化的压力、重量等参数的测量本设计显示清晰明了,反应快,测试精度高,线性范围大,灵敏度高,性能稳定,结构简单且设计廉价原理量程mm精确度%线性度%优点缺点电阻式电位器1~
3000.1~
10.1~1简单,稳定分辨力不高,易磨损电阻应变计1~
500.1~
0.
50.1~
0.5精确度高线性好量程受限制电感式差动电感1~
2000.1~
10.1~1量程大线性好,分辨力高有残余电压,精确度受限制差动变压器1~
10000.1~
0.
50.1~
0.5线性好,分辨力高有残余电压,精确度受限制电感调频1~
1000.2~
1.
50.2~
1.5抗干扰,能接长导线线圈结构复杂电涡流1~1001~31~3结构简单,非接触式测量被测对象的材料不同,灵敏度改变电容式变__1~
1000.5~
1.
50.5~1线性范围大精确度高体积较大变间隙1um~
100.1-1~1可用于非接触式测量,分辨力高非线性较大振弦2~
60.2~
0.5抗干扰能接长导线,防潮量程小光栅30~1000精确度高结构较复杂磁栅1~20m量程大,精确度高需防尘,磁屏蔽光电1高精确的高可靠,非接触测量__不方便光纤
0.5~51~
20.5~1体积小,灵敏度高,抗干扰量程受限制,制造工艺要求高霍尔效应霍尔片
0.5~5简单体积小对温度敏感霍尔开关集成电路2m量程大,体积小对温度敏感表1位移传感器的主要性能表
1.4课题研究的指导思想与技术路线本课题提出采用差动变压器作为位移传感器,把磁棒的位移量转换为两路相位相差∏,变化方向相反的模拟电压UA和UB,经过放大和整流滤波后形成两路直流电压,并送入由单片机和AD转换器构成的数据采集和处理单元进行处理显示,另外本课题也实现了由键盘设定磁棒位移量,并能控制直流电机的运行使磁棒自动定位因此系统框架由以下几部分组成正弦__激励电路、__调理电路、AD转换、电机驱动电路和单片机控制单元指导思想如图所示图1位移测量系统框图
1.5位移测量装置的技术要求本课题的主要技术要求如下
(1)制作100kHz的正弦__激励电路
(2)设计、制作差动__测量电路,包括线性可变差动变压器,放大、整流、滤波等电路,数据处理和显示等单元
(3)用模拟或数字方法计算(Va和Vb分别为变压器次级线圈的两个输出端电压),根据d值计算、显示实际位移量
(4)测量的位移范围为-10~+10mm,测量误差的绝对值不大于2mm
(5)设计一个闭环控制电路,要求用直流电机(不允许使用步进电机)驱动磁棒__,控制磁棒达到设定位移,位移误差的绝对值不大于2mm2位移测量传感器原理介绍
2.1差动变压器结构和工作原理差动变压器是将被测__的变化转换成线圈互感系数变化的传感器,它的结构如同一个变压器,由初级线圈、次级线圈、铁芯等几部分组成,在初级线圈接入电源U1后,次级线圈即感应输出电压U2,滑动板__时引起铁芯的__,从而引起线圈互感系数的变化,此时的输出电压随之作相应的变化如图所示图2差动式传感器差动变压器位移传感器包括L1主线圈L2副线圈L3副线圈线圈骨架可以__磁心五个部分组成L3与L2长度和圈数相同,绕线方向相反,可__磁心长度小于线圈的总长度,__距离等于一组副线圈长度磁芯是导磁率很高的铁氧体材料,当线圈L1供上正弦交流电流,磁芯在线圈内__时L2和L3上的感应__产生变化,通过对感应__的检测计算出磁芯的__距离图3差动传感器工作原理随着磁棒插入线圈的长度增大,线圈的电感L变得越来越大,其差值变大对于螺绕环,其电感量为L0=u0n2sl当插入磁棒后,电感量为所以,电感的变化量,即电感量的变化量与铁磁棒的位移量成正比故有解得,即位移与d值成正比然而实际上由于线圈和铁磁棒不是理想的均匀和对称,二者间的线性度不是特别好为减小误差,在软件中采取查表,然后在小区间内做线性拟合,以达到更高的精确度3方案选择
3.1从__检测过程可以分为直流求差法和交流求差法方案一直流求差法先对接收线圈L2和L3的__分别放大,变成直流电压后再求两者之差,利用电压差计算出位移的大小,这种方法需要两套测量电路,__中除与位移有关的部分外还包含有与位移无关的部分,这部分__影响了放大电路的利用效率方案二交流求差法将线圈L
2、L3直接串联,由于两者的绕制方向相反,得到的电压相位相反,串联就可以获得__的差值,对差值进行放大后再变成直流,直流__的大小正比于位移的大小,从电路上省去了一个检测电路,__中与位移无关的分量大大减小,可以提高电路放大倍数交流变直流的环节可以利用精密幅度检波或者采用相敏检波这两者方法可以消除检波二极管门槛的影响提高小__的测量精度方案1在放大器中有比较大的无用__(与位移无关的__分量),当放大倍数较大时会造成放大器饱和,也不能充分利用放大器和ADC的动态范围,方案2放大的__是与位移直接相关的__差值,可以充分利用放大器的动态范围,检测电路简单
3.2正弦__产生方案选择系统要求设计制作一个位移测量电路,主要分为激励电路和测量电路两个部分激励部分要求产生100kHz的正弦波,然后经差分放大输出进入可变差动电压器测量部分要求将变压器次级线圈输出的两路交流电压经整流滤波后得到直流电平,__变压器内的磁棒改变两路直流电平值,根据电平改变值通过处理后得到位移值方案一系统激励部分正弦波产生电路采用传统的直接频率合成器,经差分放大、差分变压、整流滤波后,根据两路电压改变得到位移值该方案产生正弦波具有低相位噪声等优点,但频率合成器结构复杂、体积庞大、成本高,不利于实际制作,故不采用此方案方案二正弦波产生采用直接数字式频率合成器(DDS),后级电路与方案一相同DDS方案电路简单,仅用一块芯片就可以实现,而且可以产生较宽频率范围的正弦波且失真度小但普通整流滤波电路较难达到理想的结果,这会导致后面电压采样出现较大误差,故不采用该方案方案三正弦波产生使用DDS方案,而整流滤波电路采用真有效值检测芯片真有效值检测可以将交流电压很好的转换成其有效值大小的直流电平,利于后级电压采样通过以上分析,决定使用方案三正弦波使用DDS芯片产生,经差分放大后输入可变差动变压器初级,次级生成两路交流电压,经过真有效值转换后得到直流电平,经AD转换后传入单片机,单片机通过计算查表线性拟合即可得到位移值另外单片机也可控制直流电机,使磁棒__到预置位置
3.3单片机的选择由于本系统占用的资源较多,需要使用较多的I/O端口,因此选用MSP430Fxxx系列中性价比较高的MSP430F149单片机,MSP430F149单片机自带60KBFlashROM拥有6个8位的I/O口,且拥有丰富的片内资源,满足本系统的设计需要MSP430F149单片机具有JTAG调试接口,可以在IAR集成编译环境在线仿真调试程序,非常方便,且不需要额外的仿真工具MSP430F149运算速度很快,在外部8M晶振驱动下,执行一条指令的时间为
0.125Us
3.4总体设计框图图4总体设置框图4系统硬件设计
4.1器件芯片介绍
4.
1.1MSP430F149单片机介绍MSP430F149单片机是德州仪器公司新__的一种具有16位总线的带FLASH的单片机,其性价比和集成度很高它采用16位总线,外设和内存统一编制,寻址范围可达64K,还可以外扩展存储器具有统一的中断管理,具有丰富的片上__模块资源片内有精密硬件乘法器、两个16位定时器、一个14路的12位的模数转换器、一个看门狗、6路P口、两路USART通信端口、一路SPI通信端口、一个比较器、一个DCO内部振荡器和两个外部时钟,支持8M的时钟,有PWM工作模式由于为FLASH型,则可以在线对单片机进行调试和下载,且JTAG口直接和FETFLASHEMULATIONTOOL相连,不需另外的仿真工具,方便实用,且具有超低功耗MSP430F149单片机各管脚介绍图5MSP430149单片机特点•低电源电压范围
1.83—
3.6V.•超低功耗-活动模式1MHz
2.2V时为225uA-待机模式
0.1uA-掉电模式(RAM数据保持)
0.1uA•五种省电模式•从等待方式唤醒时间不超过6us.•频率锁相环,FLL+.•16位RISC结构,150ns指令周期•集成96段LCD驱动器•串行在线可编程,无需提供外部编程电压•基本时钟模块配置高速晶体(最高8MHz);低速晶体(32768Hz);DOC.•配合外部器件可构成单斜边A/D转换器•12位200kbps的A/D转换器,自带采样保持•内部温度传感器•具有3个捕获/比较寄存器的16位定时器TimerATimer_B.两通道串行通信接口可用于异步(软件选择UART/SPI模式)•硬件乘法器•多达60KBFLASHROM和2KBRAM.•串行在系统编程•安全熔丝的程序代码保护MSP430I/O口介绍MSP430器件具有多达8个数字I/O端口来实施它的功能,P1至P7每个端口有8个I/O引脚每个I/O引脚是__配置输入或输出的方向,每个I/O线可单独读取或写入端口P1和P2的中断功能每个中断的P1和P2的I/O可以单独启用和配置提供一个中断的上升沿或下降沿的输入__所有I/O的单一线路可以单独启用和配置提供一个中断的中断向量,而所有P2的I/O则不同,它只有单一的中断向量数字I/O功能包括-__的可编程个人的I/O-任意组合的输入或输出-__配置P1和P2中断-__的输入和输出数据寄存器-__配置上拉或下拉电阻典型应用捕捉传感器的模拟__转换为数据加以处理后发送到主机其中芯片中的比较器和定时器是工业仪表、计数装置和手持式仪表等产品设计中的理想选择
4.
1.2AD9851AD9851的原理AD9851可以产生一个频谱纯净、频率和相位都可编程控制且稳定性的模拟正弦波,这个正弦波能够直接作为基准__源,或通过其内部高速比较器转换成标准方波输出,作为灵敏时钟发生器来使用AD9851的各引脚功能如下,引脚排列,如图所示图6AD9851AD9851在__源中的应用为了能够完成调频、调幅、调相的各种功能,要向AD9851输入频率/相位控制字,这是通过AD9851和微处理器相连接来实现可以和AD9851的数据线直接相连接的单片机类型很多,本文中选用的是MSP430由于AD9851是贴片式的体积非常小,引脚比较密,焊接时必须小心,还要防静电,焊接不好就很容易把芯片给烧毁还有在使用中数据线、电源等接反或接错都很容易损坏芯片所以在AD9851__采用了电源、输入、输出、数据线保护电路为了不受外界干扰,添加了不少滤波电路,显得整个电路__
4.
1.3DDS__产生的原理和性能特点DDS的基本原理是利用采样定理,通过查表法产生波形DDS的结构很多种,其基本的电路原理可用下图来表示图7DDS产生原理图相位累加器由N位加法器与N位累加寄存器级联构成每来一个时钟脉冲fs加法器将频率控制字K与累加寄存器输出的累加相位数据相加,把相加后的结果送给累加寄存器的数据输出端累加寄存器将加法器在上一个时钟脉冲作用后产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加由此可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成__的相位,相位累加器的益处频率就是DDS输出的__频率用相位累加器输出的数据作为波形存储器ROM的相位取样地址,这样就把存储在波形存储器内的波形抽样值(二进制编码)经过查表查出,完成相位道幅值转换波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所需要合成频率的模拟__低通滤波器用滤除不需要的取样分量,以便输出频谱纯净的正弦波__DDS在相对带宽、频率转换时间、高分辨力、想问连续性、正交输出及集成化等一系列性能指标方面远远超过了传统频率合成技术所能达到的水平,为系统提供了由于模拟__源的性能
(1)输出频率相对带宽较宽
(2)频率转换时间短
(3)频率分辨率极高
(4)相位变化连续
(5)输出波形的灵活性
(6)其他优点易于集成,低功耗,体积小、重量轻、可靠性高、易于控制
4.
1.4THS4503宽带,低失真全差动放大器THS4503是德州公司生产的高性能的全差分放大器具有卓越的线性度,支持14位的位操作封装采用8针的SOIC技术具有关断功能其体积小,性能好,散热能力强图8THS4503THS4503特点•全差分结构•带宽370MHz•压摆率:2800V/us•输出共模控制•宽电源电压范围5V-5V12V15V.THS4503的应用•高线性度模拟到数字转换器前置放大器•无线通信___链•单端至差分转换•差分线路驱动器•积极的差分__滤波
4.2系统硬件框图图9系统硬件图
4.3主要组成电路分析本系统设计目标主要包括六大部分激励电路、线性可变差动变压器电路、放大整流滤波电路、数据处理电路、位移显示电路及电源组成
4.
3.1线性可变差动变压器设计题目要求磁棒位移范围-20mm~20mm,差动变压器位移传感器的测量范围通常是磁棒长度的一半,为了得到较大的量程,就要增加铁芯的长度,但铁芯的长度越大,其被磁化的不均匀性就越大螺线管内磁场强度的不均匀性造成,测量精度越低为了使差动变压器位移传感器有较好的线性度,需满足磁棒长度LO≤1/2螺线管长度L1,所以磁棒长度取40mm,螺线管长度取80mm螺线管用漆包线附在牛皮纸上精密缠绕制成,螺线管缠绕完后用LCR数字电桥测试螺线管原线圈、副线圈电感值,反复缠绕、测量,使副线圈S1和副线圈S2的电感值相同,这样可以得到线性度最好的线圈,可以提高位移传感器的传感精度
4.
3.2激励电路分析激励电路使用单片机控制AD9851产生100KHz的正弦波与430单片机接口电路如图所示,8个输出口和三个控制口与单片机相连AD9851输出正弦波峰峰值为500mV左右用OPA228反相器产生一级放大,使输出峰峰值为1V左右,送入差分运放THS
4503.图10DDS与单片机接口电路
4.
3.3THS4503电路接口为了使差分运放稳定工作,将THS4503的放大倍数设置为1,并根据其典型应用电路配置反馈电阻THS4503与前级、后级接口电路如图所示图11THS4503与前级、后级接口电路
4.
3.4差动整流滤波电路为了增强对感性负载的驱动能力,从THS4503出来的两路差分__经过两片AD811进行放大,驱动差动变压器前级线圈从差动变压器次级出来的交流__同样经过AD811进行一次放大,以达到足够大的幅值送给整流二极管进行整流,再经过两级电容滤波,得到平滑的直流电压由于经过整流器出来的两路电压__一路为负,一路为正,而A/D转换器只能采样正电压,于是在输出负电压之后采用由通用运放LF353构成的一级反相器进行反相,另一路加一级电压跟随器进行阻抗匹配同时为了消除数字电路对模拟电路的干扰,数字地和模拟地分开,之间用磁珠相连进行处理,达到了较好的抗干扰效果设计的电路如图所示图12差动整流滤波电路
4.
3.5电机驱动电路电机驱动采用PWM方式控制,MSP430F149通过内部定时器产生PWM__,通过光耦进行隔离,驱动TIP122大林顿管驱动电机运转,同时通过两路继电器控制电机的正反转,以达到精确的控制磁棒位移的目的图13电机驱动电路
4.4总电路图设计见附录1和附录25系统软件设计软件设计概述由MPS430单片机完成,任务包括六个部分组成,
1、DDS控制,
2、,数据采集3位移计算,4数据显示,5键盘查询,6位移电机控制其中DDS控制在系统初始化中完成,数据采集、位移计算、数据显示、电机控制安排在时间中断中进行,中断为1mS,数据刷新时间是每500mS进行1次数据采集由TI公司的串行12位ADC芯片7886完成位移的计算公式数据显示采用128×64点阵LCD组成,可以多的参数同时显示键盘查询设置在主程序中进行,查询间隔取决于程序循环周期,采取防抖动处理使键盘操作灵活可靠电机控制采用PWM控制转动速度,输出频率64Hz占空从2%到90%
5.1主程序流程图图14主程序流程图
5.2中断子程序流程图图15中断子程序流程图
5.3DDS控制软件设计AD9851内部有40位寄存器包括32个存储频率控制字的寄存器5个用于存储相位调制字一个存储6倍参考时钟倍乘器控制位一个存储使能控制位一个存储电源休眠功能控制字寄存器接收数据的方式有并行和串行两种方式并行装载是通过8位数据总线完成40位控制数据的输入W_CLK上升沿后完成全部40位控制字的输入此时控制FQ_UD为上升沿当上升沿到来之时40位数据会从输入寄存器写入频率和相位控制寄存器更新DDS的输出频率和相位同时把地址指针复位到第一个输入寄存器W0先将40位控制字写入单片机FLASH中再利用P
6.3P
6.4控制W_CLKFQ_UD利用并行方式通过P4口将40位控制字写入AD9851的频率相位寄存器中DDS__控制流程图图16DDS__控制流程图
5.4AD7886软件驱动设计系统上电复位后,主程序开始初始化各个模块,并显示界面;然后读取A/D采样值,计算VA、VB、d值,并根据d值计算实际位移;更新屏幕显示,判断按键;最后循环执行A/D转换器AD7886的驱动根据其数据手册提供的时序,进行软件模拟时序如图所示图17AD7886驱动时序图同时为了消除硬件电路干扰带来的误差,在软件设计上做了分段性拟合及近似的处理进行软件滤波,达到了很好的效果由于本系统的占用资源较多,程序流程复杂,且涉及到各模式间切换,所以在软件设计时必须遵循模块化设计思路,由小到大,编好各个模块程序,再组合成整个程序
5.5系统源程序系统程序见附录36制作位移测量装置的步骤本课题的制作是分这几个步骤完成的⑴、查阅大量的资料,完成开题报告在这个过程中我经常到图书馆查阅单片机以及位移测量的相关资料,同时我也经常上网搜索这方面的资料,知识总是在不断积累的过程中了解和掌握的因此,一段时间下来,我对位移测量装置的国内外研究状况、发展趋势、工作原理和制作方法都有了比较清晰的了解⑵、确定方案制作位移测量装置的方法有很多种,直线位移测量的有电阻式、电感式、电容式、振弦式、编码式、感应同步器式、光栅式、磁栅式、光电式、霍尔效应式、磁敏电阻式、喷射式、激光式、复合式以及光纤式等等由于本课题是要求用MSP系列单片机制作位移测量装置,因此选定用MSP430F419单片机来位移测量装置⑶、复习所要用到的硬件知识在确定了方案后,我认真的复习模电、数电,在这个方案中模电的知识主要体现在__输入的比较放大整形电路中管⑷、硬件设计硬件设计主要是指画硬件电路,在这里要用到一个画图软件Protel画硬件电路不仅可以体现一个人的基础知识掌握这样不仅看的时候好看,也以节约资源⑸、软件设计本课题的软件部分是用C语言设计而成的系统软件的设计采用了模块化的结构方式,将各个功能分成__模块由系统的监控程序统一管理执行编写完程序后,要编译,编译通过后生成HEX文件,然后将该文件烧到单片机里⑹、PCB板制作根据画好的原理图生成网络表,然后将网络表调入PCB中,进行PCB布局、布线、补泪滴和覆铜等操作,之后进行DRC设计规则检查,无误后将PCB文件交给制板厂家生产⑺、元件焊接PCB板制作完成后,只是一个等待焊接元件的空板子,下面要由自己来焊接元件⑻、硬件调试7总结本文对以MSP430F149单片机为核心的位移测量装置的整体结构、性能功用及各组成模块的设计方法都做了较为详细的研究利用该单片机设计位移测量仪并采用适当的算法取代传统电路不仅解决了传统位移测量仪结构复杂、稳定性差、精度不高的弊端而且性能也有较大提高可实现高精度、等精度的设计要求该位移测量仪的硬件电路简单容易制作在设计制作过程中较深入的了解了差动变压器位移检测的原理和特性,了解了TI公司新器件THS4053ADC7886等新器件的使用方法了解了MPS430系列单片机的特点和基本__过程通过本次设计,不但使我加深了对电子电路的认识和理解,更加清楚了设计电子电路的方法和步骤,为今后在电子设计方面打下了良好的基础同时,通过本次设计,也使我对各种电子元器件有了更进一步的认识和了解,特别是集成电路芯片,对其功能和用途,都有了很大的认识培养了我们__工作设计的能力,这将对我们今后的工作产生巨大的影响所以,毕业设计对我们来说意义是非常重大的由于本人水平有限,文中难免存在不足之处,敬请各位老师和同学批评指正____
[1]王福瑞等.《单片微机测控系统设计大全》[M].北京__抗天大学出版社1999
[2]康华光.《模拟电子技术基础第四版》[M].高等教育出版社2000
[3]康华光.《数字电子技术基础第四版》[M].高等教育出版社2000
[4]刘乐善等.《微型计算机接口技术及应用》[M].华中科技大学出版社2000
[5]孙传友孙晓斌.《感测技术》[M].电子工业出版社2005
[6]高晋占.《微弱__检测》[M].清华大学出版社2002
[7]徐爱均.《智能化测量控制仪表原理与设计》[M].北京____大学出版社2002
[8]孙传友等.《测控系统原理与设计》[M].北京____大学出版社2002
[9]何立民.《单片机应用技术选编》[M].北京____大学出版社2000
[10]刘豹.《现代控制理论》[M].机械工业出版社2004
[11]陈光东赵性初.《单片微型计算机原理与接口设计》[M].华中科技大学出版社1999
[12]龚运新.《单片机C语言__》[M].清华大学出版社2006
[13]陈光东赵性初.《单片微型计算机原理与接口技术》.[M]武汉华中科技大学出版社1999
[14]孙俊人等.《新编电子电路大全》.[M]北京中国计量出版社2000
[15]刘乐善等.《微型计算机接口技术及应用》[M].武汉华中科技大学出版社2000
[16]高玉良熊俊俏.《电子技术基础实验》[M].武汉武汉大学出版社2002
[17]孙传友等.《测控电路及装置》[M].北京北京____大学出版社2002
[18]李继灿.《微型计算机技术及应用》[M].北京清华大学出版社2003
[19]梁廷贵王裕琛.《现代集成电路实用手册》.[M]北京科学技术文献出版社2002
[20]刘修文.《实用电子电路设计制作300例》[M]. 北京中国电力出版社2005
[21]吴新立.《实用电子技术手册》.[M]北京机械工业出版社2002
[22]沈建华.《MSP430系列16位超低功耗单片机原理与应用》.[M]北京清华大学出版社2004致谢本文是在我的指导老师陈晓静讲师的悉心指导下完成的,从论文的选题到最后的定稿都凝聚着陈老师的心血四年来,学校各位老师高超的学术思想、渊博的学术知识、丰富的学术经验、严谨的治学态度、豁达的为人风格和不断开拓进取的科学研究风尚都直接、间接和潜移默化地影响着我,使我始终充满不断求知求新和拓展学术领域的热情在学业即将完成之际,谨向各位恩师表示我最衷心的感谢!除此以外,还要感谢各位同学的热情帮助和鼓励,四年的学习生活,我们结下了深厚的友谊当我在学习生活中遇到一些问题和烦恼时,是他们给予我及时的帮助和热心的鼓励,我会加倍珍惜同学之间的这种友谊我还要深深的感谢支持和鼓励我的家人,是他们默默的付出,使我能够无牵挂的学习,我只有更加努力的学习与工作,才能回报他们的关爱最后,谨向所有关心、帮助和支持过我的老师、同学和家人们表示衷心的感谢!附录1附录2附录33主要程序
(1)主程序#definePWMDIRP2DIR//输出端口#definePWMOUTP2OUT#definePWMBIT7;//输出位longcrystal=8000000;//振荡频率(主时钟)//-----------------------------------初始化-----------------------------------//voidInit_PWM__kerlongfrequencycharzkb{PWMDIR|=PWM;TACTL|=TASSEL1+TACLR;CCR0=crystal/frequency;//计算计数值CCR1=CCR0/100*zkb;//计算占空比CCTL0|=CCIE;//中断使能CCTL1|=CCIE;_EINT;TACTL|=MC_1;//增计数模式}//------------------------------------中断处理--------------------------------//#prag__vector=TIMERA0_VECTOR__interruptvoidCCR0intvoid{PWMOUT|=PWM;}#prag__vector=TIMERA1_VECTOR__interruptvoidCCR1intvoid{ifTAIV0x02//判断是否为CCR1的中断{PWMOUT=~PWM;}}//读标志位模式/*{ifCCTL1CCIFG{num=~num;P1OUT=num;CCTL1=~CCIFG;}ifTACTLTAIFG{num=~num;P1OUT=num;TACTL=~TAIFG;}}*/
(2)AD9851控制程序#includeAD
9851.h//------------------------------子程序------------------------------------------//------------------------------------------------------------------------------//初始化函数//------------------------------------------------------------------------------voidInit_AD9851{//P
3.4/.5/.6为DDS端口DATA_DDR|=DATA;//设置数据输出口为输出方向CTRL_DIR|=FQ_UD+W_CLK+RESET;//P3口的控制位为输出方向}//------------------------------------------------------------------------------//计算控制字//入口:频率数组指针出口:控制字//------------------------------------------------------------------------------unsignedlongControl_word_Calculationunsignedchar*fno{unsignedlongdds;dds=*fno+7*FF7+*fno+6*FF6+*fno+5*FF5+*fno+4*FF4+*fno+3*FF3+*fno+2*FF2+*fno+1*FF1+*fno*FF0;returndds;}//------------------------------------------------------------------------------//拆分函数//------------------------------------------------------------------------------voidAD9851_word_breakvoid{DDS_Word_8
[1]=AD9851_word_32240x000000FF;//最前8位控制字DDS_Word_8
[2]=AD9851_word_32160x000000FF;DDS_Word_8
[3]=AD9851_word_3280x000000FF;DDS_Word_8
[4]=AD9851_word_320x000000FF;//最后8位控制字}//------------------------------------------------------------------------------//延时函数//------------------------------------------------------------------------------voiddelay_9851void{inti;fori=0;i200;i++;}//------------------------------------------------------------------------------//AD9851控制函数//------------------------------------------------------------------------------voidWrite_AD9851unsignedchardata
[5]//连续发送5字节数据到AD9851{unsignedchari;CTRL_OUT=~W_CLK;//W_CLK=0CTRL_OUT=~FQ_UD;//FQ_UD=0fori=0;i5;i++{DATA_PORT=data[i];//上升沿写入数据CTRL_OUT=~W_CLK;//W_CLK=0CTRL_OUT|=W_CLK;//W_CLK=1}CTRL_OUT=~FQ_UD;//FQ_UD=0执行转换CTRL_OUT|=FQ_UD;//FQ_UD=1}//------------------------------------------------------------------------------//初始化复位函数//------------------------------------------------------------------------------voidRSET_AD9851void{CTRL_OUT=~RESET;//RESET=0CTRL_OUT|=RESET;//RESET=1delay_9851;delay_9851;delay_9851;delay_9851;CTRL_OUT=~RESET;//RESET=0delay_9851;delay_9851;delay_9851;delay_9851;Write_AD9851DDS_Word_0;//清空寄存器Write_AD9851DDS_Word_0;//清空寄存器}
(3)AD7886控制程序#defineAD7886OUTP3OUT#defineAD7886DIRP3DIR#defineAD7886SELP3SEL#defineAD7886INP3IN#defineCLK0BIT0#defineDAT0BIT1#defineCSS0BIT2#defineCLK1BIT3#defineDAT1BIT4#defineCSS1BIT5intdataAdataBdAadBadA
[20]dB
[20];//AD7886接收的数据longsubAsubB;floatVAVBd;chardisA
[5]di__
[5]disd
[5]di__
[4];chardirection=0move;#defineNum_of_Results4staticunsignedintA0results[Num_of_Results];//TheseneedtobeglobalinstaticunsignedintA1results[Num_of_Results];//thisexample.Otherwisethe//--------------------------------双AD7886采样--------------------------------//voidAD7886_Rcharj{chari;AD7886OUT|=CLK0+CSS0+CLK1+CSS1;//CLK=1CSS=1AD7886DIR|=CLK0+CSS0+CLK1+CSS1;//输出AD7886DIR=~DAT0+DAT1;//输入AD7886SEL=0;AD7886OUT=~CSS0+CSS1;//CSS=0dataB=0;dataA=0;fori=0;i15;i++{dataB=dataB1;//左移dataA=dataA1;AD7886OUT=~CLK0+CLK1;//CLK=0ifAD7886INDAT0dataA|=BIT0;//末位置1elsedataA=~BIT0;//末位置0ifAD7886INDAT1dataB|=BIT0;//末位置1elsedataB=~BIT0;//末位置0AD7886OUT|=CLK0+CLK1;}AD7886OUT|=CSS0+CSS1;dA[j]=dataA;dB[j]=dataB;}//------------------------------数据处理及显示--------------------------------//voiddispose_display{//数据处理VA=dAa*
3.310/4096;disA
[4]=charVA;disA
[3]=17;disA
[2]=charVA-disA
[4]*10;disA
[1]=charVA*10-disA
[4]*10-disA
[2]*10;disA
[0]=charVA*100-disA
[4]*100-disA
[2]*10-disA
[1]*10;VB=dBa*
3.310/4096;di__
[4]=charVB;di__
[3]=17;di__
[2]=charVB-di__
[4]*10;di__
[1]=charVB*10-di__
[4]*10-di__
[2]*10;di__
[0]=charVB*100-di__
[4]*100-di__
[2]*10-di__
[1]*10;ifVA==0VB==0d=0;elsed=VA-VB/VA+VB;gotoxy32150;ifd0{direction=0;//正方向lcd_character+1;}else{d=0-d;direction=1;//反方向lcd_character-1;}disd
[4]=chard;disd
[3]=17;disd
[2]=chard-disd
[4]*10;disd
[1]=chard*100%10;disd
[0]=chard*1000%10;//第一段内ifd=-
0.280d=
0.280move=chard/
0.007;//0~4//第二段内ifd-
0.524d=-
0.280||d=
0.280d
0.524move=chard/
0.0065;//4~8//第三段内ifd-
0.690d=-
0.524||d=
0.524d
0.690move=chard/
0.0061;//8~11//第四段内ifd-
0.690d=-
0.850||d=
0.690d
0.850move=chard/
0.0061;//11~15//第五段内ifd-
0.960d=-
0.940||d=
0.940d
0.960move=chard/
0.006;//三位有效move值di__
[3]=move/100;di__
[2]=move-di__
[3]*100/10;di__
[1]=17;di__
[0]=move%10;//数据显示chari;fori=0;i5;i++{gotoxy6+i150;lcd_character1tab_num[disA[4-i]];gotoxy18+i150;lcd_character1tab_num[di__[4-i]];gotoxy33+i150;lcd_character1tab_num[disd[4-i]];}ifdirection==0{gotoxy31180;lcd_character+1;}else{gotoxy31180;lcd_character-1;}gotoxy32180;lcd_character1tab_num[di__
[3]];gotoxy33180;lcd_character1tab_num[di__
[2]];gotoxy34180;lcd_character1tab_num[di__
[1]];gotoxy35180;lcd_character1tab_num[di__
[0]];}
(4)键盘扫描程序#defineKEY_DIRP4DIR#defineKEY_OUTP4OUT//列选#defineKEY_INP4IN//行选/**********************************************************************************************************************/intkey_scan;intkey_scanvoid{inti;charjtempbuf=0;intkey=10;S:KEY_DIR=0x70;//设置高三位为输出,低四位为输入KEY_OUT=0x00;ifKEY_IN0x0F==0x0F//判断低四位(列)是否为高gotoS;//无键按下else{fori=300;i0;i--;//延时去抖后再判断ifKEY_IN0x0F==0x0FgotoS;else//确认有键按下{temp=0x60;//行扫描控制forj=0;j3;j++{KEY_OUT=temp;buf=~KEY_IN0x0F;//滤掉高四位switchbuf{case8:key=4*j+3;break;case4:key=4*j+2;break;case2:key=4*j+1;break;case1:key=4*j+0;break;}temp=temp1|0x100x70;//左移一位,第四位置1第八位置0}do{KEY_OUT=0x00;}whileKEY_IN0x0F!=0x0F;ifkey9returnkey+1;elseifkey==9return0;elseifkey==10return11;elseifkey==11return12;elsegotoS;}}}
(5)PWM控制程序#definePWMDIRP2DIR//输出端口#definePWMOUTP2OUT#definePWMBIT7;//输出位longcrystal=8000000;//振荡频率(主时钟)//-----------------------------------初始化-----------------------------------//voidInit_PWM__kerlongfrequencycharzkb{PWMDIR|=PWM;TACTL|=TASSEL1+TACLR;CCR0=crystal/frequency;//计算计数值CCR1=CCR0/100*zkb;//计算占空比CCTL0|=CCIE;//中断使能CCTL1|=CCIE;_EINT;TACTL|=MC_1;//增计数模式}//------------------------------------中断处理--------------------------------//#prag__vector=TIMERA0_VECTOR__interruptvoidCCR0intvoid{PWMOUT|=PWM;}#prag__vector=TIMERA1_VECTOR__interruptvoidCCR1intvoid{ifTAIV0x02//判断是否为CCR1的中断{PWMOUT=~PWM;}}//读标志位模式/*{ifCCTL1CCIFG{num=~num;P1OUT=num;CCTL1=~CCIFG;}ifTACTLTAIFG{num=~num;P1OUT=num;TACTL=~TAIFG;}}*/L1L2L3__磁心线圈骨架激励__源数据显示电路数字__处理系统430单片机位移传感器__检测电路控制键盘位移控制接口物体__机构第3页(共40页)。