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