在自適應光學系統設計中,,波前校正器作為光學系統的一個重要組成部分發(fā)展起來,,它與波前傳感器和波前控制部分相結合,使光學系統具有克服外界動態(tài)干擾的能力,,這是傳統光學技術難以做到的,。在眾多類型的波前校正器中,分立壓電式連續(xù)鏡面變形鏡以其變形量大,、表面變形沒有間斷點等優(yōu)點而被廣泛的采用,。變形鏡的結構有基板、驅動器和薄鏡面組成,在基板上固定若干個壓電驅動器,,驅動器前在固定一個薄的光學鏡面,,施加電壓給驅動器,壓電陶瓷即可產生正的或負的變形,,從而推動薄反射鏡表面產生變形,,起到改變光學波前并校正波前誤差的作用。為了防止壓電驅動器輸出電壓出現異常,,導致系統出現故障,,需要及時了解各路壓電驅動器輸出電壓情況,并且工程中要求監(jiān)測上千路壓電驅動器的輸出電壓,,所以設計壓電驅動器輸出電壓監(jiān)測顯示系統成為一個亟需解決的課題,。
本設計的主要工作是利用20路電壓測量模塊采集到壓電陶瓷驅動器的輸出電壓,通過ModBus RTU通訊協議,,經RS485接口將電壓數據傳送到高速單片機,,并在LCD液晶屏上實時顯示各路壓電驅動器的輸出電壓值,20路電壓監(jiān)測系統框圖如圖1所示,。
圖1 20路電壓監(jiān)測系統框圖
1 20路電壓測量模塊介紹
1.1 20路電壓測量模塊功能與特點
20路電壓測量模塊是一智能型的數據采集模塊,,可以測量20路電壓號,輸入信號為直流,。其輸出為RS485,,通訊協議符合ModBus RTU協議。此模塊可以廣泛應用于各種工業(yè)測控系統,。其主要的功能特點如下:
采用最新電子技術,,以高速信號處理器、微處理器為核心的數字式智能型數據采集模塊,;可測量20路0~500 V直流電壓信號,;并且量程可以根據需要選擇;配有光電隔離的RS-485通訊接口,,ModBus RTU通訊規(guī)約,,可與具有ModBus兼容協議的監(jiān)控系統進行信息數據的有效傳送。
20路電壓測量模塊的技術指標如下:
測量精度能夠達到0.2級,,在利用模塊進行組網時,,地址范圍是0~255,并且波特率可選,,默認值為9 600b/s,。
工作條件:溫度范圍是-30~70℃,濕度范圍是10%~90%RH,;存儲條件:溫度范圍是-40~80℃,,濕度范圍是10%~90%RH。
1.2 ModBus通訊規(guī)約
在各種不同的系統通信中,,Modbus協議是一種在工業(yè)領域被廣泛應用的,、真正開放的、標準的網絡通信協議,,通過該協議控制器之間,、控制器與其它設備之間都可以實現通信。由于設計所用的20路電壓測量模塊采用ModBus通訊協議,,作為主機的單片機也應該采用此協議,,才能實現主機與從機的通信。在編程實現主機功能之前,,需要理解協議的規(guī)約,。
主機查詢信息包括從設備地址、功能代碼,、所有要發(fā)送的數據,、錯誤校驗。從機回應信息包括確認要行動的域,、任何要返回的數據,、錯誤校驗。
主機和從機的通信方式符合查詢-回應的方式,,主機發(fā)送的查詢消息中的功能代碼告訴從機要執(zhí)行何種功能,,數據段中包含了從機要執(zhí)行功能的附加信息以及寄存器的起始地址和數量,錯誤校驗為從機提供了一種驗證消息內容是否正確的方法,。從機產生回應是建立在讀取指令未發(fā)生錯誤的前提下,,在回應消息中的功能代碼是查詢消息的回應,數據段包含了從機收集的數據,。如果中間過程發(fā)生錯誤,,功能代碼將被修改,并且數據段包含描述錯誤信息的代碼,,錯誤校驗允許主機確認消息是否可用,。
1.3 20路電壓測量模塊組網
因為20路電壓測量模塊的輸出為標準RS485,所以以RS485為接口的20路電壓測量模塊可以進行組網,。通常RS485網絡節(jié)點數最多為32個,,通過中繼器可以提高RS485接口的帶負載能力,最多可達到驅動256個模塊的能力,,從而可以將多個20路電壓測量模塊組成網絡,,滿足實時監(jiān)測幾百路甚至上千路電壓的需要,最終達到監(jiān)測顯示多路壓電驅動器輸出電壓的要求,。
2 系統部分硬件設計
2.1 RS485通信接口
由于20路電壓測量模塊支持RS485串行通信,,為了實現單片機與電壓測量模塊的數據通信,,必須設計RS485通信接口。主機可以通過RS485接口將查詢信息傳送給從機,,同時從機可以將采集的實時電壓數據回應給主機,。采用RS485信號收發(fā)專用芯片MAX485實現信號的轉換,在設計電路時要充分考慮MAX485芯片同相端,、反相端的電平對應關系,。由于從機回應數據幀的初始位-低電平使主機產生接受中斷,所以只有MAX485芯片同相端A的初始電平大于反相端B的初始電平時,,才能保證主控制器單片機打開接收中斷時不會產生誤中斷,,而造成接到錯誤的數據幀,RS485接口電路原理圖如圖2所示,。
圖2 RS485接口電路原理圖
2.2 LCD液晶顯示模塊
LCD液晶顯示模塊-LM320160CCW是320x160全圖形點陣的液晶顯示模塊,,該模塊支持并口通信,內置升壓電路,,5 V供電,;模塊顯示屏由內置的主控芯片S1D13700控制,可靠性高,,指令簡單,,易于操作;此外,,液晶模塊使用高亮度LED背光,,實現極佳對比顯示,藍底白字或白底黑字,,顯示效果可選,。液晶模塊的以上特點適合本設計選用的C8051F120主控制器,LCD液晶顯示范圍也可以滿足本設計信息顯示的需要,。對于內置控制芯片的液晶顯示模塊,,在電路設計時,只需把液晶的控制電路信號分清就可以方便的使用,。由于LM320160CCW液晶模塊中配備液晶控制單元,,所以在接口電路設計不需加入更多控制芯片就可實現圖形或字符的顯示。
2.3 LCD與控制器接口電路設計
在接口電路設計中,,由于LM320160CCW液晶顯示模塊為5 V供電,,而單片機為3.3 V供電,所以不能簡單的彼此連接在一起,,需要做電平處理,。本次設計中選用741S245作為總線驅動器,并在單片機引腳加入5 V上拉電阻,,這樣即可保證信號的驅動能力,,接口電路原理圖如圖3所示,,其中P3和P7為單片機的I/O端口,RV1為可調電阻,,用于調節(jié)液晶模塊背光對比度,。
圖3 LCD接口電路原理圖
3 系統軟件設計
系統上電復位后,液晶模塊需要系統初始化,、寫入指令代碼,、寫入數據3個步驟才能正常工作,。在指令,、數據寫入的過程中要注意時序問題,如果時序過短,,會導致指令,、數據無法正確寫入液晶模塊,而造成信息無法顯示或出現花屏現象,。由于主控制器單片機采用C語言編程,,因此,單片機程序和液晶模塊顯示程序都具有很強的移植性,、可操作性,。
3.1 液晶模塊指令、數據的寫入
液晶模塊在正常工作之前,,首先進行模塊初始化,,寫入系統設置命令將使液晶模塊退出電源模式,并且啟動模塊內部時鐘,,經過一定的延時將初始化液晶模塊的內部狀態(tài),。然后設置液晶模塊的顯示模式,包括打開顯示,、設置游標,、設置圖形模式等。所有指令的寫入都可以通過公用的指令函數實現,。寫指令程序如下:
LCD320160CCW寫顯示數據程序包括清屏,、圖形界面、符號和漢字等數據信息,,數據的寫入是建立在指令正確寫入的基礎上,。因為該LCD模塊為圖形點陣式,所以可以將顯示信息轉換為相應的點陣數組,,在需要顯示信息時只需調用點陣數組即可,,寫數據程序如下:
3.2 控制器主程序設計
圖4為單片機主程序流程圖,在系統及LCD初始化完成后,,主機計算查詢信息的錯誤校驗CRC碼,,并且將其附加在發(fā)送信息的末端,,低字節(jié)在前,高字節(jié)在后,;查詢信息通過定時器2實現定時發(fā)送,,由于設定的UAWT波特率為9 600 b/s,查詢信息的字節(jié)數為8個,從機正確回應信息的字節(jié)數為35個,,那么一次發(fā)送,、接受過程字節(jié)總數為43個,需要的時間為T=43x8x1 s/9 600x1 000=35.8 ms,所以確定定時器2的定時間為50 ms.一次定時間隔內除發(fā)送,、接收的時間外,,其余時間用于LCD液晶顯示,由于壓電驅動器電壓變化速率相對與定時器定時頻率比較大,,因此可以認為監(jiān)控,、顯示具有較好的實時性,并且在程序中按照這樣的順序安排任務調度能夠滿足實際工程中實時性的要求,。
圖4 單片機主程序流程圖
4 結論
本文中通過對20路電壓測量模塊以及ModBus協議進行介紹,,在此基礎上搭建基于高速單片機C8051F120的硬件連接,通過編寫控制器程序實現了單片機與電壓測量模塊的數據通信和電壓的LCD液晶實時顯示,。實踐結果表明,,該設計硬件結構簡單,運行穩(wěn)定可靠,,開發(fā)周期短,,滿足實時監(jiān)測顯示自適應光學系統中各路壓電驅動器輸出電壓值的需要,具體實物如圖5所示,。
圖5 電壓監(jiān)測、實時顯示系統實物圖