• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

    基于MSPM0G3507的非接觸門禁控制系統

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

    1   項目簡介

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

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

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

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

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

    2   硬件結構圖

    1737348244363568.png

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

    image.png

    1.2 軟件開發:

    【開發平臺】

    Code Composer Studio Version: 12.7.0.00007

    【外設的配置】

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

    1.1.1 IIC 的配置

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

    1737349319860761.png

    1.1.2 PWM的配置

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

    配置輸出的IO為PB0

    1737349419733440.png

    1.1.3 CAN的配置

    配置仲裁速率為250K,數據傳輸速率為2M。

    1737349454208931.png

    選擇RX為PA13,TX為PA12

    1737349495484449.png

    保存后生成工程。

    【公共代碼】

    CAN發送與接收代碼

    1.CAN接收中斷函數的實現:

    image.png

    代碼中如果有CAN 的數據接收,則更新接收標志

    gServiceInt。

    在主循環中判斷接收接收標志位,如果為真則調用數據處理函數

    image.png

    image.png

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

    image.png

    image.png

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

    image.png

    image.png

    CAN發送:

    在進入主循環中,先對CAN的數據進行初始化:

    image.png

    image.png

    【PWM】

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

    image.png

    image.png

    【IIC 驅動】

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

    1737349808208842.png

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

    1737349838768886.png

    【OLED】

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

    image.png

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

    【PAJ7620 手勢傳感器】

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

    image.png

    image.png

    以上是主要代碼的介紹。

    【程序流程圖】

    門禁端

    image.png

    控制端

    1737350048469611.png

    3   項目總結

    本項目主要是在利用Ti 的G3507 這顆優秀的MCU 來實現特殊環境下的無接觸的門禁控制,可以實現多點對一點控制,一對多的數據交互。

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

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

    (本文來源于《EEPW》



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 沛县| 乐东| 龙山县| 化州市| 通辽市| 太谷县| 娄底市| 绥德县| 西峡县| 天等县| 贡嘎县| 左权县| 襄垣县| 太原市| 满洲里市| 凌源市| 张家川| 淮南市| 东至县| 南陵县| 吴堡县| 德钦县| 景东| 平陆县| 石狮市| 吉安市| 万盛区| 隆回县| 崇信县| 偏关县| 鸡泽县| 名山县| 清新县| 商丘市| 明星| 南漳县| 沙河市| 绵阳市| 西和县| 车险| 沧源|