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