該板包含兩個這樣的電路,因為 Tri-Track 底盤有兩個坦克式軌道,每個軌道都有一個電機。我們需要能夠獨立控制兩個電機,以便我們可以通過改變一個軌道相對于另一個軌道的速度來轉(zhuǎn)動機器人。
我喜歡設計自己的電路,但我也喜歡從高技能 IC 設計師提供的好處中獲益。工程謙遜的一部分是接受這樣一個事實:Maxim 的可以設計出遠遠超過我可能想出的任何電機控制器。因此,我們推出了MAX14870,這是一款高度集成、小尺寸、用戶友好的器件,需要很少的外部元件,僅需要三個控制信號。
控制界面很簡單:
nEN 引腳必須驅(qū)動為低電平才能啟用電機驅(qū)動輸出。
DIR 引腳的邏輯電平控制電機的旋轉(zhuǎn)方向。
只要 PWM 引腳處于邏輯高電平,就會向電機施加驅(qū)動電壓。顧名思義,電機的速度可以通過向 PWM 引腳施加脈寬調(diào)制信號來控制。
過流情況或熱關斷會將 nFAULT 引腳驅(qū)動至邏輯低電平。當電機控制情況出現(xiàn)問題時,這使得微控制器能夠收到通知。它是開漏輸出,因此多個 nFAULT 引腳可以連接在一起(盡管采用這種布置,無法確定哪個特定芯片正在生成故障條件)。
檢測電流:V = IR
讓我們花一點時間來了解一下檢測電阻 R1 的情況。通過允許電流從 12 V 電源流經(jīng)高側(cè) FET 之一、電機線圈、低側(cè) FET 之一,流至 COM 引腳來驅(qū)動電機。該電流需要流向接地節(jié)點,但我們不必將 COM 引腳直接接地。如果我們在 COM 引腳和地之間放置一個小電阻,COM 節(jié)點的電壓將與流過電機線圈的電流成正比。換句話說,這個電流檢測電阻使我們能夠監(jiān)控電機驅(qū)動電流。
通過添加檢測電阻并將COM節(jié)點連接到MAX14870的SNS引腳,我們可以實現(xiàn)內(nèi)部電流調(diào)節(jié)功能。MAX14870希望SNS引腳電壓保持在100 mV以下;如果該電壓開始變得過高,電機驅(qū)動電流會根
據(jù)需要中斷,以將 SNS 電壓保持在 100 mV 以下。因此,電機驅(qū)動電流由以下等式給出:
$$I_{MAX}=frac{100 mV}{R_{SENSE}}$$
C-BISCUIT 電機控制電路有一個 0.068 Ω 檢測電阻;這意味著電機驅(qū)動電流被限制在約 1.47 A。Tri-Track 電機的數(shù)據(jù)表表明啟動電流約為 1.5 A,因此 1.47 A 是一個保守的限制,仍允許電機正常啟動。但考慮到我之前沒有使用該電機或 MAX14870 的經(jīng)驗,如果發(fā)現(xiàn) 0.068 Ω 不是 R SENSE的值,我不會感到驚訝。
需要記住的重要一點是,該檢測電阻會消耗一些嚴重的功率。這是一個容易犯重大錯誤的地方,因為低壓設計人員通常不需要仔細考慮電阻器的額定功率。盡管啟動電流高于穩(wěn)態(tài)電流,但為了安全起見,我們假設該電阻器可能會長時間承受 1.5 A 的電流。這意味著
$$P_{MAX}=(1.5 A)^2 imes0.068 歐米茄=0.153 W$$
我喜歡兩倍的安全裕度,因此電阻器的額定功率應至少為 1/4 W。我選擇了 1/2 W 部件,因為這讓我更有信心電阻器不會因以下原因而燒毀:設計者錯誤。
如果不需要自動電流調(diào)節(jié),只需將 SNS 引腳接地即可禁用此功能,這(顯然)可以確保 SNS 上的電壓永遠不會超過 100 mV。MAX14870仍然具有其通用的過流保護功能,但只有當流經(jīng)電機驅(qū)動線路之一的電流大于約6 A且持續(xù)時間超過1 ?s時,該保護才會啟動。
電機電流——EFM8 應該知道的
由于我決定添加一個用于自動電流調(diào)節(jié)的檢測電阻器,因此我還可以添加一些額外的組件,使 EFM8 微控制器能夠收集有關電機在各種工作條件下需要多少電流的信息。這就是運算放大器電路的用途,它只是一個增益為 10 的同相放大器,用作 R SENSE兩端的電壓與 EFM8 的 ADC 電路之間的接口電路。