快捷搜索:  汽车  科技

图尔克turck传感器选型资料(罗姆传感器评估套件)

图尔克turck传感器选型资料(罗姆传感器评估套件)测试程序:测试硬件连接传感器芯片是下图中的U3,和加速度传感器类似,它也是一个有位置的传感器,正面标识了X、Y、Z轴的正方向。如果按图片上的位置放置,向上为X轴正方向,向左为Y轴正方向,垂直纸面(屏幕)朝向读者为Z轴正方向。这个传感器是I2C接口,工作电压为1.7-2.0V,这里用1.8V。

传感器介绍

地磁传感器也叫电子罗盘,套件里的地磁传感器型号为BM1422GMV,可以检测3个方向的磁场磁阻。

地磁传感器在智能手机上最大的用处是提供指南针,地图上的方向箭头就是由它的数据提供的。如果手机里没有地磁传感器,地图上只能显示一个点,而没有箭头。

其芯片内部框图如下,3个方向上的磁阻信息被分别采集,通过PGA放大,然后转换为数字信号。

图尔克turck传感器选型资料(罗姆传感器评估套件)(1)

硬件连接

传感器芯片是下图中的U3,和加速度传感器类似,它也是一个有位置的传感器,正面标识了X、Y、Z轴的正方向。如果按图片上的位置放置,向上为X轴正方向,向左为Y轴正方向,垂直纸面(屏幕)朝向读者为Z轴正方向。

图尔克turck传感器选型资料(罗姆传感器评估套件)(2)

这个传感器是I2C接口,工作电压为1.7-2.0V,这里用1.8V。

图尔克turck传感器选型资料(罗姆传感器评估套件)(3)

测试

测试程序:

  1. #include <Wire.h>

  2. #include <BM1422.h>

  3. BM1422 bm1422(BM1422_DEVICE_ADDRESS_0E);

  4. void bm1422_isr(void);

  5. void setup() {

  6. byte rc;

  7. Serial.begin(9600);

  8. while (!Serial);

  9. Wire.begin();

  10. rc = bm1422.init();

  11. if (rc != 0) {

  12. Serial.println(F("BM1422 initialization failed"));

  13. Serial.flush();

  14. }

  15. bm1422.isr_func(0 bm1422_isr);

  16. }

  17. void loop() {

  18. byte rc;

  19. float mag[3];

  20. rc = bm1422.get_val(mag);

  21. if (rc == 0) {

  22. Serial.print(F("BM1422 XDATA="));

  23. Serial.print(mag[0] 3);

  24. Serial.println("[uT]");

  25. Serial.print(F("BM1422 YDATA="));

  26. Serial.print(mag[1] 3);

  27. Serial.println("[uT]");

  28. Serial.print(F("BM1422 ZDATA="));

  29. Serial.print(mag[2] 3);

  30. Serial.println("[uT]");

  31. Serial.println();

  32. }

  33. delay(500);

  34. }

  35. void bm1422_isr(void)

  36. {

  37. bm1422.set_drdy_flg();

  38. }

复制代码

图尔克turck传感器选型资料(罗姆传感器评估套件)(4)

外部永磁体靠近,读数增大:

图尔克turck传感器选型资料(罗姆传感器评估套件)(5)

以上图文内容均是EEWORLD论坛网友:x1816原创,在此感谢。

欢迎微博@EEWORLD

如果你也写过此类原创干货请关注EEWORLD(电子工程世界)回复“投稿”,也可将你的原创发至:bbs_service@eeworld.com.cn,一经入选,我们将帮你登上头条!

与更多行业内网友进行交流请登陆EEWORLD论坛。

猜您喜欢: