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