TMS320C2812电子磁罗盘补偿技术研究(13)
时间:2017-01-18 18:16 来源:毕业论文 作者:毕业论文 点击:次
图4.2 AD程序的流程图 4.2.4 航向角的求解 在编写DSP算法时,为了方便,一般都是采用高级语言(如C语言)。本设计的微处理器采用的是TMS320F2812ADSP芯片,采用C语言编写程序。 DSP芯片得到的AD转换输出值是一个12位的数据,需将其还原为实际值才能利用,公式(2-3)~(2-5)进行航向角的解算。以x轴为例,设AD采样后的12位数为VHEX,将其作为无符号数处理,输入AD的模拟量Vx应为: (4-1) 传感器输出信号的实际电压设为Hx,K1为放大倍数,参考电压为2.5V,则: (4-2) 同理可得另外两个轴的实际电压为Hy,Hz。 航向角求解子程序: 航向的求解关键在于将它们转化到平面坐标系的四个象限和x、y轴的正 负半轴上,以使航向角可以在360度的范围内连续变化。 #define PI 3.1415926 float GetHeading(float x,float y) { float HeadAngle;//定义航向角返回 if((Hexx>0)&&(Heyy)=0) HeadAngle=0.0;//x轴正半轴 if((Hexx=0)&&(Heyy)<0) HeadAngle=90.0://s轴负半轴 if((Hexx<0)&&(Heyy)=0) HeadAngle=150.0://x轴负半轴 if((Hexx=0)&&(Heyy)>0) HeadAngle=270.0://y轴正半轴 if((Hexx>0)&&(Heyy)<0) HeadAngle=-180*(atan(Heyy/Hexx))/PI;//第四象限 if(Hexx>0) HeadAngle=180-180*(atan(Heyy/Hexx))/PI://第二、三象限 if((Hexx>0)&&(Heyy)>0) HeadAngle=360-180*(atan(Heyy/Hexx))/PI;//第一象限 } 4.3 小结 本章首先介绍了软件开发平台CCS,阐述了软件开发的一般步骤。在对电子磁罗盘的程序组成有了整体了解之后,对整个系统的软件进行了模块化分析,确定各个模块的功能。在此基础上,设计了系统主程序和各子程序的工作流程,并在ICETEK-F2812-A评估板上予以实现。 5 电子磁罗盘系统调试 系统调试过程中,硬件调试和软件调试是相辅相成的,许多硬件错误是在软件调试过程中被发现和纠正的。硬件是软件功能实现的基础,如果硬件调试不通过,软件设计将无从谈起,因此当出现问题时,一般先检查是否是硬件电路故障,排除明显的硬件故障之后,在此基础上再和软件进行联合调试,直至系统正常运行。 5.1 硬件调试 硬件检查最基本的工作是检查电路板走线和元器件焊接是否正确,包括错焊、少焊、多焊的检查。由于本系统体积小,相应元器件的封装均为表贴式,要求焊接时焊锡要尽量少但必须保证没有虚焊,同时引脚之间也不能有短路现象;必须保证电源供电的正、负极连接正确;用万用表测量电路板电阻值保证非零,以确保电路端对地不存在短路。 完成基本的电气焊接检查之后,需要对电路板加电,检查各单元电路是否按照设计要求正常工作。加电后,观察电路板有无异常现象,如冒烟、异等,若有,应立即断开电源并进行故障的检查与排除。没有明显的异常现象之后,要加电测量电路关键点的电压,如供电电压、仪器放大器参考电压等;一切正常之后,需要检查各单元电路是否正常工作,如仪器放大器倍数是否准确等。通过不断检查电气连接、调整参数设置或者更换元器件,直至使各单元电路工作正常,符合设计要求。 (责任编辑:qin) |