標題: 單片機H橋驅動直流電機正反轉原理圖 程序 PROTEUS仿真 帶使能按鈕 光電編碼測速 [打印本頁]
作者: heicad 時間: 2016-8-15 14:45
標題: 單片機H橋驅動直流電機正反轉原理圖 程序 PROTEUS仿真 帶使能按鈕 光電編碼測速
本帖最后由 heicad 于 2016-8-15 14:50 編輯
PROTEUS仿真文件及原代碼,親手制作,下面是原理圖
0.png (38.24 KB, 下載次數: 85)
下載附件
2016-8-15 14:46 上傳
51單片機H橋驅動直流電機正反轉程序:
- #include <reg51.h>
- #include <math.h>
- #define uchar unsigned char
- #define uint unsigned int
- #define ON 0
- #define OFF 1
- sbit PWM=P3^5;
- sbit MP=P3^4;
- bit FLAG=0;
- uchar code dispbit[6]={0x20,0x10,0x08,0x04,0x02,0x01};
-
- uchar code seg[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
- //0,1,2,3,4,5,6,7,8,9
- uchar disbuf[6]={0,0,0,0,10,10};
- uint temp[6];
- uint discount=0;
- uint timecount=0;//定時的次數
- uint T0count=0;
- uint hus=0;
- uint k=60;
- uint Vc;
- uint Vs;
- uint tm=3000;
- uint x;
- void t0_serv() interrupt 1
- { T0count++;
- }
- void t1_serv() interrupt 3
- {
- PWM=1;
- TH1=(65536-tm)/256;
- TL1=(65536-tm)%256;
- hus++;
- if(hus==tm)
- { PWM=0;
- TH1=(25536+tm)/256;
- TL1=(25536+tm)%256;
-
- }
- timecount++;
- if(timecount==250)
- {
- //FLAG=1;
- TR0=0;
- hus=0;
- timecount=0;
- Vc=T0count*65536+TH0*256+TL0;
- Vs=144;
- if(abs(Vc-Vs)>5)
- { tm=abs(k*(Vc-Vs));
- T0count=0;
- TR0=1;
- TR1=1;
- ET0=1;
- ET1=1;
- EA=1;
- }
- FLAG=1;
- TR0=0;
- timecount=0;
- }
- P0=dispbit[discount];
- P1=seg[disbuf[discount]];
- discount++;
- if(discount==6)
- { discount=0;
- }
- }
- void main()
- { uint i;
- TMOD=0x15;
- TH0=0;
- TL0=0;
- TH1=(65536-tm)/256;
- TL1=(65536-tm)%256;
- TR0=1;
- TR1=1;
- ET0=1;
- ET1=1;
- EA=1;
- while(1)
- { if(FLAG==1)
- { FLAG=0;
- x=T0count*65536+TH0*256+TL0;
- for(i=0;i<6;i++)
- {temp[i]=0;
- }
- i=0;
- while(x/10)
- {
- temp[i]=x%10;
- x=x/10;
- i++;
- }
- temp[i]=x;
- for(i=0;i<6;i++)
- {
- disbuf[i]=temp[i];
- }
-
- timecount=0;
- T0count=0;
- TH0=0;
- TL0=0;
- T0count=0;
- TR0=1;
-
- }
- }
-
- }
復制代碼
0.png (80.06 KB, 下載次數: 88)
下載附件
2016-8-15 14:48 上傳
PROTEUS仿真 帶使能按鈕 光電編碼測速
-
-
仿真文件及原代碼.zip
2016-8-15 14:49 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
73.85 KB, 下載次數: 122, 下載積分: 黑幣 -5
作者: heicad 時間: 2016-8-15 14:54
一、H橋驅動電路
圖4.12中所示為一個典型的直流電機控制電路。電路得名于“H橋驅動電路”是因為它的形狀酷似字母H。4個三極管組成H的4條垂直腿,而電機就是H中的橫杠(注意:圖4.12及隨后的兩個圖都只是示意圖,而不是完整的電路圖,其中三極管的驅動電路沒有畫出來)。
如圖所示,H橋式電機驅動電路包括4個三極管和一個電機。要使電機運轉,必須導通對角線上的一對三極管。根據不同三極管對的導通情況,電流可能會從左至右或從右至左流過電機,從而控制電機的轉向。
1_07125939.JPG (9.33 KB, 下載次數: 97)
下載附件
2016-8-15 14:55 上傳
圖4.12 H橋驅動電路
要使電機運轉,必須使對角線上的一對三極管導通。例如,如圖4.13所示,當Q1管和Q4管導通時,電流就從電源正極經Q1從左至右穿過電機,然后再經Q4回到電源負極。按圖中電流箭頭所示,該流向的電流將驅動電機順時針轉動。當三極管Q1和Q4導通時,電流將從左至右流過電機,從而驅動電機按特定方向轉動(電機周圍的箭頭指示為順時針方向)。
1_07130024.JPG (12.22 KB, 下載次數: 78)
下載附件
2016-8-15 14:55 上傳
圖4.13 H橋電路驅動電機順時針轉動
圖4.14所示為另一對三極管Q2和Q3導通的情況,電流將從右至左流過電機。當三極管Q2和Q3導通時,電流將從右至左流過電機,從而驅動電機沿另一方向轉動(電機周圍的箭頭表示為逆時針方向)。
1_07130104.JPG (10.85 KB, 下載次數: 64)
下載附件
2016-8-15 14:55 上傳
圖4.14 H橋驅動電機逆時針轉動
二、使能控制和方向邏輯
驅動電機時,保證H橋上兩個同側的三極管不會同時導通非常重要。如果三極管Q1和Q2同時導通,那么電流就會從正極穿過兩個三極管直接回到負極。此時,電路中除了三極管外沒有其他任何負載,因此電路上的電流就可能達到最大值(該電流僅受電源性能限制),甚至燒壞三極管。基于上述原因,在實際驅動電路中通常要用硬件電路方便地控制三極管的開關。
圖4.155 所示就是基于這種考慮的改進電路,它在基本H橋電路的基礎上增加了4個與門和2個非門。4個與門同一個“使能”導通信號相接,這樣,用這一個信號就能控制整個電路的開關。而2個非門通過提供一種方向輸人,可以保證任何時候在H橋的同側腿上都只有一個三極管能導通。(與本節前面的示意圖一樣,圖4.15所示也不是一個完整的電路圖,特別是圖中與門和三極管直接連接是不能正常工作的。)
1_07130141.JPG (12.83 KB, 下載次數: 80)
下載附件
2016-8-15 14:55 上傳
圖4.15 具有使能控制和方向邏輯的H橋電路
采用以上方法,電機的運轉就只需要用三個信號控制:兩個方向信號和一個使能信號。如果DIR-L信號為0,DIR-R信號為1,并且使能信號是1,那么三極管Q1和Q4導通,電流從左至右流經電機(如圖4.16所示);如果DIR-L信號變為1,而DIR-R信號變為0,那么Q2和Q3將導通,電流則反向流過電機。
1_07130204.JPG (14.36 KB, 下載次數: 98)
下載附件
2016-8-15 14:55 上傳
圖4.16 使能信號與方向信號的使用
實際使用的時候,用分立元件制作H橋是很麻煩的,好在現在市面上有很多封裝好的H橋集成電路,接上電源、電機和控制信號就可以使用了,在額定的電壓和電流內使用非常方便可靠。比如常用的L293D、L298N、TA7257P、SN754410等。
附兩張分立元件的H橋驅動電路:
1_07131951.JPG (59.47 KB, 下載次數: 103)
下載附件
2016-8-15 14:55 上傳
1_07132056.JPG (33.97 KB, 下載次數: 119)
下載附件
2016-8-15 14:55 上傳
作者: bbxyzzj 時間: 2017-4-17 16:32
感謝分享!
作者: 超級瑪麗 時間: 2018-12-7 11:05
贊,感謝分享!
作者: zhang1314hong 時間: 2018-12-7 13:00
謝謝樓主的分享,學習了。
作者: 1120301034 時間: 2020-3-19 15:42
無法作為壓縮文件打開
| 歡迎光臨 (http://www.denmoz.com/bbs/) |
Powered by Discuz! X3.1 |