<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于MSPM0G3507的非接觸門禁控制系統(tǒng)

          基于MSPM0G3507的非接觸門禁控制系統(tǒng)

          作者:lulugl 時間:2025-01-20 來源:EEPW 收藏

          1   項目簡介

          本文引用地址:http://www.ex-cimer.com/article/202501/466478.htm

          在一些特殊的場所,比如傳染病病房、手術室等需要嚴格區(qū)分污染區(qū)與非污染區(qū)的場景,對于非接觸來替換一些按鍵等,就非常有意義。本項目是通過手勢傳感器來控制隔離門禁的案例。

          控制端在正常接收到門禁端的狀態(tài)信息后,獲門禁位置信息,同步顯示到OLED 屏上。當手勢傳感器捕捉到指定動作后,通過CAN 總線發(fā)送手勢指令。

          門禁端在啟動后執(zhí)行自檢,將起點到終點的位置檢測好,并把運行一次的時間打包通過CAN 總結發(fā)送出來。門禁端在接收到指令后,與本身的位置相結合,執(zhí)行相應的指令。通過PWM 來產(chǎn)生指定頻率的脈沖驅動步進電機,通過DIR 高低電平設置來改變電機運行方向,通過滑臺來實現(xiàn)門禁的打開與關閉功能。

          實現(xiàn)功能,手勢向上,關閉門禁,手勢向下,打開門禁,手勢下壓,急停。

          2   硬件結構圖

          1737348244363568.png

          1.1 Bom表(寫明器件型號);

          image.png

          1.2 軟件開發(fā):

          【開發(fā)平臺】

          Code Composer Studio Version: 12.7.0.00007

          【外設的配置】

          本項目主要的外設由IIC、PWM、CAN 來驅動。

          1.1.1 IIC 的配置

          配置為1M 的速率,同時開啟收接中斷,配置發(fā)送與接收的緩沖區(qū)。

          1737349319860761.png

          1.1.2 PWM的配置

          選擇pwm0,以及通道0 為輸出,配置輸出1KHz的輸出波形,占空比50%。

          配置輸出的IO為PB0

          1737349419733440.png

          1.1.3 CAN的配置

          配置仲裁速率為250K,數(shù)據(jù)傳輸速率為2M。

          1737349454208931.png

          選擇RX為PA13,TX為PA12

          1737349495484449.png

          保存后生成工程。

          【公共代碼】

          CAN發(fā)送與接收代碼

          1.CAN接收中斷函數(shù)的實現(xiàn):

          image.png

          代碼中如果有CAN 的數(shù)據(jù)接收,則更新接收標志

          gServiceInt。

          在主循環(huán)中判斷接收接收標志位,如果為真則調(diào)用數(shù)據(jù)處理函數(shù)

          image.png

          image.png

          在數(shù)據(jù)處理函數(shù)中,如果是門禁端,則判斷是否為命令的ID,如果是則根據(jù)命令設置電機運行方向:

          image.png

          image.png

          在控制端則對接收的ID 進行判斷,并進行數(shù)據(jù)解析:

          image.png

          image.png

          CAN發(fā)送:

          在進入主循環(huán)中,先對CAN的數(shù)據(jù)進行初始化:

          image.png

          image.png

          【PWM】

          在pwm代碼方面只需要啟動或者關閉定時器就行了。

          image.png

          image.png

          【IIC 驅動】

          在工程中添加i2c 的驅動封裝i2c_app.c/h

          1737349808208842.png

          這個驅動封裝了讀寫兩個驅動,可實現(xiàn)與硬件低層的解耦。具體代碼見附件。

          1737349838768886.png

          【OLED】

          使用公有的OLED 驅動庫,只需要封裝OLED_WR_Byte 即可實現(xiàn)驅動的移植。

          image.png

          手勢傳感器有現(xiàn)成的驅動庫,我這里只需要添加iic的讀寫驅動即可。

          【PAJ7620 手勢傳感器】

          PAJ7620 移植驅動,與OLED 一樣也只需要重寫讀寫函數(shù)即可以完成驅動的移植

          image.png

          image.png

          以上是主要代碼的介紹。

          【程序流程圖】

          門禁端

          image.png

          控制端

          1737350048469611.png

          3   項目總結

          本項目主要是在利用Ti 的G3507 這顆優(yōu)秀的MCU 來實現(xiàn)特殊環(huán)境下的無接觸的門禁控制,可以實現(xiàn)多點對一點控制,一對多的數(shù)據(jù)交互。

          整個項目的亮點就是G3507 擁有80M 主頻, 搭載了FDCAN 高速總線, 可以輕松實現(xiàn)多個MCU 的組網(wǎng),相比傳感的485 的總線組網(wǎng)有質的提升,F(xiàn)DCAN 總線可以實現(xiàn)多對多的組網(wǎng)。同時這個MCU還有高速的IIC 總線,可以實現(xiàn)一路IIC 驅動多個如OLED、PAJ7620 的外設。

          同時使用了G3507 的PWM 外設,可以精準的驅動步進電機。實現(xiàn)如門禁等電機控制場景。

          (本文來源于《EEPW》



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();