O 引言
本設(shè)計(jì)要求對(duì)某火炮的水平和高低角進(jìn)行控制,達(dá)到快速位置伺服系統(tǒng)的要求。而這個(gè)火炮角度控制系統(tǒng)首先要求有快速性,它的反應(yīng)時(shí)間大于或等于12°/s;角度轉(zhuǎn)動(dòng)控制精度小于或等于1’,水平角轉(zhuǎn)動(dòng)范圍從一120°~+120°,高低角轉(zhuǎn)動(dòng)范圍從0°~+85°;最后系統(tǒng)要有很好的穩(wěn)定性和動(dòng)態(tài)性能。
由于位置伺服系統(tǒng)一般是以足夠的位置控制精度、位置跟蹤精度和足夠快的跟蹤速度作為它的主要控制目標(biāo),系統(tǒng)運(yùn)行時(shí)要求能以一定的精度隨時(shí)跟蹤指令的變化。所以對(duì)于這種快速位置伺服系統(tǒng),要求整個(gè)系統(tǒng)各部分配合良好,其中的關(guān)鍵是控制器的選擇,綜合考慮高精度、抗干擾能力、靈活性、可靠性、實(shí)時(shí)性、性?xún)r(jià)比等各因素的情況下。選擇了Frees—cale公司的MC9Sl2DGl28B作為控制器。MC9Sl2DGl28B芯片是一款16位的單片機(jī),功能強(qiáng)大,性能優(yōu)越。本文采用該型號(hào)的單片機(jī)保證了所設(shè)計(jì)系統(tǒng)的穩(wěn)定可靠。
1 系統(tǒng)控制方案
由于設(shè)計(jì)的角度伺服系統(tǒng)的負(fù)載比較大,而且相對(duì)于工業(yè)控制要求而言系統(tǒng)精度和快速性要求高,所以整個(gè)系統(tǒng)采用混合閉環(huán)的控制結(jié)構(gòu),所謂混合閉環(huán)的控制結(jié)構(gòu),就是系統(tǒng)內(nèi)同時(shí)存在半閉環(huán)和閉環(huán)。半閉環(huán)起到控制作用,而全閉環(huán)只用于穩(wěn)態(tài)誤差補(bǔ)償,兩者相結(jié)合可獲得較高的位置控制精度和跟蹤速度。包括:MJX40—14型光電編碼器、90LCX一3直流伺服電機(jī)、12A8型PWM直流伺服電機(jī)驅(qū)動(dòng)器、單片機(jī)控制系統(tǒng)。單片機(jī)控制系統(tǒng)由MC9Sl2DGl28B單片機(jī)實(shí)現(xiàn),使用Code Warrior for HCl2 V4.6編譯器,采用C語(yǔ)言編程。由于水平角和高低角的控制是一樣的,而且共用一個(gè)單片機(jī),以角度控制方框圖(圖1)來(lái)說(shuō)明。
如圖1所示,系統(tǒng)的任務(wù)是使光電編碼器測(cè)得的炮架轉(zhuǎn)動(dòng)角度θ2與給出的指令θ1相等。當(dāng)θ1≠θ2時(shí),θ1一θ2的偏差信號(hào)在單片機(jī)里進(jìn)行處理,放大后輸入到PWM直流伺服電機(jī)驅(qū)動(dòng)器,由PWM驅(qū)動(dòng)器驅(qū)動(dòng)直流伺服電機(jī),伺服電機(jī)帶動(dòng)減速器,驅(qū)動(dòng)炮架向著減少偏差的方向移動(dòng),直到θ1=θ2,電機(jī)停止轉(zhuǎn)動(dòng),達(dá)到目標(biāo)。同時(shí),炮架要準(zhǔn)確的跟蹤目標(biāo),必須減少在跟蹤過(guò)程中可能出現(xiàn)的速度變化(如風(fēng)速等原因),因?yàn)橹绷魉欧姍C(jī)本身帶有測(cè)速機(jī)端,可以把速度反饋信號(hào)進(jìn)行負(fù)反饋輸入到PWM伺服電機(jī)驅(qū)動(dòng)器,這樣使轉(zhuǎn)動(dòng)機(jī)械的轉(zhuǎn)速度變化很小,起著穩(wěn)速的作用。
2 硬件系統(tǒng)設(shè)計(jì)
2.1 總體設(shè)計(jì)
整個(gè)硬件系統(tǒng)采用模塊化思想設(shè)計(jì),硬件系統(tǒng)框圖如圖2所示,分為單片機(jī)CPU最小系統(tǒng)、鍵盤(pán)/顯示控制模塊、直流伺服電機(jī)驅(qū)動(dòng)電路、系統(tǒng)輸入模塊、光電編碼器等。設(shè)計(jì)時(shí),各個(gè)模塊可相對(duì)獨(dú)立設(shè)計(jì)調(diào)試,最后集成為整個(gè)系統(tǒng)。
2.2 模塊結(jié)構(gòu)和功能簡(jiǎn)要說(shuō)明
CPU最小系統(tǒng):系統(tǒng)的主控模塊,用以控制和協(xié)調(diào)其它模塊工作。
鍵盤(pán)/顯示控制:由鍵盤(pán)及LED管理芯片CH451控制。系統(tǒng)輸入模塊:用通用8155芯片做數(shù)據(jù)采集,獲取光電編碼器所測(cè)得的火炮當(dāng)前角度(位置)值,并傳給主控芯片。伺服電機(jī)驅(qū)動(dòng)電路:用帶有緩沖基準(zhǔn)輸入的雙路12位電壓輸出數(shù)字一模擬轉(zhuǎn)換器(TLC5618)作為單片機(jī)的一個(gè)外圍的D/A接口;當(dāng)系統(tǒng)把偏差值算好后,利用PID算法得出的數(shù)據(jù)量輸出到兩路TLC5618,再通過(guò)驅(qū)動(dòng)器去驅(qū)動(dòng)水平和高低角的伺服電機(jī),精確控制火炮的高低角和水平角位置和速度。
SCI通信:通過(guò)串行通信模塊。系統(tǒng)可以與上位機(jī)連接,方便對(duì)系統(tǒng)軟件的更新和升級(jí),且可通過(guò)上位機(jī)進(jìn)行控制角度控制,監(jiān)視單片機(jī)的輸入與輸出。光電編碼器:用于得到炮架的轉(zhuǎn)動(dòng)角度。
2.3 主要模塊設(shè)計(jì)
2.3.1 單片機(jī)CPU最小系統(tǒng)
HCSl2系列MCU的硬件結(jié)構(gòu)中僅有一個(gè)MCU(微控制器)是無(wú)法工作的,它必須結(jié)合其它相應(yīng)的外圍電路(即MCU支撐電路),才能構(gòu)成一個(gè)最小系統(tǒng)。HCSl2系列MCU的最小系統(tǒng)一般包括電源電路、時(shí)鐘電路、復(fù)位電路、BDM調(diào)試頭電路,MC9Sl2DGl28芯片最小系統(tǒng)支撐電路示意圖如圖3所示。其中各個(gè)部分功能如下:
(1)電源電路主要給MCU提供+5V,+12V和+3.3V電源。
(2)時(shí)鐘電路給MCU提供一個(gè)外接的石英晶振。
(3)復(fù)位電路主要完成系統(tǒng)上電復(fù)位和系統(tǒng)在運(yùn)行時(shí)用戶(hù)按鍵復(fù)位。
(4)BDM接口電路主要完成與BDM調(diào)試工具相連,向MC9S12單片機(jī)寫(xiě)入和調(diào)試程序。
2.3.2 鍵盤(pán)/顯示控制電路
鍵盤(pán)控制模塊采用鍵盤(pán)及LED管理芯片CH451。CH45l是一個(gè)整合了數(shù)碼管顯示驅(qū)動(dòng)和鍵盤(pán)掃描控制以μP監(jiān)控的多功能外圍芯片。CH451內(nèi)置RC振蕩電路,可以動(dòng)態(tài)驅(qū)動(dòng)8位數(shù)碼管或者64位LED,具有BCD譯碼、閃爍、移位等功能;同時(shí)還可以進(jìn)行64鍵的鍵盤(pán)掃描;CH451通過(guò)可以級(jí)聯(lián)的串行接口與單片機(jī)等交換數(shù)據(jù);并且提供上電復(fù)位和看門(mén)狗等監(jiān)控功能。該芯片支持SPI同步串行通訊方式,可以與MC9S12DGl28B單片機(jī)的SPI通訊口進(jìn)行告訴數(shù)據(jù)通訊,控制方便。鍵盤(pán)采用4×4矩陣式鍵盤(pán),系統(tǒng)共使用16個(gè)按鍵。顯示數(shù)據(jù)用數(shù)碼管,由鍵盤(pán)輸入火炮要旋轉(zhuǎn)的水平和高低角度值,并顯示出來(lái),系統(tǒng)第一次采集來(lái)的角度值也是通過(guò)它顯示的。
2.3.3 系統(tǒng)輸入模塊
從光電碼盤(pán)中輸出的數(shù)據(jù)有15位,要是單一的用單片機(jī)去讀取光電碼盤(pán)的數(shù)據(jù),一個(gè)光電碼盤(pán)就會(huì)用到15個(gè)數(shù)據(jù)線(xiàn),占用了單片機(jī)的大量資源。利用8155的豐富的I/O口資源,可以減少對(duì)單片機(jī)資源的占用。單片機(jī)給光電編碼器一個(gè)讀取信號(hào)脈沖,8155的PA和PB口立即得到光電編碼器的數(shù)據(jù),并存到了PA和PB寄存器中,此時(shí)單片機(jī)只要讀取8155的PA和PB寄存器就能得到光電碼盤(pán)的數(shù)據(jù),通過(guò)計(jì)算就能獲得此時(shí)炮架的方位角和高低角。
2.3.4 伺服電機(jī)驅(qū)動(dòng)電路
對(duì)于一般的D/A轉(zhuǎn)換器的輸入端都用并行輸入,但是前面的芯片已經(jīng)占用了單片機(jī)大量的接口,為了系統(tǒng)的輸入輸出能同步進(jìn)行,本設(shè)計(jì)選用了串行輸入的TLC5618,它是一種快速帶緩沖基準(zhǔn)輸入(高阻抗)的雙路12位電壓輸出數(shù)字一模擬轉(zhuǎn)換器(DAC),彌補(bǔ)了串行輸出的速度慢的不足,TLC5618具有1.21 MHz的輸入數(shù)據(jù)更新速率,DACA和DACB兩路同時(shí)更新,O.5LSB的建立時(shí)間為2.5 ms,它的最大串行時(shí)鐘速率為20 MHz,轉(zhuǎn)換速度達(dá)到要求;且它有兩路12位CMOS電壓輸出,精度符合設(shè)計(jì)要求;高阻抗基準(zhǔn)輸入使輸出有很強(qiáng)抗干擾能力。TLC5618在+5V單電源工作,其輸出電壓范圍為基準(zhǔn)電壓的兩倍,因此,電路設(shè)計(jì)采用2.5V基準(zhǔn)電壓。通過(guò)CMOS兼容的3線(xiàn)串行總線(xiàn),可對(duì)TLC5618實(shí)現(xiàn)數(shù)字控制,單片機(jī)串行數(shù)據(jù)通過(guò)PTl輸入TLC5618,串行時(shí)鐘通過(guò)PT2輸入,PTO接片選端,TLC5618接收到數(shù)據(jù)后,經(jīng)過(guò)數(shù)模轉(zhuǎn)換,產(chǎn)生O~5V的模擬信號(hào),經(jīng)過(guò)減法器,得到一2.5~2.5的模擬信號(hào),只有達(dá)到一1OV~10V的模擬信號(hào)才能更精確的控制電機(jī),所以用高速放大器LM318進(jìn)行兩級(jí)兩倍放大,就可以達(dá)到設(shè)計(jì)的要求。#p#分頁(yè)標(biāo)題#e#
3 軟件系統(tǒng)設(shè)計(jì)
系統(tǒng)軟件采用模塊化設(shè)計(jì)思想,主要模塊有:主程序模塊、數(shù)據(jù)采集模塊、鍵盤(pán)與顯示模塊、IRQ定時(shí)中斷處理程序、D/A數(shù)據(jù)輸出模塊、串行通信模塊。開(kāi)發(fā)調(diào)試平臺(tái)是CodeWarrior軟件。CodeWarrior系列集成開(kāi)發(fā)環(huán)境(IDE,Integrated Development Environment)是Metrowerks公司為開(kāi)發(fā)嵌入式微處理器而設(shè)計(jì)的一套強(qiáng)大易用的開(kāi)發(fā)工具,使用它可以有效地提高軟件開(kāi)發(fā)效率。系統(tǒng)的總的流程如圖4所示。
4 結(jié)束語(yǔ)
基于Freescale公司的MC9S12DGl28B單片機(jī),設(shè)計(jì)了火炮的快速位置伺服系統(tǒng)。對(duì)硬件系統(tǒng)的鍵盤(pán)/顯示控制模塊、系統(tǒng)輸入模塊、直流伺服電機(jī)驅(qū)動(dòng)電路等各個(gè)功能模塊進(jìn)行了詳細(xì)的電路設(shè)計(jì),在CodeWarrior系列集成開(kāi)發(fā)環(huán)境開(kāi)發(fā)了軟件系統(tǒng),最后對(duì)軟硬件進(jìn)行了綜合調(diào)試。目前,設(shè)計(jì)的系統(tǒng)功能完善、運(yùn)行可靠。結(jié)果表明:該系統(tǒng)方案設(shè)計(jì)合理,對(duì)角度控制精確度高,系統(tǒng)平穩(wěn),可靠性高,操作簡(jiǎn)單,達(dá)到要求的指標(biāo),稍加改造,還可應(yīng)用到其它位置伺服系統(tǒng)中。
轉(zhuǎn)載請(qǐng)注明出處。