查看: 218|回复: 0

[原创] 【ROHM传感器套件试用】七、霍尔传感器-BD7411试用

[复制链接]

10

主题

5

好友

1117

积分

进士

Rank: 5Rank: 5

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 252 天

    连续签到: 5 天

    [LV.8]以坛为家I

    发表于 2017-4-6 20:28:02 |显示全部楼层


    说明:测试程序使用的开发板为nucleo-f411re,程序下载链接:【ROHM传感器套件试用】二、stm32代码移植(所有模块通过测试)

    一、连接上电(模块、转接板、主控、usb),配置main.h宏,下载调试。
        此部分参考【ROHM传感器套件试用】三、加速度传感器-KX022试用 中的步骤(一、二、三)。(注意电压改为5V)

    二、串口打印信息如下
        1、无磁铁靠近时,串口无输出
       
        2、磁铁N或S极接近传感器,串口输出
             webwxgetmsgimg (2).jpg

             1.jpg
       

        3、示波器抓取磁极靠近时输出下降沿,15ns后电平稳定低电平
             webwxgetmsgimg (5).jpg


        4、示波器抓取磁极离开时输出上升沿,电平34ns达到3v,之后逐渐上升,约4us后稳定输出5V高电平
             webwxgetmsgimg (1).jpg


             webwxgetmsgimg (6).jpg


    三、修改程序为计数方式,以便计算电机转速。一个下降沿+一个上升沿为一次计数周期,下降沿时计数+1
        1、修改代码并下载程序,替换main.c中以下内容
            修改前:
    1. hallout = bd7411.readoutpin();
    2. if (hallout == 0) {
    3.   Serial.println("BD7411G Magnet field Detect!");
    4. }
    复制代码
    修改后:(prv_hall、hall_count为全局变量,需自己添加)
    1. hallout = bd7411.readoutpin();
    2. if(hallout != prv_hall)
    3. {
    4.   prv_hall = hallout;
    5.   if(prv_hall == 0)
    6.   {
    7.     hall_count++;
    8.     Serial.println("BD7411G Count Add!");
    9.   }
    10. }
    复制代码
    2、示波器及串口打印结果
             webwxgetmsgimg (4).jpg

           3.jpg

    小结:
        霍尔传感器是该套件中使用最简单的模块,只需要一个数字io口即可。N或S极靠近传感器是输出低电平,反之输出高电平。从测试结果发现,下降沿的响应要比上升沿快很多。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /4 下一条

    手机版|爱板网 |网站地图  

    GMT+8, 2017-7-24 04:45 , Processed in 0.111393 second(s), 11 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部