設(shè)計基于高速單片機C8051F120和CPLD的高精度大型望遠鏡的伺服控制器,由單片機實現(xiàn)閉環(huán)控制算法、上位機通信和LCD顯示控制,CPLD實現(xiàn)增量式編碼器計數(shù)、電機驅(qū)動波形發(fā)生以及I/O接口。該控制器可獨立進行電機控制,也可配合上位機進行控制,具有實時性和抗干擾能力強、成本低、調(diào)試方便等特點。
引言
微電子技術(shù)和計算機的發(fā)展推動著伺服控制技術(shù)的進步,控制系統(tǒng)的硬件系統(tǒng)越來越高速化、小型化、模塊化,功能也日趨強大完善;而且,伺服控制技術(shù)是朝著更開放、更加模塊化的控制結(jié)構(gòu)的方向發(fā)展的,要求控制器算法實現(xiàn)簡單、控制接口靈活,針對不同的伺服控制對象時硬件系統(tǒng)不變,軟件系統(tǒng)也可以完成參數(shù)的自動調(diào)整。
在高精度大型望遠鏡伺服控制應(yīng)用場所,采用高精度光電編碼器作為主要反饋手段,主要有絕對式和增量式編碼器。驅(qū)動電機的信號有模擬電壓輸出或PWM脈沖輸出,通過調(diào)整電壓的大小或PWM的占空比來調(diào)整電機的速度。系統(tǒng)具有和上位機的通信接口以及一些邏輯輸入/輸出接口等。大型望遠鏡是用于跟蹤測量空中飛行目標或觀測天體目標的精密光學(xué)設(shè)備。伺服系統(tǒng)是望遠鏡的重要組成部分,它對于跟蹤目標、精確測量目標的位置以及其他參數(shù)都起著重要作用。伺服系統(tǒng)的性能會直接影響望遠鏡的觀測能力,對望遠鏡的高精度伺服控制需要高精度的位置反饋裝置,以及高分辨率的PWM驅(qū)動脈沖。
本文采用高速單片機C8051F120作為主控制器,與光電編碼器接口多為AB正交碼和零位信號輸入;驅(qū)動電機多采用帶死區(qū)PWM信號驅(qū)動有刷直流電機;采用CPLD實現(xiàn)高速光電編碼器的AB碼計數(shù)、計數(shù)位數(shù)的設(shè)定以及32位的可逆計數(shù),同時可以輸出高分辨率的帶死區(qū)的PWM電機驅(qū)動信號。本文結(jié)合高速單片機和CPLD的優(yōu)點進行望遠鏡伺服系統(tǒng)的控制器設(shè)計。
1 系統(tǒng)硬件設(shè)計
設(shè)計采用高速單片機作為主控制器來構(gòu)成低成本的伺服控制方案。CPLD具有編程靈活、集成度高、開發(fā)周期短、成本低的特點,可實現(xiàn)較大規(guī)模的數(shù)字電路設(shè)計。因此,選擇一款合適的CPLD可滿足伺服控制系統(tǒng)的AB正交碼計數(shù)和PWM波形產(chǎn)生等電路接口要求,同時大大減小PCB面積,增強可靠性。整個控制器系統(tǒng)原理框圖如圖1所示。
作為主控制器的高速單片機選擇C8051F120。它是完全集成的混合信號片上系統(tǒng)型芯片,主要實現(xiàn)數(shù)學(xué)運算、控制算法和A/D采集等功能。
C8051F120具有如下特性:
◆高速、流水線結(jié)構(gòu)的8051兼容的CIP-51內(nèi)核(100 MIPS或50MIPS);
◆真正12位、100 ksps的ADC,帶PGA和8通道模擬多路開關(guān);
◆兩個12位DAC,具有可編程數(shù)據(jù)更新方式;
◆2周期的16×16乘法和累加引擎;
◆128 KB可在系統(tǒng)編程的Flash存儲器;
◆8448(8 K+256)字節(jié)的片內(nèi)RAM;
◆可尋址64 KB地址空間的外部數(shù)據(jù)存儲器接口;
◆硬件實現(xiàn)的SPI、SMBus/I2C和2個UART串行接口;
◆5個通用的16位定時器;
◆具有6個捕捉/比較模塊的可編程計數(shù)器/定時器陣列;
◆片內(nèi)看門狗定時器、VDD監(jiān)視器和溫度傳感器。
CPLD選用A1tera公司的低功耗MAXII系列的EPM570T100。它含有570個邏輯單元(LE),等效于440個宏單元;8192位的用戶Flash存儲器,可滿足用戶小容量信息存儲要求;最大用戶I/0數(shù)為76,最短訪問時間為4.5ns,內(nèi)部最大時鐘頻率為304 MHz,完全滿足系統(tǒng)設(shè)計要求。EPM570T100主要和C8051F120的P1、P5、P6、P7接口,以及和編碼器的ABZ碼、8路輸出和8路輸入接口電路相接,實現(xiàn)和C8051F120的數(shù)據(jù)總線和地址總線接口電路、外部定時中斷電路、譯碼電路、PWM脈沖發(fā)生電路、倍頻鑒向電路、計數(shù)電路、故障保護電路等功能。
LCD顯示模塊主要顯示系統(tǒng)的狀態(tài)變量值,如位置、速度、編碼器值等信息。采用串口電平轉(zhuǎn)換收發(fā)器SP3223實現(xiàn)與上位機的兩路RS232通信,可完成工作模式(如定點、等速模式),以及數(shù)值大小的設(shè)定;同時,單片機可實時地將工作狀態(tài)變量送至上位機,利于數(shù)據(jù)記錄和分析。控制器參數(shù)(如比例系數(shù)KP和積分系數(shù)KI等)也可由上位機進行設(shè)置,對于開放式運動控制模塊,這是必需的。
另外,設(shè)計了8路按鍵,用于功能參數(shù)設(shè)置等。如圖2所示。光電增量式編碼器的接口一般為RS422差分對輸入接口。
如圖3所示,光電增量式編碼器接口電路具有終端匹配電阻和濾波網(wǎng)絡(luò)電路,可增強抗干擾能力。其中,接口芯片SP489將RS422信號轉(zhuǎn)換為TTL電平。
2 CPLD片上各模塊實現(xiàn)
2.1 倍頻鑒向和計數(shù)電路
經(jīng)過圖3所示的編碼器接口電路處理后,輸出TTL電平的A1、B1、Z1信號到CPLD。首先,對波形進行整形、數(shù)字濾波處理;經(jīng)過4細分后,進入辨向電路;然后由可逆計數(shù)電路完成對脈沖的計數(shù),輸出32位的二進制碼值;單片機在每個采樣周期中讀取計數(shù)值來獲得位置值,通過微分即可得到速度值。望遠鏡的位置反饋圓光柵輸出的AB碼頻率可達10MHz,高頻CPLDEPM570T100完全可以勝任。在CPLD輸入端口進行施密特觸發(fā)和濾波處理,以避免尖峰毛刺干擾,進一步增強系統(tǒng)魯棒性。
2.2 時鐘電路
CPLD的全局時鐘為100MHz,對其進行分頻提供給內(nèi)部各個模塊,如計數(shù)模塊電路、PWM處理電路和單片機的中斷信號。100MHz可分頻成1kHz、500 Hz、50Hz。本設(shè)計中,采樣周期為1ms,即1kHz采樣頻率,用于單片機的外部中斷信號。在采樣周期內(nèi),單片機完成對圓光柵計數(shù)采樣、速度計算、算法實現(xiàn)、PWM控制變量產(chǎn)生,以及過程狀態(tài)變量賦值等工作。實際測得完成單個電機控制所需的時間為120μs左右,剩余時間可用于實現(xiàn)LCD顯示控制和通信功能。可見,利用該單片機可以勝任望遠鏡伺服閉環(huán)工作。
2.3 PWM脈沖電路
功率級采用H橋電路,需要4路帶死區(qū)的PWM信號,避免直通。如圖4所示,首先由100 MHz產(chǎn)生12.5kHz的三角波信號,與單片機輸出的數(shù)據(jù)(0~8000)進行比較,得到1路PWM信號(數(shù)據(jù)的大小決定占空比的值,O對應(yīng)O%,8000對應(yīng)100%),再由該PWM信號產(chǎn)生與之反向的信號。同時,經(jīng)死區(qū)電路得到2路死區(qū)時間至少為5μs的PWM信號,以及經(jīng)電機工作模式控制電路處理得到的4路驅(qū)動功率級PWM信號,可控制電機工作在單極性或雙極性方式。當(dāng)需要控制多個電機時,采用上述方法同樣處理就行,這就是CPLD靈活性的具體體現(xiàn)。
2.4 其他電路
轉(zhuǎn)臺上的限位信號、功率級的故障信號、外部邏輯數(shù)字信號等輸入到CPLD,進行相應(yīng)的邏輯處理(如輸出使能和停止),從而達到對電機的有效控制和保護。
3 控制算法實現(xiàn)
在控制算法的實現(xiàn)上采用內(nèi)模控制。其設(shè)計思路是將對象模型與實際對象相并聯(lián),控制器逼近模型的動態(tài)逆。對單變量系統(tǒng)而言,內(nèi)模控制器取為模型最小相位部分的逆,并通過附加低通濾波器增強系統(tǒng)的魯棒性。模型和被控對象模型精確匹配時,控制系統(tǒng)的輸入等于輸出。內(nèi)模控制能夠清楚地表明調(diào)節(jié)參數(shù)和閉環(huán)響應(yīng)及魯棒性的關(guān)系,內(nèi)模控制器的動態(tài)特性取決于內(nèi)部模型與被控對象的匹配情況。
內(nèi)模控制原理框圖如圖5所示。其中,GP(s)為控制對象*****為內(nèi)部模型,GIMC(s)為內(nèi)模控制器,Gd(s)為外界干擾模型;x、u、y分別為給定輸入、控制量、對象輸出,d為外界干擾。在工業(yè)過程中,與經(jīng)典PID控制相比,內(nèi)模控制僅有一個整定參數(shù),參數(shù)調(diào)整與系統(tǒng)動態(tài)品質(zhì)和魯棒性的關(guān)系比較明確,故采用內(nèi)模控制原理可以提高PID控制器的設(shè)計水平。由于參數(shù)調(diào)節(jié)簡單,此算法利于單片機程序?qū)崿F(xiàn)。
大型光電望遠鏡屬于大慣量系統(tǒng),機械時間常數(shù)遠大于電氣時間常數(shù),故可忽略電氣時間常數(shù)的影響。對象的速度傳遞函數(shù)可簡化為:
式中,Tm是機械時間常數(shù),K是增益。因此可以選擇內(nèi)模控制器為:
式中,λ是濾波器參數(shù)。如圖5所示,點畫線內(nèi)的部分可等效為反饋控制器:
當(dāng)模型匹配時,存在內(nèi)模控制系統(tǒng)閉環(huán)為一慣性環(huán)節(jié)。它的時間可以依據(jù)需要進行調(diào)節(jié),λ值小有利于動態(tài)性能,λ值大則有利于增強魯棒性。對于內(nèi)模控制器輸出不飽和而言,其等效于反饋控制器PI,因而,系統(tǒng)對階躍輸入和階躍擾動的穩(wěn)態(tài)誤差為零,其抗干擾能力與常規(guī)PI完全一致。采用增量式PID控制算法,控制變量為:
式中,ek為第k步時刻速度誤差,Ts為采樣周期,μ(k)為當(dāng)前控制量輸出。
4 實驗結(jié)果
采用基于高速單片機C8051F120和CPLDEPM570T100設(shè)計的伺服控制器硬件平臺,實現(xiàn)大型望遠鏡轉(zhuǎn)臺的速度控制,驅(qū)動功率級采用H橋雙極性功率放大器,反饋采用直徑為413 mm的圓光柵,柵道64800,細分1000,分辨率為0.02"/s,采樣周期1 ms,控制回路計算時間測得為120μs,包含圓光柵數(shù)據(jù)讀取時間。望遠鏡的一轉(zhuǎn)臺的速度傳遞函數(shù)為:
利用板上的通信口發(fā)送實際的速度值(波特率115200bps,1ms發(fā)送1次),由上位計算機記錄數(shù)據(jù),測得的速度響應(yīng)曲線如圖6所示。起始階段電機以20"/s的低速度運行,中間升至1800"/s,最后達到3600"/s,可見每個階段的速度都非常平穩(wěn)。在實際數(shù)據(jù)處理時,需要對零位信號時刻的圓光柵數(shù)據(jù)進行處理,因該光柵有零位信號輸出,計算速度時要進行合理的辨別方向和大小分析處理。
結(jié)語
本文采用高速單片機和CPLD組成望遠鏡伺服控制器,實現(xiàn)了圓光柵四倍頻細分電路、計數(shù)模塊以及電機PWM驅(qū)動控制信號產(chǎn)生,并用單片機實現(xiàn)了內(nèi)模控制算法、LCD顯示和數(shù)據(jù)通信等功能。最終通過實驗驗證了該系統(tǒng)的可行性。
-
單片機
+關(guān)注
關(guān)注
6040文章
44606瀏覽量
637280 -
cpld
+關(guān)注
關(guān)注
32文章
1248瀏覽量
169509 -
C8051F120
+關(guān)注
關(guān)注
0文章
8瀏覽量
11964 -
伺服控制
+關(guān)注
關(guān)注
5文章
149瀏覽量
20578
發(fā)布評論請先 登錄
相關(guān)推薦
評論