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