ROHM传感器套件测评(一): 测试平台,霍尔传感器
这个评估套件一共包含8个传感器小板和1块搭配Arduino测试用的 SensorShield 母板。SensorShield上面并没有MCU等主控器件,也就是完全交由Arduino来处理传感器的输出信号,那么它的必要性在哪里?如果每个传感器小板都做成Arduino兼容的接口,直接插在Arduino上用不可以么?但是这样忽略了一个工作电压的问题:
如上表,这8个传感器的工作电压范围不尽相同,大部分都在3.6V以下,甚至2.0V以下。但是Arduino的I/O电压是5V的,不能直接连。所以SensorShield很重要的一个角色就是电平转换,把1.8V, 3.3V的VDDIO转换成5V的,再和Arduino连接。
板子上除了3.3V和1.8V的稳压芯片外,配置了两片Level shifter:一个是I2C专用的PCA9306, 一个是多路数字双向转换器 FXMA108. 传感器的工作电压可以用跳线选择 1.8V/3.3V/5V,连Arduino这一侧的数字I/O则统一为5V电平。传感器小板的连接使用普通的2.54圆孔排座,共设置2个模拟输出传感器座,5个I2C输出传感器座,和1个数字GPIO输出传感器座。也就是可以把8个小板一齐插上去,虽然并没有什么好处。
我并没有用过Arduino,也没有它的开发板。不过ST的Nucleo我有几块,插针是兼容Arduino的,所以我就用Nucleo来做测评了。Nucleo的I/O电平是3.3V而不是5V,这并不算电气兼容,不过STM32的大部分I/O都是能承受5V输入的,也不是问题。对照ROHM资料电路图,和ST Nucleo的手册,可以分析出连接关系:
D1 --- J1.0 (Arduino D0) --- PA3
D2 --- J1.1 (Arduino D1) --- PA2
J3选择 --- J1.2 (Arduino D2) --- PA10
J4选择 --- J1.3 (Arduino D3) --- PB3
SDA2 --- J2.9 (Arduino D15) --- PB9
SCL2 --- J2.10 (Arduino D14) --- PB8
ANA1 --- J13.6 (Arduino A0) --- PA0
ANA2 --- J13.5 (Arduino A1) --- PA1
ANA3 --- J13.4 (Arduino A2) --- PA4
ANA4 --- J13.3 (Arduino A3) --- PB0
如上,D1, D2, ANA1~ANA4这几个口都是独立使用的,从传感器插座口映射到Arduino上,而且4个模拟口是直接连接(用STM32要注意一下是否超过ADC量程)。I2C只有一组,是5个传感器座共用的。但是这些I2C传感器还附带了一个数字I/O用来产生中断,所以需要多留一些数字GPIO. SensorShield上面一共留了2个出来,通过跳线J3、J4来选择。但是J3、J4的选择项又把D1, D2给加进去了(重复?),还把可以不经 Level shifter 直接把传感器中断输出连到Arduino,意义也让人费解。
传感器全家福:
其实SensorShield上面的接口并没有用完,比如霍尔传感器只有一个GPIO输出,模拟输出的传感器每个也只有一路输出。
============== 霍尔传感器 BD7411G =================
霍尔传感器是利用霍尔效应(Hall Effect)来检测磁场的,本质上还是洛伦兹力起作用。霍尔传感器出现的历史已比较久了,我所知道的是用来检测电动机转速的应用很多,比如在无刷电机里面就能找到这种元件,成本也很便宜。因为没有机械的动作,所以作为磁敏元件霍尔传感器比干簧管的响应速度要快得多。用在简单的位置传感上比如门窗开关检测也是很容易想到用它来替代干簧管的。
ROHM套件里面的BD7411G可能是很老的型号了(我没有应用经验,仅仅从手册里面推测),在手册的表里面,列出了下面一些霍尔传感器的型号
BD7411G的工作电流比其它型号大了几百倍,唯一特点是可以在5V下工作(也只能在5V)。规格参数上看,不符合低功耗使用的需求了,不知道ROHM为什么在套件中选择了这一款。
因为输出是H/L两种电平,写个程序来测意义不大了。直接连LED,甚至不用SensorShield都可以测试。我不了解目前霍尔传感器的水平进步到什么程度,就不评价性能了。简单体会下,用了几个小磁铁试了试,靠近了检测还是很灵的。我手边有一把常用的世达的防磁镊子,镊子头部贴到BD7411G上面,也能让它输出翻转。
玩个带劲点的:估测电钻电机转速。这是我以前手工DIY PCB时候用来钻孔的小电钻,卸下钻夹,临时弄个办法把磁铁固定上去吧。
这个带两个磁铁的小零件是taobao买来的,平时我用来吸住钻头,防丢。
转起来了,看霍尔的输出是什么样子
手拿着高度不稳定,输出占空比和频率也都不稳定,大概有每分钟450转的样子(因为转一周两个磁铁各来一次)。