中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

產品分類

當前位置: 首頁 > 傳感測量產品 > 工業傳感器 > 霍爾傳感器

類型分類:
科普知識
數據分類:
霍爾傳感器

霍爾傳感器 stm32:stm32—霍爾傳感器的初步使用

發布日期:2022-10-09 點擊率:1250


<a title=霍爾傳感器 stm32:stm32—霍爾傳感器的初步使用 第1張" title="霍爾傳感器 stm32:stm32—霍爾傳感器的初步使用 第1張-傳感器知識網"/>

霍爾傳感器 stm32:stm32—霍爾傳感器的初步使用

目錄
一、簡介二、連接三、代碼

一、簡介

霍爾器件是一種磁傳感器。用它們可以檢測磁場及其變化,可在各種與磁場有關的場合中使用。在模塊測試的時候也很簡單,用手在附近其他引腳波動也會造成磁場變化,可以檢測得出,此外通過它,將許多非電、非磁的物理量例如力、力矩、壓力、應力、位置、位移、速度、加速度、角度、角速度、轉數、轉速以及工作狀態發生變化的時間等,也可以通過本傳感器轉變成電量來進行檢測和控制。

按照霍爾器件的功能可將它們分為:霍爾線性器件和霍爾開關器件。前者輸出模擬量,后者輸出數字量。本模塊是霍爾開關傳感器

二、連接

將VCC和GND連接在開發板對應的引腳上(此處選擇普中STM32F103開發板),
D0接在PD7上;因為本傳感器是和霍爾開關器件,所以雖然有D0口但是沒有什么用處,只是擺設。

三、代碼
在huoer.h 文件中,我們先進行宏定義,方便移植

定義完了之后,再對huoer.c文件中的PC4接收引腳進行初始化

#include “frame.h”

//對霍爾傳感器進行初始化

最后,在main.c函數里面進行情況選擇

霍爾傳感器 stm32:stm32—霍爾傳感器的初步使用  第2張

霍爾傳感器 stm32:【STM32】STM32之霍爾傳感器模塊

1、霍爾傳感器是什么?

答:霍爾傳感器是根據霍爾效應制作的一種磁場傳感器。

用磁鐵去靠近霍爾傳感器時,霍爾傳感器的引腳電平會產生變化。

2、霍爾傳感器主要用在什么地方?

答:霍爾傳感器可測速、計數、限位上。

舉例限位功能:兩個霍爾傳感器形成45°的夾角,電機邊緣粘著一個磁鐵,一旦電機轉動導致磁鐵觸發任意其中一個霍爾傳感器,則STM32檢測到觸發后立刻停止電機,不能再繼續往此方向轉動。以此達到限制電機轉動角度的作用。

3、本文使用的是什么霍爾傳感器模塊?

答:

香瓜買的霍爾傳感器模塊一共有四個引腳,GND、VCC、D0、A0。

其中只需要用到三根線,GND、VCC、D0。(A0不知做啥用的,計數?)

使用方法:

1)5V供電。

2)用跳線連接D0和STM32的IO口(本文連接的是PA11)。

3)D0默認是高電平,但磁鐵的特定一面(磁鐵另一面無用)去靠近霍爾傳感器模塊時,D0會被拉低。

4、霍爾傳感器與限位開關有什么區別?

答:

1)限位開關

①優點:無功耗。

②缺點:易損壞。

2)霍爾傳感器

①優點:不易損壞。

②缺點:有功耗。

六、實驗步驟

1、編寫并添加霍爾傳感器驅動

1)編寫驅動GUA_Hall_Sensor.c(存放在“……HARDWARE”)

霍爾傳感器 stm32:淺析STM32之霍爾傳感器模塊

  實驗前提

  1、在進行本文步驟前,請先閱讀以下博文:

  暫無

  2、在進行本文步驟前,請先實現以下博文:

  暫無

  五、基礎知識

  1、霍爾傳感器是什么?

  答:霍爾傳感器是根據霍爾效應制作的一種磁場傳感器。

  用磁鐵去靠近霍爾傳感器時,霍爾傳感器的引腳電平會產生變化。

  2、霍爾傳感器主要用在什么地方?

  答:霍爾傳感器可測速、計數、限位上。

  舉例限位功能:兩個霍爾傳感器形成45°的夾角,電機邊緣粘著一個磁鐵,一旦電機轉動導致磁鐵觸發任意其中一個霍爾傳感器,則STM32檢測到觸發后立刻停止電機,不能再繼續往此方向轉動。以此達到限制電機轉動角度的作用。

  3、本文使用的是什么霍爾傳感器模塊?

  答:

  香瓜買的霍爾傳感器模塊一共有四個引腳,GND、VCC、D0、A0。

  其中只需要用到三根線,GND、VCC、D0。(A0不知做啥用的,計數?)

  使用方法:

  1)5V供電。

  2)用跳線連接D0和STM32的IO口(本文連接的是PA11)。

  3)D0默認是高電平,但磁鐵的特定一面(磁鐵另一面無用)去靠近霍爾傳感器模塊時,D0會被拉低。

  4、霍爾傳感器與限位開關有什么區別?

  答:

  1)限位開關

  ①優點:無功耗。

  ②缺點:易損壞。

  2)霍爾傳感器

  ①優點:不易損壞。

  ②缺點:有功耗。

  六、實驗步驟

  1、編寫并添加霍爾傳感器驅動

  1)編寫驅動GUA_Hall_Sensor.c(存放在“……HARDWARE”)

  /

  //霍爾傳感器引腳

  #define GUA_HALL_SENSOR_PORT GPIOA

  #define GUA_HALL_SENSOR_PIN GPIO_Pin_11

  //消抖總次數

  #define GUA_HALL_SENSOR_DISAPPERAS_SHAKS_COUNT

  

  staTIc GUA_U32 sGUA_Hall_Sensor_DisapperasShakes_IdleCount=0; //消抖時的空閑狀態計數值

  staTIc GUA_U32 sGUA_Hall_Sensor_DisapperasShakes_TriggerCount=0; //消抖時的觸發狀態計數值

  

  staTIc void GUA_Hall_Sensor_IO_Init(void);

  /

  //類型宏

  #ifndef GUA_U8

  typedef unsigned char GUA_U8;

  #endif

  #ifndef GUA_8

  typedef signed char GUA_8;

  #endif

  #ifndef GUA_U16

  typedef unsigned short GUA_U16;

  #endif

  #ifndef GUA_16

  typedef signed short GUA_16;

  #endif

  #ifndef GUA_U32

  typedef unsigned long GUA_U32;

  #endif

  #ifndef GUA_32

  typedef signed long GUA_32;

  #endif

  #ifndef GUA_U64

  typedef unsigned long long GUA_U64;

  #endif

  #ifndef GUA_64

  typedef signed long long GUA_64;

  #endif

  //霍爾傳感器的觸發狀態

  #define GUA_HALL_SENSOR_STATUS_TRIGGER 0 //霍爾傳感器觸發

  #define GUA_HALL_SENSOR_STATUS_IDLE 1 //霍爾傳感器沒觸發

  #define GUA_HALL_SENSOR_STATUS_DISAPPERAS_SHAKS 2 //霍爾傳感器消抖中

  

  GUA_U8 GUA_Hall_Sensor_Check_Pin(void);

  void GUA_Hall_Sensor_Init(void);

  #endif

  3)工程中添加GUA_Hall_Sensor.c

  4)在MDK設置中添加串口驅動源文件路徑

  2、在應用層中調用

  1)添加驅動頭文件(main.c中)

  #include “GUA_Hall_Sensor.h”

  2)添加驅動初始化代碼(main.c的main函數中)

  //霍爾傳感器初始化

  GUA_Hall_Sensor_Init();

  3)添加測試代碼

  ①寫測試代碼(main.c中)

  static void GUA_Test(void)

  {

  U8 nGUA_Ret=0;

  U8 nGUA_Stop=0;

  while(1)

  {

  //檢測霍爾當前狀態

  nGUA_Ret=GUA_Hall_Sensor_Check_Pin();

  //檢測到霍爾被觸發

  if(nGUA_Ret==GUA_HALL_SENSOR_STATUS_TRIGGER)

  {

  nGUA_Stop=1;

  }

  }

  ②調用測試代碼(main.c的main函數中)

  //測試代碼

  GUA_Test();

  七、注意事項

  暫無。

  八、實驗結果

  仿真并設置斷點在測試代碼的“nGUA_Stop=1;”中,全速運行。

  用磁鐵去靠近模塊上的霍爾傳感器芯片,模塊上的led被點亮表示觸發,同時工程中消抖之后會停止在斷點處,表示檢測到PA11處的霍爾傳感器觸發導致的低電平。

霍爾傳感器 stm32:霍爾轉速傳感器基本介紹

這里我用通用定時器3的通道1來測量轉速
霍爾轉速傳感器基本介紹霍爾傳感器分類和原理關于為什么選用開關型常開PNP型霍爾傳感器
 STM32程序實現程序介紹程序源碼TIM3_CAP.HTIM3_CAP.H解讀TIM3_CAP.CTIM3_CAP.C解讀TIM3中斷函數解讀MAIN.CMAIN.C解讀
  結果工程文件

霍爾轉速傳感器基本介紹
霍爾傳感器分類和原理
我用的是開關型常開PNP型的霍爾傳感器

開關型的有2種分類,一種是常開,另外一種就是常閉了
關于什么常開常閉,請看下圖

常開通俗來講,就是霍爾傳感器沒有檢測到磁鐵的時候開關就是斷開的,常閉相反

霍爾傳感器具體分類

圖片來自淘寶鏈接

說明

DC-直流AC交流NO-常開NC-常閉
關于為什么選用開關型常開PNP型霍爾傳感器
單片機只能接收高低電平,0或者是1,
開關型常開的霍爾傳感器剛好符合單片機的這個特性
檢測到磁鐵的時候就輸出高電平或者低電平,
PNP型就是檢測到磁鐵的時候的輸出高電平,沒有檢測到的時候就是低電平
實驗中,給霍爾傳感器5V供電,檢測到磁鐵,霍爾傳感器就輸入5V,沒有檢測到就是0V了
實物圖

STM32程序實現
程序介紹
單片機STM32F103ZE
霍爾5V供電,傳感器數據輸出線接PA6
定時器3 通道1 輸入捕獲模式

程序源碼
TIM3_CAP.H

TIM3_CAP.H解讀
定時器只能在捕獲到高電平的時候,把當前計數器的數值保存下次,由于我們需要計算2次高電平的時間,所有需要一個邏輯位TIM3_FLAG
TIM3_CAP用于保存第2次定時器捕獲高電平時候的計數器的數值
TIM3_RES是2次高電平總的計數器的數值
TIM3_RES乘以計數器每計一個數的時間就是總的時間了

TIM3_CAP.C

TIM3_CAP.C解讀
首先開啟定時器3和GPIOA的時鐘

接著設置PA6為下拉輸入,為什么下拉輸入,因為我們需要捕獲高電平,如果你要捕獲低電平,設置PA6為上拉輸入,然后設置定時器下降沿捕獲

設置定時器的自動重載值和預分頻值

設置通道1為輸入不分頻,不濾波

關于什么是分頻,什么是濾波

濾波
首先看STM32中文參考手冊中的介紹

我的理解就是輸入捕獲采樣頻率也就是速度

分頻
貼上官方介紹

就是每幾個高電平觸發一次捕獲
如果你設置每2個事件觸發一次捕獲,那么檢測到2次高電平的時候才會把當前的計數器的數值保存到TIM3->CCR1寄存器中

什么是TIM3->CCR1寄存器呢
看官方的介紹就知道了

也就是保存捕獲的時候計數器的數值

計數器的值能捕獲入TIM3_CCR1寄存器和設置上升沿捕獲

開啟定時器更新中斷和通道1捕獲中斷

設置中斷分組和優先級

開啟定時器3

TIM3中斷函數解讀
TIM3_FLAG是8位的,其中第7位用于標志第一次捕獲,如果檢測到第一次捕獲就置1,第8位用于標志第二次捕獲,檢測到了就置1,1~6用于在檢測到第一次捕獲的時候定時器更新的次數

MAIN.C

MAIN.C解讀
主函數是檢測到2次高電平就通過串口打印出高電平的時間

以下頭文件中是用了原子哥的頭文件

結果
LED1每0.2s切換亮滅狀態一次,故每0.4s亮一次,結果和下圖一樣

用飛線把PA6(通道1)和PE5(LED1)連接起來

工程文件

工程文件 鏈接

下一篇: PLC、DCS、FCS三大控

上一篇: 電氣控制線路圖控制原

推薦產品

更多
中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

      9000px;">

          六月丁香婷婷色狠狠久久| 久久伊99综合婷婷久久伊| 欧美精品在线视频| 中文字幕一区二区三区视频| 亚洲国产成人高清精品| caoporen国产精品视频| 26uuu国产一区二区三区| 亚洲国产乱码最新视频| 欧美日韩中字一区| 亚洲靠逼com| 91成人在线免费观看| 国产精品久久久久久亚洲毛片| 韩国中文字幕2020精品| 亚洲精品一区二区精华| 久久精品国产澳门| 久久亚洲春色中文字幕久久久| 国内精品久久久久影院一蜜桃| 日韩欧美色电影| 精品亚洲国产成人av制服丝袜| 欧美精品v日韩精品v韩国精品v| 日韩综合小视频| 欧美一区二区国产| 麻豆国产精品一区二区三区| 日韩午夜在线影院| 国产九色sp调教91| 国产三级欧美三级| 91欧美一区二区| 亚洲大尺度视频在线观看| 欧美精品777| 蜜臂av日日欢夜夜爽一区| 久久亚洲综合色| 成人涩涩免费视频| 亚洲视频一区二区免费在线观看| 色综合天天视频在线观看| 亚洲一区二区影院| 日韩一区二区三区免费观看| 久久精品国产精品亚洲精品| 欧美精品一区二区蜜臀亚洲| 亚洲色图19p| 精品视频123区在线观看| 美女一区二区久久| 国产午夜精品久久久久久免费视| av亚洲精华国产精华| 亚洲国产aⅴ成人精品无吗| 91麻豆精品91久久久久久清纯| 久久精品国产亚洲aⅴ| 国产精品麻豆99久久久久久| 欧美亚洲精品一区| 国产自产2019最新不卡| 亚洲在线视频免费观看| 日韩欧美三级在线| 91小视频免费观看| 免费在线看成人av| 1区2区3区国产精品| 欧美一区二区三区视频在线观看| 国产成人在线免费观看| 夜色激情一区二区| wwwwxxxxx欧美| 精品视频一区二区不卡| 国产成人综合亚洲网站| 亚洲一二三四在线观看| 久久婷婷成人综合色| 在线观看日韩毛片| 韩日精品视频一区| 亚洲一区二区三区四区的| 久久先锋资源网| 欧美婷婷六月丁香综合色| 经典三级视频一区| 成人av先锋影音| 日韩成人精品视频| 亚洲视频免费观看| 久久天堂av综合合色蜜桃网| 欧美日韩一区二区三区高清| 成人性色生活片| 九色porny丨国产精品| 午夜精品一区二区三区免费视频 | 亚洲亚洲人成综合网络| 日韩一区二区免费在线电影| 北条麻妃一区二区三区| 国产中文字幕精品| 香蕉乱码成人久久天堂爱免费| 久久久久久久久久久久久女国产乱 | 五月天精品一区二区三区| 国产精品国产三级国产专播品爱网| 欧美一区二区三区喷汁尤物| 色综合天天综合给合国产| 国产乱淫av一区二区三区| 日产欧产美韩系列久久99| 亚洲欧美激情插| 欧美激情在线一区二区三区| 精品蜜桃在线看| 在线免费不卡视频| 91免费国产在线观看| 91在线观看一区二区| 欧美日韩色一区| 国产精一区二区三区| 久久久天堂av| 久久午夜电影网| 日韩精品中文字幕一区| 555www色欧美视频| 欧美日韩久久一区二区| 欧洲另类一二三四区| 欧美最猛黑人xxxxx猛交| 在线精品视频小说1| 91视频免费播放| 日本乱人伦一区| 91亚洲精品久久久蜜桃| 91麻豆自制传媒国产之光| 一本到不卡精品视频在线观看| 99久久久精品免费观看国产蜜| 成人av午夜电影| 91视频免费播放| 欧美日韩亚洲综合一区二区三区| 91黄色在线观看| 在线91免费看| 精品国产91洋老外米糕| 久久精品亚洲麻豆av一区二区| 国产校园另类小说区| 国产精品久久久久久久久免费相片| 亚洲欧洲日产国码二区| 日本高清不卡视频| 欧美一区二区福利视频| 欧美成人精品1314www| 久久久国产精品不卡| 国产精品嫩草久久久久| 亚洲黄色av一区| 日韩成人伦理电影在线观看| 国产福利精品导航| 91香蕉视频污| 日韩一级大片在线| 久久久99免费| 亚洲综合一区二区| 裸体歌舞表演一区二区| 99久久精品国产导航| 欧美美女黄视频| 国产精品日日摸夜夜摸av| 一区二区在线观看不卡| 午夜av电影一区| 91官网在线免费观看| 日韩欧美国产午夜精品| 亚洲天堂免费在线观看视频| 视频一区视频二区中文| 国产激情精品久久久第一区二区| 91麻豆国产香蕉久久精品| 91精品国产91热久久久做人人| 欧美经典一区二区| 蜜桃视频一区二区三区在线观看| 暴力调教一区二区三区| 欧美一级专区免费大片| 亚洲色图欧洲色图| 极品少妇一区二区| 色噜噜狠狠一区二区三区果冻| www精品美女久久久tv| 亚洲一区二区三区自拍| 国产91露脸合集magnet| 欧美日韩三级在线| 国产精品久久久久久久久快鸭 | 欧美综合天天夜夜久久| 2021中文字幕一区亚洲| 一区二区三区免费看视频| 国产美女娇喘av呻吟久久| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 中文字幕乱码久久午夜不卡 | 在线播放亚洲一区| 五月天亚洲婷婷| 欧美性受xxxx| 91国产精品成人| 国产精品久久久久久亚洲毛片| 免费欧美日韩国产三级电影| 欧美四级电影在线观看| 亚洲欧洲精品一区二区三区| 大尺度一区二区| 国产亚洲综合在线| 麻豆成人免费电影| 4438x成人网最大色成网站| 夜夜精品浪潮av一区二区三区| 色婷婷综合久色| 亚洲码国产岛国毛片在线| 99视频精品在线| 国产精品成人在线观看| 成人午夜看片网址| 久久精品亚洲一区二区三区浴池| 精品一区二区三区在线播放| 欧美久久婷婷综合色| 丝袜亚洲精品中文字幕一区| 精品视频在线看| 午夜电影一区二区三区| 欧美日韩黄视频| 亚洲二区在线观看| 91国产福利在线| 亚洲一二三区在线观看| 欧美日本高清视频在线观看| 视频在线观看91| 欧美肥妇free| 美女久久久精品| 日韩精品中文字幕在线一区| 日本成人中文字幕在线视频| 欧美一级欧美三级| 亚洲国产日韩综合久久精品| 91社区在线播放|