中心論題:
- 在直流電機(jī)驅(qū)動(dòng)電路的設(shè)計(jì)中,主要考慮功能和性能等方面的因素
- 分別介紹幾種不同的柵極驅(qū)動(dòng)電路并比較其性能優(yōu)缺點(diǎn)
- 介紹PWM調(diào)速的實(shí)現(xiàn)算法及硬件電路
- 介紹步進(jìn)電機(jī)的驅(qū)動(dòng)方案
解決方案:
- 根據(jù)實(shí)際電路情況以及要求仔細(xì)選擇驅(qū)動(dòng)電路
- 使用循環(huán)位移算法及模擬電路實(shí)現(xiàn)PWM調(diào)速
- 對(duì)每個(gè)電機(jī)的相應(yīng)時(shí)刻設(shè)定相應(yīng)的分頻比值,同時(shí)用一個(gè)變量進(jìn)行計(jì)數(shù)可實(shí)現(xiàn)步進(jìn)電機(jī)的分頻調(diào)速
直流電機(jī)驅(qū)動(dòng)電路的設(shè)計(jì)目標(biāo)
在直流電機(jī)驅(qū)動(dòng)電路的設(shè)計(jì)中,主要考慮一下幾點(diǎn):
功能:電機(jī)是單向還是雙向轉(zhuǎn)動(dòng)?需不需要調(diào)速?對(duì)于單向的電機(jī)驅(qū)動(dòng),只要用一個(gè)大功率三極管或場(chǎng)效應(yīng)管或繼電器直接帶動(dòng)電機(jī)即可,當(dāng)電機(jī)需要雙向轉(zhuǎn)動(dòng)時(shí),可以使用由4個(gè)功率元件組成的H橋電路或者使用一個(gè)雙刀雙擲的繼電器。如果不需要調(diào)速,只要使用繼電器即可;但如果需要調(diào)速,可以使用三極管,場(chǎng)效應(yīng)管等開關(guān)元件實(shí)現(xiàn)PWM(脈沖寬度調(diào)制)調(diào)速。
性能:對(duì)于PWM調(diào)速的電機(jī)驅(qū)動(dòng)電路,主要有以下性能指標(biāo)。
1。輸出電流和電壓范圍,它決定著電路能驅(qū)動(dòng)多大功率的電機(jī)。
2。效率,高的效率不僅意味著節(jié)省電源,也會(huì)減少驅(qū)動(dòng)電路的發(fā)熱。要提高電路的效率,可以從保證功率器件的開關(guān)工作狀態(tài)和防止共態(tài)導(dǎo)通(H橋或推挽電路可能出現(xiàn)的一個(gè)問(wèn)題,即兩個(gè)功率器件同時(shí)導(dǎo)通使電源短路)入手。
3。對(duì)控制輸入端的影響。功率電路對(duì)其輸入端應(yīng)有良好的信號(hào)隔離,防止有高電壓大電流進(jìn)入主控電路,這可以用高的輸入阻抗或者光電耦合器實(shí)現(xiàn)隔離。
4。對(duì)電源的影響。共態(tài)導(dǎo)通可以引起電源電壓的瞬間下降造成高頻電源污染;大的電流可能導(dǎo)致地線電位浮動(dòng)。
5。可靠性。電機(jī)驅(qū)動(dòng)電路應(yīng)該盡可能做到,無(wú)論加上何種控制信號(hào),何種無(wú)源負(fù)載,電路都是安全的。
三極管-電阻作柵極驅(qū)動(dòng)
1.輸入與電平轉(zhuǎn)換部分:
輸入信號(hào)線由DATA引入,1腳是地線,其余是信號(hào)線。注意1腳對(duì)地連接了一個(gè)2K歐的電阻。當(dāng)驅(qū)動(dòng)板與單片機(jī)分別供電時(shí),這個(gè)電阻可以提供信號(hào)電流回流的通路。當(dāng)驅(qū)動(dòng)板與單片機(jī)共用一組電源時(shí),這個(gè)電阻可以防止大電流沿著連線流入單片機(jī)主板的地線造成干擾?;蛘哒f(shuō),相當(dāng)于把驅(qū)動(dòng)板的地線與單片機(jī)的地線隔開,實(shí)現(xiàn)“一點(diǎn)接地”。
高速運(yùn)放KF347(也可以用TL084)的作用是比較器,把輸入邏輯信號(hào)同來(lái)自指示燈和一個(gè)二極管的2。7V基準(zhǔn)電壓比較,轉(zhuǎn)換成接近功率電源電壓幅度的方波信號(hào)。KF347的輸入電壓范圍不能接近負(fù)電源電壓,否則會(huì)出錯(cuò)。因此在運(yùn)放輸入端增加了防止電壓范圍溢出的二極管。輸入端的兩個(gè)電阻一個(gè)用來(lái)限流,一個(gè)用來(lái)在輸入懸空時(shí)把輸入端拉到低電平。
不能用LM339或其他任何開路輸出的比較器代替運(yùn)放,因?yàn)殚_路輸出的高電平狀態(tài)輸出阻抗在1千歐以上,壓降較大,后面一級(jí)的三極管將無(wú)法截止。
2.柵極驅(qū)動(dòng)部分:
后面三極管和電阻,穩(wěn)壓管組成的電路進(jìn)一步放大信號(hào),驅(qū)動(dòng)場(chǎng)效應(yīng)管的柵極并利用場(chǎng)效應(yīng)管本身的柵極電容(大約1000pF)進(jìn)行延時(shí),防止H橋上下兩臂的場(chǎng)效應(yīng)管同時(shí)導(dǎo)通(“共態(tài)導(dǎo)通”)造成電源短路。
當(dāng)運(yùn)放輸出端為低電平(約為1V至2V,不能完全達(dá)到零)時(shí),下面的三極管截止,場(chǎng)效應(yīng)管導(dǎo)通。上面的三極管導(dǎo)通,場(chǎng)效應(yīng)管截止,輸出為高電平。當(dāng)運(yùn)放輸出端為高電平(約為VCC-(1V至2V),不能完全達(dá)到VCC)時(shí),下面的三極管導(dǎo)通,場(chǎng)效應(yīng)管截止。上面的三極管截止,場(chǎng)效應(yīng)管導(dǎo)通,輸出為低電平。
上面的分析是靜態(tài)的,下面討論開關(guān)轉(zhuǎn)換的動(dòng)態(tài)過(guò)程:三極管導(dǎo)通電阻遠(yuǎn)小于2千歐,因此三極管由截止轉(zhuǎn)換到導(dǎo)通時(shí)場(chǎng)效應(yīng)管柵極電容上的電荷可以迅速釋放,場(chǎng)效應(yīng)管迅速截止。但是三極管由導(dǎo)通轉(zhuǎn)換到截止時(shí)場(chǎng)效應(yīng)管柵極通過(guò)2千歐電阻充電卻需要一定的時(shí)間。相應(yīng)的,場(chǎng)效應(yīng)管由導(dǎo)通轉(zhuǎn)換到截止的速度要比由截止轉(zhuǎn)換到導(dǎo)通的速度快。假如兩個(gè)三極管的開關(guān)動(dòng)作是同時(shí)發(fā)生的,這個(gè)電路可以讓上下兩臂的場(chǎng)效應(yīng)管先斷后通,消除共態(tài)導(dǎo)通現(xiàn)象。
實(shí)際上,運(yùn)放輸出電壓變化需要一定的時(shí)間,這段時(shí)間內(nèi)運(yùn)放輸出電壓處于正負(fù)電源電壓之間的中間值。這時(shí)兩個(gè)三極管同時(shí)導(dǎo)通,場(chǎng)效應(yīng)管就同時(shí)截止了。所以實(shí)際的電路比這種理想情況還要安全一些。
場(chǎng)效應(yīng)管柵極的12V穩(wěn)壓二極管用于防止場(chǎng)效應(yīng)管柵極過(guò)壓擊穿。一般的場(chǎng)效應(yīng)管柵極的耐壓是18V或20V,直接加上24V電壓將會(huì)擊穿,因此這個(gè)穩(wěn)壓二極管不能用普通的二極管代替,但是可以用2千歐的電阻代替,同樣能得到12V的分壓。
3.場(chǎng)效應(yīng)管輸出部分:
大功率場(chǎng)效應(yīng)管內(nèi)部在源極和漏極之間反向并聯(lián)有二極管,接成H橋使用時(shí),相當(dāng)于輸出端已經(jīng)并聯(lián)了消除電壓尖峰用的四個(gè)二極管,因此這里就沒(méi)有外接二極管。輸出端并聯(lián)一個(gè)小電容(out1和out2之間)對(duì)降低電機(jī)產(chǎn)生的尖峰電壓有一定的好處,但是在使用PWM時(shí)有產(chǎn)生尖峰電流的副作用,因此容量不宜過(guò)大。在使用小功率電機(jī)時(shí)這個(gè)電容可以略去。如果加這個(gè)電容的話,一定要用高耐壓的,普通的瓷片電容可能會(huì)出現(xiàn)擊穿短路的故障。
輸出端并聯(lián)的由電阻和發(fā)光二極管,電容組成的電路指示電機(jī)的轉(zhuǎn)動(dòng)方向。
4.性能指標(biāo):
電源電壓15~30 V,最大持續(xù)輸出電流5A/每個(gè)電機(jī),短時(shí)間(10秒)可以達(dá)到10A,PWM頻率最高可以用到30KHz(一般用1到10KHz)。電路板包含4個(gè)邏輯上獨(dú)立的,輸出端兩兩接成H橋的功率放大單元,可以直接用單片機(jī)控制。實(shí)現(xiàn)電機(jī)的雙向轉(zhuǎn)動(dòng)和調(diào)速。
5.布線:
大電流線路要盡量的短粗,并且盡量避免經(jīng)過(guò)過(guò)孔,一定要經(jīng)過(guò)過(guò)孔的話要把過(guò)孔做大一些(>1mm)并且在焊盤上做一圈小的過(guò)孔,在焊接時(shí)用焊錫填滿,否則可能會(huì)燒斷。另外,如果使用了穩(wěn)壓管,場(chǎng)效應(yīng)管源極對(duì)電源和地的導(dǎo)線要盡可能的短粗,否則在大電流時(shí),這段導(dǎo)線上的壓降可能會(huì)經(jīng)過(guò)正偏的穩(wěn)壓管和導(dǎo)通的三極管將其燒毀。在一開始的設(shè)計(jì)中,NMOS管的源極于地之間曾經(jīng)接入一個(gè)0。15歐的電阻用來(lái)檢測(cè)電流,這個(gè)電阻就成了不斷燒毀板子的罪魁禍?zhǔn)?。?dāng)然如果把穩(wěn)壓管換成電阻就不存在這個(gè)問(wèn)題了。
在2004年的Robocon比賽中,我們主要采用了這個(gè)電路用以電機(jī)驅(qū)動(dòng)。
低壓驅(qū)動(dòng)電路的簡(jiǎn)易柵極驅(qū)動(dòng)
一般功率場(chǎng)效應(yīng)管的最高柵源電壓為20V左右,所以在24V應(yīng)用中要保證柵源電壓不能超過(guò)20V,增加了電路的復(fù)雜程度。但在12V或更低電壓的應(yīng)用中,電路就可以大大簡(jiǎn)化。
上圖就是一個(gè)12V驅(qū)動(dòng)橋的一邊,上面電路的三極管部分被兩個(gè)二極管和兩個(gè)電阻代替。(注意,跟上圖邏輯是反的)由于場(chǎng)效應(yīng)管柵極電容的存在,通過(guò)R3,R4向柵極電容充電使場(chǎng)效應(yīng)管延緩導(dǎo)通;而通過(guò)二極管直接將柵極電容放電使場(chǎng)效應(yīng)管立即截止,從而避免了共態(tài)導(dǎo)通。
這個(gè)電路要求在IN端輸入的是邊緣陡峭的方波脈沖,因此控制信號(hào)從單片機(jī)或者其他開路輸出的設(shè)備接入后,要經(jīng)過(guò)施密特觸發(fā)器(比如555)或者推挽輸出的高速比較器才能接到IN端。如果輸入邊緣過(guò)緩,二極管延時(shí)電路也就失去了作用。
R3,R4的選取與IN信號(hào)邊沿升降速度有關(guān),信號(hào)邊緣越陡峭,R3,R4可以選的越小,開關(guān)速度也就可以做的越快。Robocon比賽使用的升壓電路(原理相似)中,IN前用的是555。
邊沿延時(shí)驅(qū)動(dòng)電路
在前級(jí)邏輯電路里,有意地對(duì)控制PMOS的下降沿和控制NMOS的上升沿進(jìn)行延時(shí),再整形成方波,也可以避免場(chǎng)效應(yīng)管的共態(tài)導(dǎo)通。另外,這樣做可以使后級(jí)的柵極驅(qū)動(dòng)電路簡(jiǎn)化,可以是低阻推挽驅(qū)動(dòng)?xùn)艠O,不必考慮柵極電容,可以較好的適應(yīng)不同的場(chǎng)效應(yīng)管。2003年Robocon比賽采用的就是這種驅(qū)動(dòng)電路。下圖是兩種邊沿的延時(shí)電路:
下圖是對(duì)應(yīng)的NMOS,PMOS柵極驅(qū)動(dòng)電路:
這個(gè)柵極驅(qū)動(dòng)電路由兩級(jí)三極管組成:前級(jí)提供驅(qū)動(dòng)場(chǎng)效應(yīng)管柵極所需的正確電壓,后級(jí)是一級(jí)射極跟隨器,降低輸出阻抗,消除柵極電容的影響。為了保證不共態(tài)導(dǎo)通,輸入的邊沿要比較陡,上述先延時(shí)再整形的電路就可以做到。
其它幾種驅(qū)動(dòng)電路
1. 繼電器+半導(dǎo)體功率器件的想法
繼電器有著電流大,工作穩(wěn)定的優(yōu)點(diǎn),可以大大簡(jiǎn)化驅(qū)動(dòng)電路的設(shè)計(jì)。在需要實(shí)現(xiàn)調(diào)速的電機(jī)驅(qū)動(dòng)電路中,也可以充分利用繼電器。有一個(gè)方案就是利用繼電器來(lái)控制電流方向來(lái)改變電機(jī)轉(zhuǎn)向,而用單個(gè)的特大電流場(chǎng)效應(yīng)管(比如IRF3205,一般只有N型特大電流的管子)來(lái)實(shí)現(xiàn)PWM調(diào)速,如下圖(a)所示。這樣是實(shí)現(xiàn)特別大電流驅(qū)動(dòng)的一個(gè)方法。換向的繼電器要使用雙刀雙擲型的,接線如下圖(b),線圈接線如下圖(c):
(b)
(a)
(c)
2. 幾種驅(qū)動(dòng)芯片
1) L298 參考http://www.21icsearch.com/searchpdf/st/L298N.pdf
2) A3952 參考http://www.allegromicro.com/datafile/archive/3952.pdf
3) A3940 參考http://www.allegromicro.com/datafile/3940.pdf
4) L6203 參考http://www.21icsearch.com/searchpdf/st/L6203.pdf
PWM調(diào)速的實(shí)現(xiàn)
1. 使用定時(shí)器的算法
//butcher補(bǔ)充一下吧
//算法原理
//編程實(shí)現(xiàn)要點(diǎn)
//優(yōu)缺點(diǎn)
2. 使用循環(huán)移位的算法
產(chǎn)生PWM信號(hào)可以由定時(shí)器來(lái)完成,但是由于51內(nèi)部只提供了兩個(gè)定時(shí)器,因此如果要向三個(gè)或更多的直流電機(jī)輸出不同占空比的信號(hào)要反復(fù)設(shè)置定時(shí)器,實(shí)現(xiàn)較為復(fù)雜,我們采用一種比較簡(jiǎn)單的方法不僅可以實(shí)現(xiàn)對(duì)更多的直流電機(jī)提供不同的占空比輸入信號(hào),而且只占用一個(gè)定時(shí)器資源。這種方法可以簡(jiǎn)單表述如下:
在內(nèi)存的某段空間內(nèi)存放各個(gè)直流電機(jī)所需的輸入信號(hào)占空比信息,如果占空比為1則保存0FFH(11111111B);占空比為0。5則保存0F0H(11110000B)或任何2進(jìn)制數(shù)中包括4個(gè)0和4個(gè)1。即
占空比=1的個(gè)數(shù)/8
具體選取什么樣的二進(jìn)制數(shù)要看輸出頻率的要求。若要對(duì)此直流電機(jī)輸出PWM信號(hào),只要每個(gè)時(shí)間片移位一次取出其中固定的一位(可以用位尋址或進(jìn)位標(biāo)志C實(shí)現(xiàn))送到電機(jī)端口上即可。另外,移位算法是一種對(duì)以前結(jié)果依賴的算法,所以最好定期檢查或重置被移位的數(shù),防止移錯(cuò)導(dǎo)致一直錯(cuò)下去。
這種算法的優(yōu)點(diǎn)是獨(dú)立進(jìn)程,可以實(shí)現(xiàn)對(duì)多個(gè)電機(jī)的控制,缺點(diǎn)是占用資源較大,PWM頻率較低。
3. 模擬電路PWM的實(shí)現(xiàn)
上圖為一個(gè)使用游戲手柄或者航模搖桿上的線性電位器(或線性霍爾元件)控制兩個(gè)底盤驅(qū)動(dòng)電機(jī)的PWM生成電路。J1是手柄的插座,123和456分別是x,y兩個(gè)方向的電位器。U1B提供半電源電壓,U1A是電壓跟隨。x,y分量經(jīng)過(guò)合成成為控制左右輪兩個(gè)電機(jī)轉(zhuǎn)速的電壓信號(hào)。在使用中,讓L=(x+1)y/(x+1。4),R=(x-1)y/(x-0。6),經(jīng)過(guò)試驗(yàn)有不錯(cuò)的效果(數(shù)字只是單位,不是電壓值)。經(jīng)過(guò)U1C和U1D組成的施密特振蕩器把電壓轉(zhuǎn)換為相應(yīng)的PWM信號(hào),用來(lái)控制功率驅(qū)動(dòng)電路。以U1D為例,R1,R2組成有回差的施密特電路,上下門限受輸入電壓影響,C1和R3組成延時(shí)回路,如此形成振蕩的脈寬受輸入電壓控制。Q1,Q2是三極管,組成反相器,提供差分的控制信號(hào)。具體振蕩過(guò)程參見對(duì)555振蕩器的分析。
步進(jìn)電機(jī)驅(qū)動(dòng)
1。 小功率4相步進(jìn)電機(jī)的驅(qū)動(dòng)
下面是一種驅(qū)動(dòng)電路框圖:
達(dá)林頓管陣列ULN2803分別從鎖存器取出第0,2,4,6位和1,3,5,7位去驅(qū)動(dòng)兩個(gè)步進(jìn)電機(jī)。四相步進(jìn)電機(jī)的通電順序可以有幾種:A,B,C,D(4相4拍);AB,BC,CD,DA(4相雙4拍);A,AB,B,BC,C,CD,D,DA(4相8拍)。為了兼顧穩(wěn)定性,轉(zhuǎn)矩和功耗,一般采用4相8拍方式。所有這些方式都可以通過(guò)循環(huán)移位實(shí)現(xiàn)(也要有定期監(jiān)控),為了使4相8拍容易實(shí)現(xiàn),鎖存器與驅(qū)動(dòng)部分采用了交叉連接。
步進(jìn)電機(jī)工作在四相八拍模式(即正轉(zhuǎn)的輸入信號(hào)為1000→1100→0100→0110→0010→0011→0001→1001→1000),對(duì)應(yīng)每個(gè)步進(jìn)電機(jī)要有四個(gè)信號(hào)輸入端,理論上向端口輸出信號(hào)可以控制兩個(gè)步進(jìn)電機(jī)的工作。寄存器循環(huán)移位奇偶位分別作兩個(gè)步進(jìn)電機(jī)的驅(qū)動(dòng)端的做法,其思想如下:
LOOP: MOV A,#1110000B ;在A寄存器中置入11100000
RR A ;右移位
AJMP LOOP ;循環(huán)右移位
這樣在寄存器A中存儲(chǔ)的值會(huì)有如下循環(huán)11100000→01110000→00111000→00011100→00001110→00000111→10000011→11000001→11100000,其奇數(shù)位有如下循環(huán)1000→1100→0100→0110→0010→0011→0001→1001→1000,其偶數(shù)位有如下循環(huán)1100→0100→0110→0010→0011→0001→1001→1000→1100。將A輸出到P0端口,則奇數(shù)位和偶數(shù)位正是我們所需要的步進(jìn)電機(jī)輸入信號(hào)。
而事實(shí)上每個(gè)電機(jī)的動(dòng)作是不同的,為此我們?cè)赗AM中為每個(gè)電機(jī)開辟一個(gè)byte的狀態(tài)字節(jié)用以循環(huán)移位。在每一個(gè)電機(jī)周期里,根據(jù)需要對(duì)每個(gè)電機(jī)的byte進(jìn)行移位,并用ANL指令將兩個(gè)電機(jī)的狀態(tài)合成到一個(gè)字節(jié)里輸出此時(shí)的A同時(shí)可以控制兩個(gè)電機(jī)了。
步進(jìn)電機(jī)的速度由驅(qū)動(dòng)脈沖的頻率決定,移位的周期不同,電機(jī)的速度也就不同了。前面提到的電機(jī)周期,應(yīng)該取各種可能的周期的最大公約數(shù)。換句話說(shuō),一旦電機(jī)周期取定,每個(gè)電機(jī)移位的周期應(yīng)該是它的倍數(shù)。在程序中,對(duì)每個(gè)電機(jī)的相應(yīng)時(shí)刻設(shè)定相應(yīng)的分頻比值,同時(shí)用一個(gè)變量進(jìn)行加一計(jì)數(shù):每到一個(gè)電機(jī)周期若計(jì)數(shù)變量<分頻比值,則計(jì)數(shù)變量加1;若相等,則移位,計(jì)數(shù)變量清零。這樣就實(shí)現(xiàn)了分頻調(diào)速,可以讓多個(gè)電機(jī)同時(shí)以不同的速度運(yùn)轉(zhuǎn)。
另外,也可以采用傳統(tǒng)的查表方式進(jìn)行驅(qū)動(dòng),程序稍長(zhǎng),但也比較穩(wěn)定,這種方法非常適合三相步進(jìn)電機(jī)。
UCN5804B/LB是Allegro公司生產(chǎn)的4相步進(jìn)電機(jī)驅(qū)動(dòng)專用芯片,它集成了控制邏輯,脈沖分配和功率推動(dòng),通過(guò)幾個(gè)管腳的電平來(lái)設(shè)定轉(zhuǎn)動(dòng)方式,方向,通過(guò)改變外時(shí)鐘頻率來(lái)改變轉(zhuǎn)動(dòng)速度,這給完成復(fù)雜的動(dòng)作和測(cè)試步進(jìn)電機(jī)參數(shù)帶來(lái)了極大的方便。
2。 步進(jìn)電機(jī)的智能驅(qū)動(dòng)方案
步進(jìn)電機(jī)有可以精確控制的優(yōu)點(diǎn),但是功耗大,效率低,力矩小。如果選用大功率步進(jìn)電機(jī),為了降低功耗,可以采取PWM恒流控制的方法?;舅悸肥?,用帶反饋的高頻PWM根據(jù)輸出功率的要求對(duì)每相恒流驅(qū)動(dòng),總體電流順序又符合轉(zhuǎn)動(dòng)順序。需要力矩小的時(shí)候應(yīng)及時(shí)減小電流,以降低功耗。該方案實(shí)現(xiàn)的電路,可以采用獨(dú)立的單片機(jī)或CPLD加場(chǎng)效應(yīng)管驅(qū)動(dòng)電路以及電流采樣反饋電路。
附錄:幾種IRF場(chǎng)效應(yīng)管的參數(shù)