MAX1300在伺服功率驅(qū)動系統(tǒng)中的應(yīng)用
伺服功率驅(qū)動系統(tǒng)是液壓伺服控制器的重要組成部分,該部分的設(shè)計不僅要為伺服系統(tǒng)提供足夠的驅(qū)動能力,同時也要完成對電流反饋信號、電壓反饋信號以及門限電壓的實時采集、轉(zhuǎn)換與顯示。此外,為了保證整個系統(tǒng)在控制器工作過程中的良好表現(xiàn),需要同時完成對兩路信號的采集和轉(zhuǎn)換。這對該系統(tǒng)中數(shù)據(jù)采集的速度、精度以及時序控制的準(zhǔn)確度提出了較高的要求。
本文引用地址:http://www.ex-cimer.com/article/201610/306639.htm 使用常見的8位、12位模數(shù)轉(zhuǎn)換芯片(如ADC0809、MAX197等)設(shè)計的系統(tǒng)簡單且成本較低,但無法滿足高精度系統(tǒng)的設(shè)計要求。本文提出了一種基于C8051F120單片機為核心控制器件,使用16位A/D轉(zhuǎn)換器MAX1300的雙通道信號采集、處理方案,經(jīng)過實驗測試和理論分析,能夠?qū)崿F(xiàn)較高的采集精度和速度。
1 硬件設(shè)計
該伺服功率驅(qū)動板中完成實時數(shù)據(jù)采集檢測系統(tǒng)選用C8051F120作為核心控制器進(jìn)行設(shè)計。系統(tǒng)硬件框圖如圖1所示,主要由單片機、A/D轉(zhuǎn)換、LED液晶顯示和報警電路等組成。
本系統(tǒng)中選用22.118 MHz的外部晶振時鐘以保證電路的穩(wěn)定可靠。為滿足系統(tǒng)中各設(shè)備的供電要求,采用5 V的輸入電源供電。上位機與采集系統(tǒng)的數(shù)據(jù)通信利用串口完成,通過MAX232完成電平轉(zhuǎn)換。液晶顯示采用LCD5110模塊完成,模擬量采集部分的A/D轉(zhuǎn)換使用MAX1300實現(xiàn)。
硬件電路部分的設(shè)計中使用MAX1300內(nèi)部4.096 V的電壓基準(zhǔn)。為了提升系統(tǒng)性能,在設(shè)計電路時加入了獨立的模擬地和數(shù)字地、模擬電源和數(shù)字電源。同時,由于供電電源
的高頻噪聲也會對ADC中的高速比較器的工作性能,在每一個模擬電源和數(shù)字電源上都使用一個0.1μF的陶瓷電容旁路到最近的地。CH0~CH7分別為采集模擬量的輸入通道。在每個通道前,加入了RC濾波電路。采集電路設(shè)計如圖2所示。
2 軟件設(shè)計
A/D采集部分的程序主要使用的開發(fā)軟件為KeiluVision2。程序主要包括初始化程序、配置輸入方式和輸入量程的字節(jié)、配置芯片的工作模式、寫入啟動信號0x80、等待8
個時鐘、讀出AD轉(zhuǎn)換的數(shù)據(jù)位等部分。軟件流程圖如圖3所示。
MAX1300有3種可供選擇的轉(zhuǎn)換模式,分別為外部時鐘模式、外部采集模式和內(nèi)部時鐘模式。本文中選擇外部時鐘模式,在該模式下,SCLK在控制模擬信號采集的同時,也控制著模擬信號的轉(zhuǎn)換,便于精確的控制采集模擬信號的時間,并且這種模式可獲得最高的吞吐率。此外,MAX1300具有7種單端輸入范圍和3種差分輸入范圍,能夠滿足本系統(tǒng)采集正負(fù)電壓的需要。
依照圖4中模式控制字節(jié)的寫入方式完成MAX1300芯片的單極性或雙極性輸入范圍、單端或差分輸入通道配置、采集工作模式的配置。
在Keil下進(jìn)行編程并在線調(diào)試。在連接好電路之后,單片機啟動AD轉(zhuǎn)換程序并將采集的數(shù)據(jù)通過串口發(fā)送到PC機。驅(qū)動程序如下:
SPI_Write_Cmd(0x89); //配置CH0和CH1為差分輸入方式
SPI_Write_Cmd(Ox88); //0x88為外部模式0
SPI_Write_Start(0x80); //啟動轉(zhuǎn)換信號
MAX_DATA=SPI_Read();//讀取轉(zhuǎn)換數(shù)據(jù)
3 實驗結(jié)果及分析
在采集精度測試中,使用信號源輸入不同的電壓值,將A/D轉(zhuǎn)換后液晶顯示的電壓值與采樣電阻兩端的實際輸出電壓值進(jìn)行比較,得到的實驗結(jié)果如表1所示。
實驗結(jié)果表明,該單片機設(shè)計的AD采集板具有較高的精度,但仍存在著一定的誤差。在高精度數(shù)據(jù)采集系統(tǒng)中,ADC的誤差在很大程度上影響著系統(tǒng)的精度。因此需要對AD轉(zhuǎn)換器件MAX1300的各主要誤差源進(jìn)行分析計算。
MAX1300的差分非線性(DNL)為(-1LSB,+2LSB),其DNL誤差值存在偏移,也就是說ADC的轉(zhuǎn)換函數(shù)會發(fā)生變化,但是在以-1LSB為底限的情況下在理論上仍然可以保證不丟碼。
INL是DNL誤差的積分,在實際計算ADC的精度過程中,通常選用INL誤差。INL誤差可通過公式(1)得到
ERR=LSB/2N (1)
MAX1300的INL誤差為±1LSB,聲明為無丟碼(16位精度),則它的分辨率誤差是0.001 526%。
MAX1300雙極性輸入的增益誤差為±0.3%FSR,意味著在其最大輸出時,會帶來8位(197)的誤差,其增益誤差0.012 2%。一般情況下,在采用片內(nèi)基準(zhǔn)時將會產(chǎn)生更大的增益誤差,可以通過采用片外基準(zhǔn)的方式減小增益誤差。
ENOB(有效位數(shù))可由公式(2)計算得出,
假設(shè)系統(tǒng)允許0.1%的誤差,ADC允許0.075%的誤差。我們在設(shè)計中選擇的MAX1300,其具有(-1LSB,+2ISB)的DNL,INL誤差為±1LSB(0.001 526%),增益誤差0.012 2%,0.01%的失調(diào)誤差,1 ppm/℃的溫漂系數(shù),在50℃范圍內(nèi)產(chǎn)生0.001%的誤差,共計0.027 4%的誤差。還有0.047 6%的誤差供基準(zhǔn)電壓源使用,在這種情況下,有較多的選擇余地。可以采取校正失調(diào)誤差和增益誤差,并選擇低噪聲的電壓基準(zhǔn),以達(dá)到提高系統(tǒng)精度的目的。
4 結(jié)論
本文主要介紹了使用高精度16位A/D轉(zhuǎn)換器MAX1300完成雙通道信號的采集處理系統(tǒng)設(shè)計的過程。給出了系統(tǒng)硬件及軟件的詳細(xì)設(shè)計,通過實驗測試和對A/D轉(zhuǎn)換芯片產(chǎn)生的誤差的進(jìn)行量化分析,得出本系統(tǒng)具有高精度、較快的轉(zhuǎn)換速度、較低的CPU占用率等特點,能夠很好地滿足使用要求。
評論