1、简易水下无线通信系统(B题)摘 要设计为一简易水下无线通信系统,由陆基单元以无线方式向水下潜艇单元发送控制信号,水下潜艇模型以红外线向陆上电机单元发送执行指令从而控制潜艇的上浮与下潜。系统以MSP430单片机为核心,分别实现信号的调制、解调和电机的自动控制。陆基无线发射模块采用AD9851和单片机结合实现频移键控;水下接收模块采用MC145162解调。电机单元利用光槽对定位卷尺的钻孔进行监测和数据采集,由单片机实现对步进电机的转速调整,在要求的时间内达到规定的上升和下潜深度。同时,系统陆基部分可显示潜艇航模的运动方式、深度和速度,建立了良好的人机界面。Abstract1 方案设计系统为一简易水
2、下无线通信系统,由陆基单元以无线方式向水下潜艇单元发送控制信号,水下潜艇模型以红外线向陆上电机单元发送执行指令从而控制潜艇的上浮与下潜。系统整体模块示意图,如图1.1所示。图1.1 系统整体模块示意图1.1 理论分析1.1.1 陆基单元1、信号产生原理 系统陆基单元采用FSK调制,由DDS芯片产生FSK信号。DDS芯片主要由相位累加器、波形存储器、数字相乘器和D/A转换器组成。其基本工作原理是在采样时钟信号的控制下,通过由频率控制字控制的相位累加器输出相位码,将存储于只读存储器中的数据值按一定的规律读出,经D/A转换和低通滤波后输出正弦信号。本系统选用DDS芯片AD9851,其控制字计算公式如
3、下: 确定输出信号频率和晶振频率,可得出频率控制字的值。2、功放电路原理为了得到较大的发射功率,在设计时采用了两级放大方式其中第二级采用桥式功率放大原理,桥式放大电路由两个运放组合而成,其中一个为同相放大器,另一个为反相放大器,负载接在两运放输出端之间。输入信号同时接入两放大器,两放大器输出等值反相的电压,因而在负载上的电压为原来的2倍,相应的输出功率为单运放的4倍,从而有效的提高了发射功率。1.1.2 潜艇航模单元1、 解调电路原理分析系统采用鉴频解调原理,基本的鉴频解调电路的组成框图如图1.2所示:图1.2 基本锁相解调组成框图当输入为调频波时,低通滤波器的输出端就可以解调出所调制的基带信
4、号,Vo(t)就是所需的不失真解调信号。本设计中采用MC145162进行解调,该芯片集成了参考分频器、鉴频器、可编程分频器等,简化了电路设计。由于陆基单元发射的是2FSK信号,两个载波频点分别为490KHz(对应于高电平“1”)和507KHz(对应于低电平“0”),并且通过高、低电平不同的脉宽组合表示“上升”或“下潜”的控制状态,这样如果选择合适的输入参考频率,那么原理上鉴相器输出电压的电平高低变化就可以反映出调制信号。我们选择参考频率498KHz,将接收天线接收到的2FSK已调信号放大处理后送入鉴相器的一个输入端,当2FSK中载波频点为490KHz时,鉴相器将输出高电平;同理,当载波频点为5
5、07KHz时,将输出低电平,这与发射端的电平设置相吻合。再将鉴相输出信号送入MSP430F149单片机处理,根据波形的不同利用电平检测法可以精确判读出状态控制信号。2、红外收发原理由于红外接收头对脉冲频率为38KHz的红外光波最为敏感,所以系统采用555定时器产生频率为38KHz的脉冲信号和单片机输出的编码相与,得到红外发射需要的已调波信号,然后通过红外发射管向水上电机单元发射红外光波。1.1.3 电机单元电路1、 红外信号的接收和解码 电机单元采用红外一体接收头实现红外光波的接收和解调。解调后的信号直接送入单片机的串行数据口,在单片机内完成信号的解码工作进而控制步进电机的运转,实现对水下潜艇
6、模型运行状态的控制。2、 步进电机控制原理及相关计算步进电机是将电脉冲转化为角位移,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。通过控制脉冲个数即可以控制角位移量,从而达到准确定深的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。为了使潜艇运动平稳且距离精确,利用模糊控制算法设计了加速、匀速和减速程序,到达终点时,控制步进电机抱死。设步进电机的脉冲频率为f,步进电机控制的位移为L,电机转轮周长为x,位移L对应在电机转轮的圈数N,实际要求步进电机转动L的时间为t,转速,每秒转动的圈数为C。本系统使用的步进电机每个脉冲转0
7、.9度,每秒转动一圈的脉冲频率为400Hz,则有如下关系: 由以上关系得到与的对应关系:实际使用电机转轮周长为8.5cm,设定速度为5cm/s,则脉冲频率为282.35Hz。3、光槽原理与深度控制在一米长的皮尺上每隔1cm均匀打孔。皮尺的一端连在电机滚轮上,另一端连在潜艇上,在电机单元的正下方安装一光槽,让皮尺从中间通过,潜艇的位移可通过记录皮尺上的孔的个数测量出来。在设计电机模块的运动距离控制和速度控制方式时,采用速度和运动距离分别控制的思路。根据速度和步进电机脉冲频率的关系,先计算出不同速度对应的频率值预存在单片机里。电机单元运行时,根据收到的指令,读取相应的脉冲频率值,控制潜艇以设置的速
8、度运行。电机转轮上带动潜艇运动的皮带,光槽每检测到一个小孔会控制单片机对深度变量加1或减1,当深度变量与设定的深度值相等时,电机停转并卡死在当前位置,同时关闭光槽的检测功能。1.2 选用TI器件1.2.1 单片机本系统采用MSP430F149单片机,这是TI公司推出的一款16位超低功耗单片机,具有速度快、稳定性好、外围模块丰富的特点,非常适合本系统设计的要求。1.2.2 放大芯片在本系统中,第一级选用TI公司的放大芯片OPA300,第二级选用两片TI公司的放大芯片OPA561组成桥式功率放大器,实现发射功率的放大。OPA300是TI公司的一款高速低噪声、低功耗,具有150M的带宽增益而且是单电
9、源供电的运放,非常适合做小信号的放大和运用在电池供电的环境,所以在发射机末级放大和水下潜艇模型的高放部分都使用了它,通过结果表明其效果是非常好的。OPA561是TI公司的一款电流型运放,满功率状态下有1M的带宽增益,在使用过程中安装方便,调试难度小。在本系统发射机的末级功率放大使用了它,工作稳定效果良好。1.3 主要模块设计与论证1.3.1 陆基发射模块调制方式的选择在FSK、ASK、PSK中,ASK抗噪性能差,PSK设计复杂,FSK抗噪性能好且易于实现。由于题目不要求频带利用率,发送的数据信号比较简单,所以信号发送选用FSK方式。方案一:变容二极管直接调频。这种方式属于模拟调频,电路结构简单
10、,但频率稳定性不高。而且由于变容二极管压控特性的非线性,已调波的失真大。方案二:DDS调制。DDS输出的频率稳定度和精度都很高,且在单片机控制下频率转换速度快。基于此特点由DDS芯片产生载频,在单片机的控制下通过输入不同的频率控制字实现对DDS实时控制、转换频点,可实现精确的频移键控。结构框图如图1.3所示。图1.3陆基发射模块调制框图比较以上二种方案,方案二中的数字调制方式新颖有特点,频点稳定性好,波形失真小,因此本设计采用方案二。由单片机根据控制状态信号输出不同的频率控制字,实现对AD9851的频点控制以得到比较理想的2FSK调制信号。1.3.2 航模水下接收模块解调方式选择。 方案一:采
11、用相干解调电路。作为常用的2FSK解调方法,相干解调需要接收机提供同步载波,涉及到信号的相位信息,增加了接收难度,频点不易对准,同时电路设计相对复杂,不利于电路调试。 方案二:采用鉴频解调电路。鉴相器可实现无误差的频率跟踪,针对DDS产生的两个精确频点,实时将频点变化转变为电压信号,实现2FSK解调。考虑方案一的较多不确定性,我们选择了鉴频解调方案。1.3.3 电机的选择方案一: 采用直流电动机。直流电动机较容易控制和调速,但其运行精度较差,定位不准,而且当电流较小或无电流时,电机在挂有重物时可能会出现回转,难以实现精确的控制。方案二: 采用步进电机。步进电机是一种将电脉冲转化为角位移的执行机
12、构,通过接收到的脉冲信号驱动电机转轴以固定的角度一步一步向设定方向转动,步进角一般为0.36度1.8度,精度很高,而且可以实现转子锁定。 考虑题目中对精度的较高要求,采用方案二。2 系统实现2.1 硬件设计2.1.1 系统框图本系统由路基单元、潜艇单元和电机单元构成。各部分框图如下所示:图2.1 路基发射单元组成框图图2.2 潜艇航模单元组成框图图2.3 电机单元组成框图2.2 接口设计2.2.1 发射机DDS调制电路设计用MSP430单片机的P4端口并行输出控制字到AD9851。信号由21脚输出经低通滤波器得到比较纯净的调制信号。外围电路设计如图2.4所示。图2.4 DDS调制电路图2.2.
13、2 发射机功率放大电路设计功率放大的第二级采用两片 OPA561芯片,构成桥式放大电路,见图2.5。图2.5 OPA561桥式放大电路2.2.3 2FSK解调电路设计单片机通过SPI接口对MC145162进行设置,将参考频率设为498KHz,引脚10将鉴相解调输出信号送入下级模块处理,如图2.6所示。图2.6 MC145162解调电路2.2.4 电机控制电路设计 电机控制部分由单片机、光耦、L298、步进电机和光槽组成,光耦连接在单片机与L298之间起隔离作用,由光槽检测皮尺运动时间和距离,如图2.7所示图2.7 电机驱动电路2.3 软件设计2.3.1 程序流程图软件分为路基发射单元程序,潜艇
14、航模单元程序,电机单元程序三部分。各部分流程如下:图 11 陆基单元控制程序流程图 图12 潜艇接收转发处理流程图 图13 电机控制处理流程图2.3.2软件设计思想及技巧软件的设计思路是自上而下,逐步细化。根据需要产生和传递的信息确定程序的基本流程。首先,键盘输入要发送的命令,单片机控制1602液晶屏显示要发送的命令并编码发送,潜艇航模单元接收到编码信号后,由编码值判断是控制艇上相应的LED小灯亮,还是向电机单元转发数据,电机单元接收到数据后,按照控制字控制潜艇以相应的状态上升或下沉。在软件的具体设计与调试中,采用从模块到系统的渐进式过渡。首先进行模块分调,使用示波器,信号发生器等测试模块输出
15、是否满足设计要求,然后将各模块用电缆连接成系统,进行有线联调,测试通过后进行无线联调。调试过程要注意软硬件协调,例如,MSP430单片机接口电压3.3V,驱动能力差,采用光耦隔离和L298电机驱动芯片驱动步进电机,提高系统抗干扰性。2.3.3软件设置与低功耗实现程序运行时,首先要初始化,即软件设置。初始化对象一般包括时钟、端口、外围模块。时钟初始化主要进行晶振选择,主频选择,分频设置。端口初始化主要是选择端口的工作模式,设置端口初始值。外围模块初始化对外围模块控制寄存器写入参数,可以对模块时钟频率,工作方式和工作参数进行设置,然后将相应管脚设置为外围模式并开中断使能,外围模块即可按设定功能执行
16、输入输出。低功耗的实现分硬件和软件两方面:硬件上,MSP430F149单片机输出电压3.3V,输出电流为uA级,属于微功耗芯片。软件上,如果程序功能全部使用中断方式实现,则可设置单片机CPU进入休眠模式,只有当中断条件满足时,CPU才被唤醒执行有效操作。在休眠模式下,除外围模块外,CPU停止工作,高频晶振关闭,只有32.768KHz低频晶振工作或完全停振,从而实现低功耗。另外,通过单片机的电源管理功能,给暂不适用的外围电路断电,当需要使用时,再对其供电,也可以有效降耗。2.3.4编程感想 基于单片机的程序设计,不仅要充分考虑单片机外部电路的电气特性,更要熟悉单片机的内部功能和控制方式。实践的过
17、程就是熟悉的过程,只有通过不断调试,才能对如何正确使用单片机,创造性地利用的单片机的特定功能产生更深刻的认识。例如,软件实现低功耗要用到中断,在使用中断时,为避免中断冲突,往往不在中断函数中直接执行它要触发的功能,而采取在中断函数中对标识变量置位,转回主函数执行相应操作。这样可以保证对绝大多数中断的立即响应。在一个通信系统中,要保证各单元有效通信,必须尽量减小通信条件不理想所产生的影响,可以采用合适的编码解码方式以及编码发送方式在一定程度上改善通信质量。例如,在数据收发过程中,陆基单元在信息码前加入引导码,潜艇单元收到数据时首先判读引导码,不符合预定值则丢弃,这样可以有效防止由毛刺引起的误码或
18、误读。然而,在通信质量较差的情况下,引导码容易受干扰,从而导致潜艇单元对收到的数据大量丢弃,陆基单元发出的指令无法有效执行。为解决这个问题,陆基单元采取一次输入连发多次的发送方式,潜艇单元采取上升沿触发接收+导入码过滤毛刺+电平判断解码的流程,当电平为1时,判断接收到比特1,当电平为0,判断接收到比特0,在判读过程中,进行多次采样以确定电平值。实践证明,通过上述方式,使发送成功率和解码正确率大大提高。3 作品性能测试与分析3.1 测试仪器DS5102示波器、SG1040信号发生器、ATTEN频谱分析仪、秒表。3.2 测试方案(1)潜艇运动方向的测试。为了显示出潜艇运动的方向,采用了5个不同标号
19、的LED指示灯分别表示潜艇航模前进、倒车、停车、左、右转弯。陆基单元向潜艇发送指令,观察潜艇指示灯的标号与设定表示的方向是否一致。(2)潜艇上浮与下潜位移的测量。通过观察卷尺刻度来测量。(3) 潜艇上浮与下潜速度测量。用秒表测量潜艇上浮与下潜一定位移所用时间,间接测量潜艇上浮与下潜的速度。3.3 测试结果(1)设计如下表格:表一:陆基单元对潜艇航模运动方向的操控测试发送指令理论亮灯号实际亮灯标号第一次第二次第三次天线与水面的距离1米米1米米1米米前进1倒车2停车3左转弯4右转弯5(2)潜艇上浮与下潜位移的测量,设计下表,根据指定的理论位置,实测潜艇航模的最终停止位置。算出相对误差。表二:潜艇潜
20、浮位置性能测试运动方向理论位置(cm)实测一(cm)实测二(cm)实测三(cm)平均误差%下潜1010.21010.2929.2929.30.53上浮10109.810.2929.72929.5.4(3)潜艇上浮与下潜速度测量,设计表三如下所示,其中快速运动区间从水深5cm至水深24cm,慢速运动区间从水深5cm至水深29cm。表三:潜艇在指定位置区间运动耗时情况运动速度快 速慢 速运动方式下潜耗时(s)上升耗时(s)下潜耗时(s)上升耗时(s)实测一.实测二.实测三.(4) 要求设定潜艇的速度,我们通过单片机计算和确定卷尺运动距离、光槽检测脉冲个数、速度三者之间的关系,调节步进电机的转速,进
21、而实现了潜艇运动速度的控制设定。此外,本设计在此基础上还增加了运行状态、深度、速度的液晶显示功能。3.4 误差分析从测试结果可以看出,本系统基本完成题目中的各项基本要求和发挥部分要求,LED显示运行状态非常准确;由于皮尺在缠绕过程中会有偏移和弯曲,定位精度不是很理想,导致实测的位置有稍许误差;表三中航模在指定区间内运行耗时基本在要求时间以内。3.5 系统改进通过对系统的整体调试,发现存在一些不足和需改进的地方,具体如下:(1) 器件排布需合理性。电路实际焊接时,应该充分考虑各元器件在电路中排布的合理性,如器件安装时应尽可能紧凑,电路的数字部分与模拟部分应分开布局等,这样可以尽量减少电磁干扰。(2) 光槽计数定深法的改进。实际运行时,定深偶尔会出现1cm误差,经过分析发现,由于光槽检测到小孔,电机立即停止。当电机重新转动时,如果不经过一定延时而立即开启光槽检测功能,光槽可能会检测到当前正对着的小孔,导致深度变量在电机刚启动时就计数加1或减1,致使定深出现1cm误差。要纠正这个误差,可以在电机启动时,根据当前设置的速度,设定一段延时,再开启光槽,使光槽既不会检测到当前的小孔,又不会漏掉下一个小孔。 11