电子指南针设计报告Word文件下载.docx
- 文档编号:22853937
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:43
- 大小:1.14MB
电子指南针设计报告Word文件下载.docx
《电子指南针设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《电子指南针设计报告Word文件下载.docx(43页珍藏版)》请在冰豆网上搜索。
敏感元件A和B,共存于单硅芯片中,完全正交,且参数匹配。
HMC1052的尺寸小,低工作电压,而且消除了两个敏感元件引起的非正误差。
除了惠斯通电桥,HMC1052有两个位于芯片上的磁耦合带,偏置带和置位/复位带。
敏感元件A和B,都有这两个带。
置位/复位带,用于确保精度。
偏置带,用于校正传感器,或偏置任何不想要的磁场。
在标准的10针外形(MSOP)中,两个敏感元件可以独立上电,用于减少功耗。
然而,却不能使用偏置带。
若需要偏置带,可以用另一种封装的HMC1052。
图2.1HMC1052传感器引脚图
方案二:
采用Philips公司生产的KMZ52感应磁场传感器
KMZ52是Philips公司生产的一种磁阻传感器,是利用坡莫合金薄片的磁阻效应测量磁场的高灵敏度磁阻传感器。
该磁阻传感器内置两个正交磁敏电阻桥、完整的补偿线圈和设置/复位线圈。
补偿线圈的输出与当前测量结果形成闭环反馈,使传感器的灵敏度不受地域限制。
这种磁阻传感器主要应用于导航、通用地磁测量和交通检测。
该磁阻传感器在金属铝的表面沉积了一定厚度的高磁导率的坡莫合金,在翻转线圈和外界磁场两个力的作用下,电子改变运动方向,使得磁敏电阻的阻值发生变化。
同时KMZ52的斑马条电阻成45°
放置,这使得电子在正反向磁场力作用下有较好的对称性。
由于加入了翻转磁场,KMZ52的变化曲线与普通的磁敏电阻不同,更加线性化。
KMZ52磁阻传感器的核心部分是惠斯通电桥,是由4个磁敏感元件组成的磁阻桥臂。
磁敏感元件由长而薄的坡莫合金薄膜制成。
在外加磁场的作用下,磁阻的变化引起输出电压的变化。
图2.2KMZ52传感器引脚图
方案三:
使用霍尼韦尔HMC5883L各向异性磁阻传感电路
霍尼韦尔HMC5883L是一种表面贴装的高集成模块,并带有数字接口的弱磁传感器芯片,应用于低成本罗盘和磁场检测领域。
HMC5883L包括最先进的高分辨率HMC118X系列磁阻传感器,并附带霍尼韦尔专利的集成电路包括放大器、自动消磁驱动器、偏差校准、能使罗盘精度控制在1°
简易的I2C系列总线接口。
HMC5883L是采用无铅表面封装技术,带有16引脚,尺寸为3.0×
3.0×
0.9mm。
HMC5883L的所应用领域有手机、笔记本电脑、消费类电子、汽车导航系统和个人导航系统。
HMC5883L采用霍尼韦尔各向异性磁阻(AMR)技术,该技术领先于其他磁传感器技术。
这些各向异性传感器具有在轴向高灵敏度和线性高精度的特点.传感器具有的对正交轴的低灵敏度的固相结构能用于测量地球磁场的方向和大小,其测量范围从毫高斯到8高斯(gauss)。
霍尼韦尔的磁传感器在低磁场传感器行业中是灵敏度最高和可靠性最好的传感器。
图2.3HMC5883L传感器引脚图
通过对比各传感器特点我们了解到它们的优缺点,HMC5883L三轴磁阻传感器和ASIC都被封装在一起了,不需要外接ASIC,而12-bitADC与低干扰AMR传感器,能在±
8高斯的磁场中实现2毫高斯的分辨率,且内置驱动器,显得更为优越。
综上我们选择传感器方案三,使用霍尼韦尔HMC5883L各向异性磁阻传感电路。
2.2单片机方案选择
STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。
1.增强型8051CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051;
2.工作电压:
STC12C5A60S2系列工作电压:
5.5V-3.3V(5V单片机)STC12LE5A60S2系列工作电压:
3.6V-2.2V(3V单片机);
3.工作频率范围:
0-35MHz,相当于普通8051的0~420MHz;
4.用户应用程序空间8K/16K/20K/32K/40K/48K/52K/60K/62K字节;
5.片上集成1280字节RAM;
6.通用I/O口(36/40/44个),复位后为:
准双向口/弱上拉(普通8051传统I/O口),可设置成四种模式:
准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏,每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55Ma;
7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片;
8.有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM);
9.看门狗;
10.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地);
11.外部掉电检测电路:
在P4.6口有一个低压门槛比较器,5V单片机为1.32V,误差为+/-5%,3.3V单片机为1.30V,误差为+/-3%;
12.时钟源:
外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%以内)1用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟,常温下内部R/C振荡器频率为:
5.0V单片机为:
11MHz~15.5MHz,3.3V单片机为:
8MHz~12MHz,精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准;
13.共4个16位定时器两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器再加上2路PCA模块可再实现2个16位定时器;
14.2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟;
15.外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,PowerDown模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2),CCP1/P1.4(也可通过寄存器设置到P4.3);
16.PWM(2路)/PCA(可编程计数器阵列,2路):
——也可用来当2路D/A使用
——也可用来再实现2个定时器
——也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持);
17.A/D转换,10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)18.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口;
19.STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3);
20.工作温度范围:
-40-+85℃(工业级)/0-75℃(商业级)21.封装:
PDIP-40,LQFP-44,LQFP-48I/O口不够时,可用2到3根普通I/O口线外接74HC164/165/595(均可级联)来扩展I/O口,还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。
2.3总体方案设计思想及框图
下图是地球某一点的地球磁场向量He的三维图,其中x轴和y轴与地球表面平行,x为前进方向,y为水平面上垂直x的方向,He为地磁场强度,Hex、Hey分别为He在x、y方向的水平分量,α为前进方向与磁场北极的夹角,称做方位角;
λ为磁偏角,可以通过查表得知。
x轴与南极的实际夹角大小为(α+λ)。
从而只要得到方位角α的大小即可得知该水平面方位。
由图可知tanα=Hey/Hex,所以只要求出y、x轴上的磁场强度之比Hey/Hex,即可得到方位角α的正切值。
δ为磁倾角,He与水下面的夹角,可以用来校正水平面。
磁场传感器可以分别测量Hex、Hey、Hez,并将其大小转化为相应强弱的电信号。
但本系统并只做了X和Y方向的测量。
由于考虑到时间安排有限,Z方向暂时不做,但本系统设计只要平拿平放并不影响测量结果的准确性。
图2.4测量原理分析图
通过以上测量分析思路所得传感器信号,经过单片机数据预处理和算法补偿后在上传到LCD1602A液晶屏上显示。
结合以上各方案选择及设计思路可得出以下总体方案框图。
图2.5总体方案设计框图
3.硬件电路设计
对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源电路的稳定可靠是系统平稳运行的前提和基础。
电子设备除用电池供电外,还采用市电(交流电网)供电。
通过变压、整流、滤波和稳压后,得到稳定的直流电。
本次系统采用干电池供电,在此不在赘述此稳压电源电路原理。
3.1单片机最小系统
要使单片机工作起来,最基本的电路的构成由单片机、时钟电路、复位电路等组成。
单片机最小系统如下图3.1所示。
时钟电路:
本系统采用单片机内部方式产生时钟信号,用于外接一个12MHz石英晶体振荡器和2个30pF微调电容,构成稳定的的自激振荡器,其发出的脉冲直接送入内部的时钟电路。
复位电路:
确定单片机工作的起始状态,完成单片机的启动过程。
单片机系统的复位方式有上电自动复位和手动按键复位。
本设计采用手动按键复位,该复位方式同样具有上电自动复位功能。
电路如下图所示。
图3.1单片机最小系统
3.2串口电路
串口电路为单片提供与PC机连接端口,为单片机提供下载程序到单片机程序存储器中。
串口原理图如图3-2所示。
串口也称串行通信接口,RS-232是目前最常用的一种串行通讯接口,由于其形状和针脚数量的原因,其接头又被称为DB9接头。
RS-232针脚定义:
2RXD←ReceiveData接收数据、3TXD→TransmitData发送数据、5GND—SystemGround系统接地,一般就用到这几个引脚
MAX232芯片是专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。
MAX23内部结构基本可分三个部分:
第一部分是电荷泵电路:
由1、2、3、4、5、6脚和4只电容构成,功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道:
由7、8、9、10、11、12、13、14脚构成两个数据通道,
其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通
图3.2串口原理图
道,其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道,8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。
TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DP9插头;
DP9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出
第三部分是供电:
15脚DNG、16脚VCC(+5v)。
3.3HMC5883L传感器模块
1.工作原理
霍尼韦尔HMC5883L磁阻传感器电路是三轴传感器并应用特殊辅助电路来测量磁场。
通过施加供电电源,传感器可以将量测轴方向上的任何入射磁场转变成一种差分电压输出。
磁阻传感器是由一个镍铁(坡莫合金)薄膜放置在硅片上,并构成一个带式电阻元件。
在磁场存在的情况下,桥式电阻元件的变化将引起跨电桥输出电压的相应变化。
这些磁阻元件两两对齐,形成一个共同的感应轴(如引脚图上的箭头所示),随着磁场在感应方向上不断增强,电压也会正向增长。
因为输出只与沿轴方向上的磁阻元件成比例,其他磁阻电桥也放置在正交方向上,就能精密测量其他方向的磁场强度。
2.电源管理
该器件可有两种不同的供电模式。
第一个是内部运作的VDD供电电源,第二个是为IO接口供电的VDDIO电源,当然VDDIO的电压可以与VDD电源相近;
单电源模式,或在VDDIO电压低于VDD的情况下,HMC5883L都能正常运作并能与其他装置兼容。
图3.3HMC5883L内部示意图
3.I²
C接口
控制该装置可以通过I²
C总线来实现。
该装置将作为从机在一个主机(例如:
处理器)的控制下连接总线。
该装置必须符合I2C-BusSpecification(I2C-总线技术规格标准),作为一个I2C兼容装置,该装置包含一个7-bit串行地址,并支持I2C协议。
这一装置可以支持标准和快速模式,分别为100kHz和400kHz,但不支持高速模式(Hs)。
还需要外接电阻才能支持这些标准和快速模式。
要求主机的活动(寄存器的读取和写入)优先于内部活动,例如:
测量。
这一优先次序的安排是为了不让主机等待,同时I²
C总线占用的时间比必需的时间长。
4.置位/复位带驱动的H-桥式电路
ASIC包含大型开关FETs,可以传输大而短的脉冲到传感器的置位/复位带。
这一置位/复位带在很大程度上是一种电阻性负载。
并不需要外部去增加外部置位/复位回路。
每次测量时,ASIC会自动完成置位/复位。
首先一次置位脉冲产生后进行测量,然后,一次复位脉冲产生后进行测量,两次测量的差值的一半将会被放置在三轴上每根轴的数据输出寄存器上。
这样,在所有测量中传感器的内部偏差和温度漂移差值就可以被移除/抵消了。
5.寄存器访问
下面表格列出了寄存器及其访问。
所有地址为8bits。
表3.1寄存器列表
地址
名称
访问
00
配置寄存器A
读/写
01
配置寄存器B
02
模式寄存器
03
数据输出XMSB寄存器
读
04
数据输出XLSB寄存器
05
数据输出ZMSB寄存器
06
数据输出ZLSB寄存器
07
数据输出YMSB寄存器
08
数据输出YLSB寄存器
09
状态寄存器
10
识别寄存器A
11
识别寄存器B
12
识别寄存器C
这里介绍读取和写入此装置的过程。
该装置使用地址指针来显示该寄存器地点是被读取或写入。
这些指针位置从主机发出到从机并成功获得的7位地址加1位读/写标识符。
为了尽量减少主机和装置之间的通信,无主机干预下地址指针自动更新。
寄存器指示器被读取后将自动的在目前被成功读取的寄存器的地址上加1。
地址指针本身不能通过I2C总线被读取。
任何试图去读取不存在的地址返回为0s,任何去写不存在的地址或者是未定义的bit写入定义的地址都将会被该装置予以忽略。
为将地址指针移到随机存储器位置,首先发出一个“写”到寄存器地址,在指令后不带数据位。
例如,要让地址指针指向寄存器10,发出的指令为0x3C0x0A。
其与单片机的连线图如下图所示。
图3.3传感器模块连线图
3.4LCD1602液晶屏模块
1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5×
7或者5×
11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。
1602LCD是指显示的内容为16×
2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
其引脚图和引脚说明如下:
图3.4LCD1602引脚图
第1脚:
VSS为电源地。
第2脚:
VDD接5V电源正极。
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:
RW为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作。
第6脚:
E(或EN)端为使能(enable)端。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
空脚或背灯电源。
15脚背光正极,16脚背光负极。
LCD1602内置了DDRAM(显示数据存储RAM)、CGROM(字符存储ROM)和CGRAM(用户自定义RAM)。
DDRAM就是显示数据RAM,用来寄存待显示的字符代码。
共80个字节,其地址和屏幕的对应关系如下表:
图3.5RAM地址映射图
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如附录C所示,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,也就是说想要在LCD1602屏幕的第一行第一列显示一个“A”字,就要向DDRAM的00H地址写入“A”的代码就行了,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
其基本操作时序:
读状态输入:
RS=L,RW=H,E=H输出:
DB0~DB7=状态字
写指令输入:
RS=L,RW=L,E=下降沿脉冲,DB0~DB7=指令码输出:
无
读数据输入:
RS=H,RW=H,E=H输出:
DB0~DB7=数据
写数据输入:
RS=H,RW=L,E=下降沿脉冲,DB0~DB7=数据输出:
图3.6读操作时序
图3.7写操作时序
数据指针设置:
表3.2数据指针设置表
指令码
功能
80H+地址码(0-27H,40H-67H)
设置数据地址指针
在1602中我们就用前16个就行了,第二行也一样用前16个地址。
我们往DDRAM里的00H地址处送一个数据,譬如0x31(数字1的代码)并不能显示1出来。
这是令初学者很容易出错的地方,原因就是如果你要想在DDRAM的00H地址处显示数据,则必须将00H加上80H,即0x80+0x00,若要在DDRAM的01H处显示数据,则必须将01H加上80H即0x80+0x01,依次类推。
在此,LCD1602用法及注意事项就简单的介绍到这里,1062从CGROM表上可以看到,表里面实际还有8个字节可用。
如果我们要想显示这8个用户自定义的字符,操作方法和显示CGROM的一样,先设置DDRAM位置,再向DDRAM写入字符码,显示是直接取CGRAM的数据。
这里没用用到在此不在赘述起原理方法。
下面是1602与单片机的连线图。
图3-8LCD1602模块连线图
4.软件设计
4.1HMC5883L与单片机通信软件设计
HMC5883L是一款集成IIC总线借口的数字传感器,而STC12单片机没有IIC接口,所以采用在单片机上模拟IIC通讯时序与HMC5883L进行通信,而HMC5883L可以采用单字节读取和多字节读取方式,在本设计中采用的是多字节读取方式,一次将XYZ的值读到单片机内,具体通信软件设计思路如下:
图4.1HMC5883L模块与单片机通信软件流程图
4.2LCD1602人机界面软件设计
本设计采用LCD1602作为显示设备,显示的信息包括当前方位信息与与地理南极的夹角信息(角度制)。
我们从HMC5883L得出地磁方向在X与Y轴上的磁场强度分量,采用atan2()这个函数得出其与地理北极之间的夹角(弧度),再通过弧度到角度的转换,得到角度值,最后加上180°
,使其变为与南极之间的夹角,而且所有值变为正数,方便处理。
得到度数后,根据我们预先设定好的角度范围,判断当前所在哪个方位,并在LCD1602上显示,然后将其乘以10倍,变为整数,通过转换,在LCD1602上显示与南极夹角的值,具体设计思路如下:
图4.2LCD1602人机界面软件流程图
4.3系统总统软件设计
本设计的软件设计总体思路是将HMC5883L得到的信息送至单片机内进行处理,再转换为液晶显示数据在LCD1602上进行显示,得到当前的方位信息与角度信息,由于硬件模块较少,所以很大部分工作放在了软件上,STC12单片机是一款1T单片机,晶振为22.1184MHZ,处理速度较快,在延时上不好把握,用定时器又太浪费资源,而本设计在一些模块时序上对延时有一定要求,所以本设计借用了别人验证好的一套运用在STC12单片机上的延时函数集,确保系统的正常运行。
思路上采用每读完一次数据,就立即送至液晶显示的实时方式。
具体流程图如下:
图4.3系统总体软件流程图
5.系统调试
STC12LE系列低功耗单片机的正常电压为3.3V,但LCD1602液晶的对比度电压要高于5V才能看出显示效果,最初采用3.3V供给整个系统的时候,发现液晶上无显示,后来将系统电源调至5V,LCD1602就可以正常显示了,而经测试,STC12LE单片机是可以在5V条件下进行工作的。
在方向的确定上,我们结合手机上自带的电子罗盘对设计进行调试,校准HMC5883L模块的方向,最后用胶固定到PCB板上。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 指南针 设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)