一、前言
這篇博文和大家分享基於 NXP LPC55S69 E-Lock門鎖方案直流馬達的控制方式。
二、門鎖馬達結構與門鎖解鎖原理說明
1. 門鎖馬達規格與運轉說明
(1) 馬達規格
■ 電壓使用範圍 : 3.0V ~ 6.0V DC
■ 額定電流 : 170mA (max)
■ 推出時間與行程 : 0.3S / 6mm
(2) 馬達的運轉操作
■ 正端給 3.3V 電壓,負端給 0V 電壓時,馬達正轉;
■ 負端給 3.3V 電壓,正端給 0V 電壓時,馬達反轉;
■ 當馬達正負端都接 0V 電壓,馬達停止運轉。
2. 門鎖解鎖原理說明
藉由直流馬達正反轉控制推桿前進或後退 :
(1) 推桿前進時推動鎖芯的卡榫,使卡榫嵌入轉軸,門把手得以轉動鎖芯開鎖;
(2) 推桿退回時,卡榫隨之退出鎖芯,使門把下拉時,因門把空轉而無法轉動鎖芯開鎖。
三、馬達驅動器之設計介紹
本方案的馬達驅動器使用 ON Semi 的 LV8716QA; LV8716QA 可控制馬達正轉/反轉/煞車/待機四種操作模式的雙通道驅動器。
電壓範圍 2.7V 到 10.5V,最大輸出峰值電流 1.5A,輸出電流 1A,邏輯輸入信號電壓 -0.3V ~ +6V;規格符合本方案設計所需,故用以做為推動門鎖馬達的驅動器。
1. 主要的引腳功能敘述
(1) PS 引腳:
PS (Power Saving) 引腳直接控制 LV8716QA 待機 / 操作模式 :
(2) IN1 /IN2 及 IN3 / IN4 分別為兩通道輸入信號引腳:
可控制兩個通道馬達進行 待機 / 正轉 / 反轉 / 煞車 四種模式運作。
(3) OUT1A / OUT1B及 OUT2A / OUT2B分別為兩通道輸出信號引腳
IN1 及 IN2 為第一個通道的輸入信號,控制第一個通道 OUT1A 及 OUT1B 的輸出;
IN3 及 IN4 為第二個通道的輸入信號,控制第二個通道 OUT2A 及 OUT2B 的輸出。
2. 第一通道控制直流馬達的輸出信號邏輯表
輸入控制信號及輸出電流信號關係圖
(1) 第一通道輸入控制信號 IN1 / IN2:
黃色信號表示 IN1 輸入控制信號;
綠色信號表示 IN2 輸入控制信號。
(2) 第一通道輸出電流信號 I1:
紅色部分表示順向電流時,則馬達正轉;
藍色部分表示逆向電流時,則馬達反轉。
3、增強輸出功率的處理方式
此芯片支援兩通道並接,可增強輸出馬達推動能力:
(1) 可將 IN1 並接到 IN3, IN2 並接到 IN4;
(2) 再將 OUT2A 並接到 OUT1A,OUT2B 並接到 OUT1B;
如此可以獲得約兩倍的輸出功率。
增強輸出馬達推動能力線路接法示意圖:
四、門鎖馬達控制系統軟體解析
1、系統開鎖及上鎖處理程序介紹
下圖中間是系統開鎖及上鎖處理程序,兩邊分別是 門鎖馬達-開鎖及門鎖馬達-上鎖的程序:
下圖分別為開鎖及上鎖馬達推桿位置圖示,
自動停止的轉動時間(t) MotorType.motorDelay : 為推桿到定位所需的馬達轉動時間。
2、處理程序所用到的 API 介紹
(1) 控制馬達正轉開鎖/反轉上鎖 API
可呼叫 moto_drive(bool is_on) API 控制馬達正轉開鎖、反轉上鎖的操作。
傳入的引數 is_on 為布林值:
Is_on = true , 則馬達正轉開鎖
Is_on = false , 則馬達反轉上鎖
MotorType.motorDelay 為推桿移動到定位,馬達轉動的時間(t)
MotorType.motorDelay = MOTOR_DELAY_TIME ;
#define MOTOR_DELAY_TIME 300U //300ms
該方案設定馬達轉動時間(t)為300ms ( 此參數與馬達規格參數有關,需各別調試 )
(2) 控制馬達停止轉動的 API
可呼叫 moto_stop() API 控制馬達停止轉動。
第 3~4 行,控制馬達停止,
第 6 行,設定馬達驅動器 LV8716QA 致能狀態設成 disable
第 7 行,關閉馬達供電線路的 MOSFET 開關,使 LV8716QA 斷電
motorType.status 紀錄馬達為停止狀態;
DoorType.TheDoorStatus 紀錄當馬達停止時,門鎖是處於開鎖或上鎖的狀態。
3、馬達主控程式碼 :
門鎖馬達主控程式 Motor_Ctrl() 程式碼如下:
MotorType.waitUserDelay 這個結構變數用來設置自動上鎖時間,目前設定 5 秒,
可依照實際需要更改這個數值。
以上,希望這篇博文能對大家在了解 E-Lock 方案馬達控制開鎖的設計能有所幫助,謝謝。
參考資料:
■ ON Semi LV8716QA datasheet :
https://www.onsemi.com/pdf/datasheet/ena2254-d.pdf
■ NXP LPC55S69 datasheet :
https://www.nxp.com/docs/en/data-sheet/LPC55S6x.pdf