摘要:介紹了舞臺(tái)布光系統(tǒng)中的重要部件——數(shù)字化燈具控制器的設(shè)計(jì)思想和實(shí)現(xiàn)方案,采用流行的CAN總線(xiàn)實(shí)現(xiàn)了分布式控制,利用模糊控制算法實(shí)現(xiàn)了燈具各自由度的穩(wěn)定的位置伺服。
隨著廣播電視事業(yè)的不斷發(fā)展,電視節(jié)目的制作越來(lái)越多樣化,對(duì)演播廳的功能及技術(shù)要求也越來(lái)越高。舞臺(tái)布光系統(tǒng)是演播設(shè)備的重要組成部分,它的作用是通過(guò)對(duì)垂直吊桿、機(jī)械化燈具的多動(dòng)作控制,利用聚光燈、柔光燈等設(shè)備進(jìn)行大面積的燈光投射,制造滿(mǎn)足攝像機(jī)光度要求的背景光線(xiàn)。
綜藝演播廳的規(guī)模目前正逐步擴(kuò)大,從600m2增加到了1000m2、1500m2,直至2000m2。一個(gè)1000m2的演播廳需要500~600盞各式燈具。如果采用集中式控制,勢(shì)必造成控制電腦重負(fù),現(xiàn)場(chǎng)布線(xiàn)混亂,因此新型的布光系統(tǒng)均采用分布式控制,燈光師在控制臺(tái)前操作,控制臺(tái)利用現(xiàn)場(chǎng)總線(xiàn)將控制信息下發(fā),提升機(jī)控制器和燈具控制器接收指令后自動(dòng)運(yùn)行到設(shè)定的位置和角度,完成位置伺服。 本文主要介紹舞臺(tái)布光系統(tǒng)中的重要部件--基于現(xiàn)場(chǎng)總線(xiàn)的數(shù)字化燈具控制器的設(shè)計(jì)思想和實(shí)現(xiàn)方案。
1 整體方案
本文介紹的燈具控制器具備5個(gè)自由度的控制能力:水平、俯仰、調(diào)焦、左扉和右扉(左扉、右扉指燈具前方用于遮擋光路的扉頁(yè)),同時(shí)具備過(guò)流檢測(cè)、超速檢測(cè)、傳感器失效檢測(cè)等功能,并且可以與控制臺(tái)進(jìn)行雙向通訊,接收控制臺(tái)發(fā)來(lái)的指令或上報(bào)燈具狀態(tài)。
燈具控制器主要由位置測(cè)量、電機(jī)驅(qū)動(dòng)、CAN總線(xiàn)通信接口等功能模塊組成,整體方案如圖1所示。它采用基于8051內(nèi)核、內(nèi)置A/D轉(zhuǎn)換電路的80C552作為主CPU。
燈具各自由度輸出轉(zhuǎn)軸裝有線(xiàn)性型精密電位器進(jìn)行位置測(cè)量(對(duì)于調(diào)焦測(cè)量,使用齒輪齒條機(jī)構(gòu)將直線(xiàn)位移轉(zhuǎn)換為角度位移)。電位器的活動(dòng)范圍為270度,使用10bitA/D轉(zhuǎn)換器,最高理論精度為270度/210=0.263度。
CPU將實(shí)測(cè)位置和控制臺(tái)傳來(lái)的設(shè)定位置進(jìn)行比較,計(jì)算出應(yīng)如何驅(qū)動(dòng)伺服電機(jī)。
電機(jī)的控制電路采用PWM方式,每個(gè)電機(jī)由一個(gè)H橋驅(qū)動(dòng),效率高、發(fā)熱小、易于調(diào)試。由于要控制5個(gè)直流減速電機(jī),因此需要5組雙相共10路PWM信號(hào),由一片10通道PWM芯片生成。該芯片實(shí)際上是由新型的高速AVR單片機(jī)AT90s2313構(gòu)成的虛擬外設(shè),通過(guò)軟件編程仿真PWM功能。80C552利用串口將各個(gè)通道的PWM值發(fā)送給AT90s2313,AT90s2313在內(nèi)存中生成相應(yīng)的PWM信號(hào)序列,定時(shí)向外輸出,實(shí)測(cè)PWM重復(fù)頻率為9.8kHz。程序中設(shè)計(jì)了特定算法,可以保證功率驅(qū)動(dòng)模塊的某個(gè)橋臂關(guān)斷后,對(duì)側(cè)橋臂要延時(shí)一段時(shí)間才會(huì)開(kāi)通,避免由于開(kāi)關(guān)速度的影響導(dǎo)致上下橋臂直通。
由于直流電機(jī)的啟動(dòng)電流和換向電流遠(yuǎn)大于正常工作電流,過(guò)高的啟動(dòng)電流除了會(huì)造成系統(tǒng)成本增加外,還有可能燒毀換向器;另外,直流電機(jī)的電磁力矩與電流成正比,過(guò)高的啟動(dòng)力矩也對(duì)機(jī)械結(jié)構(gòu)的穩(wěn)定不利。因此,在電路中設(shè)計(jì)了過(guò)流斬波裝置來(lái)限制啟動(dòng)電流。
使用現(xiàn)場(chǎng)總線(xiàn)進(jìn)行分布式控制是本系統(tǒng)的主要特色之一,本方案中選用了CAN總線(xiàn),燈具對(duì)外連線(xiàn)除電源線(xiàn)外,只有一根屏蔽式雙絞線(xiàn),布線(xiàn)方便、成本低廉、擴(kuò)展性強(qiáng)。CAN總線(xiàn)接口電路由通信協(xié)議控制芯片SJAi000和總線(xiàn)收發(fā)器82C250等組成。
由于每個(gè)燈具要有獨(dú)立的CAN總線(xiàn)地址,且每個(gè)電機(jī)、減速器、機(jī)械安裝尺寸均有一定的個(gè)體差異,因此不同的燈具上會(huì)有不同的控制參數(shù)。在設(shè)計(jì)中,應(yīng)盡量減少需要調(diào)整的參數(shù),對(duì)于一定要調(diào)整的部分,應(yīng)將它們存儲(chǔ)在EEPROM中,每次開(kāi)機(jī)讀取。
EEPROM中的參數(shù)關(guān)系到燈具控制器能否正常工作,一旦出廠(chǎng),一股不建議更改。但是為了方便技術(shù)人員進(jìn)行調(diào)試,在電路中仍設(shè)計(jì)了開(kāi)發(fā)人員接口,在現(xiàn)場(chǎng)無(wú)需拆下,且無(wú)需編程器就可以使用計(jì)算機(jī)串口讀取、修改EEPROM中的內(nèi)容。
2 CAN總線(xiàn)通信軟件的設(shè)計(jì)
CAN總線(xiàn)是德國(guó)Bosch公司在20世紀(jì)80年代初為解決現(xiàn)代汽車(chē)中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換問(wèn)題而開(kāi)發(fā)的一種串行數(shù)據(jù)通信總線(xiàn),是最早在我國(guó)得到應(yīng)用的現(xiàn)場(chǎng)總線(xiàn)之一。它實(shí)現(xiàn)了ISO/OSI七層模型中的物理層和數(shù)據(jù)鏈路層,總線(xiàn)上任何節(jié)點(diǎn)均可主動(dòng)向其它節(jié)點(diǎn)發(fā)送信息,數(shù)據(jù)采用短幀結(jié)構(gòu),最長(zhǎng)8個(gè)字節(jié),不易受干擾,故障節(jié)點(diǎn)可自動(dòng)脫離總線(xiàn)。
CAN總線(xiàn)通信控制器SJAl000由82C200發(fā)展而來(lái),它兼容82C200的電氣特性和工作模式,并對(duì)功能進(jìn)行了擴(kuò)展。它集成子CAN協(xié)議的數(shù)據(jù)鏈路層的全部功能,可自動(dòng)完成數(shù)據(jù)編碼、成幀、沖突檢測(cè)、循環(huán)冗余校驗(yàn)、出錯(cuò)重傳等工作??偩€(xiàn)收發(fā)器82C250負(fù)責(zé)竹l電子和CAN總線(xiàn)差分電平之間的轉(zhuǎn)換。
CAN總線(xiàn)軟件包主要包括初始化函數(shù)、發(fā)送函數(shù)和接收中斷函數(shù)。
初始化函數(shù)的主要工作流程見(jiàn)圖2。
SJA1000有兩種工作狀態(tài):復(fù)位狀態(tài)和正常狀態(tài)。復(fù)位狀態(tài)在上電后直接進(jìn)入,也可以通過(guò)軟件置位進(jìn)入。SJAl000的所有初始化操作需在復(fù)位狀態(tài)完成。其中,接收濾波碼來(lái)自EEPROM,每個(gè)燈具有不同的接收濾波碼;為配合82C250,輸出模式寄存器設(shè)置成推挽模式,正極性輸出。初始化完成后,轉(zhuǎn)入正常狀態(tài),填寫(xiě)發(fā)送緩沖區(qū),釋放接收緩沖區(qū),即可正常發(fā)送接收。
發(fā)送函數(shù)首先判斷上次發(fā)送是否完成,若完成則在緩沖區(qū)內(nèi)填寫(xiě)新的數(shù)據(jù),啟動(dòng)發(fā)送;否則等待直至超時(shí),發(fā)送完成與否由狀態(tài)寄存器指示。
接收函數(shù)采用中斷方式,SJAl000內(nèi)部包含深度為64字節(jié)的接收FIFO緩沖區(qū),芯片無(wú)需CPU的干涉就可以自動(dòng)對(duì)收到的信息按先后順序排隊(duì),提供了很強(qiáng)的抗超載能力,因此在主程序中不需要自建接收FIFO,簡(jiǎn)化了編程。中斷服務(wù)函數(shù)對(duì)接收到的數(shù)據(jù)進(jìn)行簡(jiǎn)單的預(yù)處理并設(shè)置標(biāo)志位后退出,并在主循環(huán)內(nèi)完成回送數(shù)據(jù)幀等后續(xù)工作。
控制臺(tái)與燈具控制器的應(yīng)用層協(xié)議如下:命令幀由土控臺(tái)發(fā)出,返回幀由燈具控制器回送,長(zhǎng)度均為五字節(jié)(包括目標(biāo)地址),其中前兩字節(jié)是地址碼,第三個(gè)字節(jié)是命令幀的類(lèi)型,如設(shè)置位置幀、查詢(xún)錯(cuò)誤幀等,最后兩字節(jié)是參數(shù),如位置設(shè)置量等。
3 閉環(huán)位置伺服控制
在開(kāi)發(fā)初期階段,曾經(jīng)使用過(guò)分段PID進(jìn)行閉環(huán)位置伺服控制,通過(guò)一定的調(diào)整,可以獲得較好的效果。但是分段PID控制需調(diào)整的參數(shù)較多,對(duì)于不同種類(lèi)和大小的燈具,調(diào)整工作量較大,而且Ki、Kd等系數(shù)的物理意義難于向普通調(diào)試人員解釋?zhuān)首罱K選擇了模糊控制算法。它的適應(yīng)性好、魯棒性強(qiáng)、調(diào)整少,且"中速"、"比較接近"等參數(shù)極易為人理解,實(shí)測(cè)各參數(shù)均有較大的適應(yīng)性,不用過(guò)多調(diào)整。
典型的模糊控制器分為三個(gè)部分:輸入變量模糊化、模糊推理和解模糊化。
燈具模糊控制器的輸入量為位置殘差e和轉(zhuǎn)角速度v,輸出是發(fā)送給電機(jī)驅(qū)動(dòng)模塊的PWM值。如圖3所示,u表示位置設(shè)定值,y表示伺服機(jī)構(gòu)測(cè)量值。
所有輸入變量的模糊隸屬度函數(shù)都采用角形且全交疊,如圖4所示。
e的模糊集合有五個(gè):{大的正值,小的正值,零,小的負(fù)值,大的負(fù)值},用PB、PS、Z、NS、NB表示。
v的模糊隸屬度函數(shù)如圖5所示。v的模糊集合有三個(gè):{正,零,負(fù)},用P、Z、N表示。
最常用的模糊推理方法有Mamdani型和Sugeno 型,兩者在很多方面是相同的,不同的是Mamdani型的模糊推理后件是模糊量,而Sugeno型的模糊推理后件是線(xiàn)性變量或常量。比如推理規(guī)則:If Input1=x and Input2=y,then Output is z=ax+by+c中,Input1和Input2是前件,是模糊變量,z是后件,是確定的值。如果系數(shù)a=b=0,則z=c為常量,稱(chēng)為0階Sugeno模型。
每條邏輯規(guī)則的輸出z的權(quán)重wi由AND算子決定,wi=AndMethod(F1(x),F2(y)),其中F1,2()是Inputs1和Inputs2的模糊隸屬度函數(shù)。
對(duì)于結(jié)論相同的邏輯規(guī)則的輸出,權(quán)重wi由OR算子決定,wi=OrMetod(wi1,wi2)。
Sugeno模型的解模糊過(guò)程較簡(jiǎn)單,最終的輸出值是各結(jié)論輸出zi的加權(quán)平均值:
Output=∑wi zi/∑wi
由于不需要像Mamdani型那樣計(jì)算面積重心,Sugeno型的解模糊算法相對(duì)簡(jiǎn)單,運(yùn)算量較小。
Mamdani型和Sugeno型有各自的優(yōu)勢(shì),Mamdani型的優(yōu)點(diǎn)為:
· 直觀(guān)、符合人的習(xí)慣
· 廣泛被接受
Sugeno型的優(yōu)點(diǎn)為:
· 很高的運(yùn)算效率
· 可以協(xié)同線(xiàn)性控制理論(如PID)
· 可以使用優(yōu)化和自適應(yīng)技術(shù)
· 可以保證輸出平面的連續(xù)性
· 可以進(jìn)行數(shù)學(xué)分析
對(duì)于本項(xiàng)目,通過(guò)在PC機(jī)中進(jìn)行的仿真和實(shí)際測(cè)試表明,二者的輸出平面和控制效果相近。而Sugeno型運(yùn)算量少,更適合在單片機(jī)中使用。
模糊控制器的輸出為PWM值,采用0階Sugeno模型推理,有五個(gè)輸出值:{反向高速,反向中速,停,正向中速,正向高速},由NRun、NWalk、Prone、PWalk、PRun表示,模糊邏輯推理規(guī)則見(jiàn)表1。
表1 模糊邏輯揄規(guī)則
PB,5 | PS,4 | Z,3 | NS,2 | NB,1 | |
P,3 | NRun | NRun | Prone | Prone | PRun |
Z,2 | NRun | NWalk | Prone | PWalk | PRun |
N,1 | NRun | Prone | Prone | PRun | PRun |
對(duì)于不同的燈具和自由度,NWalk和PWalk的數(shù)值是可調(diào)參數(shù),從EEPROM中讀取,因此不能使用查表方式編程,而要進(jìn)行實(shí)時(shí)運(yùn)算。為提高速度,在程序中所有的四則運(yùn)算都是字節(jié)型和整型,避免使用浮點(diǎn)量,標(biāo)準(zhǔn)8051內(nèi)核可以用一個(gè)指令完成,最長(zhǎng)為4個(gè)機(jī)器周期。模糊隸屬度值用0~255表示,而不是0~1,在運(yùn)算最后一步再作歸一化處理。
由于在模糊控制器中缺乏積分環(huán)節(jié),使得其無(wú)法對(duì)較小的殘差作出合理的反應(yīng)。例如由于電機(jī)、機(jī)構(gòu)的靜摩擦力的存在,當(dāng)殘差較小時(shí),電機(jī)無(wú)法啟動(dòng)。因此在控制器的輸出端疊加一個(gè)非線(xiàn)性的積分環(huán)節(jié),只在殘差e較小、速度v為0的時(shí)候起作用,可以再處理這種情況。
圖6是燈具伺服特性的實(shí)測(cè)曲線(xiàn)(俯仰自由度曲線(xiàn))虛線(xiàn)表示設(shè)定值,實(shí)線(xiàn)是實(shí)際位置測(cè)量值。
評(píng)論
查看更多