通過使用Raspberry Pi成功控制直流電機,我們可以將它用于各種其他應用,如機器人,遙控(RC)汽車,風扇和其他相關的電機這個項目的目的是將電機安全地連接到Raspberry Pi并控制它,即使其向前或向后旋轉。
注意 :我將在這個項目中使用電機驅動器,最多可以處理兩個電機。因此,可以單獨控制兩臺電機。
在繼續這個項目之前,先了解 如何設置沒有監視器的Raspberry Pi和鍵盤
使用Raspberry Pi控制直流電機的主要原理在于電機驅動器。電機驅動器是一種特殊電路或IC,可為電機提供必要的電源(或更確切地說是電流),以實現平穩安全的運行。
即使是小型5V直流電機也可以初始電流約為300 - 400 mA。當電機加速到大約時,該電流將下降150 - 200 mA。
對于微控制器,Arduino,Raspberry Pi等設備而言,這是一個巨大的潮流。因此,我們不應該將電機直接連接到Raspberry Pi(或任何其他微控制器)。
電機驅動器在這種情況下起著重要作用。它們從Raspberry Pi獲取控制信號,并通過電源為電機提供必要的驅動電流。
在這個項目中,電機驅動器(L293D)有兩個通過GPIO引腳控制來自Raspberry Pi的信號。根據Python程序,電機將正向或反向旋轉。
電路圖
Fritzing Image
正如我之前所說,使用L293D電機驅動器IC,我們實際上可以控制兩臺電機。為簡單起見,我將演示使用Raspberry Pi控制單個直流電機的電路,工作和程序。下圖是項目的Fritzing圖。
電路圖
項目的電路接線圖如下所示。您可以輕松配置此電路以及使用Raspberry Pi和L293D電機驅動器IC控制兩個直流電機的程序。
必需的組件
Raspberry Pi 3 B型
L293D電機驅動器IC或模塊
小型直流電機(5V)
連接線(跳線)
用于Raspberry Pi的5V - 2A電源
用于電機的5V電源
其他(計算機,以太網)電纜等。)
關于L293D電機驅動器IC的簡要說明
我使用L293D電機驅動器IC來控制帶Raspberry Pi的直流電機。它是一種非常常見的電機驅動器IC,能夠驅動兩個電機,單個電流高達600mA。
L293D電機驅動器IC的引腳圖,以及引腳說明如下圖所示。
使用Raspberry Pi控制直流電機的電路設計非常簡單。首先,將L293D的引腳8和16(VCC2和VCC1)連接到外部5V電源(假設您使用的是5V電機)。
L293D上有四個接地引腳。將引腳4連接到電源的GND。另外,將L293D的接地引腳連接到Raspberry Pi的GND引腳。
最后,我們有使能和控制輸入引腳。將L293D(1,2EN)的引腳1連接到Raspberry Pi的GPIO25(物理引腳22)。然后將控制輸入引腳2和7(1A和2A)分別連接到GPIO24(物理引腳18)和GPIO23(物理引腳16)。
可選:如果要連接第二個電機,你需要連接的是啟用(3,4EN)和第二個電機控制輸入(3A和4A)到Raspberry Pi的三個不同的GPIO引腳。
還閱讀這個簡單的項目: 如何使用Raspberry Pi和Python使LED閃爍
Python程序用Raspberry Pi控制直流電機
項目工作和代碼說明
如何操作項目?
打開電源之前供電,確保所有與電機,電源和Raspberry Pi相關的連接都是正確的。對于編程,我將使用Python。
現在,在Raspberry Pi中打開終端并使用Vim Editor和以下內容創建一個新的Python文件“dcmotorPi.py”命令。
sudo vim dcmotorPi.py
將上述程序復制并粘貼到編輯器中并保存文件。 注意 :我已將Python程序保存在Raspberry Pi桌面上名為Python_Progs的文件夾中。現在,為了運行程序,在終端中輸入以下命令。
sudo python dcmotorPi.py
電機現在將向前旋轉3秒鐘,然后反向旋轉3秒鐘,最后停止。幾秒鐘后,該過程將繼續,直到在終端中按下 CRTL + C 。
代碼說明
如果您已經按照我之前關于如何使用Raspberry Pi閃爍LED并使用Raspberry Pi連接16 x 2 LCD的項目,您可以輕松理解此代碼。
首先,我們需要使用Python訪問GPIO引腳。因此,我們需要將模塊RPi.GPIO導入到我們的程序中。同樣,模塊時間允許我們使用其功能睡眠暫停程序一段預定義的時間。
現在,我為L293D電機驅動器IC分配了引腳(啟用和兩個控制輸入)。此外,引腳模式設置為GPIO編號格式。
現在,所有引腳都被聲明為輸出。正向旋轉時,使能引腳變為高電平,控制輸入1A變為高電平,另一個控制輸入1B變為低電平。
延遲三秒后,控制輸入1A變為低電平,控制輸入1B變為高電平,同時保持使能引腳為高電平。這將使電機反向旋轉。
最后,在延遲三秒后,電機將停止旋轉并停止。重復此過程,直到我們在終端中按CTRL + C.
應用程序
直流電機隨處可見:機器人,無人駕駛飛機,遙控車等。通過使用Raspberry Pi控制直流電機,我們可以使用Raspberry Pi開發許多與電機相關的項目。
可用于基于Raspberry Pi的機器人應用,如線跟隨機器人,障礙避免機器人,四軸飛行器,網絡控制機器人等。
-
直流電機
+關注
關注
36文章
1735瀏覽量
71807 -
樹莓派
+關注
關注
121文章
2007瀏覽量
107467
發布評論請先 登錄
單片機直流電機調速原理
浮思特 | 無刷電機與有刷直流電機的區別是什么,該如何選擇?

評論