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

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

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

如何實現(xiàn)直流電機的非常精確的位置控制

單片機 ? 來源:單片機 ? 2020-05-14 09:35 ? 次閱讀

總覽

在這篇文章中,我們將看到如何實現(xiàn)直流電機的非常精確的位置控制。我們使用ArduinoPID計算來實現(xiàn)簡單直流電機的精確位置控制。

這樣的小項目非常有趣,您可以通過構(gòu)建該項目來學習許多概念,例如PID,閉環(huán)系統(tǒng)和編碼器基礎(chǔ)。

首先,我想向您簡要介紹什么是PID,因為這將幫助您進一步了解這些內(nèi)容。

PID

PID代表比例微分和積分計算

PID是編程的一部分,在該部分上,控制器將執(zhí)行復雜的計算,并根據(jù)過程的反饋來操縱輸出。

PID有4個關(guān)鍵值:
1. PV(過程值)或反饋
2. SV(設(shè)定值)
3.錯誤
4.輸出

PID圖

PID的基本工作如下,我不想進行復雜的算術(shù)公式,因為我想保持簡單。

PID嘗試使PV盡可能接近SV。
誤差= SV-PV誤差是設(shè)定值與過程值之間的差值,
而輸出直接是誤差的先決條件,換句話說,如果誤差為正,則誤差為正,如果誤差為負,則輸出與正的差越大,輸出就越大。輸出為負。隨著PV越來越接近SV,誤差變得越來越小,因此輸出也越來越小,因此,我們獲得了干凈而精確的輸出。

這是一個真實的例子。

假設(shè)我告訴您,在直路上行駛1公里以下的不中斷汽車,因為您沒有間斷,因此油門就可以用來控制汽車,因此您上車時按住油門并加速一會兒,然后釋放油門減速并逐漸停在1公里處。
這就是您所做的全部,我們可以稱其為PID控制。PID知道如何在到達SP之前操縱輸出。

Kp,Ki,Kd是可以微調(diào)PID控制器的參數(shù),這些參數(shù)可以控制過沖下沖振蕩。

假設(shè)一個微控制器在沒有PID的情況下驅(qū)動汽車,它將啟動汽車并繼續(xù)加速直至到達1公里。

然后放開油門,使動車繼續(xù)行駛并逐漸停止,直至超過我們設(shè)定的1公里。

然后,微控制器再次使汽車反轉(zhuǎn),并在他回到1公里點時加速,再次釋放油門,同樣的事情由于動量而繼續(xù)向后移動,這樣的循環(huán)一次又一次地重復。

您可以想像,現(xiàn)在幾乎沒有控制器可以在沒有PID的情況下將汽車停在固定點

以下是了解PID平滑運動外觀的視覺效果。

這個怎么運作?

雙軸簡單直流齒輪電動機的一側(cè)與編碼器的軸連接,另一側(cè)與指針連接,該指針指向量角器上標記的角度,編碼器與中斷引腳上的arduino連接,并通過L293D電動機IC驅(qū)動直流電動機, HC-05模塊用于將我們的系統(tǒng)與android設(shè)備連接

當我們從android設(shè)備arduino發(fā)送角度設(shè)定值接收數(shù)據(jù)并運行電機時,編碼器將脈沖與要求匹配時,編碼器會按照預(yù)定義的計算將實時位置反饋發(fā)送到arduino,這意味著指針到達所需位置arduinuo在這種情況下停止直流電機。所有過程均由PID控制,以實現(xiàn)平穩(wěn),干凈的運動。

例如,在這里我們使用了一個光學編碼器,該編碼器可以提供1600躍遷脈沖以進行360度旋轉(zhuǎn),因此,如果我們想將指針旋轉(zhuǎn)到90度,那么來自編碼器的1600/360 x 90 = 400脈沖將告訴我們它移動了90度。

組件

我使用了一個簡單的BO電機,將光編碼器連接到其軸上,將360度量角器用作秤HC-05 bt模塊,用于連接arduino和android設(shè)備,并使用android手機運行android app發(fā)送角度設(shè)置指向arduino

以下是產(chǎn)品鏈接,以防萬一您需要購買

Arduino的

直流電動機

量角器

L293d IC

光學編碼器

我3d打印了一些土墩電機和編碼器零件,我也3d打印了指針,您可以在下面的鏈接中找到3D文件。
https://www.thingiverse.com/thing:3221695

光學編碼器

我在這里使用了一個400 ppr 2相增量式光學編碼器,該編碼器可以為每個演進提供1600平移的參考,意味著每個相位800個過渡,我們需要連接連接到A相和B相的上拉電阻,因為我們不能使引腳懸空以避免任何問題。干擾,在我們的案例中,我們使用的是arduino,它具有內(nèi)置的上拉電阻器功能,只需要從代碼中激活即可。

pinMode (encoderPin1,INPUT_PULLUP );

pinMode (encoderPin2,INPUT_PULLUP );

要了解有關(guān)編碼器的更多信息,請閱讀上期推文

電路圖

進行上圖所示的接線,編碼器綠色和白色導線必須連接到arduino的中斷引腳,即數(shù)字引腳2和3。

在這里,我使用了L293D H橋式電動機控制IC,它可以控制直流電動機。工作在5V至36V的電壓范圍內(nèi),它可以處理每個通道1A的電流,每個通道2A的峰值,必須將HC-05 BT模塊連接到arduino的串行引腳(TX,RX)引腳0和1。
我用了9V電池為電動機供電。

源代碼

在開始編碼之前,您必須先安裝一個PID庫(https://github.com/br3ttb/Arduino-PID-Library/archive/master.zip ),
該庫由br3ttb提供(https://github.com/br3ttb/Arduino-PID-Library),是一個出色的庫,它非常易于使用,并且可以使用。

如上面的視頻和圖像所示,首先我借助3D打印的聯(lián)軸器和3D打印的安裝支架連接編碼器和直流電動機,然后借助M3 X 10螺栓將安裝支架固定在編碼器上。

在支架I的另一側(cè)上,通過這種方式將直流電動機粘到直流編碼器軸上,直流編碼器軸與直流編碼器軸一起移動,并繼續(xù)向arduino提供位置參考

現(xiàn)在,我?guī)Я艘粋€大的360度保護器,并在中心鉆了一個孔,以便可以將其安裝在直流電動機軸上?,F(xiàn)在,我在電動機的另一軸上連接了3D打印指針,該指針指出了直流電動機軸的運動角度。

我有一塊可用的PCB,可以連接直流電動機,L293d IC和HC-05模塊,該PCB可以用作arduino uno屏蔽,可以直接安裝在Arduino UNO上。

一旦我們完成了所有組件的組裝,就可以運行該項目,因此我們需要一個android設(shè)備和android應(yīng)用,您可以從下面的鏈接下載android應(yīng)用和可編輯的.aia文件

always

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

    關(guān)注

    45

    文章

    3573

    瀏覽量

    133980
  • 直流電機
    +關(guān)注

    關(guān)注

    36

    文章

    1707

    瀏覽量

    70015
  • PID
    PID
    +關(guān)注

    關(guān)注

    35

    文章

    1469

    瀏覽量

    85192

原文標題:Arduino用PID控制直流電機定位旋轉(zhuǎn) - 【單片機教程-Arduino-PID】

文章出處:【微信號:aidanpianji,微信公眾號:單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何使用MOS管進行直流電機控制

    在現(xiàn)代電子技術(shù)中,直流電機因其高效、可控和可靠的特性而被廣泛應(yīng)用于各種工業(yè)和消費產(chǎn)品中。MOS管因其高速開關(guān)特性和低導通電阻成為控制直流電機的理想選擇。 MOS管的工作原理 MOS管是一種電壓
    的頭像 發(fā)表于 11-05 13:51 ?115次閱讀

    無刷直流電機是什么?它有什么特點?

    無刷直流電機(Brushless DC Motor,簡稱BLDC)是一種沒有電刷和換向器的電機,它通過電子方式實現(xiàn)換向。這種電機在許多應(yīng)用中非常
    的頭像 發(fā)表于 10-23 10:48 ?245次閱讀

    有刷直流電機是什么?有刷直流電機的工作原理是什么?

    有刷直流電機是一種常見的直流電機,它通過電刷和換向器來實現(xiàn)電流方向的改變,從而驅(qū)動電機旋轉(zhuǎn)。有刷直流電機具有結(jié)構(gòu)簡單、成本較低、
    的頭像 發(fā)表于 10-22 16:03 ?199次閱讀

    直流電機的應(yīng)用原理及控制原理是什么?

    直流電機(Direct Current Motor,簡稱DC Motor)是一種將直流電能轉(zhuǎn)換為機械能的電機。它廣泛應(yīng)用于各種工業(yè)和民用設(shè)備中,如電動車輛、機床、起重機、電梯、家用電器等。 一
    的頭像 發(fā)表于 10-22 14:23 ?148次閱讀

    直流電機有哪些型號?如何分類的?

    直流電機是一種將直流電能轉(zhuǎn)換為機械能的電機,廣泛應(yīng)用于各種工業(yè)、交通和家用電器等領(lǐng)域。直流電機的型號和分類方式多樣,可以根據(jù)不同的標準進行分類。以下是對
    的頭像 發(fā)表于 10-22 14:20 ?220次閱讀

    直流電機是什么 直流電機介紹及其工作原理

    直流電機(Direct Current Machine)是一種能夠實現(xiàn)直流電能與機械能互相轉(zhuǎn)換的旋轉(zhuǎn)電機。根據(jù)應(yīng)用場景的不同,直流電機既可以
    的頭像 發(fā)表于 10-18 15:09 ?380次閱讀

    直流電機速度控制器的組成和類型

      直流電機速度控制器是一種電子控制裝置,其主要功能是通過調(diào)節(jié)直流電機的輸入電壓、電流或其他相關(guān)參數(shù),實現(xiàn)
    的頭像 發(fā)表于 06-21 17:16 ?843次閱讀
    <b class='flag-5'>直流電機</b>速度<b class='flag-5'>控制</b>器的組成和類型

    PWM如何調(diào)節(jié)直流電機轉(zhuǎn)速

      PWM(脈寬調(diào)制)是一種廣泛應(yīng)用的電機調(diào)速技術(shù),尤其在直流電機控制中,PWM技術(shù)以其高效、精確和靈活的特點,成為電機速度
    的頭像 發(fā)表于 06-19 14:07 ?1532次閱讀

    直流電機正反轉(zhuǎn)的控制方式

    直流電機,作為一種將直流電能轉(zhuǎn)化為機械能的電動機,廣泛應(yīng)用于各種工業(yè)和民用領(lǐng)域。在實際應(yīng)用中,經(jīng)常需要實現(xiàn)直流電機的正反轉(zhuǎn),以滿足不同的工作需求。本文將詳細介紹
    的頭像 發(fā)表于 06-04 17:20 ?4067次閱讀

    無刷直流電機矢量控制技術(shù)詳解

    直流電機控制的核心技術(shù)之一,通過實現(xiàn)電機轉(zhuǎn)子位置和速度的精確
    的頭像 發(fā)表于 06-04 16:18 ?1359次閱讀

    永磁無刷直流電機控制方法

    永磁無刷直流電機(BLDCM)因其高效率、高功率密度、低維護成本等優(yōu)點,在電動汽車、航空航天、工業(yè)自動化等領(lǐng)域得到了廣泛應(yīng)用。為了充分發(fā)揮永磁無刷直流電機的性能,采用合適的控制方法至關(guān)重要。本文將詳細介紹永磁無刷
    的頭像 發(fā)表于 06-03 18:21 ?1198次閱讀

    直流電機控制器電路圖分享

    直流電機控制器是一種電子控制系統(tǒng),用于控制直流電機的轉(zhuǎn)速、轉(zhuǎn)向和扭矩等參數(shù),從而實現(xiàn)
    的頭像 發(fā)表于 02-04 15:52 ?7037次閱讀
    <b class='flag-5'>直流電機</b><b class='flag-5'>控制</b>器電路圖分享

    直流電機的勵磁是直流電嗎?直流電機勵磁的作用?

    直流電機的勵磁是直流電嗎?直流電機勵磁的作用?直流電機勵磁方式的區(qū)分? 直流電機的勵磁是直流電。
    的頭像 發(fā)表于 01-18 16:07 ?2766次閱讀

    直流電機控制電路的工作原理

    直流電機是一種將直流電能轉(zhuǎn)化為機械能的裝置,廣泛應(yīng)用于電動機、發(fā)電機等領(lǐng)域。直流電機控制電路是對直流電機
    的頭像 發(fā)表于 12-20 14:39 ?1627次閱讀

    直流電機emf怎么計算

    直流電機電動勢(emf)的計算涉及到一系列的物理和數(shù)學原理。在這篇文章中,我將詳細介紹直流電機電動勢的計算方法,包括電源電動勢、氣隙電動勢以及繞組電動勢。希望這篇文章能幫助您深入了解直流電機
    的頭像 發(fā)表于 12-15 15:30 ?2285次閱讀