《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于雙單片機通信的無刷直流電動機控制系統(tǒng)
基于雙單片機通信的無刷直流電動機控制系統(tǒng)
讓余奇1 蔡漢強 魯軍勇 吳
摘要: 一種基于雙單片機通信的無刷直流電動機控制系統(tǒng)的設計方案,對其中轉子位置檢測電路、驅動電路、保護電路、測速電路、雙單片機控制電路等內容進行了討論,給出了硬件電路和軟件框圖。實踐證明該設計切實可行。
Abstract:
Key words :

    摘  要: 一種基于雙單片機通信的無刷直流電動機控制系統(tǒng)的設計方案,對其中轉子位置檢測電路、驅動電路、保護電路、測速電路、雙單片機控制電路等內容進行了討論,給出了硬件電路和軟件框圖。實踐證明該設計切實可行。 

    關鍵詞: 無刷直流電動機  單片機  串行通訊

 

    在無刷直流電動機控制系統(tǒng)中,通常用DSP對信號進行采集和處理。但由于DSP的價格昂貴,在一些實時性要求不高的場合,可以用MCS-51單片機來代替DSP控制無刷直流電動機的起停、正反轉和調速。 

    本文設計并實現了一種基于雙單片機通信的無刷直流電動機控制系統(tǒng)。該設計方案電路簡單、可靠性強、價格便宜。系統(tǒng)主要包括單片機控制電路、邏輯保護電路、過流保護電路、驅動電路、測速電路、轉子位置檢測電路等。其原理如圖1所示。 

 

 

1 轉子位置檢測電路

    控制無刷直流電動機時,必須要知道轉子的位置。在本設計方案中,采用了三個光電式位置傳感器。這種傳感器利用光電效應,由跟隨電動機轉子一起旋轉的遮光板和固定不動的光源及光電管等部件組成。遮光板開有180°電角度左右的縫隙。隨著電機轉子的旋轉,光電管間歇接收從光源發(fā)出的光,不斷導通和截止,從而產生一系列0、1信號。這些信號通過P0口傳輸給單片機后,單片機通過P1口送出相應的控制字,就能很好地控制電機的換相。其控制原理圖和換向控制表如圖2和表1所示。 

 

 

 

2 驅動電路

    絕緣柵極雙極型晶體管IGBT的柵極驅動電壓一般為15V±10%,而關斷負偏置電壓為5~6V。因此選用TLP250驅動IGBT,電路如圖3所示。TLP250內部是光電耦合的,實現了將控制電路與主電路的隔離。當3腳接收到一個低電平時,VGE輸出近似為15V,可以驅動IGBT使其導通;相反,當3腳接收到一個高電平時, VGE輸出近似為-5V,使IGBT截止。六只TLP250隨著輸入電平變化,可以很好地控制IGBT的開斷,從而實現換相。 

 

 

3 保護電路 

3.1 起動時的限流保護電路

    電動機起動時,由于轉速較低,故轉子磁通切割定子繞組所產生的反電勢很小,因而可能產生過大的電流I。通常要加過流保護電路,如圖4所示。主回路中通過電動機的電流最終通過電阻Rf接地。因此,Uf=Rf·IM,其大小正比于電動機的電流IM,Uf通過10kΩ電阻與電壓比較器LM324反相輸入端相連。當Uf大于LM324正相輸入端給定電壓U0時,LM324輸出低電平。使發(fā)光二極管導通,則三極管C端輸出低電平。由于C端與三輸入與非門74LS10相連,不論另外兩輸入如何,其輸出必為高電平,因而從TLP250輸出-5V,同時關斷了Q2、Q4、Q6三只IGBT,即切斷了主電路。當Uf0時,LM324輸出高電平,這時它不起任何作用,電機正常換相。 

 

 

3.2 運行時的邏輯保護電路 

    為防止單片機系統(tǒng)受環(huán)境干擾或執(zhí)行程序時出錯,在單片機輸出端加了一個邏輯保護電路,其電路如圖5所示。假定起動電流不超過最大電流,則輸入C不起任何作用,輸出只受P10~P15控制。按照所設計的橋式電路,要求Q1與Q4、Q2與Q5、Q3與Q6不能同時導通,否則通過IGBT的電流過大,導致過流損壞。根據電路的邏輯關系,當P10P13、P11P14、P12P15出錯,都輸出低電平,或者P0口輸出均為低電平(高電平),Q1Q4、Q2Q5、Q3Q6沒有同時導通,很好地保護了電路。 

 

 

4 測速電路 

    如果要對直流無刷電動機的轉速進行精確控制,首先要對它的轉速進行精確測量。筆者利用轉子位置傳感器所產生的脈沖信號來反映電機的轉速。將傳感器輸出端接到單片機的P15口,隨著電機的轉動,單片機不斷的接收到高低電平。當單片機檢測到一個下跳沿時開始啟動定時器T1工作,直到接收到下一個相鄰的下跳沿時為止。相繼兩個高電平之間的時間與電機的轉速成正比,可以測量出電動機的轉速。 

5 雙單片機控制電路 

5.1 設計原理 

    在本設計方案中,用單片機來控制無刷直流電機的起動、換相、調速、正反轉及停車。在設計中,由于程序在測量轉速時,有一個等待延時時間,如果電動機轉速較低,則傳感器傳輸的兩個高電平間隔較大,則必然影響到電機換向,使電機失步而停車。為避免這種情況,在設計時使用了兩片89C52單片機,其中一塊為主單片機,一塊為從單片機。從單片機主要負責控制電動機的換相時機。當從單片機接收到轉子位置檢測電路的轉子位置信息后,由其P1口向邏輯保護電路發(fā)出兩路信號,邏輯保護電路將接收到的信號反相后傳輸給六只IGBT的柵極驅動電路,從而控制定子繞組的換相時機。主單片機負責測量轉速,并將測到的實際轉速與給定轉速比較,將比較結果通過串行口TXD傳送到從單片機。從單片機接收到信息后,在換相時機不變的前提下,改變定子繞組電流通電時間,從而達到調速的目的。單片機接法如圖6所示。 

 

 

5.2 串行口雙機通信 

    在串行通信中,接收、發(fā)送雙方的波特率必須一致。因此,首先要設定通信波特率,根據需要設置合理的發(fā)送接收速率。主單片機程序在復位時,初始化串行傳送控制寄存器SCON,設置SCON=0x40,此時采用串行傳輸模式一。令SMOD=1,TMOD=0x21,定時器T1設為方式二,初值設為0xff,則波特率為62.5kbit/s。主單片機采用定時發(fā)送數據方式,從單片機接收數據采用中斷方式。首先要對串行口進行初始化,定義SCON使REN=1,且要開CPU及串行口中斷,使EA=1,ES=1。接收到數據后,接收中斷標志位RI為1,程序進入中斷服務程序,先關中斷,然后將SBUF接收到的數據取出,再使RI清零并開中斷退出中斷服務程序。具體思路是:主單片機將測量的轉速與設定轉速比較,如果過大,則通過串行口向從單片機發(fā)出數字0;如果過小,則向從單片機發(fā)出數字1;如果相等,則向從單片機發(fā)出數字2。從單片機通過中斷讀取信息,如果SBUF里數的為0,則增大換相延時時間,降低電機轉速,直至接收到2為止;如果SBUF里的數為1,則減小換相延時時間,以增大電機轉速,直至接收到2為止;如果SBUF里的數為2,則換相延時時間不變,電機保持在當前速度下運行。 

5.3 串行通信軟件設計 

    整個軟件采用C51語言編寫,全部模塊化編程。主單片機程序模塊主要包括測速程序、設定速度程序、速度顯示程序,其主函數流程圖如圖7所示。從單片機程序模塊主要包括正轉、反轉及停車程序、調速程序、串行中斷服務程序,其主函數流程圖及中斷函數流程圖如圖8、圖9所示。 

 

                  

 

    本文設計并實現的無刷直流電動機控制系統(tǒng),在實驗室已調試成功。該電路軟件仿真和硬件實現已通過驗證,取得了很好的效果。實踐證明本設計可行有效。 

參考文獻 

1 張 琛.直流無刷電動機原理及應用.北京:機械工業(yè)出版社,1996. 

2 徐愛鈞,彭秀華.單片機高級C51應用程序設計.北京:電子工業(yè)出版社,1998. 

3 潘新民,王燕芳.微型計算機控制技術.北京:人民郵電出版社,1999.

此內容為AET網站原創(chuàng),未經授權禁止轉載。