• 正文
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

電機(jī)驅(qū)動(dòng)器還能玩出什么花樣,這個(gè)工程師用一個(gè)小項(xiàng)目告訴你

原創(chuàng)
2019/01/31
75
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

?

電機(jī)驅(qū)動(dòng)器能夠通過 I2C 接口使用 PID 算法控制電機(jī),精確控制電機(jī)從未如此簡(jiǎn)單。

項(xiàng)目描述
這是一款智能電機(jī)驅(qū)動(dòng)器(又稱 SAMI),設(shè)計(jì)用于運(yùn)行微型齒輪電機(jī),該電路板的目標(biāo)是通過相應(yīng)的轉(zhuǎn)速反饋對(duì)該電機(jī)實(shí)施 PID 控制。板子上包含了所有必需的組件,因此可以自行工作運(yùn)行。


供電和命令發(fā)送都是通過 I2C 接口。

主機(jī)控制器和電機(jī)驅(qū)動(dòng)器之間通過 I2C 進(jìn)行通信,發(fā)送包括電機(jī)速度、轉(zhuǎn)向在內(nèi)的命令。SAMI 自動(dòng)實(shí)現(xiàn) PID 控制。SAMI 上的電路板執(zhí)行具體的電機(jī)控制算法,從而減輕了主機(jī)控制器的負(fù)荷。您還可以通過 I2C 讀取電機(jī)的狀態(tài)并對(duì)它進(jìn)行配置。


SAMI 能夠驅(qū)動(dòng)電機(jī),使軸上負(fù)載走完所需的距離或達(dá)到一定的角度,然后在達(dá)到目標(biāo)值時(shí)自動(dòng)停止。這是機(jī)器人技術(shù)的理想選擇,簡(jiǎn)化了執(zhí)行精確運(yùn)動(dòng)控制所需的許多艱苦工作。而且,可以把多個(gè)模塊連接到同一條 I2C 總線上,注意,這里的多個(gè)模塊是指很多電機(jī)!


對(duì)于任何人來說,制作先進(jìn)的機(jī)器人從來沒有這么簡(jiǎn)單過!現(xiàn)在,只需要把 SAMI 這個(gè)模塊和你的電機(jī)連接到一起即可。

項(xiàng)目細(xì)節(jié)
這是一款設(shè)計(jì)用來控制微型齒輪電機(jī)的智能電機(jī)驅(qū)動(dòng)器(也稱為 SAMI),這塊電路板的目標(biāo)是使用霍爾效應(yīng)傳感器檢測(cè)到的轉(zhuǎn)速反饋,輕松地在 SAMI 上實(shí)現(xiàn) PID 控制。SAMI 有自己的微控制器和 H 橋,能夠自己完成電機(jī)控制和驅(qū)動(dòng)操作。


主機(jī)上的微控制器(或者任何支持 I2C 端口的系統(tǒng))通過 I2C 和智能電機(jī)驅(qū)動(dòng)器進(jìn)行通信,發(fā)送包括電機(jī)速度、轉(zhuǎn)向在內(nèi)的命令。SAMI 自動(dòng)實(shí)現(xiàn) PID 控制算法,保持速度,并在電機(jī)的動(dòng)態(tài)運(yùn)行中增加或減少功率以控制轉(zhuǎn)矩和速度。


此外,該控制器能夠驅(qū)動(dòng)電機(jī)軸上負(fù)載走完所需的距離或角度,然后在達(dá)到目標(biāo)值時(shí)自動(dòng)停止。因此,如果用來驅(qū)動(dòng)一個(gè)輪子,你必須同時(shí)制定輪子的直徑和變速比等參數(shù)。


為了感應(yīng)電機(jī)的轉(zhuǎn)速,我使用了磁編碼器盤,它沿著磁盤表面極化。因此霍爾效應(yīng)傳感器可以檢測(cè)磁盤磁場(chǎng)的變化并將信號(hào)發(fā)送到微控制器上。微控制器使用定時(shí)器和中斷計(jì)算電機(jī)轉(zhuǎn)速,微控制器利用轉(zhuǎn)速作為反饋,運(yùn)行 PID 控制算法,并處理和主機(jī)的通信。

這款智能電機(jī)驅(qū)動(dòng)器的主要設(shè)計(jì)思想是用在機(jī)器人中,通過使用它來控制機(jī)器人的輪子,無論表面是否光滑,電池電量是否充足還是機(jī)器人負(fù)荷重量發(fā)生了變化,都可以進(jìn)行精確的運(yùn)動(dòng)控制。

此外,它還可以防止因?yàn)橥蝗患铀倩蛘咧苿?dòng)造成齒輪脫載,并避免電流沖擊,這樣可以保證您寶貴的電機(jī)的安全。


提供了一個(gè) Arduino 庫,幫助你方便地使用該智能電機(jī)驅(qū)動(dòng)器。你可以快速、方便地把它插入到大量電機(jī)上使用。

?


特征
安裝在微型直流電機(jī)的背面,安裝方便;

可以輕松控制電機(jī)的速度和轉(zhuǎn)向;

達(dá)到既定距離或角度時(shí)自動(dòng)停止;

支持多種控制模式,包括帶有或者不帶自動(dòng)停止功能的簡(jiǎn)單 PWM 控制或 PID 控制;可添加安全的方向轉(zhuǎn)變功能;

通過 I2C 進(jìn)行通信,可以通過軟件更改地址;

可同時(shí)控制很多電機(jī),最多支持在同一條 I2C 總線上掛載 128 個(gè)模塊;

可以通過軟件啟動(dòng)或禁用 I2C 的內(nèi)部上拉電阻;

可以把配置保存在 EEPROM 中;

讀取電機(jī)的實(shí)際轉(zhuǎn)速,并檢查是否發(fā)生了故障;

完全可配置;

易于使用的高精度電機(jī)控制;

尺寸?。?/p>

提供可用的 Arduino 庫。

技術(shù)規(guī)格

電機(jī)電壓可達(dá) 11v;

最大電機(jī)連續(xù)電流峰值高達(dá) 1.7A 和 1.8A;

邏輯電壓范圍為 3-5v;(稍后的版本經(jīng)測(cè)試后可支持到 1.8v 范圍)

默認(rèn) I2C 地址為 0x24;

過流保護(hù)和過熱保護(hù);

要復(fù)位默認(rèn)的 I2C 地址,請(qǐng)?jiān)谏想姇r(shí)將 MCLR 焊盤連接到地上;

標(biāo)準(zhǔn) 1mm 5 針 JST 連接器。

優(yōu)點(diǎn)

獨(dú)立進(jìn)行電機(jī)控制;

可實(shí)現(xiàn)更平穩(wěn)、更精確的動(dòng)作控制;


具有電機(jī)保護(hù)功能;

解決方案方便易用;

內(nèi)置電機(jī)速度反饋;

高響應(yīng)速度的 PID 控制算法,保持電機(jī)速度恒定;

避免出現(xiàn)可能損壞電源或電池的瞬態(tài)電流峰值;

如果事先指定,可自動(dòng)停在所需的距離或角度上;

與 IMU 等其他傳感器結(jié)合使用時(shí),可實(shí)現(xiàn)性能強(qiáng)大的機(jī)器人導(dǎo)航解決方案;

開源設(shè)計(jì)。


安裝
要將 SAMI 安裝到電機(jī)上,只需要把它和電機(jī)的驅(qū)動(dòng)線、反饋線焊接在一起,并如下視頻所示放置編碼器。

重要提示:您的電機(jī)軸上必須留出足夠的位置,以便放置編碼器!


管腳
通過 JST 連接器和 SAMI 進(jìn)行通信;
ICSP 管腳用于更新固件;
MCLR 管腳用于復(fù)位模塊的默認(rèn) I2C 地址。


PCB 布局
PCB 厚 0.8mm,尺寸為 10 mm x 20 mm,雙層板。

這是一個(gè)還在開發(fā)階段的項(xiàng)目,也是一個(gè)開源項(xiàng)目,如果您有任何能夠改進(jìn)它的想法,隨時(shí)歡迎修改。你還可以自行調(diào)整硬件和軟件設(shè)計(jì),以支持更大功率的電機(jī),你還可以增加第二個(gè)編碼器,甚至可以用它來運(yùn)行步進(jìn)電機(jī)

本文源自 Hackaday.io,原文可打開鏈接查看:https://hackaday.io/project/158429-smart-motor-driver-for-robotics

與非網(wǎng)編譯內(nèi)容,未經(jīng)許可 ,不得轉(zhuǎn)載!

有人說硬件技術(shù)將很快達(dá)到極限,而在我們看來,硬件創(chuàng)新,尤其是中國硬件工程師的創(chuàng)新,還遠(yuǎn)未走到盡頭,而只是剛剛開始。作為致力于為全球硬件開發(fā)者提供技術(shù)共享服務(wù)的平臺(tái),與非網(wǎng)母公司 SupplyFrame 旗下最大的全球硬件開發(fā)者社區(qū) Hackaday.com 已連續(xù)五年舉辦全球硬件開發(fā)者大賽 Hackadayprize,有超過 3000 多個(gè)硬件團(tuán)隊(duì)在這個(gè)賽事中互動(dòng)交流、切磋技藝。


這個(gè)《硬件改變世界》系列,我們挑選在前幾屆 Hackadayprize 大賽中獲獎(jiǎng)的優(yōu)秀作品加以展示,硬件技術(shù)可以多有意思,硬件開發(fā)者可以多有創(chuàng)意,從這些作品中你可以看到。

2019 年 3 月,Hackadayprize 中國區(qū)賽事將隆重開啟,我們很期待看到國內(nèi)的硬件開發(fā)者大開腦洞、大展技藝。你準(zhǔn)備好了沒,與來自全球的硬件開發(fā)者同臺(tái) PK?

相關(guān)推薦