0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Arduino控制無刷電機

科技觀察員 ? 來源:circuitdigest ? 作者:阿斯文斯·拉吉 ? 2022-11-10 17:50 ? 次閱讀

構(gòu)建東西并讓它們按照我們想要的方式工作,一直很有趣。雖然已經(jīng)同意這一點,但建造可以飛行的東西肯定會在業(yè)余愛好者和硬件修補匠中引起更多的焦慮。是的!我說的是滑翔機、直升機、飛機,主要是多旋翼飛機。今天,由于在線提供的社區(qū)支持,自己構(gòu)建一個變得非常容易。所有飛行事物的一個共同點是它們使用 BLDC 電機,那么這個BLDC 電機是什么?為什么我們需要它來飛行東西?它有什么特別之處?如何購買合適的電機并將其與您的控制器連接?什么是ESC,我們?yōu)槭裁匆褂盟咳绻羞@樣的問題,那么本教程是您的一站式解決方案。

所以基本上在本教程中,我們將使用 Arduino 控制無刷電機。這里A2212/13T 無傳感器 BLDC外轉(zhuǎn)子電機與 20A 電子速度控制器 (ESC) 一起使用。這種電機通常用于制造無人機。

所需材料

A2212/13T 無刷直流電機

電調(diào) (20A)

電源 (12V 20A)

阿杜伊諾

電位計

了解無刷直流電機

BLDC 電機代表無刷直流電機,由于其平穩(wěn)運行,它通常用于吊扇和電動汽車。前面詳細解釋了 BLDC 電機在電動汽車中的使用。與其他電機不同,BLDC 電機有三根電線從中出來,每根電線形成自己的相位,因此為我們提供了一個三相電機。等。。。什么?。???

是的,盡管 BLDC 電機被認為是直流電機,但它們在脈沖波的幫助下工作。電子速度控制器(ESC) 將來自電池的直流電壓轉(zhuǎn)換為脈沖,并將其提供給電機的 3 根電線。在任何給定時間,只有電機的兩相通電,因此電流通過一相進入并通過另一相離開。在此過程中,電機內(nèi)部的線圈通電,因此轉(zhuǎn)子上的磁鐵與通電線圈對齊。然后接下來的兩根電線由電調(diào)通電,這個過程繼續(xù)使電機旋轉(zhuǎn)。電機的速度取決于線圈通電的速度,電機的方向取決于線圈通電的順序。我們將在本文后面了解有關(guān) ESC 的更多信息。

有許多類型的 BLDC 電機可供選擇,讓我們來看看最常見的分類。

內(nèi)流道和外流道 BLDC 電機:在轉(zhuǎn)輪中,BLDC 電機的工作方式與任何其他電機一樣。也就是說,電機內(nèi)部的軸在外殼保持固定的情況下旋轉(zhuǎn)。雖然外流道 BLDC 電機正好相反,但電機的外殼隨著軸旋轉(zhuǎn),而內(nèi)部線圈保持固定。外轉(zhuǎn)子電機在電動自行車中非常有優(yōu)勢,因為外殼(旋轉(zhuǎn)的外殼)本身被制成輪胎的輪輞,因此避免了耦合機構(gòu)。此外,外轉(zhuǎn)輪電機往往比轉(zhuǎn)輪類型產(chǎn)生更大的扭矩,因此它成為電動汽車和無人機的理想選擇。我們在這里使用的一個也是外流道類型。

注意:還有另一種類型的電機稱為無芯 BLDC 電機,也用于袖珍無人機,它們具有不同的工作原理,但現(xiàn)在讓我們?yōu)榱吮窘坛潭^它。

傳感器和無傳感器 BLDC 電機:為了使 BLDC 電機在沒有任何抖動的情況下旋轉(zhuǎn),需要反饋。也就是說,電調(diào)必須知道轉(zhuǎn)子中磁鐵的位置和極點,以便根據(jù)定子通電。這些信息可以通過兩種方式獲取;一種是在電機內(nèi)部放置霍爾傳感器?;魻杺鞲衅鲗?a target="_blank">檢測磁鐵并將信息發(fā)送到電調(diào),這種類型的電機稱為感應(yīng)式 BLDC 電機,用于電動汽車。第二種方法是使用磁鐵穿過線圈時產(chǎn)生的反電動勢,這不需要額外的硬件或電線,相線本身用作反饋來檢查反電動勢。這種方法用于我們的電機,在無人機和其他飛行項目中很常見。

為什么無人機和其他多旋翼飛行器使用 BLDC 電機?

有許多類型的酷無人機,從四軸飛行器到直升機和滑翔機,一切都有一個共同的硬件。這就是 BLDC 電機,但為什么呢?為什么他們使用與直流電機相比有點貴的 BLDC 電機?

pYYBAGNsyXmAXZ1jAABQ57-VcF0093.jpg

這有很多正當(dāng)?shù)脑?,一個主要原因是這些電機提供的扭矩非常高,這對于快速獲得/放松推力以起飛或降落無人機非常重要。此外,這些電機可用作外轉(zhuǎn)輪,這再次增加了電機的推力。選擇 BLDC 電機的另一個原因是其平穩(wěn)的無振動運行,這對于我們的無人機來說非常理想,穩(wěn)定在半空中。

BLDC 電機的功率重量比非常高。這非常重要,因為無人機上使用的電機應(yīng)該具有高功率(高速和高扭矩),但也應(yīng)該重量更輕。可以提供與 BLDC 電機相同的扭矩和速度的直流電機的重量將是 BLDC 電機的兩倍。

為什么我們需要ESC,它的功能是什么?

眾所周知,每個 BLDC 電機都需要某種控制器將來自電池的直流電壓轉(zhuǎn)換為脈沖,為電機的相線供電。該控制器稱為ESC,代表電子速度控制器。控制器的主要職責(zé)是按順序激勵 BLDC 電機的相線,使電機旋轉(zhuǎn)。這是通過感測每根導(dǎo)線的反電動勢并在磁體穿過線圈時精確地為線圈供電來完成的。因此,ESC 內(nèi)部有很多硬件的出色之處,這超出了本教程的范圍。但僅舉幾例,它具有速度控制器和電池消除器電路。

poYBAGNsyXqAfcTLAAAy_3WYCMo515.jpg

基于 PWM 的速度控制:電調(diào)可以通過讀取橙色線上提供的 PWM 信號來控制 BLDC 電機的速度。它的工作原理與伺服電機非常相似,提供的 PWM 信號應(yīng)具有 20ms 的周期,并且可以改變占空比以改變 BLDC 電機的速度。由于相同的邏輯也適用于伺服電機來控制位置,因此我們可以在Arduino程序中使用相同的伺服庫。

電池消除器電路 (BEC):幾乎所有的電調(diào)都帶有電池消除器電路。顧名思義,該電路消除了微控制器對單獨電池的需求,在這種情況下,我們不需要單獨的電源為Arduino供電;ESC本身將提供穩(wěn)定的+5V,可用于為我們的Arduino供電。有許多類型的電路可以調(diào)節(jié)此電壓,通常它將是廉價電調(diào)的線性調(diào)節(jié),但您也可以找到帶有開關(guān)電路的電路。

固件:每個ESC都有一個由制造商寫入的固件程序。此固件極大地決定了您的 ESC 如何響應(yīng);一些流行的固件是傳統(tǒng),Simon-K和BL-Heli。該固件也是用戶可編程的,但我們不會在本教程中詳細介紹。

BLDC和ESC的一些常見術(shù)語:

如果您剛剛開始使用 BLDC 電機,那么您可能會遇到制動、軟啟動、電機方向、低電壓、響應(yīng)時間和提前等術(shù)語。讓我們來看看這些術(shù)語的含義。

制動:制動是 BLDC 電機在油門移除后立即停止旋轉(zhuǎn)的能力。這種能力對于多旋翼飛行器非常重要,因為他們必須更頻繁地改變轉(zhuǎn)速才能在空中機動。

軟啟動:軟啟動是 BLDC 電機與齒輪相關(guān)聯(lián)時要考慮的重要功能。當(dāng)電機啟用軟啟動時,它不會突然開始旋轉(zhuǎn)得很快,無論油門有多快,它總是會逐漸增加速度。這將有助于我們減少與電機相連的齒輪(如果有)的磨損。

電機方向:BLDC 電機中的電機方向在運行過程中通常不會改變。但在組裝時,用戶可能需要改變電機的旋轉(zhuǎn)方向。改變電機方向的最簡單方法是簡單地相互更換電機的任何兩根電線。

低壓停止:校準(zhǔn)后,我們始終需要我們的 BLDC 電機以相同的特定速度運行,以獲得特定的節(jié)氣門值。但這很難實現(xiàn),因為隨著電池電壓的降低,電機傾向于降低其速度,以達到相同的油門值。為了避免這種情況,我們通常對ESC進行編程,使其在電池電壓達到閾值以下時停止工作,此功能稱為低電壓停止,在無人機中很有用。

響應(yīng)時間:電機根據(jù)油門的變化快速改變其速度的能力稱為響應(yīng)時間。響應(yīng)時間越短,控制效果就越好。

進展:前進是一個問題,或者更像是 BLDC 電機的錯誤。所有 BLDC 電機都有一點進步。也就是說,當(dāng)定子線圈通電時,由于它們上存在永磁體,轉(zhuǎn)子被吸引到它身邊。被吸引后,轉(zhuǎn)子傾向于在線圈斷電之前沿同一方向向前移動一點,然后下一個線圈通電。這種運動稱為“前進”,它會產(chǎn)生抖動、升溫、發(fā)出噪音等問題。因此,這是一個好的ESC應(yīng)該避免的事情。

好的,現(xiàn)在有足夠的理論讓我們通過將電機與Arduino連接來開始使用硬件。

Arduino BLDC 電機控制電路圖

以下是使用Arduino控制無刷電機的電路圖:

poYBAGNsyTuAXRpqAAGXE0E94rU031.png

將 BLDC 電機與 Arduino 接口的連接非常簡單。ESC 需要大約 12V 和 5A 的電源(最小值)。在本教程中,我使用RPS作為電源,但您也可以使用鋰聚合物電池為ESC供電。電調(diào)的三相線應(yīng)連接到電機的三相線,沒有順序連接這些電線,您可以按任何順序連接它們。

警告:有些電調(diào)上沒有連接器,在這種情況下,請確保您的連接牢固,并使用絕緣膠帶保護裸露的電線。由于會有高電流通過相位,任何短路都會導(dǎo)致電調(diào)和電機的永久性損壞。

ESC本身的BEC(電池消除器電路)將調(diào)節(jié)+5V,可用于為Arduino板供電。最后,為了設(shè)置 BLDC 電機的速度,我們還使用連接到 Arduino 的 A0 引腳的電位計

pYYBAGNsyXyAdf5UAACt03xci-I706.jpg

使用 Arduino 進行 BLDC 速度控制的程序

我們必須創(chuàng)建一個占空比從0%到100%的PWM信號,頻率為50Hz。應(yīng)使用電位計控制占空比,以便我們可以控制電機的速度。執(zhí)行此操作的代碼類似于控制伺服電機,因為它們還需要頻率為 50Hz 的 PWM 信號;因此,我們使用與Arduino相同的伺服庫。完整的代碼可以在本頁底部找到,下面我用小片段解釋代碼。如果您不熟悉Arduino或PWM,請首先將PWM與Arduino一起使用,并使用Arduino控制伺服。

PWM信號只能在硬件支持PWM的引腳上產(chǎn)生,這些引腳通常用~符號提及。在Arduino UNO上,引腳9可以生成PWM信號,因此我們將ESC信號引腳(橙色線)連接到引腳9,我們還使用以下行提到了相同的inn代碼

ESC.attach(9);

我們必須生成占空比從0%到100%變化的PWM信號。對于 0% 占空比,POT 將輸出 0V (0),對于 100% 占空比,POT 將輸出 5V (1023)。這里的電位器連接到引腳A0,因此我們必須使用模擬讀取功能從POT讀取模擬電壓,如下所示

int throttle = analogRead(A0);

然后我們必須將值從 0 到 1023 轉(zhuǎn)換為 0 到180,因為值 0 將產(chǎn)生 0% PWM,值 180 將產(chǎn)生 100% 占空比。任何高于 180 的值都沒有意義。因此,我們使用map函數(shù)將值映射到0-180,如下所示。

throttle = map(throttle, 0, 1023, 0, 180);

最后,我們必須將此值發(fā)送到伺服功能,以便它可以在該引腳上生成PWM信號。由于我們已將伺服對象命名為 ESC,因此代碼如下所示,其中可變油門包含 0-180 之間的值,以控制 PWM 信號的占空比

ESC.write(throttle);

Arduino BLDC 電機控制

根據(jù)電路圖進行連接,并將代碼上傳到Arduino并啟動ESC。確保已將 BLDC 電機安裝在某物上,因為電機在旋轉(zhuǎn)時會跳來跳去。一旦設(shè)置通電,您的 ESC 將發(fā)出歡迎音并繼續(xù)發(fā)出嗶嗶聲,直到油門信號在閾值限制內(nèi),只需從 0V 逐漸增加 POT,蜂鳴音就會停止,這意味著我們現(xiàn)在提供高于下限閾值的 PWM 信號,隨著您進一步增加,電機將開始緩慢旋轉(zhuǎn)。您提供的電壓越多,電機的速度就越快,最后當(dāng)電壓達到閾值上限以上時,電機將停止。然后,您可以重復(fù)該過程。

poYBAGNsyX-ACLcCAADvH1JYkuI363.jpg

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 無刷電機
    +關(guān)注

    關(guān)注

    58

    文章

    847

    瀏覽量

    45967
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6477

    瀏覽量

    187553
收藏 人收藏

    評論

    相關(guān)推薦

    如何去使用Arduino開發(fā)板和ESC控制無刷電機

    如何使用Arduino開發(fā)板和ESC控制無刷電機?使用Arduino開發(fā)板和ESC控制無刷電機
    發(fā)表于 06-26 07:53

    怎樣使用Arduino控制大疆GM6020無刷電機?

    怎樣使用Arduino控制大疆GM6020無刷電機?如何去編寫其代碼?
    發(fā)表于 07-20 08:40

    如何使用Arduino和ESC去控制無刷電機?

    無刷電機的工作原理是什么?如何使用Arduino和ESC去控制無刷電機?
    發(fā)表于 07-21 06:13

    Arduino控制舵機的方法有哪幾種?。?/a>

    什么是舵機?用Arduino控制舵機的方法有哪幾種?。糠謩e有什么優(yōu)點?Arduino是如何控制無刷電機的?
    發(fā)表于 07-21 06:36

    無刷電機驅(qū)動與控制及智能控制技術(shù)

    無刷電機控制元器件無刷電機控制系統(tǒng)的電路輸出功率不大,驅(qū)動電動設(shè)備的電樞系統(tǒng)也并不復(fù)雜,并受控于控制電路。
    發(fā)表于 11-30 17:36 ?1093次閱讀

    怎樣使用Arduino控制無刷電機

    首先將無刷電機的三個端子連接到在ESC的三個端子上,用類似的方法將電機擰到一塊厚木板上,以使其在高RPM時保持穩(wěn)定。使用USB電纜將頁面底部的可用代碼下載并刷新到arduino(說明代碼在此頁的另一
    的頭像 發(fā)表于 09-29 17:47 ?2.2w次閱讀

    直流無刷電機方波控制

    方波直流無刷電機轉(zhuǎn)子位置傳感器和控制器比較簡單、體積小、控制成本低,在直流無刷電機中占有很高的比例。控制器的產(chǎn)量很大,特別是電動自行車的
    發(fā)表于 05-11 09:46 ?3477次閱讀

    直流無刷電機控制原理

    直流無刷電機控制原理(通信電源技術(shù)規(guī)范書)-? 直流無刷電機控制原理,一本很經(jīng)典的書籍,希望對設(shè)計直流電機
    發(fā)表于 09-23 13:28 ?188次下載
    直流<b class='flag-5'>無刷電機</b><b class='flag-5'>控制</b>原理

    無刷電機常見故障 無刷電機控制器壞了怎樣維修

    無刷電機控制器(也稱為驅(qū)動器)是控制無刷電機正常運行的關(guān)鍵部件,如果控制器壞了,無刷電機就不能正
    發(fā)表于 03-08 16:44 ?1.7w次閱讀

    無刷電機的好處 無刷電機壽命

    和電刷不接觸,所以無刷電機的壽命更長。相比之下,有刷電機的電刷會消耗,會導(dǎo)致電機壽命變短。   更精準(zhǔn)的控制無刷電機是通過電子
    發(fā)表于 03-16 16:00 ?6927次閱讀

    Arduino無刷電機控制教程

    在本教程中,我們將學(xué)習(xí)如何使用 Arduino 和 ESC 控制無刷電機。如果您想了解更多 BLDC 電機的工作原理,您可以查看另一篇文章或觀看以下視頻,其中包含
    發(fā)表于 05-05 11:34 ?2次下載
    <b class='flag-5'>Arduino</b><b class='flag-5'>無刷電機</b><b class='flag-5'>控制</b>教程

    無刷電機諧波怎么調(diào) 無刷電機為什么要電調(diào)

    無刷電機諧波怎么調(diào) 無刷電機為什么要電調(diào)? 無刷電機諧波調(diào)節(jié)原理詳解 無刷電機是一種通過電子調(diào)速器來控制
    的頭像 發(fā)表于 12-20 16:00 ?1985次閱讀

    無刷電機正反轉(zhuǎn)由什么控制

    無刷電機(Brushless DC Motor, BLDC)是一種沒有電刷的電機,它通過電子換向器來控制電流的流向,從而實現(xiàn)電機的轉(zhuǎn)動。無刷電機
    的頭像 發(fā)表于 09-03 14:14 ?852次閱讀

    其利天下技術(shù)·低速無刷電機如何更好的控制?無刷電機驅(qū)動方案開發(fā)

    需要低速運轉(zhuǎn)的無刷電機經(jīng)常運用在電動車、機器人關(guān)節(jié)、醫(yī)療設(shè)備等場景。最近有客戶找到我們開發(fā)無刷電機驅(qū)動方案,他的需求是低轉(zhuǎn)速,而且需要精準(zhǔn)控制電流。經(jīng)常開發(fā)無刷電機驅(qū)動方案的工程師都知
    的頭像 發(fā)表于 09-09 11:50 ?616次閱讀
    其利天下技術(shù)·低速<b class='flag-5'>無刷電機</b>如何更好的<b class='flag-5'>控制</b>?<b class='flag-5'>無刷電機</b>驅(qū)動方案開發(fā)

    無刷電機控制方案設(shè)計合作

    無刷電機控制應(yīng)用包含:電動工具風(fēng)機,水泵,家電變頻電機,自動化設(shè)備領(lǐng)域等。無刷電機控制方案代開發(fā)設(shè)計,
    發(fā)表于 09-26 11:46 ?22次下載