新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 機器人教程3:直流電機驅動及L298N模塊

        機器人教程3:直流電機驅動及L298N模塊

        作者: 時間:2016-12-01 來源:網絡 收藏

        1)驅動效率的轉化

        所謂驅動效率高,就是要將輸入的能量盡量多的輸出給負載,而驅動電路本身最好不消耗或少消耗能量,具體到H橋上,也就是4個橋臂在導通時最好沒有壓降,越小越好。從電路上看,這主要取決于“開關”上的壓降,其消耗為流過的電流乘以壓降,電流大小主要取決于負載電機的需要,所以對于設計來說重點應考慮盡量減小開關上的電阻從而提高效率,而在選用驅動芯片時應當考慮所選用的芯片壓降是否滿足電機驅動力的需要,像參加過飛思卡爾智能車的朋友應該清楚,一般很少有人選擇L298N芯片的,究其原因就是298N的自身壓降太大造成功率消耗太大而不滿足電機驅動需要造成的。

        2)能夠通過的驅動電流

        每個芯片都有自身承受的最大電流,在設計時應保證電機的工作電流不會造成芯片的燒毀,像智能車制作過程中,電機的電流可以達到4-5A,而L298最大承受的電流不能超過2A,所以這也是一般不采用298N作為驅動芯片的另一個原因。

        3)芯片的價格

        對于器件的價格,一般在業余的制作基本不會考慮太多,但真正在產品的設計中,價格卻是除了性能外必須考慮的另一個關鍵因素,像剛剛上面提到了L298N由于自身壓降太大,所承受的電流太少,所以不滿足智能車電機的需要,所以有的朋友會說,298N芯片不好,不能說不好,要知道從價格上7970是298的3倍之多,像做一般速度比較低的機器人,298芯片完全能夠滿足要求。

        綜上所述,在選擇驅動芯片應從價格、驅動電流及壓降等方面給合考慮。

        5、L298芯片及驅動模塊

        L298N內部的組成其就是上面講的H橋驅動電路,所以工作原理我以上介紹的H橋相同,這里我們不在敘述,在使用時重點要了解其引腳的功能和主要的性能參數。引腳圖如圖12所示。



        圖12 L298N的引腳圖

        L298N是ST公司生產的一種高電壓,大電流的電機驅動芯片。該芯片采用15腳封裝。主要特點是:工作電壓高,最高工作電壓可達46V,輸出電流大,瞬間峰值可達3A,持續工作電流為2A;額定功率為25W。內含兩個H橋的高電壓大電流全橋式驅動器,可以用來驅動直流電機和步進電機、繼電器線圈等感性負載;采用標準邏輯電平信號控制;具有兩個用控制端,在不受輸入信號影響的情況下允許或禁止器件工作有一個邏輯電源輸入端,使內部邏輯電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給控制電路。使用L298N芯片驅動電機,該芯片可以驅動一臺兩相步進電機和四相步進電機,也可以兩臺直流電機。L298N模塊的驅動電路圖如圖13所示。



        圖13 L298N電路圖

        對于以上電路圖有以下幾點說明:

        1)電路圖中有兩個電流,一路為L298工作需要的5V電源VCC,一路為驅動電機用的電池電源VSS。

        2)1腳和15腳有的電路在中間串接了大功率的電阻,可以不加

        3)八個續流二極管是為了消除電機轉動時的尖峰電壓保護電機而設計,簡化電路可以不加。

        4)6腳和11腳為兩路電機通道的使能開關,高電平使能所以可以直接接高電平,也可以交由單片機控制。

        5)由于工作時L298的功率較大,可以適當加裝散熱片。

        L298模塊的的外形圖如圖14所示:



        圖14 L298N模塊外形圖

        6、電機正反轉程序

        下面寫一個程序讓小車上一個電機正轉。

        #include

        #define uint unsigned int

        #define uchar unsigned char

        sbit PWM1=P2^0;//接IN1控制正轉

        sbit PWM2=P2^1;//接IN2控制反轉

        void main()

        {

        while(1)

        {

        PWM1=1;

        PWM2=0;

        }

        }

        下面寫一個程序讓小車上兩個個電機正轉,實現小車的前行。

        #include

        #define uint unsigned int

        #define uchar unsigned char

        sbit PWM1=P2^0;//接IN1控制正轉

        sbit PWM2=P2^1;//接IN2控制反轉

        sbit PWM3=P2^2;//接IN1控制正轉

        sbit PWM4=P2^3;//接IN2控制反轉

        sbit PWM5=P2^4;//接IN1控制正轉

        sbit PWM6=P2^5;//接IN2控制反轉

        sbit PWM7=P2^6;//接IN1控制正轉

        sbit PWM8=P2^7;//接IN2控制反轉

        void main()

        {

        while(1)

        {

        PWM1=1;

        PWM2=0;

        PWM3=1;

        PWM4=0;

        PWM5=1;

        PWM6=0;

        PWM7=1;

        PWM8=0;

        }

        }

        void delay(uint z)

        {

        uint x,y;

        for(x=z;x>0;x--)

        for(y=500;y>0;y--);

        }

        7、雙電機差速轉向的原理

        ZN-1A智能小車有兩種轉向的方式,差速轉向和舵機轉向。由于差速轉向目前市面上的資料和相關程序比較多,所以本教程絕大部分程序采用后輪驅動,前輪舵機實現轉向的控制方式。這里簡要介紹一下差速轉向的原理及方法,并給出一個簡單的程序,更復雜的程序請大家參考相關的資料,如可以利用ZN-1A智能小車實現小車的直立運動,即兩輪直立前行,目前世界上比較風行的兩輪直代步車就是利用這種形式實現,不過要要做兩輪直立時涉及到平衡的問題,需對加速度計和陀螺儀的知道有所了解,有興趣朋友可以利用本小車實現直立的功能,這里不多作介紹。

        所謂的差速,是指左右兩車輪的速度差,假如左邊車輪比右邊的快,則小車會偏向右。同時,左的的車輪轉速比右的慢,那么小車會向左邊轉動。目前主要有以下兩種方式。

        (1)小車向左轉,可是是左輪停止,左輪繼續轉動,這樣可實現左轉,這種方式實現小角度的轉彎,在角度不大時可采用此種方式。

        (2)小車向左轉,可以是左輪反轉,右輪正轉,這樣可以實現大角度的左轉,甚至可以進行原地打轉。

        同理可推出小車如何向右轉向。

        下面給出一個利用后輪電機差事運動實現小車原地打轉的程序。

        8、利用差速實現小原原地打轉程序


        上一頁 1 2 3 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 四川省| 广汉市| 阿拉善盟| 繁昌县| 大足县| 三穗县| 普陀区| 临邑县| 贡觉县| 大理市| 古浪县| 晋州市| 鄂托克前旗| 句容市| 肃宁县| 司法| 万全县| 鲜城| 宕昌县| 云南省| 慈溪市| 如东县| 晋宁县| 北安市| 江达县| 仙居县| 凤庆县| 连江县| 岑巩县| 育儿| 梁山县| 皮山县| 嘉兴市| 加查县| 哈巴河县| 沂南县| 桂平市| 乐山市| 连州市| 龙门县| 常德市|