樹莓派基礎(chǔ)實(shí)驗(yàn)34:L298N模塊驅(qū)動直流電機(jī)實(shí)驗(yàn)

一评肆、介紹

??直流電機(jī)是一種將直流電能轉(zhuǎn)換為機(jī)械能的電動機(jī),因其良好的調(diào)速性能而在電力拖動中得到廣泛應(yīng)用非区,用于驅(qū)動各種設(shè)備瓜挽,如電風(fēng)扇、遙控小車征绸、電動車窗等久橙,也非常適合作為機(jī)器人的行走機(jī)構(gòu)。

??L298N是ST公司生產(chǎn)的一種高電壓管怠、大電流電機(jī)驅(qū)動芯片淆衷,內(nèi)含兩個(gè)H橋的高電壓大電流全橋式驅(qū)動器,可以用來驅(qū)動直流電動機(jī)和步進(jìn)電動機(jī)渤弛、繼電器線圈等感性負(fù)載祝拯;采用標(biāo)準(zhǔn)邏輯電平信號控制;具有兩個(gè)使能控制端她肯。該芯片可以驅(qū)動一臺兩相步進(jìn)電機(jī)或四相步進(jìn)電機(jī)佳头,也可以驅(qū)動兩臺直流電機(jī)鹰贵。

二、組件

★Raspberry Pi 3主板*1

★樹莓派電源*1

★L(fēng)298N模塊*1

★DC3V-6V直流減速電機(jī)TT馬達(dá)*1

★微型數(shù)字直流電壓表頭*1(可選)

★18650可充電鋰電池*2

★面包板*1(可選)

★40P軟排線*1

★跳線若干

三康嘉、實(shí)驗(yàn)原理

L298N模塊
直流減速電機(jī)TT馬達(dá)
直流電壓表頭
18650可充電鋰電池串聯(lián)組

(一)砾莱、L298N模塊

L298N模塊解析圖

L298N雙H橋直流電機(jī)驅(qū)動模塊的引腳可以歸納成電源、控制和輸出等三大類凄鼻,下面是各類引腳的功能說明。

1.電壓類引腳

VCC輸入:L298N芯片的電源正極聚假,范圍可以是5V ~ 35V块蚌,如果需從模塊內(nèi)取電給樹莓派供電,則其范圍為7V~35V膘格。

GND:L298N芯片的電源地峭范,使用的時(shí)候應(yīng)該把樹莓派的GND接到這里,即兩者需要共地瘪贱,否則電機(jī)不轉(zhuǎn)纱控。

+5V輸出:L298N芯片輸出的5V電源,可以給外部設(shè)備供電菜秦,但要求VCC輸入要達(dá)到7V以上甜害。

2.控制類引腳

ENA、ENB:A球昨、B通道的使能端尔店,高電平有效,可以用PWM來實(shí)現(xiàn)調(diào)速主慰,向使能端輸入不同占空比的PWM脈沖信號就可以控制電機(jī)的轉(zhuǎn)速嚣州。使用時(shí),可以接到樹莓派的GPIO上共螺,實(shí)現(xiàn)用程序進(jìn)行控制该肴。

INA、INB藐不、INC匀哄、IND:INA、INB為A通道的控制輸入佳吞,INC拱雏、IND為B通道的控制輸入。

控制方式及直流電機(jī)狀態(tài)表如下:


控制方式及直流電機(jī)狀態(tài)表
3.輸出類引腳

OUTA底扳、OUTB為A通道輸出铸抑,為直流電機(jī)等設(shè)備提供電源。

OUTC衷模、OUTD為B通道輸出鹊汛,為直流電機(jī)等設(shè)備提供電源蒲赂。

控制直流電機(jī)的轉(zhuǎn)向和轉(zhuǎn)速實(shí)際是通過給控制類引腳設(shè)置不同的值來實(shí)現(xiàn)的

L298N模塊參數(shù)

(二)、直流減速電機(jī)

在了解直流電機(jī)工作原理之前刁憋,先復(fù)習(xí)一下高中幾個(gè)物理知識:
第一.左手定則


左手定則

通電導(dǎo)線處于磁場中時(shí)滥嘴,所受安培力 F (或運(yùn)動)的方向、磁感應(yīng)強(qiáng)度B的方向 以及通電導(dǎo)體棒的電流I三者方向之間的關(guān)系的定律至耻。
簡而言之若皱,讓磁感線穿過手掌正面,手指方向?yàn)殡娏鞣较虺就牵竽粗阜较驗(yàn)楫a(chǎn)生磁力的方向

第二.右手定則


右手定則

右手定則走触,是產(chǎn)生感生電動勢,也是發(fā)電機(jī)的原理
讓磁感線穿過掌心疤苹,大拇指方向?yàn)檫\(yùn)動方向互广,手指方向?yàn)楫a(chǎn)生的電動勢方向。

1.直流電機(jī)的原理
直流電機(jī)工作原理

直流電機(jī)里邊固定有環(huán)狀永磁體卧土,電流通過轉(zhuǎn)子上的線圈產(chǎn)生安培力惫皱,當(dāng)轉(zhuǎn)子上的線圈與磁場平行時(shí),再繼續(xù)轉(zhuǎn)受到的磁場方向?qū)⒏淖冇容海虼舜藭r(shí)轉(zhuǎn)子末端的電刷跟轉(zhuǎn)換片交替接觸旅敷,從而線圈上的電流方向也改變,產(chǎn)生的洛倫茲力方向不變缝裁,所以電機(jī)能保持一個(gè)方向轉(zhuǎn)動扫皱。

2.直流電機(jī)的種類

2.1有刷電機(jī)
顧名思義,就是有刷子捷绑,主要作用就是讓中間的轉(zhuǎn)子與電源有電氣連接韩脑,還可以轉(zhuǎn)動。


有刷電機(jī)原理

為了讓兩者之間既有接觸粹污,能導(dǎo)電段多;又有轉(zhuǎn)動,實(shí)現(xiàn)電流的變相壮吩,一般的常見做法是在碳刷加一個(gè)彈簧进苍。這樣,換向器與碳刷便有了頻繁的摩擦鸭叙。所以碳刷很容易磨損觉啊,必須經(jīng)常進(jìn)行更換。并且磨損掉的碳渣渣在電機(jī)里面形成了積碳沈贝,需要經(jīng)常清理杠人。

早期電機(jī)都是有刷電機(jī),后來為了解決磨損,有了無刷電機(jī)嗡善。

2.2無刷電機(jī)
無刷電機(jī)中辑莫,換相的工作交由控制器中的控制電路(一般為霍爾傳感器+控制器,更先進(jìn)的技術(shù)是磁編碼器)來完成罩引。

無刷電機(jī)原理

無刷電機(jī)采取電子換向各吨,線圈不動,磁極旋轉(zhuǎn)袁铐。無刷電機(jī)揭蜒,是使用一套電子設(shè)備,通過霍爾元件剔桨,感知永磁體磁極的位置忌锯,根據(jù)這種感知,使用電子線路领炫,適時(shí)切換線圈中電流的方向,保證產(chǎn)生正確方向的磁力张咳,來驅(qū)動電機(jī)帝洪。消除了有刷電機(jī)的缺點(diǎn)。

2.3直流減速電機(jī)
一般直流電機(jī)的轉(zhuǎn)速都是一分鐘幾千上萬轉(zhuǎn)的脚猾,所以一般需要安裝減速器葱峡。減速器是一種相對精密的機(jī)械零件,使用它的目的是降低轉(zhuǎn)速龙助,增加轉(zhuǎn)矩砰奕。減速后的直流電機(jī)力矩增大、可控性更強(qiáng)提鸟。按照傳動級數(shù)不同可分為單級和多級減速器军援;按照傳動類型可分為齒輪減速器蝸桿減速器行星齒輪減速器称勋。

減速電機(jī)

齒輪減速器:體積較小胸哥,傳遞扭矩大,但是有一定的回程間隙赡鲜。
蝸輪蝸桿減速機(jī):具有反向自鎖功能空厌,可以有較大的減速比,但是一般體積較大银酬,傳動效率不高嘲更,精度不高。
行星減速器:結(jié)構(gòu)比較緊湊揩瞪,回程間隙小赋朦、精度較高,使用壽命很長,額定輸出扭矩可以做的很大北发,但價(jià)格略貴纹因。

(三)、直流電壓表頭

用于監(jiān)視18650電池組電壓琳拨,及時(shí)掌握電池電壓狀態(tài)瞭恰,便于及時(shí)充電。也可用于手機(jī)鋰電池狱庇、鎳氫電池組和其它電池組的電壓惊畏,以及摩托車、汽車等電瓶的電壓密任,也可用于其它電壓測量用途颜启。

1、本電壓表接線簡單浪讳,常規(guī)用兩根線缰盏,紅接正,黑接負(fù)淹遵,內(nèi)有反接保護(hù)口猜,接反不燒。

2透揣、常規(guī)無需外接工作電源济炎,可以用測量電壓直接工作,測量電壓范圍二線2.4-30V辐真。

3须尚、寬電壓工作,紅色最低測量電壓2.4V侍咱,最大安全承壓可達(dá)40V 耐床,超過40V可能損壞。

4楔脯、在測量10V以下電壓時(shí)咙咽,小數(shù)點(diǎn)后顯示兩位;在測量10V以上電壓時(shí)淤年,小數(shù)點(diǎn)后顯示一位钧敞。

(四)、18650電池組

由于電動機(jī)需要的電流遠(yuǎn)遠(yuǎn)大于樹莓派GPIO的供電能力麸粮,所以必須使用外接電源溉苛,選用大容量的18650電池是個(gè)不錯(cuò)的選擇,許多充電寶和電動車電池組都是使用的這個(gè)弄诲。

同時(shí)愚战,使用電動機(jī)的場景總是移動的情況娇唯,所以電池組可能還要給樹莓派供電。以前購買套裝時(shí)贈送的18650電池寂玲,每次充滿電塔插,只堅(jiān)挺了10分鐘,而且電壓掉得非惩赜矗快想许。這里我選用的某寶SupFire/神火電池,負(fù)極加了保護(hù)芯片的AB5-S断序,39元1顆流纹,充電器還另算錢。不過效果好多了违诗,充滿電后串聯(lián)兩顆電池初始8.23V漱凝,一天一個(gè)電動機(jī)的實(shí)驗(yàn)做下來,還有7.6V诸迟。

SupFire18650電池參數(shù)

四、實(shí)驗(yàn)步驟

??第1步: 連接電路扣典。

樹莓派(name) T型轉(zhuǎn)接板(BCM) L298N模塊
GPIO4 G23 INA
GPIO5 G24 INB
GPIO1 G18 EMA
GND GND GND
L298N模塊 電池組 電壓表頭 馬達(dá)
VCC + +
GND - -
OUTC +
OUTD -
L298N模塊驅(qū)動直流電機(jī)電路圖

這里必須說一下,上面的電路圖是使用電子設(shè)計(jì)自動化軟件Fritzing畫的笛粘,易學(xué)好用,但是必須要學(xué)習(xí)哈薪前,光看是半天搞不懂滴!

特別是元件庫里找不到的電子元件示括,只能自己創(chuàng)建,就需要自己畫SVG圖(Scalable Vector Graphics垛膝,意思為可縮放的矢量圖形)鳍侣,這里我用的是Inkscape,一款外國開發(fā)的開源矢量圖形編輯軟件吼拥。畫圖中的一個(gè)重要經(jīng)驗(yàn)是:在Friting里找到并導(dǎo)出類似的元件SVG圖倚聚,然后在Inkscape里修改,最后又導(dǎo)入Friting里合成凿可。

學(xué)會第一次雖慢惑折,但是以后就難不倒你了,而且畫得很快!

Fritzing下載地址https://fritzing.org/download/
Inkscape下載地址https://inkscape.org/release/inkscape-1.0/

L298N模塊驅(qū)動直流電機(jī)實(shí)物接線圖

??第2步: 基礎(chǔ)實(shí)驗(yàn)里我只用L298N的B通道控制了一個(gè)電機(jī)惨驶,控制命令也很粗糙白热,后面我會做智能小車的綜合實(shí)驗(yàn),會實(shí)現(xiàn)圖形界面控制和自動循跡粗卜。
??當(dāng)輸入r0 ~ r9屋确,速度由0到快;當(dāng)輸入f0 ~ f9休建,反方向速度由0到快乍恐;當(dāng)輸入b時(shí),電機(jī)制動测砂。

#!/usr/bin/env python
import RPi.GPIO as GPIO
import time

ENB = 18  #使能信號
INC = 23  #信號輸入1
IND = 24  #信號輸入2

GPIO.setwarnings(False)  #關(guān)閉警告信息

def setup(enable_pin,in1_pin,in2_pin):
    '''初始化引腳'''
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(enable_pin, GPIO.OUT)
    GPIO.setup(in1_pin, GPIO.OUT)
    GPIO.setup(in2_pin, GPIO.OUT)
    
def pwm(enable_pin): 
    '''初始化PWM(脈寬調(diào)制)'''   
    pwm = GPIO.PWM(enable_pin, 500)
    pwm.start(0)
    return pwm

def changespeed(pwm,speed):
    '''通過改變占空比改變馬達(dá)轉(zhuǎn)速'''
    pwm.ChangeDutyCycle(speed)
    
def clockwise(in1_pin,in2_pin):
    '''馬達(dá)順時(shí)針轉(zhuǎn)的信號'''
    GPIO.output(in1_pin, 1)    
    GPIO.output(in2_pin, 0)
 
def counter_clockwise(in1_pin,in2_pin):
    '''馬達(dá)逆時(shí)針轉(zhuǎn)的信號'''
    GPIO.output(in1_pin, 0)
    GPIO.output(in2_pin, 1)
    
def brake(pwm,in1_pin,in2_pin):
    '''馬達(dá)制動的信號'''
    GPIO.output(in1_pin, 0)
    GPIO.output(in2_pin, 0)
    changespeed(pwm,100) 
    #使能信號為高電平茵烈,IN1和IN2都為0或1時(shí)馬達(dá)制動

def loop():
    while True:
        '''通過輸入的命令改變馬達(dá)轉(zhuǎn)動'''
        cmd = input("Command, f/r/b 0..9, E.g. f5 :")
        direction = cmd[0]
        if direction == "f":
            clockwise(INC,IND)
        if direction == "r":
            counter_clockwise(INC,IND)
        if direction == "b": #剎車制動,
            brake(ENB_pwm,INC,IND)
            continue
            
        speed = int(cmd[1]) * 10 #通過輸入0~9的數(shù)字更改占空比0~90%
        changespeed(ENB_pwm,speed)

def destroy():
    ENB_pwm.stop()
    GPIO.cleanup()                     # Release resource

if __name__ == '__main__':     # Program start from here
    
    try:
        setup(ENB,INC,IND) #初始化引腳
        ENB_pwm=pwm(ENB)   #初始化PWM
        loop()
    except KeyboardInterrupt:  # When 'Ctrl+C' is pressed
        destroy()
    finally:
        destroy()

??實(shí)驗(yàn)結(jié)果示例:

命令輸入示例
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末砌些,一起剝皮案震驚了整個(gè)濱河市呜投,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌存璃,老刑警劉巖仑荐,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異纵东,居然都是意外死亡粘招,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進(jìn)店門偎球,熙熙樓的掌柜王于貴愁眉苦臉地迎上來洒扎,“玉大人,你說我怎么就攤上這事衰絮。” “怎么了胡诗?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵煌恢,是天一觀的道長症虑。 經(jīng)常有香客問我谍憔,道長,這世上最難降的妖魔是什么逛球? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任颤绕,我火速辦了婚禮奥务,結(jié)果婚禮上氯葬,老公的妹妹穿的比我還像新娘帚称。我一直安慰自己闯睹,他們只是感情好担神,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布孩锡。 她就那樣靜靜地躺著捞挥,像睡著了一般砌函。 火紅的嫁衣襯著肌膚如雪讹俊。 梳的紋絲不亂的頭發(fā)上仍劈,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天贩疙,我揣著相機(jī)與錄音这溅,去河邊找鬼。 笑死臭胜,一個(gè)胖子當(dāng)著我的面吹牛耸三,可吹牛的內(nèi)容都是我干的仪壮。 我是一名探鬼主播临燃,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼乏沸,長吁一口氣:“原來是場噩夢啊……” “哼蹬跃!你這毒婦竟也來了铆铆?” 一聲冷哼從身側(cè)響起薄货,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤柄慰,失蹤者是張志新(化名)和其女友劉穎税娜,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體概行,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡凳忙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年消略,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片却紧。...
    茶點(diǎn)故事閱讀 38,625評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晓殊,死狀恐怖巫俺,靈堂內(nèi)的尸體忽然破棺而出介汹,到底是詐尸還是另有隱情舶沛,我是刑警寧澤,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布叹卷,位于F島的核電站骤竹,受9級特大地震影響往毡,放射性物質(zhì)發(fā)生泄漏开瞭。R本人自食惡果不足惜惩阶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一断楷、第九天 我趴在偏房一處隱蔽的房頂上張望崭别。 院中可真熱鬧,春花似錦舞痰、人聲如沸响牛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽撩银。三九已至额获,卻和暖如春恭应,著一層夾襖步出監(jiān)牢的瞬間暮屡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工准夷, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留衫嵌,地道東北人楔绞。 一個(gè)月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓唇兑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蔫耽。 傳聞我的和親對象是個(gè)殘疾皇子匙铡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評論 2 348

推薦閱讀更多精彩內(nèi)容