基于51單片機(jī)和FPGA的位移測量裝置的設(shè)計(jì)
3.4 A/D采樣電路
鐵芯在移動(dòng)的過程中,輸出的電壓值變化范圍較大,因此,接入程控放大器,先通過A/D轉(zhuǎn)換器采樣,按照事先劃分的幅度帶對待處理信號(hào)進(jìn)行幅度定位,然后控制放大器的檔位,以提高A/D轉(zhuǎn)換器的采樣精度,從而減小測量誤差。MAXl97采用的是內(nèi)部時(shí)鐘和內(nèi)部基準(zhǔn)源,幾乎不需要外圍電路,電路結(jié)構(gòu)簡單,應(yīng)用方便。具體電路圖如圖5所示。
3.5 直流電機(jī)驅(qū)動(dòng)電路
采用專用芯片L298HN作為電機(jī)驅(qū)動(dòng)。電機(jī)起動(dòng)時(shí)需要較大的電流,為了保證電機(jī)起動(dòng)時(shí)對單片機(jī)控制板的供電系統(tǒng)不至于產(chǎn)生影響而產(chǎn)生掉電現(xiàn)象,需要采用光電耦合器TLP521-2GB進(jìn)行電源隔離,同時(shí)應(yīng)注意需要對L298HN的供電電壓進(jìn)行去耦,以保證驅(qū)動(dòng)電路的工作穩(wěn)定。電機(jī)驅(qū)動(dòng)電路如圖6所示。
4 系統(tǒng)軟件程序設(shè)計(jì)
本系統(tǒng)由單片機(jī)與FPGA共同控制實(shí)現(xiàn),F(xiàn)PGA主要用于ADC時(shí)序的控制以及數(shù)據(jù)的運(yùn)算,單片機(jī)則用來實(shí)現(xiàn)人機(jī)的交互。程序采用結(jié)構(gòu)化設(shè)計(jì)思想,軟件采用模塊化設(shè)計(jì),主程序中調(diào)用各子程序,有專門的數(shù)據(jù)處理子程序、信號(hào)發(fā)生器子程序、掃描鍵盤子程序等。除了數(shù)據(jù)運(yùn)算和顯示外,本系統(tǒng)還附加了自校正功能,即通過比較兩路信號(hào)的幅值控制電機(jī)的正轉(zhuǎn)和反轉(zhuǎn),最終使鐵芯停在參考零的位置。圖7為程序流程。
5 系統(tǒng)測試與結(jié)果分析
5.1 使用儀器及型號(hào)
PC機(jī):Intel奔騰D,主頻:2.5 G,內(nèi)存:1 G;偉福仿真機(jī):E51/S;直流穩(wěn)壓穩(wěn)流電源:SGl733SB3A;雙蹤數(shù)字存儲(chǔ)示波器:TEKT-RONLX TDS1002。
評(píng)論