<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于80196與PBL3717的步進(jìn)電機控制系統

基于80196與PBL3717的步進(jìn)電機控制系統

作者: 時(shí)間:2007-08-02 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要: 本文介紹由Intel 80C196KC單片機和兩片A驅動(dòng)芯片構成的二相,包括了A芯片的驅動(dòng)的硬件電路設計和電機的軟件控制程序。系統通過(guò)80C196KC高速輸出口HSO輸出控制脈沖,占用的CPU資源極少,實(shí)現了電機的轉動(dòng),鎖定,變速控制和軟件細分控制。
關(guān)鍵字 80C196KC 步進(jìn)電機

1.引言

步進(jìn)電動(dòng)機是一種純粹的數字控制電動(dòng)機,它將電脈沖信號轉變?yōu)榻俏灰?,通過(guò)改變輸出脈沖信號的頻率和個(gè)數,可以實(shí)現調速和位置控制,具有較好的低速運行特性和較寬的調速范圍,數控簡(jiǎn)單,成本低,無(wú)累積誤差,能夠準確的移動(dòng)和定位[1]。PBL3717A是SGS-THOMSON公司生產(chǎn)的步進(jìn)電機單相繞組的專(zhuān)用驅動(dòng)芯片,兩塊PBL3717A芯片和少量無(wú)源電路元件可以組成一組完整的二相步進(jìn)電機的控制驅動(dòng)電路。80C196KC是INTEL MCS96 系列中一款高性能的CHMOS型的16位單片機,使用80C196KC和PBL3717可以很好的實(shí)現二相混合式步進(jìn)電動(dòng)機的運轉、轉矩細分、變速和鎖定控制。

2.硬件設計

2.1電機驅動(dòng)電路

2.1.1 PBL3717A電機驅動(dòng)芯片

本系統中采用的PBL3717A步進(jìn)電機驅動(dòng)芯片,通過(guò)單片機輸出控制信號,實(shí)現對步進(jìn)電機不同的步距控制。下面就介紹一下3717A芯片的工作原理。

圖1 PBL3717A 結構圖

如圖1為雙列直插16管腳的PBL3717A的電機驅動(dòng)芯片的結構圖電路[2],

管腳1和管腳15 是芯片電流的輸出端,分別連接電機線(xiàn)圈的兩端,內部由四片達林頓晶體管和續流二極管構成一個(gè)H型電橋。管腳8為相位選擇端,控制電流輸出的方向,當為高電平時(shí),電流從OUTPUTA流向OUTPUTB端。內置的施密特觸發(fā)器能夠較好的消除噪聲干擾和換向電流的延遲。管腳9和管腳7時(shí)電流選擇輸入端,輸入不同的邏輯控制信號,選通片內三個(gè)不同的電壓比較器,來(lái)選擇不同大小的輸出電流。比較器端的基準電壓由外加電壓經(jīng)分壓電阻取得,從上至下的四個(gè)片內分壓電阻分別為6kΩ、223Ω、223Ω、105Ω,分壓比為0.084、0.050、0.016,因此在不同邏輯控制輸入信號下,輸出電流為I00 :I10 :I01=1:0.6:0.2。管腳16外接繞組電流采樣電阻Rs。管腳11為參考電壓輸入端,連接著(zhù)片內的三個(gè)電壓比較器,改變參考電壓可以實(shí)現對步進(jìn)電機轉矩的細分控制。

當相位控制端Phase為高電平時(shí),晶閘管Q2,Q3截止Q1持續導通,而Q4處于高頻開(kāi)關(guān)的狀態(tài),電流從OUTA流向OUTB端。當Q1、Q4導通時(shí),經(jīng)過(guò)電機線(xiàn)圈的電流通過(guò)外接管腳16的采樣感應電阻Rs而轉化為采樣電壓信號Urs,經(jīng)過(guò)RC低通濾波電路,形成與電機繞組電流成正比的電壓信號Uc,反饋到管腳10,接入到比較器的反相端。當采樣到的電壓大于相應的片內電壓比較器的基準電壓時(shí),比較器被選通,輸出端發(fā)生電平負跳變,觸發(fā)單穩電路輸出為高電平,晶閘管Q4截至,電機繞組電流通過(guò)Q1、D2形成續流回路,線(xiàn)圈放電,電流減小,Vrs相應減小,其電流衰減的時(shí)間取決于管腳2外接的RT和CT參數(toff=0.69RTCT);當采樣電壓Vrs小于電壓比較器參考電壓時(shí),單穩電路輸出低電平,Q4導通,電流增加,如此這樣重復。由于開(kāi)關(guān)頻率極很高,所以在電機繞組中的電流近似于平穩的直流,從而控制電動(dòng)機繞組平均電流的大小,使繞組電流穩定的輸出。當選擇的比較器的基準電壓相對較高時(shí),Uc達到要求值的時(shí)間相對長(cháng),故單穩電路處于穩態(tài)的時(shí)間就長(cháng),電動(dòng)機的平均電流就大。當Phase端為低電平時(shí),工作原理類(lèi)似,Q1、Q4截止,Q2持續導通,Q3處于高頻開(kāi)關(guān)狀態(tài),只是電流從OUTB流向OUTA。當Phase引腳電平改變,電流換相時(shí)會(huì )由于電機繞組電感而產(chǎn)生感應電動(dòng)勢,產(chǎn)生感應電流流過(guò)續流二極管,可以確保在電動(dòng)機繞組上的電流可以迅速降為零并換相。

2.1.2電機驅動(dòng)電路與步距控制

圖2 步進(jìn)電機驅動(dòng)電路

如圖2所示為兩片3717組成的二相步進(jìn)電機的驅動(dòng)電路,可實(shí)現步進(jìn)電機的全步,半步和1/4步工作方式,全步距工作方式為單相激勵或二相激勵四拍方式。半步距工作方式為單相、二相交替激勵八拍方式。系統中使用的1/4步距工作方式,在整步和半步之間插入一個(gè)1/4步的狀態(tài),磁場(chǎng)旋轉一周分為16個(gè)拍節,步距角較小,電動(dòng)機運轉平滑。同時(shí)在系

2.2單片機系統電路

80C196KC是INTEL公司推出的CHMOS型16位單片機,性能較MCS51系列單片機很大的提高。主頻可以工作到20MHz,內部為2分頻電路,指令執行速度快,低功耗方式。CPU的算術(shù)邏輯單元不采用常規累加器結構,改用了寄存器-寄存器的結構,CPU直接面向256字節的寄存器,消除了一般CPU結構存在的累加器的瓶頸效應,提高了操作速度和數據吞吐能力。片上集成了豐富的硬件外設和軟件硬件資源。內部集成有8路10位的A/D轉換器、三路脈寬調制輸出,具有完善的HSIO功能,便于實(shí)現復雜的I/O控制,增加了外設服務(wù)器PTS,專(zhuān)門(mén)處理外設中斷服務(wù)事務(wù),提高了中斷事務(wù)的實(shí)時(shí)處理能力[3]。以上的優(yōu)點(diǎn),80C196KC單片機和PBL3717可以構成一個(gè)完整的步進(jìn)電機的。下面就說(shuō)明一下80C196KC的系統電路。

2.2.1 高速輸出口HSO

80C196KC有6個(gè)高速輸出口,用于按程序設定的時(shí)間去觸發(fā)某一事件,占用的CPU的開(kāi)銷(xiāo)極少,所以速度很高。將80C196KC的HSO0~HSO6分別與兩片PBL3717A芯片的I0A、I0B、PHASEA、IB0、IB1、PHASEB相連接,對HSO口輸出一定頻率的控制字脈沖就能控制步進(jìn)電機的轉動(dòng)方向和速度。

系統中將定時(shí)器T2作為HSO輸出事件的時(shí)間基準,通過(guò)系統CLKOUT信號作為T(mén)2 的時(shí)鐘源,接入T2CLK引腳,利用HSO定時(shí)器2 復位的命令和CAM鎖定功能,T2復位時(shí)間鎖定在CAM中,這樣就能周期性的產(chǎn)生HSO輸出事件,步進(jìn)電機繞組內磁場(chǎng)旋轉一圈的周期就是定時(shí)器的T2的復位周期。通過(guò)設置HSO事件的觸發(fā)時(shí)間的T2的復位時(shí)間調整控制波形的頻率,從而實(shí)現步進(jìn)電機的變速控制。顯然,利用HSO功能,輸出的脈沖波形精確,大大減少了系統的開(kāi)銷(xiāo)。

因為在實(shí)際運行中,步進(jìn)電機會(huì )因外界的干擾而產(chǎn)生一定的位移,所以,當電機停轉時(shí),要給電機一定的鎖定力矩以保持電機固定位置。這時(shí)二相步進(jìn)電機A、B相繞組同時(shí)通恒定不變的電流。轉子轉到兩相磁場(chǎng)平衡的位置,即可鎖定不動(dòng)。在長(cháng)時(shí)間進(jìn)行鎖定時(shí),一般繞組輸出為低電流,以避免繞組中長(cháng)時(shí)間通電而造成的電機和芯片過(guò)熱。

2..2.2 中斷系統

步進(jìn)電機的上下限位信號分別接在P1.6和P1.7上,然后共同連接到外部中斷引腳P2.2上,當步進(jìn)電機旋轉到限位位置時(shí),觸發(fā)外部中斷源,進(jìn)行外部中斷服務(wù)子程序中,在子程序中首先查詢(xún)P1.6、P1.7口,判斷是哪個(gè)限位觸發(fā)的中斷信號,然后進(jìn)行相應服務(wù)子程序處理。

80C196KC內部有四個(gè)軟件定時(shí)器可以同時(shí)工作,系統中使用軟件定時(shí)器中斷進(jìn)行細分驅動(dòng)控制,使用定時(shí)器2為時(shí)間基準,在中斷服務(wù)子程序中控制細分參考電壓的輸出。

2.2.4細分電路

圖4 D/A細分驅動(dòng)電路


在系統中加入了步距角細分功能,在輸入脈沖切換時(shí),只改變相應繞組中額定的一部分,電機轉動(dòng)的每步也只有步距角的一部分,在不改變電機構造參數的情況下,使步進(jìn)電機運行平穩,提高勻速性,減弱或消除震蕩,提高電機的控制精度[4]。

系統通過(guò)D/A轉換電路對3717的參考電壓輸入端進(jìn)行電壓細分,最多可達256細分。

如圖4為四路8位數模轉化器TLC7226D/A轉換電路,單片機通過(guò)地址總線(xiàn)MA1,MA2 來(lái)選通數模轉換通道,通過(guò)數據總線(xiàn)AD0~AD8寫(xiě)入所要輸出的參考電壓,當 寫(xiě)輸入選擇端為低電平時(shí),所選的DA通道輸入鎖存是透明的,輸入對數據總線(xiàn)的活動(dòng)做出響應,數據在 的上升沿鎖存入所尋址的D/A鎖存器,在 高電平時(shí),模擬輸出保持在與存在鎖存器內的數據相對應數值得電壓信號,經(jīng)過(guò)電壓跟隨器送到3717的參考電壓輸入端。

系統地址總線(xiàn)MA14、MA15與80C196的WR通過(guò)邏輯門(mén)選通TLC7226D/A芯片。單片機的地址總線(xiàn)0xC000~0xFFFF被D/A電路占用。

3.軟件設計

軟件方面主要是設計系統的初始化,步進(jìn)電機的正反轉,變速控制,步距細分控制和電動(dòng)機的鎖定。

在初始化程序中完成對單片機各個(gè)寄存器窗口的選擇、配置和系統初值的設定等等。

通過(guò)對HSO.0~HSO.5輸出固定頻率的控制脈沖序列,來(lái)控制電機的正轉與反轉,通過(guò)改變所存在HSO_CAM中的定時(shí)器2的復位事件的時(shí)間和相應HSO脈沖輸出事件的觸發(fā)時(shí)間來(lái)實(shí)現電機的變速控制。同時(shí)設置80C19KC的軟件定時(shí)器中斷,在中斷服務(wù)子程序中進(jìn)行軟件細分驅動(dòng)控制,對3717參考輸入電壓進(jìn)行細分控制,產(chǎn)生階梯狀遞增和遞減參考電壓。通過(guò)對HSO配置固定電平信號使得電機A、B相繞組通入恒定不變得電流,以實(shí)現對步進(jìn)電機的鎖定。

為了實(shí)現對步進(jìn)電機啟停運轉的精確控制,將推導出的符合步進(jìn)電機矩頻特性的指數型運行曲線(xiàn)量化后,存入E2PROM中。在系統運行過(guò)程中,通過(guò)調用當前速度所對應的狀態(tài)延時(shí)時(shí)間,控制輸出脈沖頻率,確保步進(jìn)電機的平滑運轉。

系統中的主程序框圖、電機轉動(dòng)控制與軟件細分程序框圖如圖5所示。

本系統程序采用C語(yǔ)言編寫(xiě),下面就列出HSO脈沖輸出的功能代碼:

IOC2=0X40; 允許鎖定CAM功能

ICO0=0; 允許T2CLK作T2的時(shí)鐘源

HSO_COMMAND=0xCE; 鎖定T2復位命令

HSO_TIME=time_reset; 設置T2的復位周期

Delay(8); 至少需延時(shí)8個(gè)機器周期

HSO_COMMAND =0x71; 對HSO.0定時(shí)置位

HSO_TIME= time_up; 設置置位時(shí)間

Delay(8);

HSO_COMMAND=0x71; 對HSO.0定時(shí)復位

HSO_TIME=timer_down; 設置復位時(shí)間,

4.結束語(yǔ)

選用80C196KC和兩片或更多片PBL3717A芯片可以構成一個(gè)穩定的二相或多相步進(jìn)電機,利用80C196KC高速輸出口輸出脈沖控制波形精確,CPU開(kāi)銷(xiāo)少,通過(guò)軟件參考電壓細分功能,可以很好的實(shí)現步進(jìn)電動(dòng)機的整步、半步和微步距控制。這種步進(jìn)電機控制系統,成本低,控制方便,性能穩定,有較高的實(shí)用價(jià)值。

參考文獻:

[1] 王曉明. 電動(dòng)機的單片機控制[M]. 北京航空航天大學(xué)出版社,2002
[2]SGS公司. PBL3717A Stepper Motor Driver
[3]徐愛(ài)卿. Intel16位單片機(修訂版)[M]. 北京航空航天大學(xué)出版社,2002
[4]楊忠寶,林海波,80C196MC的步進(jìn)電機斬波恒流均勻細分電路的實(shí)現,微計算機信息,2003,19(7)



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>