在自適應(yīng)光學(xué)系統(tǒng)設(shè)計(jì)中,波前校正器作為光學(xué)系統(tǒng)的一個(gè)重要組成部分發(fā)展起來,它與波前傳感器和波前控制部分相結(jié)合,使光學(xué)系統(tǒng)具有克服外界動態(tài)干擾的能力,這是傳統(tǒng)光學(xué)技術(shù)難以做到的。在眾多類型的波前校正器中,分立壓電式連續(xù)鏡面變形鏡以其變形量大、表面變形沒有間斷點(diǎn)等優(yōu)點(diǎn)而被廣泛的采用。變形鏡的結(jié)構(gòu)有基板、驅(qū)動器和薄鏡面組成,在基板上固定若干個(gè)壓電驅(qū)動器,驅(qū)動器前在固定一個(gè)薄的光學(xué)鏡面,施加電壓給驅(qū)動器,即可產(chǎn)生正的或負(fù)的變形,從而推動薄反射鏡表面產(chǎn)生變形,起到改變光學(xué)波前并校正波前誤差的作用。為了防止壓電驅(qū)動器輸出電壓出現(xiàn)異常,導(dǎo)致系統(tǒng)出現(xiàn)故障,需要及時(shí)了解各路壓電驅(qū)動器輸出電壓情況,并且工程中要求監(jiān)測上千路壓電驅(qū)動器的輸出電壓,所以設(shè)計(jì)壓電驅(qū)動器輸出電壓監(jiān)測顯示系統(tǒng)成為一個(gè)亟需解決的課題。

本設(shè)計(jì)的主要工作是利用20路電壓測量模塊采集到驅(qū)動器的輸出電壓,通過ModBus RTU通訊協(xié)議,經(jīng)RS485接口將電壓數(shù)據(jù)傳送到高速單片機(jī),并在液晶屏上實(shí)時(shí)顯示各路壓電驅(qū)動器的輸出電壓值,20路電壓監(jiān)測系統(tǒng)框圖如圖1所示。

20路電壓監(jiān)測系統(tǒng)框圖
圖1 20路電壓監(jiān)測系統(tǒng)框圖

1 20路電壓測量模塊介紹

1.1 20路電壓測量模塊功能與特點(diǎn)


20路電壓測量模塊是一智能型的數(shù)據(jù)采集模塊,可以測量20路電壓號,輸入信號為直流。其輸出為RS485,通訊協(xié)議符合ModBus RTU協(xié)議。此模塊可以廣泛應(yīng)用于各種工業(yè)測控系統(tǒng)。其主要的功能特點(diǎn)如下:

采用最新電子技術(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)時(shí),地址范圍是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è)備之間都可以實(shí)現(xiàn)通信。由于設(shè)計(jì)所用的20路電壓測量模塊采用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)要行動的域、任何要返回的數(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ù)。如果中間過程發(fā)生錯(cuò)誤,功能代碼將被修改,并且數(shù)據(jù)段包含描述錯(cuò)誤信息的代碼,錯(cuò)誤校驗(yàn)允許主機(jī)確認(rèn)消息是否可用。

1.3 20路電壓測量模塊組網(wǎng)

因?yàn)?0路電壓測量模塊的輸出為標(biāo)準(zhǔn)RS485,所以以RS485為接口的20路電壓測量模塊可以進(jìn)行組網(wǎng)。通常RS485網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)最多為32個(gè),通過中繼器可以提高RS485接口的帶負(fù)載能力,最多可達(dá)到驅(qū)動256個(gè)模塊的能力,從而可以將多個(gè)20路電壓測量模塊組成網(wǎng)絡(luò),滿足幾百路甚至上千路電壓的需要,最終達(dá)到監(jiān)測顯示多路壓電驅(qū)動器輸出電壓的要求。

2 系統(tǒng)部分硬件設(shè)計(jì)

2.1 RS485通信接口


由于20路電壓測量模塊支持RS485串行通信,為了實(shí)現(xiàn)單片機(jī)與電壓測量模塊的數(shù)據(jù)通信,必須設(shè)計(jì)RS485通信接口。主機(jī)可以通過RS485接口將查詢信息傳送給從機(jī),同時(shí)從機(jī)可以將采集的實(shí)時(shí)電壓數(shù)據(jù)回應(yīng)給主機(jī)。采用RS485信號收發(fā)專用芯片MAX485實(shí)現(xiàn)信號的轉(zhuǎn)換,在設(shè)計(jì)電路時(shí)要充分考慮MAX485芯片同相端、反相端的電平對應(yīng)關(guān)系。由于從機(jī)回應(yīng)數(shù)據(jù)幀的初始位-低電平使主機(jī)產(chǎn)生接受中斷,所以只有MAX485芯片同相端A的初始電平大于反相端B的初始電平時(shí),才能保證主控制器單片機(jī)打開接收中斷時(shí)不會產(chǎn)生誤中斷,而造成接到錯(cuò)誤的數(shù)據(jù)幀,RS485接口電路原理圖如圖2所示。

RS485接口電路原理圖
圖2 RS485接口電路原理圖

2.2 液晶顯示模塊

液晶顯示模塊-LM320160CCW是320x160全圖形點(diǎn)陣的液晶顯示模塊,該模塊支持并口通信,內(nèi)置升壓電路,5 V供電;模塊顯示屏由內(nèi)置的主控芯片S1D13700控制,可靠性高,指令簡單,易于操作;此外,液晶模塊使用高亮度LED背光,實(shí)現(xiàn)極佳對比顯示,藍(lán)底白字或白底黑字,顯示效果可選。液晶模塊的以上特點(diǎn)適合本設(shè)計(jì)選用的C8051F120主控制器,LCD液晶顯示范圍也可以滿足本設(shè)計(jì)信息顯示的需要。對于內(nèi)置控制芯片的液晶顯示模塊,在電路設(shè)計(jì)時(shí),只需把液晶的控制電路信號分清就可以方便的使用。由于LM320160CCW液晶模塊中配備液晶控制單元,所以在接口電路設(shè)計(jì)不需加入更多控制芯片就可實(shí)現(xiàn)圖形或字符的顯示。

2.3 LCD與控制器接口電路設(shè)計(jì)

在接口電路設(shè)計(jì)中,由于LM320160CCW液晶顯示模塊為5 V供電,而單片機(jī)為3.3 V供電,所以不能簡單的彼此連接在一起,需要做電平處理。本次設(shè)計(jì)中選用741S245作為總線驅(qū)動器,并在單片機(jī)引腳加入5 V上拉電阻,這樣即可保證信號的驅(qū)動能力,接口電路原理圖如圖3所示,其中P3和P7為單片機(jī)的I/O端口,RV1為可調(diào)電阻,用于調(diào)節(jié)液晶模塊背光對比度。

LCD接口電路原理圖
圖3 LCD接口電路原理圖

3 系統(tǒng)軟件設(shè)計(jì)

系統(tǒng)上電復(fù)位后,液晶模塊需要系統(tǒng)初始化、寫入指令代碼、寫入數(shù)據(jù)3個(gè)步驟才能正常工作。在指令、數(shù)據(jù)寫入的過程中要注意時(shí)序問題,如果時(shí)序過短,會導(dǎo)致指令、數(shù)據(jù)無法正確寫入液晶模塊,而造成信息無法顯示或出現(xiàn)花屏現(xiàn)象。由于主控制器單片機(jī)采用C語言編程,因此,單片機(jī)程序和液晶模塊顯示程序都具有很強(qiáng)的移植性、可操作性。

3.1 液晶模塊指令、數(shù)據(jù)的寫入

液晶模塊在正常工作之前,首先進(jìn)行模塊初始化,寫入系統(tǒng)設(shè)置命令將使液晶模塊退出電源模式,并且啟動模塊內(nèi)部時(shí)鐘,經(jīng)過一定的延時(shí)將初始化液晶模塊的內(nèi)部狀態(tài)。然后設(shè)置液晶模塊的顯示模式,包括打開顯示、設(shè)置游標(biāo)、設(shè)置圖形模式等。所有指令的寫入都可以通過公用的指令函數(shù)實(shí)現(xiàn)。寫指令程序如下:

程序
LCD320160CCW寫顯示數(shù)據(jù)程序包括清屏、圖形界面、符號和漢字等數(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é)在后;查詢信息通過定時(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ā)送、接受過程字節(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ū)動器電壓變化速率相對與定時(shí)器定時(shí)頻率比較大,因此可以認(rèn)為監(jiān)控、顯示具有較好的實(shí)時(shí)性,并且在程序中按照這樣的順序安排任務(wù)調(diào)度能夠滿足實(shí)際工程中實(shí)時(shí)性的要求。

LCD顯示屏相關(guān)文章:lcd顯示屏原理


超級電容器相關(guān)文章:超級電容器原理


lcd相關(guān)文章:lcd原理

上一頁 1 2 下一頁