掃碼加關注
本篇主要面向人群是創客教師(通用技術、信息技術和科學老師)以及處於入門階段的學生,根據王老師的一些經驗針對L298N模塊解答部分初學者的一些疑惑。
今天為大家介紹一個應用的非常廣泛的模塊—L298N馬達驅動模塊(又叫H橋),對於很多熟悉電子知識的朋友來說對這個模塊會非常的了解,那麼王老師為何還要再次介紹這個模塊呢?理由非常簡單,這次王老師將會從創客教師的角度去介紹這個模塊,王老師身邊就有很多創客老師(也包括通用技術老師、信息技術老師以及科學老師),有些時候這些老師們本身並不是電子相關專業但是由於教學的需要(比如開展創客課程、開展Arduino編程課程、帶領學生製作創意項目等等)老師們也會用到L298N這個模塊,在使用這個模塊的過程中老師們會遇到一些問題。
今天就為創客老師和初學的學生講一講這個L298N,王老師會從這幾個方面進行介紹:
遇到哪種情況我們可以使用這個模塊;
這個模塊有哪些關鍵引腳(重點介紹);
如何針對這個模塊編寫Arduino程序;
什麼情況下使用L298N
L298N馬達驅動模塊,顧名思義當我們需要驅動一個馬達的時候就要用到這個模塊,這裡也解開一個疑惑,很多老師問:如何用Arduino控制一個電機,那麼這裡告訴大家,我們很少使用Arduino的IO直接控制一個電機,因為單片機引腳的驅動能力十分有限,很難驅動電機(低壓低電流馬達除外),這些IO的作用僅僅發送一些控制信號,驅動馬達的任務一般是由馬達驅動模塊來完成。所以說當我們需要驅動一個馬達的時候我們考慮使用L298N這個模塊。
並不是所有的情況我們都可以使用這個模塊,很多商家明確標註到了這個模塊的使用範圍,一般情況下我們關注兩點電壓和電流,模塊的驅動電壓為5V-35V,驅動電流最大為2A,實際上這個工作範圍已經非常的廣泛,教學過程中我們最常使用到的馬達如:130(減速)馬達、N20(減速)馬達、370(減速)馬達等等,都在這個工作範圍。
所以說當我們使用TT馬達製作小車、機器人或者其他更多教學內容的時候都可以使用L298N這個模塊。
模塊上的引腳
這個模塊上有7個端子和10個插針(平時使用時候好像並沒有感覺有這麼多插針啊),根據王老師的教學經驗最容易讓創客老師不解的端子有1個另外還有2個插針,我們先通過一張圖看下這些端子和插針,如下圖:
從圖中我們可以看出這個模塊的確有7個端子和10個插針,其中最讓老師們不解的地方是端子7(5V)還有插針1和插針2,要弄清楚他們的真正功能首先我們需要理解一個概念,而這個概念對於電子專業的人來說可能很好理解但對於有些創客老師來說可能頭一次接觸。
這個概念就是電源,晶片的工作需要電源,馬達的工作也需要電源,只有分別為它們提供了正確的電源它們才能正常工作。如此一來要讓這個模塊工作起來我們需要兩個電源了,一個給晶片一個給馬達,所以我們看到這個模塊的電源處有三個端子(端子5、端子6和端子7),端子5就是給馬達供電的,端子7就是給主晶片供電的。看到這裡有些老師又疑惑了,按很多商家提供的描述說端子7可以為外界供電,那麼對於這個模塊來說端子7到底是給外界供電,還是外界給這個模塊供電用的呢?說到這裡我們繼續看一張圖,如下:
我們看到L298N模塊中有一個晶片,放大看一下晶片上有一行字「78M05」,我們百度一下「78M05」,會有如下結果:
從查到的資料中我們可以知道78M05是一個固定輸出為5V的穩壓晶片,讀到這裡我們大約可以猜到了,這個穩壓晶片的作用就是將外部電壓(端子5提供的電壓),轉為5V為模塊的主晶片進行供電,那麼這個78M05晶片什麼時候才發揮作用呢?是由插針1和插針2來決定的,當插針1和插針2進行短接的時候78M05這個晶片開始發揮作用它可以產生一個5V的電壓為模塊主晶片供電,同時可以將這個5V通過端子7輸出到外部,如果沒有短接插針1和插針2那麼78M05這個晶片不起作用,這時如果要讓主晶片工作我們必須人為從外部提供一個5V的電源,這個5V的提供也是通過端子7進行的。讀到這我們這下搞清楚端子7和插針1以及插針2的作用了,最後我們通過一張圖再次看清它們的內部關係:
最大的疑惑已經解開了,最後我們看看如何編寫程序使用Arduino和L298N去控制一個馬達的旋轉。
編寫程序
首先將電路連接好,如下圖:
我們使用Arduino的2號和3號引腳來控制馬達旋轉,我們看看程序是如何編寫的,先來看圖形化的方式:
這段程序對應的C語言寫法是:
void setup()
{
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
}
void loop()
{
}
將程序燒錄到Arduino中馬達開始旋轉,如果我們希望馬達朝另一個方向旋轉我們應該這樣編寫程序,先來看圖形化的方式:
這段程序對應的C語言寫法是:
void setup()
{
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
}
void loop()
{
}
將兩個控制引腳的高低電平狀態進行互換,馬達便朝另一個方向開始旋轉,如果我們希望馬達停止旋轉,我們應該這樣編寫程序,先來看圖形化的方式:
這段程序對應的C語言寫法是:
void setup()
{
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
}
void loop()
{
}
將兩個控制引腳的輸出狀態同時改為低,馬達就會停止旋轉。
總結一下,今天介紹的這些內容主要針對部分創客老師以及剛剛入門的電子愛好者,重點介紹了L298N這個模塊的引腳功能,以及最讓一些創客老師疑惑的地方,希望王老師這篇文字能夠解答各位初學者心中的疑惑。
很多學校都開展了創客相關課程,創客課程是一個實踐性很強的課程,涉及到的知識面也比較廣泛,對於創客教師提出了不小的挑戰,我們唯有多多實踐才能將我們的課程開展的更加順利,讓學生們學習到更多技能。
掃碼加關注