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