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

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

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

樹莓派和L293D的直流電動(dòng)機(jī)控制

454398 ? 來源:wv ? 作者:快科技 ? 2019-09-26 10:44 ? 次閱讀

步驟1:材料和工具

樹莓派和L293D的直流電動(dòng)機(jī)控制

材料

Raspberry Pi 3(RPi)

L293D控制IC

面包板

跳線電線,公對公(M/M)和母對公(F/M)

直流電動(dòng)機(jī)

9v電池

**在此項(xiàng)目中,必須訪問Raspberry Pi桌面??梢酝ㄟ^將監(jiān)視器,鍵盤和鼠標(biāo)插入RPi或使用SSH連接來完成。**

該項(xiàng)目無需任何工具,因?yàn)檫@些連接都不是永久性的,無需使用跳線和面包板。如果要制作永久的,更耐用的版本,只需用烙鐵和一些導(dǎo)線進(jìn)行相同的連接即可。

步驟2:背景信息。

**這是所有背景信息。如果您不關(guān)心如何完成此操作,而只是想在不學(xué)習(xí)的情況下進(jìn)行操作,請?zhí)恋?步。**

在此項(xiàng)目中,我們使用的是python腳本Raspberry Pi可將GPIO輸出設(shè)置為L293D電機(jī)控制器IC,并以任意速度在任一方向上運(yùn)行DC電機(jī)。

首先, Raspberry Pi是具有40個(gè)GPIO引腳的開源信用卡大小的計(jì)算機(jī)。 GPIO代表“通用輸入/輸出”,這意味著這些引腳可以發(fā)送電信號來驅(qū)動(dòng)硬件或接收它們并讀取傳感器數(shù)據(jù)。我們將它們用作輸出,以將信號發(fā)送到L293D IC芯片,該芯片只是用于控制直流電動(dòng)機(jī)的芯片。沒什么特別的。

Python是一種計(jì)算機(jī)編程語言,可與Javascript或C ++相提并論。我們將使用非常簡單的python命令,不需要任何計(jì)算機(jī)編程知識(shí)。

控制電動(dòng)機(jī)速度的方法是使用稱為PWM的python模塊。代表脈沖寬度調(diào)制。 PWM的意思是通過在高電平和低電平之間切換設(shè)定的時(shí)間量來控制電壓接通的時(shí)間量。電壓高的時(shí)間稱為“占空比”或“占空比”,無論該百分比是電動(dòng)機(jī)運(yùn)行的功率百分比。

要查看PWM作為輸出的外觀,請參考上圖。

L293D電機(jī)IC使用兩個(gè)引腳(稱為輸入)感測所需的輸出方向,以及另一個(gè)引腳(使能)感測開/關(guān)。因此,在我們的代碼中,在使能引腳為ON的情況下,如果我們希望電動(dòng)機(jī)正轉(zhuǎn),則將輸入1設(shè)置為“ True”或“ HIGH”,將輸入2設(shè)置為“ False”或“ LOW”。如果希望它向后旋轉(zhuǎn),我們將輸入1設(shè)置為“ False”或“ LOW”,將輸入2設(shè)置為“ True”或“ HIGH”。如果兩個(gè)輸入均為True或均為False,則電動(dòng)機(jī)將不會(huì)運(yùn)行。

這就是我們控制方向的方式,但是速度呢?我們說的是PWM對嗎?因此,我們將僅對兩個(gè)輸入進(jìn)行脈寬調(diào)制,對嗎?我們可以,但是太復(fù)雜了。由于IC具有一個(gè)使能引腳來控制其開/關(guān)狀態(tài)的Enable引腳,因此我們可以將兩個(gè)輸入都保持為運(yùn)行狀態(tài),而僅調(diào)制Enable引腳,并且IC只會(huì)根據(jù)我們在Enable引腳中設(shè)置的占空比來輸出功率。這樣,我們可以簡化代碼,減少出錯(cuò)的地方。

因此,在Raspberry Pi上,我們將在GPIO板上使用3個(gè)GPIO輸出引腳,一個(gè)3.3V電源和一個(gè)一根接地針。輸出引腳中的2個(gè)用于IC上的輸入,一個(gè)用于使能。

現(xiàn)在我們知道會(huì)發(fā)生什么,現(xiàn)在該開始進(jìn)行接線了。

步驟3:硬件設(shè)置

上面的圖片可能看起來像是混亂的電線,但不要擔(dān)心。

首先要做的是將L293D芯片放在試驗(yàn)板上。面包板的中間應(yīng)有一個(gè)縫隙,如一個(gè)縫隙,并且IC芯片應(yīng)將其一半左右的引腳很好地跨在上面,因此它與板平行。

接下來,這很重要將電線插入正確的面包板插槽,因此我建議對電線進(jìn)行顏色編碼。我將紅色用于正極電源連接,將黑色用于負(fù)極電源連接(接地),將藍(lán)色用于RPi的輸入,將橙色用于電動(dòng)機(jī)的輸出。

您可能會(huì)注意到有兩套電源線。這是因?yàn)橹绷麟妱?dòng)機(jī)應(yīng)至少在9V和400mA的電流下運(yùn)行,而電動(dòng)機(jī)控制IC的電壓應(yīng)在5V或3.3V且小于20mA。因此,在這種設(shè)置中,IC芯片需要3.3V的電源,并通過接地(負(fù)電源插頭)連接到RPI。然后它還具有9V的電源和來自電池的接地,然后通過芯片將其路由到電動(dòng)機(jī)。 重要提示:請勿嘗試從RPi汲取9V和400mA電流或通過IC芯片運(yùn)行9V。這可能會(huì)損壞RPi和/或L293D。為確保將電壓路由到正確的引腳,請使用上圖。

要知道IC芯片的哪一端,請?jiān)谂c上圖相對應(yīng)的一端尋找一個(gè)小半圓缺口。

現(xiàn)在,您擁有L293D IC在面包板上,首先我們將M/F跳線連接到RPi。因此,在面包板上,將跳線的公端放入旁邊的插槽中:Vss,Enable 1,Input 1,Input 2和左側(cè)的GND引腳。應(yīng)該有5根電線準(zhǔn)備連接到RPi。有關(guān)引腳號,請參見上圖?,F(xiàn)在,將電線從Vss(我希望您將其變成紅色)連接到Pi或1號針上的5V電源。接下來,將GND跳線(再次希望是黑色的)連接到GND引腳或引腳6。之后,將輸入1跳線連接到GPIO2或引腳#3。然后將跳線從輸入2連接到GPIO3或引腳5。最后,將Enable 1跳線連接到GPIO4或引腳7。到了,再也沒有M/F跳線了!到一半了!

所以,現(xiàn)在抓住M/M跳線。其中之一應(yīng)從IC的Vs引腳到9V的正端。有很多方法可以將其保留在電池上,但是只要金屬兩端牢固接觸,膠帶就可以使用。用黑色M/M跳線將電池的負(fù)極端連接到IC的另一個(gè)GND引腳。最后,只需將IC上的兩個(gè)輸出引腳連接到電動(dòng)機(jī)的兩端即可!而已!現(xiàn)在,一切都按照所需的方式進(jìn)行了布線,不再需要任何硬件工作。上軟件。

步驟4:軟件設(shè)置

首先,我們需要在Pi上打開一個(gè)程序來編寫代碼。我們將使用IDLE 2,因此請轉(zhuǎn)到桌面的左上角,依次單擊“菜單”,“編程”和“ Python 2(IDLE)”。您應(yīng)該看到帶有未命名文檔的空白文本編輯器。

我們需要做的第一件事是導(dǎo)入GPIO模塊。因此,在第一行中,準(zhǔn)確鍵入對CaSe敏感的

import RPi.GPIO as GPIO

這將導(dǎo)入GPIO模塊

下一步,我們需要一個(gè)名為“ sleep”的命令,因此編寫

from time import sleep

下一步,我們需要命名所有引腳,因此通過寫入設(shè)置命名模式

GPIO.setmode(GPIO.BOARD)

,這會(huì)將名稱設(shè)置為電路板模式,從而只需根據(jù)上圖中間的數(shù)字命名引腳。

現(xiàn)在我們需要將引腳設(shè)置為輸出,所以現(xiàn)在寫

GPIO.setup(03, GPIO.OUT) GPIO.setup(05, GPIO.OUT) GPIO.setup(07, GPIO.OUT)

現(xiàn)在設(shè)置pwm命令類型

pwm=GPIO.PWM(07, 100)

下一步以0占空比啟動(dòng)脈沖寬度調(diào)制,因此它尚未運(yùn)行

pwm.start(0)

其余代碼根據(jù)我們想要的方式而變化運(yùn)行馬達(dá)。對于第一遍,我們將在代碼中設(shè)置預(yù)定義的指令。稍后,我將說明如何編寫代碼,讓您輸入所需的方向,任務(wù)和持續(xù)時(shí)間。

因此,到目前為止,我們將編寫一個(gè)代碼,該代碼以50%的功率向前運(yùn)行2秒,然后以75%的功率向后運(yùn)行3秒。

首先,要設(shè)置向前寫入的方向

GPIO.output(03, True) GPIO.output(05, False)

現(xiàn)在,我們將PWM占空比設(shè)置為50%。寫入

pwm.ChangeDutyCycle(50)

然后打開使能引腳

GPIO.output(07, True)

然后將代碼休眠2秒鐘,以便電動(dòng)機(jī)運(yùn)行

sleep(2)

現(xiàn)在關(guān)閉使能引腳

GPIO.output(07, False)

然后反轉(zhuǎn)輸入以將其設(shè)置為反轉(zhuǎn)

GPIO.output(03, False) GPIO.output(05, True)

然后將PWM占空比更改為75%

pwm.ChangeDutyCycle(75)

,然后重新啟用啟用功能

GPIO.output(07, True)

使代碼休眠3秒鐘

sleep(3)

然后再關(guān)閉使能引腳

GPIO.output(07, False)

停止脈沖

pwm.stop()

并清除所有GPIO通道。

GPIO.cleanup()

就是這樣!現(xiàn)在,您有了一個(gè)代碼,它將使電動(dòng)機(jī)以50%的速度向前運(yùn)轉(zhuǎn)2秒,然后以75%的速度向后運(yùn)轉(zhuǎn)3秒。按F5,然后保存以測試您的代碼!

*注意:您可能會(huì)收到一條錯(cuò)誤消息,指出所選的GPIO通道已在使用中。這不會(huì)影響您的項(xiàng)目,您可以通過在代碼中寫入“ GPIO.setwarnings(False)”來使警告停止出現(xiàn)。*

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

    關(guān)注

    7

    文章

    196

    瀏覽量

    23063
  • L293D
    +關(guān)注

    關(guān)注

    4

    文章

    50

    瀏覽量

    20200
  • 樹莓派
    +關(guān)注

    關(guān)注

    118

    文章

    1716

    瀏覽量

    106122
收藏 人收藏

    評論

    相關(guān)推薦

    直流電機(jī)

    直流電機(jī)(direct current machine)是指能將直流電能轉(zhuǎn)換成機(jī)械能(直流電動(dòng)機(jī))或?qū)C(jī)械能轉(zhuǎn)換成直流電能(直流發(fā)電機(jī))的旋
    發(fā)表于 02-27 01:06

    電磁式直流電動(dòng)機(jī)是什么?它具有什么特點(diǎn)?

    電磁式直流電動(dòng)機(jī)是一種將電能轉(zhuǎn)換為機(jī)械能的設(shè)備,它利用電磁力來驅(qū)動(dòng)轉(zhuǎn)子旋轉(zhuǎn)。這種電動(dòng)機(jī)廣泛應(yīng)用于各種工業(yè)和民用領(lǐng)域,如機(jī)床、電動(dòng)車輛、家用電器等。 一、工作原理 電磁式直流電動(dòng)機(jī)的工作
    的頭像 發(fā)表于 10-23 10:35 ?534次閱讀

    直流電動(dòng)機(jī)基本構(gòu)造是什么?分類有哪些?

    直流電動(dòng)機(jī)是一種將直流電能轉(zhuǎn)換為機(jī)械能的裝置。它廣泛應(yīng)用于各種工業(yè)、交通、家庭等領(lǐng)域。直流電動(dòng)機(jī)的基本構(gòu)造和分類如下: 基本構(gòu)造 直流電動(dòng)機(jī)主要由以下幾部分組成: a) 定子:定子是
    的頭像 發(fā)表于 10-22 10:15 ?702次閱讀

    無刷直流電動(dòng)機(jī)調(diào)速的實(shí)現(xiàn)

    無刷直流電動(dòng)機(jī)(Brushless DC Motor, BLDC)的調(diào)速實(shí)現(xiàn)是一個(gè)復(fù)雜而精細(xì)的過程,它依賴于先進(jìn)的電子技術(shù)和控制策略。以下將從無刷直流電動(dòng)機(jī)的基本原理、調(diào)速方法、控制
    的頭像 發(fā)表于 08-26 14:44 ?1290次閱讀

    使用L293D電機(jī)驅(qū)動(dòng)器控制直流電機(jī)

    直流電機(jī)是指能將直流電能轉(zhuǎn)換成機(jī)械能(直流電動(dòng)機(jī))或?qū)C(jī)械能轉(zhuǎn)換成直流電能(直流發(fā)電機(jī))的旋轉(zhuǎn)電機(jī)。當(dāng)
    的頭像 發(fā)表于 06-21 15:55 ?1996次閱讀
    使用<b class='flag-5'>L293D</b>電機(jī)驅(qū)動(dòng)器<b class='flag-5'>控制</b><b class='flag-5'>直流電</b>機(jī)

    直流電動(dòng)機(jī)的工作特性

    直流電動(dòng)機(jī)作為現(xiàn)代工業(yè)中廣泛應(yīng)用的重要設(shè)備,其工作特性直接關(guān)系到設(shè)備的性能和使用效果。直流電動(dòng)機(jī)的工作特性主要包括額定工作狀態(tài)下負(fù)載電流、電壓、功率因數(shù)、效率等參數(shù)的變化情況,以及電機(jī)的啟動(dòng)、調(diào)速、制動(dòng)等操作特性。本文將對直流電動(dòng)機(jī)
    的頭像 發(fā)表于 06-21 11:18 ?1281次閱讀

    直流電動(dòng)機(jī)與三相異步電動(dòng)機(jī)的區(qū)別

    電動(dòng)機(jī)作為現(xiàn)代工業(yè)自動(dòng)化的基石,其種類繁多,各具特色。其中,直流電動(dòng)機(jī)和三相異步電動(dòng)機(jī)是兩類廣泛應(yīng)用的電動(dòng)機(jī)類型。它們在結(jié)構(gòu)、工作原理、性能特點(diǎn)及應(yīng)用領(lǐng)域等方面均有所不同。本文將對這兩
    的頭像 發(fā)表于 06-18 17:14 ?2942次閱讀

    直流電動(dòng)機(jī)定子的作用及其重要性

    在電機(jī)技術(shù)領(lǐng)域,直流電動(dòng)機(jī)以其獨(dú)特的運(yùn)行方式和廣泛的應(yīng)用場景,成為了工業(yè)、交通、家電等領(lǐng)域不可或缺的重要?jiǎng)恿υ?。而?b class='flag-5'>直流電動(dòng)機(jī)中,定子作為其關(guān)鍵組成部分,發(fā)揮著至關(guān)重要的作用。本文將深入探討直流電動(dòng)機(jī)定子的作用,以及其對于
    的頭像 發(fā)表于 06-14 11:50 ?2659次閱讀

    直流電動(dòng)機(jī)的勵(lì)磁方式有哪些

    直流電動(dòng)機(jī)作為電力傳動(dòng)的重要組成部分,廣泛應(yīng)用于各種工業(yè)、交通和家用電器中。其性能的穩(wěn)定性和運(yùn)行效率直接影響到整個(gè)系統(tǒng)的運(yùn)行效果。而直流電動(dòng)機(jī)的勵(lì)磁方式,作為影響其性能的關(guān)鍵因素之一,一直以來都是
    的頭像 發(fā)表于 06-14 11:02 ?2556次閱讀

    直流電動(dòng)機(jī)的構(gòu)造與特點(diǎn)

    直流電動(dòng)機(jī),作為一種將直流電能轉(zhuǎn)換為機(jī)械能的裝置,在現(xiàn)代工業(yè)、交通和家用電器等領(lǐng)域有著廣泛的應(yīng)用。其獨(dú)特的構(gòu)造和優(yōu)異的性能特點(diǎn),使其成為電動(dòng)機(jī)領(lǐng)域中的重要一員。本文將詳細(xì)探討直流電動(dòng)機(jī)
    的頭像 發(fā)表于 06-14 11:00 ?1583次閱讀

    并勵(lì)直流電動(dòng)機(jī)勵(lì)磁繞組與什么并聯(lián)

    并勵(lì)直流電動(dòng)機(jī)是一種常見的直流電動(dòng)機(jī)類型,其勵(lì)磁繞組與電樞繞組并聯(lián)。在這篇文章中,我們將詳細(xì)探討并勵(lì)直流電動(dòng)機(jī)的工作原理、勵(lì)磁繞組與電樞繞組的并聯(lián)方式以及并勵(lì)直流電動(dòng)機(jī)的應(yīng)用。 一、并
    的頭像 發(fā)表于 06-13 16:42 ?1990次閱讀

    無刷直流電動(dòng)機(jī)的故障模式

    無刷直流電動(dòng)機(jī)(Brushless DC Motor, BLDC)作為一種高效、低噪音的電動(dòng)機(jī)類型,在工業(yè)自動(dòng)化、電動(dòng)汽車、航空航天等領(lǐng)域得到了廣泛應(yīng)用。然而,由于其復(fù)雜的結(jié)構(gòu)和運(yùn)行機(jī)制,無刷
    的頭像 發(fā)表于 06-12 17:00 ?1228次閱讀

    直流電動(dòng)機(jī)降低轉(zhuǎn)速常用哪幾種方法

    直流電動(dòng)機(jī)是一種常見的電動(dòng)機(jī),廣泛應(yīng)用于工業(yè)、交通、航空等領(lǐng)域。在實(shí)際應(yīng)用中,有時(shí)需要根據(jù)需要調(diào)整直流電動(dòng)機(jī)的轉(zhuǎn)速。本文將詳細(xì)介紹降低直流電動(dòng)機(jī)轉(zhuǎn)速的幾種常用方法。 改變電樞電壓 改變
    的頭像 發(fā)表于 06-12 15:45 ?2499次閱讀

    有刷直流電動(dòng)機(jī)的轉(zhuǎn)子類型有哪些

    有刷直流電動(dòng)機(jī)(Brushed DC Motor)是一種常見的直流電動(dòng)機(jī),其主要特點(diǎn)是在電機(jī)的轉(zhuǎn)子和定子之間通過電刷和換向器實(shí)現(xiàn)電流的切換。有刷直流電動(dòng)機(jī)的轉(zhuǎn)子類型主要有以下幾種: 波繞組轉(zhuǎn)子
    的頭像 發(fā)表于 06-12 15:42 ?975次閱讀

    無刷直流電動(dòng)機(jī)故障模式仿真及試驗(yàn)驗(yàn)證研究

    無刷直流電動(dòng)機(jī)是一個(gè)由電動(dòng)機(jī)本體、電子換向電路以及轉(zhuǎn)子位置傳感器組成的系統(tǒng),其中電子換向電路由逆變電路和控制電路組成。
    的頭像 發(fā)表于 04-28 15:48 ?753次閱讀
    無刷<b class='flag-5'>直流電動(dòng)機(jī)</b>故障模式仿真及試驗(yàn)驗(yàn)證研究