一、任务书中本阶段工作目标与任务要求
1.对ATmega16单片机的学习和使用;
2.学习并熟练在单片机上进行C语言程序的编写和调试;
3.完成对整个控制电路的设计与制作;
4.单片机和GPS模块、HMC5883L三轴地磁传感器以及ADXL345三轴加速度传感器的通信,并能将所需要的数据从中采集出来;
5.学习128*64显示屏的使用,并能将所需的数据进行显示;
6.寻找合适的算法,以解决外界各种干扰因素给电子罗盘和GPS带来的误差,尽可能提高设备的精度;
二、目前已完成任务情况
1.ATmega16,ICCAVR的学习和使用及相关单片机控制电路的设计
本设计采用ATmega16为控制核心,该芯片使用的开发环境为ICCAVR,图1为该软件的工作界面:
图1 ICCAVR开发环境工作环境
图2为当前设计的整体实验电路:
图2系统整体电路图
2.GPS,HMC5883L,ADXL345的使用并搭建实验电路,进行数据采集
图3为GPS模块和单片机的通信接口电路:
图3 GPS通信接口电路
图5为HMC5883L和ADXL345和单片机通信的接口电路:
图5电子罗盘接口电路
3.LCD屏128*64的使用并搭建实验电路进行显示实验
图6为12864显示屏的接口电路:
图6 12864接口电路
4.制作整体实验电路进行调试并根据结果对电路和程序进行整改
图7为制作的实际实验电路板:
图7实验电路板
三、存在的问题和拟解决方法
1.功耗问题,整个电路功耗较大:改良电路设计,寻找功耗更低的原件和显示屏,同时在程序上予以优化。
2.电子罗盘的精度问题:更加合理布局电路板,查阅资料,寻找更加合适的算法,从程序上对外界的干扰予以补偿以提高精度。