基于8XC196MC波形發(fā)生器的步進電機控制
1.1 片內波形發(fā)生器WFG概述
片內波形發(fā)生器’WFG(Wave Form Generator)是8XCl96MC/MD獨具的特點之一。它有三個同步的PWM模塊,每個模塊包含一個相位比較寄存器、一個無信號時間(dead— time)發(fā)生器和一對可編程的輸出。WFG可以產生獨立的3對PWM波形,但它們有共同的載波頻率、無信號時間和操作方式。一旦啟動之后,WFG只要求 CP[J在改變PWM的占空比時加以干預。波形發(fā)生器的專用寄存器有雙向計數器’WG—COUNT、重裝載寄存器WG—RELOAD、相位比較緩沖寄存器 WG-RCOMPX、控制寄存器WG·C0N、輸出控制緩沖寄存器WG—OUT。用戶可以對WG—RELOAD寄存器進行寫操作,而它的值周期地(取決于操作方式)裝到第2個寄存器中,用這個計數器比較寄存器與WG—COUNT比較。對第2個寄存器的裝載發(fā)生于WG-COUNT一1或WG—COUNT的值等于計數器比較寄存器的值時,與WFG的操作方式有關。若寫“O”到WG—RELOAD寄存器中,則當該值裝入計數器中,它就停止計數。
1.2 波形發(fā)生器基本工作原理
波形發(fā)生器從功能上分3部分。時基發(fā)生器,相位驅動器通道和控制電路。時基發(fā)生器為PWM建立載波周期。該周期取決于WG—RELOAD寄存器的值和操作方式。時基發(fā)生器的核心是一個16位雙向計數器WG—COUNT,可工作于4種不同的方式,產生中心對準或邊沿對準的PWM,中心對準的PWM波形所造成的諧波小,通常采用中心對準方式。相位驅動通道決定PWM波形占空比。它有3個獨立的相位驅動通道,它們電路是一樣的,每個通道有一對可編程的輸出。每個相位通道包含一個可編程的無信號時間發(fā)生器,用來防止一對互補輸出在同一時刻都有效??刂撇糠职恍┯脕泶_定工作模式和其他配置信息的寄存器。一個可編程的保護電路可監(jiān)視。EXTINT輸入腳,若檢測到一次有效的事件,就產生一次中斷,禁止波形輸出。
時基發(fā)生器WG-COUNT的工作方式O、1在上電復位后WFG中所有寄存器的值為O。計數器停止工作,寫入到WG-REL0AD中的所有值在1/2狀態(tài)周期(一個晶振周期)后有效,首次寫入WG—RELOAD的值將傳送給WG—COUNT,若WG—CON寄存器中的允許計數位EC一1,開始減l計數,至 0001H,等待一個狀態(tài)周期后再加1計數,直至WG—COUNT中的值等于計數比較寄存器的值,此時完成一個載波周期。當計數比較寄存器的值與WG— COUNT相等時,WG—RELOAD的內容裝入WG—COUNT和計數比較寄存器;WG-COMPX(X一1,2,3)的內容裝入相位比較寄存器;輸出緩沖寄存器的內容裝入WG—OUT;在PI—PEND寄存器中把WG中斷標志置1。在原來(或新)的值重新加載到WG—COUNT后,WG—COUNT開始新一個開關周期的計數,循環(huán)往復?!疻G—COUNT的輸出數據與時間的關系是三角形。載波周期Ts=4×WG-RELOAD/Fxtal(μs); WG-RELOAD是16位的二進制數;Fxta是xtal引腳上的晶振頻率,不考慮無信號時間時;輸出“有效”的時間是ToutpuT=4×WG- COMP/Fxtal(μs),其中WC-COMP的值是16位,等于或小于WG-RELOAD,占空比=WG-COMP/WG-RELOAD× 100%。由此可見,改變WG-RELOAD的值,不僅會改變PWM的載波周期,而且也會改變PWM的占空比。只有在改變WG-RELOAD的同時,按比例改變WG-COMP,才可能在改變載波周期的同時不改變占空比。
工作方式0和1產生的都是中心對準的PWM。在方式0中,每個載波周期產生一次中斷請求,產生于計數器三角波的峰頂(WG-COUT=WG- RELOAD),此時,波形發(fā)生器各緩沖器的值將重裝載到關聯(lián)寄存器中。方式2和3是邊沿對準的PWM,計數器工作于向上計數方式,它計數器波形是鋸齒狀波形。
2 控制步進電機原理
2.1 步進電機控制工作原理
步進電動機又稱脈沖電動機,步進電動機是一種將電脈沖信號變換成相應的角位移或直線位移的機電執(zhí)行元件。每當輸入一個脈沖,電動機就轉動一個角度前進一步。因此,步進電動機輸出的角位移與輸入的脈沖數成正比,相應地轉速與脈沖頻率成正比。控制輸入脈沖的數量、頻率及電動機各相繞組的通電順序,就可以得到各種需要的運行特性,電機的位置和速度由導電次數 (脈沖數)和頻率成一一對應關系。而方向由導電順序決定。步進電機有步距角(涉及到相數)、靜轉矩、及電流三大要素組成。一旦三大要素確定,步進電機的型號便確定下來了。步進電機以相數可分為:二相電機、三相電機、四相電機、五相電機等。它們都廣泛運用于數字控制系統(tǒng)中。
四相步進電機控制電路如圖1,本方案使用了8XC196MC波形發(fā)生器的兩組輸出。它由輸入電路、微處理器、功放電路等構成,控制驅動步進電機的時序是半步距時序。一個調制周期控制八拍。它的控制時序是A-AB-B-BC-C-CD-D-DA-A(正轉),DA-D-CD-C-BC-B-BA-A-DA (反轉)。
步距角:Qn=360°/8*轉子齒數=360°/8*50=0.9°(轉子齒數=50),則步進電機轉一圈所需的步進數:360°/0.9°=400,根據輸入信息決定電機的轉動。
2.2 電源一頻率控制特性
電源一頻率控制特性(AMP)數據表的建立,由于所加的是直流信號,故可以認為電流與電壓成正比,控制電流也就是控制電壓。當調制頻率為0時,電流幅值最大,表格數據規(guī)化為65535(0FFFFH),調制頻率為400 Hz時,電流幅值數據為0,中間隔0.25 Hz取一個數據。最高調制頻率為200 Hz,故表格包含數據801項數據,共占1 602字節(jié)。所以WG_COMP=AMP×WB_RELOAD/216.其中:WG_COMP是裝入相比較寄存器的值;AMP是由表格查得的電流幅值; WG-RELOAD是載波周期。
2.3 程序框圖
主程序初始化須設置允許CAPCOMP0(INT02)中斷,允許EXTINT(INT14)中斷,設置最小、最大調制頻率,設置初始電流幅值,設置PWM載波周期,設置初始PWM占空比,開中斷等。由輸入電路裝入調制頻率,比較調制頻率,并控制調制頻率的極限在初始設置最大到最小范圍內。查表取出AMP表中的數據,并計算再次節(jié)拍時間。CAPCOMP0中斷子程序對電機的八拍轉動特性進行控制輸出,并在中斷程序最后修改占空比和下一次中斷時間。
3 結束語
本文利用單片機技術控制電機轉動工作,使編程由復雜化走向簡單化。INTEL公司的8XC196MC 系列是專門為電機高速控制所設計的一種16位微控制器,其后綴MC正是英文“電機控制器”(Motor Controller)的字頭縮寫,已被廣泛用于電機的控制中。它具有性能高,功能全,用戶使用方便等特點,尤其是高速的處理能力和對交流電的特殊應用,因此它必將在我國的智能領域控制廣泛應用,也將帶來可觀的經濟效益。
評論