打印

【转帖】从零开始, 电子工程超入门丨地磁传感器篇

[复制链接]
992|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本文主要是介绍地磁传感器值的读取方法,及尝试与其他元件组合等使用方法的应用篇。
怎样读取地磁传感器的值和方向?
首先,确认地磁传感器的值如何变化,慢慢移动实际配置于Arduino的地磁传感器,并试着确认其值。上次使用的样本程序通过串行监视器确认时,因小数点变动而不便观察,所以改为了用整数型表示以用于确认。在动画中,预先通过使用了GPS或陀螺罗盘的方向检测精度较高的应用查找正确的北(正北)方,并记载于纸上。我们来看看在地磁传感器与该方向一致时,程序侧取得的XYZ轴的各值。
在各传感器的最大值的显示位置,一边对Arduino的串行监视器中显示的数字进行确认,一边寻找最大值。
图1 地磁传感器的状态
图2 地磁気センサのX軸の最大値
动画中X轴的值成为最大值的位置在此角度。奇怪,正如图1所示,由于传感器的值表示地磁强度,因此本来指向正北时的值就应该是最大值…?搞不明白了。 这是怎么回事呢?试着慢慢移动传感器后,发现Y轴也大致与X轴在相同方向上停止了。 正在进行实验的该房屋内或许存在着某种与地球不同的磁场…。
查找Z轴表示最大值的部位时,发现其如照片1所示了。几乎颠倒。
照片1 Z轴为最大值时的状态
变得有些令人害怕了,关于地磁传感器(看似)设法指示最大值的传感器的数值之谜,我决定通过学习地磁传感器的相关知识来解开这一谜团。
地磁传感器的二轴和三轴传感器的不同
首先,地磁传感器大致分为两类,即可使用二轴(XY)和三轴(XYZ)进行检测的两种类型。二轴型为XY轴,可简单地在水平状态下检测方向,但在倾斜状态等时不可正常检测方向。三轴型与XY轴相结合,增加了倾斜的Z轴,因此可根据Z轴的倾斜程度补正XY轴的值,从而检测出方向。
本次传感器评估套件中的传感器为三轴传感器,因此可处理比二轴传感器更详细的数据,嗯哼。
2.扰乱地磁传感器的结构~传感器的值的倾角和偏角是什么呢?
接下来我们深入研究一下传感器的最大值之谜。
首先,我们来看看究竟什么是地磁!?
的确,虽说我会使用地磁传感器,但完全不了解"地磁"本身是什么(羞愧…)。
是地球发出的磁力?或是磁场吗?我只有这样的模糊的概念…。
什么是地磁?
这里,我们将学习地磁本身及地磁传感器的结构。简单来说,地磁传感器是指可感应磁铁发出的磁力的传感器。如图4所示,地球好比一个巨大的磁铁,其周围环绕着磁力。地磁传感器如同指南针,是可以检测地磁的传感器。
图4 地球是一个巨大的磁铁
这里我们学习一点科学知识,实际上手持指南针指向北极点或南极点时,若保持方向不变,则无论何时都不可能到达北极点或南极点。这是地球结构暗藏的玄机。在国土地理院和气象厅的网站上刊登了浅显易懂的解说,地磁略偏离了地球中心。因受地球内部活动等的影响而发生了变化,根据2015年的数据,大约向西偏离了7度(后面详细解说)。真是不可思议呀。并且,以数万年~数十万年为单位,地磁可能发生反转。若是这样,即使使用地磁传感器制造出具有未来可永久保持耐久性的元器件,数万年后,也会因地球自身的轴偏离而必须进行补正
图5 地球的磁铁与北极点略有偏离
倾角和偏角的存在
实际上地球地磁的最大值和正北方的偏离角度被称为"倾角"和"偏角"。地磁的偏离量一般记载为7度,但实际上该偏离量因计测位置的不同而异。该偏离量被称为偏角。就日本国内而言,大致为越向北方偏离越大,越向南方偏离越小。另外,将东西南北视为左右(XY轴)时,上下水平(Z轴)也会偏离。其被称为倾角。倾角即为图4、图5所示的与地磁流所形成的角度,就东京而言,以陷入地面的形式倾斜了约49度。因此刚才Z轴近乎颠倒成为最大值正是与此相关的吧?
由此可见,表示正确方向时,由于该倾角和偏角密切相关,因此使用GPS在地球上哪个位置补正偏离是非常难把握的事情…。理清思路后,发现使用地磁传感器等时,若不能明确北是指正北还是磁北,则欲取得的数值就会出现错误。
正北・・・ 地球的最北方
磁北・・・ 电子磁铁或地磁传感器所示的北的位置(地磁最大的方向)
3.查找磁力传感器的最小值和最大值并检测方向
下面,我们实际使用磁力传感器,通过Arduino来实现方向的检测。
包括地磁传感器在内,电子零件传感器在通常状态下电阻值会发生变化,因此通过在Arduino侧计测基于该电阻变化的电压值,读出了传感器的值。我们试着来查找本次使用的地磁传感器的XYZ轴的最小值和最大值。查找的值有水平时和与水平无关时的两种。由于该数值因实验环境而异,因此实验时请将其与传感器实际相连。
本次将计算水平时的方向。下图9表示利用从串行监视器复制地磁传感器旋转一周后的值做成的XY轴的分布图。形成了一个漂亮的圆形。其为水平时,可通过使用反正切函数的公式计算角度。通过将以中点为轴、欲检测角度的点应用到公式中,计算角度。在程序侧,预先确认并设定中点和数值的范围后,需要将其写入Arduino。
图9 将地磁传感器的值绘制成图表
4.尝试与步进电机组合制作罗盘
本次,我们尝试组合地磁传感器与步进电机制作罗盘。将Arduino和地磁传感器放置于圆木板上,通过使用步进电机旋转底座,尝试按照总是指向北方的规格进行实际安装。使步进电机颠倒,将装载Arduino等的底座置于其上。
照片2 成为基座的步进电机
照片3 装在底座上的Arduino、地磁传感器等元件
照片4 装有所有元件及设备的状态,使用螺栓抬高地磁传感器
使用程序检测角度,达到磁北时停止。若步进电机太快则可能超过磁北,因此在rd变量的if条件句内留有一定的余量。
5.总结本次为了帮助您理解地磁传感器而介绍了一些理科、数学等相关知识!另外,虽然仅通过Arduino制作罗盘只能说是车轮的再造,但基于这一基本动作,尝试思考相关应用也是件乐事。


相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

926

主题

936

帖子

12

粉丝