当前位置:首页 > > 开发板
[导读] 近年,以某疆为代表的无人机的崛起,掀起了一股无人机的热潮,自己DIY一个小四轴无人机,更是作为电子工程师人人想做的香饽饽。

 近年,以某疆为代表的无人机的崛起,掀起了一股无人机的热潮,自己DIY一个小四轴无人机,更是作为电子工程师人人想做的香饽饽。2014年被一些人称为智能硬件元年,这一年,以手环手表为代表的各类智能硬件、物联网产品进入大众的视野,并迅速被推上了浪尖。但很快,人们普遍认识到,要真正迎来物联网时代,还需要2~3年甚至更长的时间来发展。

四轴飞行器,智能硬件等产品的核心之一就是本文的主角——传感器。就像像人体的感觉器官,传感器就是“物”的器官,帮助物体感受温度,湿度,压力,重力等等,跟人体器官一样,它的重要性自然不言而喻。有了传感器,陀螺仪加速度计等搭配电机控制和算法,就能做四轴飞行器,各类传感器搭配数据分析与显示等,能做智能硬件,传感器将是一切的基础。

本文带来的就是一款关于传感器的开发板: X-NUCLEO-IKS01A1 扩展板——ST官方推出的一款兼容Nucleo系列开发板的MEMS动作传感器和环境传感器开发板,如图。

 


 

 

一. 评

说到评,这真是个很考验实力的工作,笔者也许也写不出多好的评,那就先做简单的,从开发板介绍开始。

先来两张整体美照:


正面

与ST其他开发板如Nucleo系列的白色,Discovery系列的绿色不同,该扩展板为蓝色,从图上看到,正面主要是一些元器件和各种连接口,排针跳帽等,各元件排列整齐有序,板子做工精细,最外面的排针和部分用于选择功能的电阻没有焊接;背面则非常简单,没有任何元件,仅有开发板的标签,和清晰可见的一些PCB走线。


反面

这块扩展板没有搭配底板,采用Arduino兼容接口,与同样使用Arduino接口的Nucleo系列开发板兼容,大小也和Nucleo开发板差不多,接口引脚完美兼容,用户可以自行搭配任意需要的地板进行自己的学习和开发。


STM32 Nucleo开发板与X-NUCLEO-IKS01A1扩展板

看完了整体,再来看部分,仔细研究要就这块扩展板上到底有些什么东西,如图:


核心部件一共有6个,

1. LIS3MDL,超低功耗高性能三轴磁场传感器,适用电压范围大,I2C/SPI可选数据接口,16位数据输出,可产生中断,有低功耗和关机模式以节省功耗。

2. LSM6DS0,三轴陀螺仪+三轴加速度计,SPI/I2C接口,嵌入温度传感器和FIFO

3. HTS221,温度湿度传感器,可测量0~100%相对湿度,灵敏度可达0.004%,湿度测量精度达+-3.5%,温度测量精度+-0.5℃,数据输出速率可选择,16位数据输出,SPI/I2C双接口。

4. LPS25HB,260 ~1260 hPa气压传感器,0.01 hPa RMS高分辨率,能承受20倍最大量程的压力,嵌入式温度补偿功能,输出速率1~ 25 Hz可选择,输出数据为24位压力数据,可产生数据就绪,FIFO标志位等中断。

5. DIL24接口,ST的一种扩展模块兼容接口,可以方便的连接ST的其他扩展模块,比如STEVAL-MKI159V1,这是ST九轴动作传感器LSM9DS1的扩展模块,使用同样的DIL24接口,可以非常方便的在这块扩展板上使用。

6. Arduino uno兼容接口,使得这块板方便用于所有STM32 Nucleo系列开发板以及Arduino板。

7. 其他,如电源跳帽,可用于电源通断,功耗测量等。

从上面的介绍可见,开发板上的资源非常全面,包括了5种最常见常用的传感器,同时设计了接口, Arduino接口和外面的扩展接口也能用于客户DIY连接更多的功能,开发使用方便,也能用于项目开发中的产品原型开发,不失为一块非常实用的,高性价比之良心产品。

由于只是扩展板,板上的资源就基本介绍完了,文笔有限,就姑且把这些叫做“评”吧。

 

二. 测

评测评测,有评也得有测,下面我们就来实际测试一下,看看到底效果怎么样,好不好用。

环境搭建

1 硬件

要实际测试,首先要搭建测试环境,上面说到了,这只是一块扩展板,只有它可是没办法测试的,我们得找一块底板。很幸运的,笔者手上刚好有一块STM32 Nucleo开发板,其实在前面的照片中已经亮相了,如此正好,测试所需的基本硬件环境有了。

另外还需要注意,虽然这个扩展板可以用在任何Nucleo开发板上,但是ST并没有给每块开发板都开发对应的例程(想想也不可能),ST官方给出的固件例程包中,目前支持的开发板有4种:

NUCLEO-F401RE NUCLEO-L053R8

NUCLEO-L152RE NUCLEO-L476RG

但是基于Nucleo开发板的通用性和较好的可移植性,用户可以方便的将基于这些型号开发板的例程移植到自己的开发板上。这里再一次非常幸运的,笔者手里这块Nucleo开发板型号是STM32L476RG,刚好,不用辛苦自己移植了。[!--empirenews.page--]


如上图,完美的将扩展板插到Nucleo地板上,再找一根MINI B接口的USB线,硬件环境就准备好了。

2 软件

硬件准备好了,再看软件。前面提到了,ST提供了官方固件包和例程:X-CUBE-MEMS1,可到官网下载(见附录),解压后可得以下文件:


-Documentation 文档,里面是对固件包函数的说明

-Drivers 驱动程序,包含了扩展板板卡驱动程序和所支持开发板芯片的HAL库

-Projcet 工程,里面有很多例子,每一个例子都根据不同开发板有四个不同的工程

-Utilities PC端使用的软件,是一个图形和数据显示的软件,后面会用到


软件方面,除了需要这个固件包,还需要安装一个IDE开发环境以及对应芯片的Pack,不过都是做电子的,这一步就默认已经有了,不介绍怎么安装了,直接选择一种工具测试,笔者这里选择ARM-MDK编译器。

例程测试

测试环境准备好了,开始测试,选择一个例程,考虑到演示的方便性和完整性,这里选择DataLog这个工程,打开\STM32CubeExpansion_MEMS1_V2.0.0\Projects\Multi\Examples\DataLog\MDK-ARM\STM32L476RG-Nucleo文件夹里面的MDK工程文件,编译之,正常的话没错误没警告


然后点击下载按钮下载到开发板上,当然编译的时候还生成了.bin文件,可以使用st-link utility等其他工具下载,下载完成按下复位键,程序就开始运行了,可以看到开发板上的绿灯闪烁,当然,不要把USB线拔掉,后面会用它传数据到电脑。

当然,只是一个灯,肯定是看不出来什么的,所以就要用到下面这个软件了,前面提到的,固件包里包含一个PC端软件,就可以用于这个实验,打开\STM32CubeExpansion_MEMS1_V2.0.0\Utilities\PC_software\Sensors_DataLog\Sensors_DataLog.exe文件,如图


1. Nucleo开发板有个虚拟串口功能,此实验使用虚拟串口传输数据到电脑,所以需要选择连接的串口号,一般默认就是,可在设备管理器查看。

2. 选择数据更新速度,可任意值,这里选择100ms一次,也就是10Hz。

3. 选择需要查看的数据,默认全选。

4. 点击start按钮,就可以在右边看到数据了。


上图左边小框中,会显示传感器的初始化状态,右边就是各项数据,具体如图所示,可以看到气压,温度,湿度,加速度,陀螺仪,磁场强度各项数据,下面大概解释一下这些数据:

Timestamp:时间

P:大气压,单位 mbar(从左边可以看到,下同),

1 bar = 1000 mbar = 100 kPa

1 标准大气压 = 101.325 kPa,

上图中气压约为 1040 mbar = 104 kPa,接近标准大气压

T:温度,单位摄氏度,显示温度约106度,此时手机实时显示温度为6度,室内温度略高一点,且芯片运行还会产生一定热量,笔者把开发板放到室外连续运行10分钟后,显示温度为6.5度,可见测量进度还是很高的。

H:相对湿度,是一个百分比,此时湿度约为64%,室内,手机显示为70%,室外阴天。

AccX, AccY ,AccZ:加速度的x,y,z,轴,单位 mg,1 mg = 10^-3 g(重力加速度),由于开发板是平放的,Z轴数据为1001,也就是说1.001 g,约等于重力加速度,x,y轴约等于零。

GyrX, GyrY , GyrZ:角速度的x,y,z,轴,单位 mdps,1 mdps = 10^-3 dps,即 度/秒。

MagX, MagY , MagZ:磁场x,y,z,轴,单位mgauss ,1 mgauss = 10^-3 gauss = 10^-7 T

清楚了上面这些,再看数据就能看懂了。为了更直观的显示,软件还做了图形显示窗口,点击上方的Plot复选框,可以打开图形显示窗口,可以看到各种数据以折线图的方式显示出来。


温度湿度气压前面已经分析过来,再来看看加速度。我们知道物体在静止的时候只受重力加速度的作用,所以加速度应该约等于 1 g = 1000mg,那么我们将不同的方向向下,该方向就会受重力加速度作用,输出的数据应该约为1000,下面图中显示的测试结果可以证实:

[!--empirenews.page--]

平放,Z轴向下,从图中能看到Z轴加速度约为1000mg


X轴向下


Y轴向下(这个方向因为有数据线没法放在桌子上,误差较大)

所以可以知道开发板的坐标系如图所示:


这是一个左手坐标系。

再看陀螺仪的数据,实际上我们只要稍微转动开发板,就能看到角速度值有比较大的变化,根据上面确定的坐标系,以及左手坐标系的特点和性质,从每个轴的正方向看,当开发板顺时针旋转时为角速度的正方向,如下图:



最后是磁场,在没有干扰的情况下,地球磁场始终由地磁北极(南方)指向地磁南极(北方)且大小恒定,所以我们之前转动开发板的时候,实际上每个方向的磁场也是在变化的:

 



需要注意的是,磁场极易受到周围环境的干扰,在磁性环境中,会严重降低传感器的精度,

所以在磁性环境中使用需要特别注意,比如周围有磁性物体,有电机,有大变化电流等,都会形成严重干扰。而且磁性物体不光指磁铁之类的磁体,也包括铁,镍等能被磁铁吸引的金属,都属于磁性物体,都是强干扰。

很常见的1元硬币,其中含有镍合金,不是磁铁,但能被磁铁吸引,属磁性物体,用它做实验如图:


当硬币靠近传感器,磁场数据有了较大变化,形成干扰。

笔者手边没有磁铁,不能做实验,但是有已经磁化的螺丝刀,能吸引起螺丝,相当于一块比较弱的磁铁,实验效果如图:


结果是,图形显示界面直接爆表了,超出显示范围,已经不知道比地磁大了多少个数量级,形成非常严重的干扰,传感器的数据以及失效了。

所以由以上实验可以判断,使用磁力计的时候需要非常小心,而环境中的干扰不可避免,不同地方的地磁也会有所不同,所以最好是使用软件校准算法,排除环境干扰,来提高传感器的精度。

 

三、结语

本文第一部分显示介绍了X-NUCLEO-IKS01A1传感器扩展板的硬件基本情况,包括板传感器的基本资料,性能等。第二部分以实验为基础,介绍了测试环境的搭建已经以DataLog工程为例,掩饰了传感器的一些实际测量情况,通过这两个部分,基本对这块扩展板有了基本的了解,而更多的功能,需要读者花更多的时间和精力去开发,去挖掘。

其实我们身边处处都是传感器,心中那个小小的四轴梦,四轴飞行器使用了6轴或9轴加速度,陀螺仪,磁场传感器,手环里计步使用了加速度传感器,无所不在的智能手机绝对少不了加速度计,陀螺仪,甚至某苹果最新推出的高科技3-D touch功能也是基于传感器技术实现的。传感器已经无所不在,作为电子工程师,它绝对是必须掌握的技能之一,而本文介绍的开发板,绝对是学习传感器的最好选择之一。

 

资料下载:

STM32单片机中文官网

STM32单片机官方开发工具

STM32单片机参考设计

X-NUCLEO-IKS01A1

http://www.st.com/web/catalog/tools/FM146/CL2167/SC2006/LN1989/PF261191?s_searchtype=partnumber

X-CUBE-MEMS1:

http://www.st.com/web/en/catalog/tools/PF261412

LIS3MDL:http://www.st.com/web/catalog/sense_power/FM89/SC1449/PF255198?s_searchtype=partnumber

LSM6DS0:

http://www.st.com/web/catalog/sense_power/FM89/SC1448/PF259913?s_searchtype=partnumber

HTS221:

http://www.st.com/web/catalog/sense_power/FM89/SC1718/PF260067?s_searchtype=partnumber

LPS25HB:

http://www.st.com/web/catalog/sense_power/FM89/SC1316/PF261381?s_searchtype=partnumber

——————本文系21ic原创,未经许可严禁转载——————

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭