使用直流/步進兩用驅動器可以驅動兩臺直流電機。分別為M1和M2。引腳A,B可用于輸入PWM脈寬調制信號對電機進行調速控制。(如果無須調速可將兩引腳接5V,使電機工作在最高速狀態,既將短接帽短接)實現電機正反轉就更容易了,輸入信號端IN1接高電平輸入端IN2接低電平,電機M1正轉。(如果信號端IN1接低電平, IN2接高電平,電機M1反轉。)控制另一臺電機是同樣的方式,輸入信號端IN3接高電平,輸入端IN4接低電平,電機M2正轉。(反之則反轉),PWM信號端A控制M1調速,PWM信號端B控制M2調速。可參考下圖表:
輸入部分接線圖
輸出部分接線圖
下面是單片機源程序:
- /********************************************************************
- 實現功能:直流電機調試程序
- 使用芯片:AT89S52 或者 STC89C52
- 晶振:11.0592MHZ
- 編譯環境:Keil
- 【聲明】此程序僅用于學習與參考,引用請注明版權和作者信息!
- *********************************************************************/
- #include<reg52.h>
- #define uchar unsigned char//宏定義無符號字符型
- #define uint unsigned int //宏定義無符號整型
- sbit P2_0=P2^0;//M1啟動
- sbit P2_1=P2^1;//M1停止
- sbit P2_2=P2^2;//M2啟動
- sbit P2_3=P2^3;//M2停止
- sbit P1_0=P1^0;//M1
- sbit P1_1=P1^1;//M1
- sbit P1_2=P1^2;//M2
- sbit P1_3=P1^3;//M2
- /********************************************************************
- 延時函數
- *********************************************************************/
- void delay(uchar t)//延時程序
- {
- uchar m,n,s;
- for(m=t;m>0;m--)
- for(n=20;n>0;n--)
- for(s=248;s>0;s--);
- }
- /********************************************************************
- 主函數
- *********************************************************************/
- main()
- {
- while(1)
- {
- if(P2_0==0){delay(3);if(P2_0==0)//M1啟動
- {
- P1_0=1;
- P1_1=0;
- }}
- if(P2_1==0){delay(3);if(P2_1==0)//M1停止
- {
- P1_0=1;
- P1_1=1;
- }}
- if(P2_2==0){delay(3);if(P2_2==0)//M2啟動
- {
- P1_2=1;
- P1_3=0;
- }}
- if(P2_3==0){delay(3);if(P2_3==0)//M2停止
- {
- P1_2=1;
- P1_3=1;
- }}
- …………余下代碼請下載附件…………
復制代碼 問:Ena 和Enb是分別接兩個直流電機么?直流電機的剩下那端接哪兒?
答:
不是直接接連個電機 他兩端是脈寬調制 舉個例子 如果你要實現兩個電機不同的轉速來達到智能小車轉彎的效果你可以這樣
四個輸入端接在單片機的四個管腳 四個輸出端接在兩個直流電機 兩個使能端也接到單片機的兩管腳(就是ENA,ENB)通過寫程序來控制
電機的轉速寫程序的方法有很多的簡單說明一下定義一個變量j 然后讓j++;當j=20ms的時候吧j清0;送給高電平定義一個i 叫i++;讓i=10ms的時候
i=0;送低電平,這就實現了電機轉20ms聽10ms的過程,由于掃描很快就實現了電機的減速,而你必須在你的單片機的使能端管腳送一個低電平
減速機要ENA=0;(讓此管教的電壓小于2.5v)他才能執行電機調速的過程,ENB=1是另一個電機全速運行,哪一個電機減速運行就實現了差速轉彎了
這只是我自己的理解 也不知道該怎么說希望你能看懂吧。
下載:
l298驅動直流電機程序和教程.rar
(402.08 KB, 下載次數: 358)
2017-3-22 04:19 上傳
點擊文件名下載附件
|