如何使用樹莓派控制直流電機

2021-01-06 電子發燒友

通過使用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的機器人應用,如線跟隨機器人,障礙避免機器人,四軸飛行器,網絡控制機器人等。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 怎樣用樹莓派控制直流電機的方向和速度
    使用RPi控制直流電機 我們的下一個任務是使用樹莓派上的python腳本和GPIO頭控制直流電動機,這將在我們的腦海中產生一幅「機器人如何工作」的圖景。您可以根據外面的天氣來控制房間的風扇(因為您知道rpi會使用傳感器)。完成所有這些操作將使您了解機器人技術的基本規則。 我們將控制一個直流電動機,該電動機至少需要400mA的電流才能正常工作,但我們的RPi只能提供接近20mA的電流。這意味著我們必須在外部連接直流電源。這不成問題!我們在市場上有6V和9V的小型電池。
  • 如何控制直流電機及調速?
    控制直流電機,需要直流電機驅動,無非是控制電機正反轉和轉速。若是新手,不知道怎麼設計直流電機驅動電路,可以直接購買電機驅動模塊,市面上這種功能模塊非常多,比如L298N電機驅動模塊。▲L298N電機驅動模塊L298N支持控制雙路電機,具有A、B兩個通道。通過給IN1、IN2高低電平控制電機的狀態,其中ENA、ENB為使能端,低電平無效,高電平使能。
  • 淺析直流電機PWM控制原理及應用
    > 導 讀      直流電機(direct current machine)是指能將直流電能轉換成機械能(直流電動機)或將機械能轉換成直流電能(直流發電機)的旋轉電機。它是能實現直流電能和機械能互相轉換的電機。  Verilog HDL 之 直流電機PWM控制  一、實驗前知識準備  在上一篇中總結了步進電機的控制,這次我將學習一下直流電機的控制,首先,我們簡要了解下步進電機和直流電機的區別。
  • 怎樣用樹莓派和L298N電機驅動器模塊控制步進電機
    概述 如果您還記得以前的Raspberry Pi教程,我們已經看到如何使用RASPBERRY PI控制直流電機以及如何使用RASPBERRY PI控制伺服電機。 步進電機可以分為伺服電機和直流電機,因為您可以控制角度位置軸以及沿任一方向自由旋轉軸。
  • 無刷直流電機控制漫談,控制較為複雜,但精度高
    在微型直流電機應用中,有刷直流電機和無刷直流電機各佔據了半壁江山,有刷直流電機以低成本、控制簡單、扭矩大為特點,被廣泛應用,而無刷直流電機一直被認為成本高、控制複雜,那麼無刷直流電機控制到底有多複雜呢?下面天孚微電機來聊一聊無刷直流電機的控制。
  • 使用無傳感器技術的無刷直流電機的位置和速度控制及其應用趨勢
    除此之外,快速,持續改進功能強大且經濟的微處理器和數位訊號處理器(DSP)加快了無傳感器的發展 控制技術,無刷直流 (BLDC)電機廣泛應用於汽車領域空調壓縮機,發動機冷卻風扇,燃油/水泵等。無刷直流 (BLDC)電機是一種同步電機,它看起來就像直流電機,在電流與轉矩,電壓和轉速之間具有線性關係。
  • 樹莓派控制步進電機-TB6600-Java版本
    樹莓派通過脈衝寬度調製可以控制電機的速度。實際上在精度要求不是非常高的情況下,普通引腳也可以通過軟體模擬來控制電機,實現pwm一樣的功能。pwm功能可以控制直流電機的速度,同時,也可以控制步進電機的步數。
  • 直流電機是如何進行調速的?
    簡單的調整電壓,並不能滿足負載波動比較厲害的場合,所以引進了串級調速系統,通過檢測電機的電流和轉速,分別弄出電流環內環和速度環外環了,使用PID算法,有效的滿足了負載波動狀況下的調速,讓直流電機的調速工作特性非常「硬」,也就是最大轉矩不會受到轉速的波動而變化,實現了真正的恆扭矩輸出。這種調速方式,一直是交流調速系統的模仿對方,比如變頻器矢量控制,就是模仿這種方式而實現的。
  • 直流電機的工作原理是什麼?未來的電動車都會用直流電機嗎?
    當然,直流電機在其他領域中也有很多應用。最典型的就是在汽車上的應用,比如電動車窗,雨刮,還有混合電動車上的驅動電機等。當然,我們設計上,有時也用到直流有刷電機,因為控制簡單,成本低。無刷直流電機和有刷直流電機的主要區別在於,無刷電機電流的大小和方向是直接通過控制器來改變的。通常,定子有三組繞線,和控制電路相連,控制電路通過霍爾傳感器得知轉軸的位置,以此來判斷接下來哪幾相需要通電。控制系統不停地改變通電相,並改變電流大小,來實現不同扭矩的控制。
  • 直流電機與交流電機的區別差異,直流電機和交流電機的優缺點及調速...
    交流電機是由美籍塞爾維亞裔科學家尼古拉·特斯拉發明的。   直流電機(direct current machine)是指能將直流電能轉換成機械能(直流電動機)或將機械能轉換成直流電能(直流發電機)的旋轉電機。它是能實現直流電能和機械能互相轉換的電機。當它作電動機運行時是直流電動機,將電能轉換為機械能;作發電機運行時是直流發電機,將機械能轉換為電能。
  • 淺析無刷直流電機的控制和調速方法
    直流有刷電機結構直流電機是應用很早的電機。通電線圈在電機內永磁體或勵磁線圈產生的磁場作用下發生轉動。對於極對數為一,即含有一對磁極的電機來說,極間距為180°,而早期直流電機轉子為通電線圈,每半圈電流要進行一次換向。
  • 無刷直流電機詳解
    直流電機電流換向原理我們知道有刷直流電機的電流換向是需要通過換向器和電刷來完成的,但是無刷直流電機是沒有換向器和電刷的,那麼它是如何進行換向的呢?這是因為有專門電路來控制直流電機來控制各線圈電流的流動方向,這個換向電路的主要部件是場效應電晶體,可以理解為開關,這個開關的開合是由單片機來控制的,所以無刷直流電機既能用直流電,又不用電刷,這一過程稱為電子換向。
  • 12v微型直流電機調速控制方法
    12v微型電機應用非常廣泛,它調速控制方法非常多,下面為大家介紹一種簡單脈衝調速方法,電路圖如下所示我們可以用一個佔空比可調的脈衝振蕩器,微型直流電機通過它的脈衝輸出來驅動,脈衝的佔空比越大,微型直流電機電樞電流就越小,轉速就會越慢,反之脈衝佔空比越小,微型直流電機的電流就越大,
  • 為什麼大部分產品使用的是有刷直流電機?
    微型電機的應用非常廣,各種電動產品都少不了用到微型電機,在微型電機中,我們有無刷和有刷直流電機之分,而無刷電機的轉速、使用壽命都超過有刷直流電機。基本上有刷直流電機不需要電子控制裝置,只要在有刷直流電機與電源接上兩根電纜開關即可,能降低大量成本。
  • 基於ATmega8的直流電機PWM調速控制系統設計與實現
    本文引用地址:http://www.eepw.com.cn/article/162036.htm一、引言直流電機因具有良好的線性調速特性、效率高、控制簡單、調速性能好及體積小等優點得到了廣泛使用。常規電機調速控制方法中,電機工作不穩定,損耗較大,尤其在低電壓輕負荷時情況更為嚴重,且工作頻率受電源頻率的限制,難以滿足高精度的調速要求,不利於廣泛推廣[1]。
  • 直流變頻空調對15V控制電源的要求 直流變頻空調風扇電機
    直流變頻空調對15V控制電源的要求對15V控制電源的要求:    電源電壓的推薦範圍:15V±10%(13.5V~16.5V
  • 有刷直流減速電機與無刷直流減速電機的區別
    在直流電機中,可分為有刷直流電機與無刷直流電機,減速電機也是如些,在一些大扭矩的產品中,都需要用到直流減速電機,那麼有刷直流減速電機和無刷直流減速有哪些區別呢?從結構上來講,無論是有刷直流減速電機還是無刷直流減速電機都有轉子與定子,但是這兩種直流減速電機的結構是相反的,有刷直流減速電機的轉子是線圈披散糖芥不,與輸出軸相互連接,定子為永磁體。無刷直流減速電機就不同的,它的轉子是永磁體與外殼一起和輸出軸相連,繞組線圈為定子,而且沒有電機與換向器通過霍爾傳感器實現電子換向。
  • 有刷直流電機與無刷直流電機哪種力更大?
    微電機的力矩是一個重要的參考因素,直流電機有無刷電機和有刷電機之分,在同一型號的情況下,無刷電機的力是比有刷直流電機要大的。可以從直流電機的工作原來來看,有刷和無刷是基本相同的,主要區別是有刷直流電機是通過機械換向,而無刷直流電機是通過電子換向。所以說無刷直流電機的力會比有刷直流電機更大。無刷直流電機的特點:1. 體積小、重量輕、力矩大;2.
  • 直流電機在使用過程中接線接反了會有影響嗎?
    直流電機只要接線通上直流電就能轉動,非常方便,在各種產品中應用十分廣泛,只要是用電池(直流電)驅動的,就必定會使用到直流電機。前面說直流電機只需要接線通直流電就可以轉動,假如在接線過程中,把電源線接反了會如何呢?有人擔心直流電機會燒掉,當然對於了解直流電機的人都知道,不管正負極線有沒有接反,只要接入的直流電電壓在額定數值內就不會燒壞的,直流電機的繞組是由銅線繞製成的,通入直流電後,繞組就相當於一個電阻,電阻是沒有方向性的,這點相信大家都知道。
  • 有刷直流電機的使用壽命如何提升
    有刷直流微電機在各種產品應用中極為廣泛,如各類電動產品、玩具、航模等,但是有刷直流電機有一個缺點就是由於電刷與換向器的摩擦會導致微電機的使用壽命不長,以電動工具為例,一般連續使用幾十個小時,電刷就已經磨損完,電刷的壽命短會造成一些嚴重的後果,如因磨損下碳粉大量堆積在微電機內部,會導致絕緣被擊穿來燒毀馬達