久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4351|回復(fù): 15
打印 上一主題 下一主題
收起左側(cè)

單片機如何實現(xiàn)兩個霍爾判斷電機正反轉(zhuǎn)程序?

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:832450 發(fā)表于 2022-7-3 19:03 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
如圖,兩個霍爾傳感器并排放置,想利用兩個霍爾中斷下降沿觸發(fā)來判斷正反轉(zhuǎn),這樣就有四種狀態(tài)分別是00  01 11 10 ,利用四個狀態(tài)的順序理論上可以判斷正反轉(zhuǎn)。
求大佬教學,四種狀態(tài)的判別程序是應(yīng)該在中斷里面寫嗎?當?shù)谝粋霍爾中斷觸發(fā)后,在第一個霍爾的中斷程序中延時等待下一個狀態(tài),但是這樣第二個傳感器的中斷是不是就沒法觸發(fā)了?
或者各大佬有沒有的其他思路給講解一下,求教單片機程序的方案

fa0b732fbf9afc1ec617ab54f509116.jpg (180 KB, 下載次數(shù): 159)

兩個霍爾傳感器并排放置

兩個霍爾傳感器并排放置

42c9e3c304c539ae401138c9c3e4ec0.jpg (75.52 KB, 下載次數(shù): 158)

42c9e3c304c539ae401138c9c3e4ec0.jpg

51hei圖片_20220703190225.png (14.45 KB, 下載次數(shù): 164)

51hei圖片_20220703190225.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:883242 發(fā)表于 2022-7-4 06:08 | 只看該作者
一個霍爾翻轉(zhuǎn)時間是一圈時間,兩個霍爾翻轉(zhuǎn)時間差小和大表示正轉(zhuǎn)反轉(zhuǎn)。
回復(fù)

使用道具 舉報

板凳
ID:832450 發(fā)表于 2022-7-4 06:34 | 只看該作者
Hephaestus 發(fā)表于 2022-7-4 06:08
一個霍爾翻轉(zhuǎn)時間是一圈時間,兩個霍爾翻轉(zhuǎn)時間差小和大表示正轉(zhuǎn)反轉(zhuǎn)。

主要是我的磁鐵不是勻速轉(zhuǎn)動,所以時間差對我來說有點困難
回復(fù)

使用道具 舉報

地板
ID:25310 發(fā)表于 2022-7-4 08:16 | 只看該作者
本帖最后由 pcbboy 于 2022-7-4 10:14 編輯

某個中斷觸發(fā)后標志位先=1,觸發(fā)時間在前面的是一個方向,觸發(fā)時間在后面的是一另個方向,
回復(fù)

使用道具 舉報

5#
ID:891041 發(fā)表于 2022-7-4 09:45 | 只看該作者
你可以用一個定時中斷。 這個定時的時長保證, 每次中斷時間內(nèi), 霍爾不可能發(fā)生兩次變化。也就是最高轉(zhuǎn)速下 霍爾也不可能在一個定時周期內(nèi)發(fā)生兩次變化。  這樣讀前后的兩個霍爾電平 判斷順序就可以知道正反轉(zhuǎn)了。
回復(fù)

使用道具 舉報

6#
ID:827243 發(fā)表于 2022-7-4 09:54 | 只看該作者
本帖最后由 daemondong 于 2022-7-4 09:57 編輯

直接上代碼,希望你能看明白。
  1. void main(void) {
  2.     char stat[4],step;
  3.     stat[0]=0;   //初始狀態(tài)為全零
  4.     step=0;
  5.     while (1) {
  6.         if (step>=2) {
  7.             if (stat[1]==0x01 && stat[2]==0x11) {} //正轉(zhuǎn)
  8.             else if (stat[1]==0x10 && stat[2]==0x11) {} //反轉(zhuǎn)
  9.             else {} //霍爾器件安裝錯誤

  10.             step=0;
  11.         }
  12.     }
  13. }

  14. void exint0() interrupt 0 {
  15.     _nop_();
  16.     step++;
復(fù)制代碼
回復(fù)

使用道具 舉報

7#
ID:887371 發(fā)表于 2022-7-4 10:21 | 只看該作者
你這個就是編碼器,可以參考ec11的代碼。
  1. volatile unsigned char  K_cnt;//值增加表示正轉(zhuǎn),值減少表示反轉(zhuǎn)
  2. void exint0() interrupt 0//K1=P3^2
  3. {
  4.   if(K2) K_cnt++;
  5.   else K_cnt--;
  6. }
  7. void exint1() interrupt 2//K2=P3^3
  8. {
  9.   if(!K1) K_cnt++;
  10.   else K_cnt--;
  11. }
復(fù)制代碼


http://www.zg4o1577.cn/bbs/dpj-221719-1.html
EC11增量型脈沖數(shù)字電位器單片機驅(qū)動程序

回復(fù)

使用道具 舉報

8#
ID:827243 發(fā)表于 2022-7-4 10:37 | 只看該作者
daemondong 發(fā)表于 2022-7-4 09:54
直接上代碼,希望你能看明白。

代碼少了一段
  1. void exint0() interrupt 0 {
  2.     _nop_();
  3.     step++;
  4.     stat[step]=stat[step-1];
  5.     stat[step] |= 0x01;
  6. }

  7. void exint1() interrupt 2 {
  8.     _nop_();
  9.     step++;
  10.     stat[step]=stat[step-1];
  11.     stat[step] |= 0x10;
  12. }
復(fù)制代碼
回復(fù)

使用道具 舉報

9#
ID:965189 發(fā)表于 2022-7-4 10:37 | 只看該作者
保證任何方向兩個霍爾先后觸發(fā)的情況下,可參考EC11編碼器的識別方法。
回復(fù)

使用道具 舉報

10#
ID:883242 發(fā)表于 2022-7-4 11:26 | 只看該作者
如果磁鐵大小合適,讓兩個霍爾形成正交編碼器,那么以任意一個霍爾作為基準,就叫A吧,當A翻轉(zhuǎn)的時候檢查B的狀態(tài),如果是高就是正轉(zhuǎn),如果B為低則為反轉(zhuǎn),and vice versa.
回復(fù)

使用道具 舉報

11#
ID:491577 發(fā)表于 2022-7-4 11:44 | 只看該作者
很簡單,以11為標準,當檢測到11時開始計時,看看哪個霍爾先變0,電機的方向就是從先變0霍爾到后變0霍爾。
回復(fù)

使用道具 舉報

12#
ID:394424 發(fā)表于 2022-7-4 17:57 | 只看該作者
學到了  確實和編碼器的電平讀取有點像
回復(fù)

使用道具 舉報

13#
ID:195496 發(fā)表于 2022-7-6 09:49 | 只看該作者
兩個霍爾裝在一起,一個磁鐵來觸發(fā),形成正交方式信號,很容易判斷方向
回復(fù)

使用道具 舉報

14#
ID:737063 發(fā)表于 2024-1-27 11:20 | 只看該作者
理論上出現(xiàn) 11 01 00 10 11是可以的 實際中可以出現(xiàn) 11 10 00 10 11或11 01 11 10 11就不行
回復(fù)

使用道具 舉報

15#
ID:1075077 發(fā)表于 2024-2-20 09:51 | 只看該作者
大佬,就是兩個霍爾采集電機的正反轉(zhuǎn)方向的問題,我用外部中斷采集狀態(tài)發(fā)現(xiàn)會掉狀態(tài),我想請教下你是如何實現(xiàn)的
回復(fù)

使用道具 舉報

16#
ID:1109793 發(fā)表于 2024-2-20 12:41 | 只看該作者
伊小于 發(fā)表于 2024-2-20 09:51
大佬,就是兩個霍爾采集電機的正反轉(zhuǎn)方向的問題,我用外部中斷采集狀態(tài)發(fā)現(xiàn)會掉狀態(tài),我想請教下你是如何實 ...

http://www.zg4o1577.cn/bbs/dpj-36467-1.html
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品二区 | www.99热.com | 粉色午夜视频 | 亚洲精品成人在线 | 亚洲成人av在线播放 | zzzwww在线看片免费 | 国产欧美日韩一区 | 亚洲福利在线观看 | 欧美日批 | 久久精品国产99国产精品 | 精品一区二区三区中文字幕 | 日韩一区二区在线播放 | 天天看天天爽 | 欧美成人免费在线 | 国产午夜精品久久 | 国产一区视频在线 | 国产午夜精品久久久 | 久久av一区二区 | 亚洲欧洲在线视频 | 久久久久久国产精品 | 久久国产精品99久久久久久丝袜 | 国产日韩欧美精品 | 久久免费高清视频 | 精品国产视频 | www.色.com| 成人免费看黄 | 91视频进入 | 国产高清av免费观看 | 午夜久久久 | 亚洲精品9999| 欧美精品一区二区在线观看 | 久久久久久久一区二区 | 夜夜夜操 | 高清免费在线 | 不卡av在线 | 超碰人人人 | 精品久久中文字幕 | 亚洲一二三区av | 91精品国产91久久久久久吃药 | 国产精品免费播放 | 99中文字幕|