AT89C51單片機在數控車床切削力測量中的應用
2.6 A/D轉換器
把測力傳感器輸出的模擬電壓變成數字量,我們選用的是ADC0809八位A/D轉換器,他的轉換方法為逐次逼近法。在A/D轉換器的內部含有一個高阻抗斬波穩定比較器,一個帶有模擬開關數組的256R分壓器,以及一個逐行逼近的寄存器。八路的模擬開關可由地址鎖器和譯碼器控制,可以在八個通路中任意訪問一個單邊的模擬信號。
2.7 顯示切削力
A/D轉換器雖然將測力傳感器輸出的模擬電壓值轉換為數字量,但是它并不是實際數控車床切削力的值,要得到真正的切削力的值還需進行以下兩步工作:靜態標定和標度變換。
靜態標定:就是通過實驗建立測力傳感器輸出電壓與切削力之間的關系曲線和數學模型。
標度變換:就是將A/D轉換器轉換后的00H—FFH數字量再轉換為實際的切削力的值。
以上兩步工作進行完畢后才能在單片機LED上顯示出數控車床實際的切削力的值。以便數控車床操作人員進行監視和管理生產等。
3 系統軟件設計
系統的主程序框圖見圖3,系統軟件包括:動態顯示程序、A/D采樣程序、標度變換程序和中斷服務程序等。中斷服務程序主要是利用定時器中斷產生的時標,對LED數碼管進行動態刷新顯示。
3.1 A/D采樣程序
本程序分主程序和中斷服務程序兩部分。主程序用來對中斷初始化,給ADC0809發啟動脈沖、送模擬量路數的地址、動態顯示、監控報警等。中斷服務程序用來接收A/D轉換后的數字量和判斷一遍采樣完成否。

圖3 系統主程序框圖

圖4 標度變換子程序框圖
部分參考程序如下:主程序:
ORG 0A00H
MOV R1,#30H;輸入數據區起始地址
MOV R4,#03H;模擬量總路數送R4
MOV R2,#00H;IN0地址送R2
SETB EA
SETB EX0
SETB IT0
MOV R0,#0F0H
MOV A,R2
MOVX @R0,A
SJMP $ ;等待中斷
中斷服務程序:
ORG 0003H
AJMP CINT1
ORG 0100H
CINT1: MOV R0,#0F0H
MOVX A,@R0
MOV @R1,A
INC R1
INC R2
MOV A,R2
MOVX @R0,A
DJNZ R4, LOOP;若未采集完3路,則轉LOOP
CLR EX0; 若采集完3路,則關INT0中斷
LOOP: RETI
END
3.2 標度變換子程序框圖
由實驗結果得知,本系統由A/D轉換成的數字量與數控車床切削力的值呈線性關系。因此,標度變換的數學公式為:Ax=A0+(Am-A0)(Nx-No)/(Nm-No)
A0 ── 一次測量儀表的下限
Am ── 一次測量儀表的上限
Ax ── 實際測量值
N0 ── 儀表下限所對應的數字量
Nm ── 儀表上限所對應的數字量
Nx ── 測量值所對應的數字量
為了使程序簡單,一般把被測參數的起點A0(輸入信號為0)所對應的A/D轉換值為0,即N0=0,這樣公式變為:
Ax= Nx/Nm(Am-A0)+A0
該系統標度變換子程序框圖如圖4所示。
4 結束語
應用單片機測量數控車床切削力,實現了生產過程中連續自動采樣、實時顯示、過載報警,以便操作人員進行監控和管理生產,有效地防止了因切削用量過大而損壞數控車床的現象發生。本系統也可經改進后移植到需限載的其他領域中應用。
評論