基于單片機的CK6163數(shù)控車床控制系統(tǒng)設計.zip,基于,單片機,CK6163,數(shù)控車床,控制系統(tǒng),設計
#include
#include
#define uint unsigned int
#define uchar unsigned char
#define com8255 XBYTE[0x007f]//8255端口地址
#define PA8255 XBYTE[0x007c]
#define PB8255 XBYTE[0x007d]
#define PC8255 XBYTE[0x007e]
uchar code F_rotation1[]={0x80,0xc0,0x40,0x60,0x20,0xa0};//步進電機正反轉控制狀態(tài)表
uchar code B_rotation1[]={0xa0,0x20,0x60,0x40,0xc0,0x80};
uchar code F_rotation2[]={0x08,0x0c,0x04,0x06,0x02,0x0a};
uchar code B_rotation2[]={0x0a,0x02,0x06,0x04,0x0c,0x08};
uchar code F_rotation3[]={0x88,0xcc,0x44,0x66,0x22,0xaa};
uchar code B_rotation3[]={0xaa,0x22,0x66,0x44,0xcc,0x88};
uchar code F_rotation4[]={0x8a,0xc2,0x46,0x64,0x2c,0xa8};
uchar code B_rotation4[]={0xa8,0x2c,0x64,0x46,0xc2,0xa8};
uchar code table[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//數(shù)碼管數(shù)字顯示表
uchar code table_d[16] = {0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};
void xianshi();//數(shù)碼管顯示函數(shù)
void jianpan();//鍵盤功能實現(xiàn)函數(shù)
uchar keyscan();//鍵盤掃描函數(shù)
int A,W,H;
int X3=0, Z3=0, X4=-50,Z4=-50;//加工參數(shù)設置
int X5, Z5, F1,j0;
uchar i0=0,k0=0;
int X0=0,Z0=-50,X1=0,Z1=0,X2=-50,Z2=-50;
int F=0,X,Z;
uchar n,m=0,k=0;
uchar key,g,count;
void delay(t)//延時函數(shù)
{
uint i,j;
for(i=0;i0)
{
if(F1<0)
{
PA8255=B_rotation2[i0];
F1=F1+Z5;
i0++;A++;H++;
if(i0==6)
i0=0;
}
else
{
PA8255=B_rotation1[k0];
F1=F1-X5;
k0++;W++;H++;
if(k0==6)
k0=0;
}
j0--;
}
}
void RS_move()//第三象限圓弧順時針加工函數(shù)
{
if(n=0)
{
PA8255=B_rotation2[m];
F=F-2*X+1;
X=X-1;
m++;A++;H++;
if(m==6)
m=0;
}
else
{
PA8255=B_rotation1[k];
F=F-2*Z+1;
Z=Z-1;
k++;W++;H++;
if(k==6)
k=0;
}
n++;
}
}
void iti() interrupt 1//中斷函數(shù)
{
TH0=(65536-8000)/256;
TL0=(65536-8000)%256;
count++;
if(count==15)
{
count=0;
jianpan();
}
}
void main()
{
TMOD=0x01;
TH0=(65536-8000)/256;
TL0=(65536-8000)%256;
TR0=1;
ET0=1;
EA=0;
A=0;W=0;
com8255=0x80;
PA8255=0x00;
X1=X1-X0;Z1=Z1-Z0;
X2=X2-X0;Z2=Z2-Z0;
Z=Z1;X=X1;H=0;
X5=X3-X4;Z5=Z3-Z4;
j0=X5+Z5;
while(1)
{
xianshi();
key=keyscan();
if(key==1)
{
A=0;W=0;
}
else if(key==2)
EA=0;
else if(key==5)
EA=1;
}
}
uchar keyscan()
{
uchar Y[]={0xfe,0xfd,0xfb,0xf7}, X[]={0xd0,0xb0,0x70},ii=0,jj=0,temp;
P1=Y[ii];
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(2);
if(temp!=0xf0)
for(;jj<3;jj++)
if(temp==X[jj])
return 3*ii+jj;
}
ii++;
P1=Y[ii];
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(2);
if(temp!=0xf0)
for(;jj<3;jj++)
if(temp==X[jj])
return 3*ii+jj;
}
ii++;
P1=Y[ii];
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(2);
if(temp!=0xf0)
for(;jj<3;jj++)
if(temp==X[jj])
return 3*ii+jj;
}
ii++;
P1=Y[ii];
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(2);
if(temp!=0xf0)
for(;jj<3;jj++)
if(temp==X[jj])
return 3*ii+jj;
}
}
void jianpan()
{
if(key==8)
{
com8255=0x80;
PA8255=B_rotation2[g++];
A++;
if(g==6)g=0;
}
else if(key==11)
{
com8255=0x80;
PA8255=F_rotation2[g++];
A--;
if(g==6)g=0;
}
else if(key==7)
{
com8255=0x80;
PA8255=B_rotation1[g++];
W++;
if(g==6)g=0;
}
else if(key==10)
{
com8255=0x80;
PA8255=F_rotation1[g++];
W--;
if(g==6)g=0;
}
else if(key==6)
{
com8255=0x80;
PA8255=B_rotation3[g++];
W++;
A++;
if(g==6)g=0;
}
else if(key==9)
{
com8255=0x80;
PA8255=F_rotation3[g++];
W--;
A--;
if(g==6)g=0;
}
else if(key==3)
{
com8255=0x80;
PA8255=F_rotation4[g++];
W--;
A++;
if(g==6)g=0;
}
else if(key==4)
{
com8255=0x80;
PA8255=F_rotation4[g++];
W++;
A--;
if(g==6)g=0;
}
else
{
if(H<100)
RS_move();
else
// S_move()
;
}
}
void xianshi()
{
PB8255=0x00;
PB8255=0x5b;
PC8255=7;
delay(1);
if(W>0){
PB8255=0x00;
PB8255=0x40;
PC8255=6;
delay(1);
PB8255=0x00;
PB8255=table[W%1000000/100000];
PC8255=5;
delay(1);
PB8255=0x00;
PB8255=table[W%1000000%100000/10000];
PC8255=4;
delay(1);
PB8255=0x00;
PB8255=table[W%1000000%100000%10000/1000];
PC8255=3;
delay(1);
PB8255=0x00;
PB8255=table_d[W%1000000%100000%10000%1000/100];
PC8255=2;
delay(1);
PB8255=0x00;
PB8255=table[W%1000000%100000%10000%1000%100/10];
PC8255=1;
delay(1);
PB8255=0x00;
PB8255=table[W%1000000%100000%10000%1000%100%10];
PC8255=0;
delay(1);
PB8255=0x00;}
else{
PB8255=0x00;
PB8255=0x3f;
PC8255=6;
delay(1);
PB8255=0x00;
PB8255=table[-W/100000];
PC8255=5;
delay(1);
PB8255=0x00;
PB8255=table[-W%100000/10000];
PC8255=4;
delay(1);
PB8255=0x00;
PB8255=table[-W%100000%10000/1000];
PC8255=3;
delay(1);
PB8255=0x00;
PB8255=table_d[-W%100000%10000%1000/100];
PC8255=2;
delay(1);
PB8255=0x00;
PB8255=table[-W%100000%10000%1000%100/10];
PC8255=1;
delay(1);
PB8255=0x00;
PB8255=table[-W%100000%10000%1000%100%10];
PC8255=0;
delay(1);
PB8255=0x00;}
PB8255=0x76;
PC8255=0x0f;
delay(1);
PB8255=0x00;
PB8255=0x40;
PC8255=0x0e;
delay(1);
PB8255=0x00;
PB8255=table[A/100000];
PC8255=0x0d;
delay(1);
PB8255=0x00;
PB8255=table[A%100000/10000];
PC8255=0x0c;
delay(1);
PB8255=0x00;
PB8255=table[A%100000%10000/1000];
PC8255=0x0b;
delay(1);
PB8255=0x00;
PB8255=table_d[A%100000%10000%1000/100];
PC8255=0x0a;
delay(1);
PB8255=0x00;
PB8255=table[A%100000%10000%1000%100/10];
PC8255=0x09;
delay(1);
PB8255=0x00;
PB8255=table[A%100000%10000%1000%100%10];
PC8255=0x08;
delay(1);
}
中文摘要
本文主要是利用單片機對CK6163數(shù)控車床的控制系統(tǒng)進行設計,使其能夠被改造成現(xiàn)在市場上所需要的經(jīng)濟型車床。本設計的CK6163數(shù)控車床,是采用兩個步進電機對機床的X軸和Z軸進行進給系統(tǒng)的控制。本設計采用逐點比較法進行直線和圓弧插補,最終能實現(xiàn)對外圓、錐度、螺紋、端面等的自動加工控制,能對縱向和橫向進給運動的行程和速度進行自動控制。降低了勞動強度,實現(xiàn)并增強其自動化加工、穩(wěn)定質(zhì)量、提高工效和適用性。
依據(jù)典型的工藝數(shù)據(jù),首先應對系統(tǒng)的機械部分進行必要的設計,包括主傳動系統(tǒng)的設計、回轉刀架的選擇和進給系統(tǒng)的確定等。再對控制部分進行設計,包括通過對電機的選型確定驅(qū)動元件,對控制硬件和軟件的選擇進行電路圖的繪制和程序的編寫,最終實現(xiàn)車床的自動控制?;贛CS_51單片機對電機的控制系統(tǒng)進行設計,從而實現(xiàn)對整個控制系統(tǒng)的確定設計。
關鍵詞 數(shù)控機床 控制系統(tǒng) 步進電機 MCS_51單片機
I
外文摘要
Title Design of CK6163 CNC lathe control system based on
Single chip microcomputer
Abstract
This paper mainly uses a single chip microcomputer to design the control system of CK6163 CNC lathe, which can be transformed into the economical lathe that is needed in the market now. The designed CK6163 CNC lathe is controlled by two stepping motors for the X and Z axis of the machine tool. This design USES the straight line and arc interpolation point by point comparison method, finally can realize external circular, taper, screw, end automatic processing control, who will take care of the longitudinal and transverse feed motion stroke and speed for automatic control.It reduces the intensity of labor, realizes and enhances its automation, stability, efficiency and applicability.
Based on typical process data, the first response to the mechanical parts to make the necessary design, including the design of the main transmission system, selection of rotary tool rest and the determination of feed system, etc. Again to design control part, including through the motor selection determine the driving element, the selection of control hardware and software of circuit diagram drawing and writing of the program, finally realizes the automatic control of machine tool. The design of the control system of the motor based on MCS_51 single chip is designed to realize the design of the whole control system.
Key words:CNC machine tools, control systems, stepper motors, single-chip
窗體底端
II
目錄
第1章 緒論 1
1.1 數(shù)控車床介紹 1
1.2數(shù)控車床發(fā)展歷史和國內(nèi)發(fā)展現(xiàn)狀 4
1.3 本課題的意義 5
第2章 設計任務與方案確定 7
2.1 設計內(nèi)容 7
2.2 設計技術參數(shù) 8
2.3數(shù)控系統(tǒng)總體方案設計 8
第3章 縱向進給傳動部件的計算和選型 10
3.1切削力的計算 10
3.2滾珠絲杠螺母副的計算和選型 11
3.2.1精度的選擇 11
3.2.2絲杠導程的確定 11
3.2.3最大工作載荷的計算 11
3.2.4最大動載荷的計算 12
3.2.5 滾珠絲杠螺母副的選型 12
3.2.6滾珠絲杠副的支承方式 12
3. 3同步帶減速機構設計 13
3.3.1 傳動比的確定 13
3.3.2 傳遞功率的估算 13
3.3.3 選擇帶型和節(jié)距 14
3.3.4 確定帶輪齒數(shù)和節(jié)圓直徑 14
3.4.本章小結 15
第四章 伺服系統(tǒng)的設計 16
4.1 控制系統(tǒng)的選擇 16
4.2 縱向步進電機的計算 16
4.2.1 縱向步進電機的選擇 18
4.3 橫向步進電機的計算 19
4.3.1 橫向步進電機的選擇 20
4.4 本章小結 21
第五章 控制系統(tǒng)硬件設計 22
5.1 MCS_51芯片介紹 22
5.1.1.單片機的主要特點 24
5.2.2.單片機應用 24
5.2 8255A芯片的應用 25
5.3 單片機I/O擴展電路設計及功能 26
5.4 光電隔離電路 27
5.5 鍵盤功能控制電路 27
5.6 顯示驅(qū)動電路 29
5.7 串口通信接口電路 30
5.8其它相關電路 31
第六章 控制系統(tǒng)軟件設計及仿真 32
6.1 Keil軟件介紹 32
6.2 Proteus軟件應用 32
6.3 程序設計及調(diào)試 32
6.4 仿真 36
第七章 結論 38
參考文獻 39
致謝 41
V
第1章 緒論
1.1 數(shù)控車床介紹
數(shù)控車床是數(shù)控機床的一種,數(shù)控機床主要有三個方面的加工優(yōu)勢,分別為加工效率高、加工精度高以及加工產(chǎn)品性能高。正由于這些方面的優(yōu)勢,數(shù)控機床應用廣泛,主要用于加工那些普通機床加工不了的結構復雜、精度高且加工數(shù)量較少的零件。這樣在提升產(chǎn)品質(zhì)量和性能結構的同時,還能夠得到最大程度的經(jīng)濟效益。數(shù)控機床種類繁多,該課題設計的數(shù)控車床就是其中的一種,另外還包括銑床、磨床、鉆床等等,這些也都是平時在加工時經(jīng)常遇到的機床。本設計主要是對數(shù)控車床的控制系統(tǒng)進行設計。
數(shù)控機床在進行加工時,主要是將事先編寫好的程序輸入到數(shù)控裝置中,再經(jīng)過分析轉變成相應的指令,輸出到控制系統(tǒng)中,以達到自動化加工的目的。因此,加工程序起到?jīng)Q定性作用,程序如果產(chǎn)生錯誤,會導致整個加工過程的失敗,并且在編寫程序時,還需要考慮到其它各種加工因素,比如加工的整體路線、加工時相關具體參數(shù)、刀具的加工轉換和其他一些輔助功能等等。將這些因素都結合之后,最終按照一定的格式編寫加工程序單。程序編寫好之后,需要將這些程序輸入到機床的數(shù)控裝置中,從而指揮機床進行零件的加工,指揮車床進行自動加工。而輸入工作方式又可分為兩種方式,第一種是在輸入的同時進行加工,顧名思義,就是在輸入下一個程序時,前一個程序已經(jīng)在進行加工,第二種是將程序一次性輸入,將其儲存在數(shù)控裝置的儲存器中,當需要加工時再將其調(diào)用出來。數(shù)控機床在進行零件加工時,不需要人為操作,只需通過改變程序既能改變加工步驟,路線,進而達到加工不同零件的目的,既方便又實用。
(1)數(shù)控機床的工作原理
在介紹之前,必須對數(shù)控編程的主要過程作必要的了解?;静襟E如下圖1-1所示
圖1-1 數(shù)控編程的步驟
由上圖可知,數(shù)控機床在對零件進行加工時,主要是將事先編寫好的程序輸入到數(shù)控裝置中,(程序在編寫時難免會出現(xiàn)錯誤,而數(shù)控系統(tǒng)在進行加工之前會對其進行分析檢查,出現(xiàn)錯誤的程序系統(tǒng)會發(fā)出警告,進行修改,而有些程序是在加工過程中被發(fā)現(xiàn),這就需要停止工作,仔細檢查修改,最終確保程序正確。)修改檢查無誤后數(shù)控系統(tǒng)會輸出相應的指令再經(jīng)過分析轉變成相應的指令,輸出到控制系統(tǒng)中,控制機床的各項運動,比如主軸的運動、刀具的自動交換、加工路線的選擇等其他的一些基本操作。使機床對工件按照所給程序中的正確順序和軌跡進行加工和停止。而在數(shù)控車床不斷的加工過程中,要不斷的進行檢查以使刀具和工件處在所要求的相對位置。這樣便能加工出符合要求的產(chǎn)品。其加工工件過程圖如下圖1-2所示:
零
件
圖
樣
零
件
成
品
程
序
設
計
編
寫
程
序
單
機
床
加
工
伺
服
系
統(tǒng)
數(shù)
控
介
質(zhì)
穿
孔
紙
帶
圖1-2 數(shù)控機床工作原理
(2)數(shù)控機床的組成
數(shù)控機床主要由五部分組成,其組成框架如下圖1-3所示:下表1-1面是對其組成的詳細介紹。
圖1-3 數(shù)控機床的組成框圖
表1-1 數(shù)控機床各組成簡要介紹
名稱
介紹及功能
控制介質(zhì)
數(shù)控機床在進行工件作業(yè)時,一般都是自動加工,不需要人為的操作。達到這一目的就必須在數(shù)控機床之間搭造一種必要的聯(lián)系,控制介質(zhì)就是建立這種聯(lián)系的中間媒介物。它記錄著工件的加工步驟。本設計配有鍵盤和數(shù)碼管進行控制顯示。
數(shù)控裝置
作為數(shù)控機床的“心臟”。數(shù)控裝置是機床的控制裝置,其主要功能有很多,其中包括:多坐標控制;補償功能;程序的修改功能;插補功能等等。
伺服系統(tǒng)
伺服系統(tǒng),就是將數(shù)控裝置上所接受到的指令進行接受,來驅(qū)動機床執(zhí)行機構運動的驅(qū)動機構。在每個執(zhí)行部件上面,都會相應的配上一套伺服系統(tǒng)。它的作用就相當于一個人的雙手,對工作臺進行精確的操作使其能夠按照一定的運動軌跡進行相對運動,加工出最后的零件。
測量反饋裝置
測量反饋裝置是閉環(huán)(半閉環(huán))數(shù)控機床的檢測環(huán)節(jié),沒有這一裝置的系統(tǒng)稱為開環(huán)控制系統(tǒng)。它的功能是檢測數(shù)控機床軸的運動速度和位移,以達到對CNC設備的信息反饋。本設計選用的控制系統(tǒng)為開環(huán)控制系統(tǒng),因此不需要該測量反饋裝置。
機床本體
機床本體,顧名思義,就是數(shù)控機床的主體。開始時一直沿用的普通機床。隨著數(shù)控技術的不斷發(fā)展,傳統(tǒng)的機床結構已經(jīng)不能夠達到技術性能的要求,因為其切屑用量大,連續(xù)作業(yè)導致發(fā)熱都會影響加工精度。因此,數(shù)控機床必須簡化機械傳動結構,使其設計相較于普通機床更加的完善,加工的精密要求比一般機床更加苛刻。為了能使數(shù)控機床的功能得到最大程度的發(fā)揮,數(shù)控機床除主體(包括床身、主軸、進給機構等)之外,還應該需要一些配套設備,比如輔助運動設備、液壓氣動系統(tǒng)、冷卻裝置和其他部分。
(3)數(shù)控機床加工特點:
1)可以加工復雜的零件,如包含必要的弧線,曲面等;
2)能夠使加工的自動化得到提高;
3)加工精度高;
4)能夠是工序得到集中,降低了工件的頻繁移動;
5)極大提高了加工效率,縮短生產(chǎn)周期;
6)節(jié)省勞動力,降低了勞動強度;
7)適用于中小批量生產(chǎn)。
1.2數(shù)控車床發(fā)展歷史和國內(nèi)發(fā)展現(xiàn)狀
1952年,第一臺數(shù)控銑床在美國誕生,他的問世,代表了數(shù)控機床時代的來臨,也代表著整個世界的機械行業(yè)向自動化發(fā)展的開始。但由于當時科學技術的局限性,那時的數(shù)控裝置普遍都是一些體積大、價格高的電子管元件,只在一小部分領域得到了應用,來加工所需要的復雜工件,并未得到廣泛的應用。1959年,晶體管元件和電路板的出現(xiàn),推動了數(shù)控技術的發(fā)展,歷史上稱這一出現(xiàn)為數(shù)控裝置的第二代,主要由于其體積有所減少,價格也有很大的下降。1965年,集成電路數(shù)控裝置被發(fā)明出來,這是一個里程碑的發(fā)現(xiàn),代表著數(shù)控裝置的第三代。相比于前兩代的,該數(shù)控裝置集合了它們的所有優(yōu)點,并在此基礎上得到了進一步的加強,價格更加便宜,性能更加優(yōu)越,極大的促進了數(shù)控機床品種和產(chǎn)量的發(fā)展。60年代末,第四代計算機數(shù)控系統(tǒng)(CNC)出現(xiàn)。1974年,又出現(xiàn)了第五代微型計算機控制裝置,其性能相較于前幾代,有著飛躍性的提升,且體積更小,相當于第三代的1/20,價格也更加的便宜。隨著科學技術的提高,出現(xiàn)了更好更強大的數(shù)控裝置,數(shù)控技術得到了飛速發(fā)展。
制造業(yè)的發(fā)展水平在一定程度上上決定了一個國家的發(fā)展情況。我國之前普遍使用的依然是普通機床,具有很多缺點,不僅加工速度慢,而且加工困難,不能加工一些結構復雜的零件,更不必提那些精度要求高的零件。就相關數(shù)據(jù)顯示,我國機床的數(shù)控化率不足2%。因此在機械加工制造等方面都遠遠地落后于西方發(fā)達國家。隨著國外數(shù)控機床的發(fā)展,我國的機械制造業(yè)已經(jīng)深深意識到傳統(tǒng)的普通機床已經(jīng)不能滿足當下的社會要求。發(fā)展數(shù)控機床已經(jīng)成為我國的當務之急。受到西方數(shù)控加工的刺激,從上個世紀起,我國的機床需求旺盛,成為世界最大的機床消費和進口國家,而數(shù)控機床是機床消費的主要部分。而隨著我國制造業(yè)技術的提高,我國在數(shù)控機床方面取得了很大的進展。
上個世紀后期,我國不斷進行產(chǎn)業(yè)結構調(diào)整,積極發(fā)展數(shù)控機床。由于我國的普通機床仍然數(shù)量極大,因此單純的靠引進國外產(chǎn)品會導致嚴重的浪費,為了減少投資,我國利用原來的部分普通機床,對其進行一系列的加工改造,以達到數(shù)控化的目的。我國也逐漸意識到數(shù)控機床對社會發(fā)展的重要性,因此使得數(shù)控機床成為機械工業(yè)發(fā)展的關鍵產(chǎn)品。但是,我國的機床水平相比于西方國家依舊較低,還不能加工出高質(zhì)量的數(shù)控機床,因此,發(fā)展經(jīng)濟型數(shù)控機床成為我國發(fā)展的重要環(huán)節(jié)。并且由于其結構簡單,便于維修,因此在我國被廣泛的應用。在我國之后的發(fā)展中,數(shù)控技術會越來越先進,我國也會生產(chǎn)加工出更加先進的數(shù)控機床,從而提高我國整體實力。
1.3 本課題的意義
雖說我國的數(shù)控技術在這些年取得了不小的進展,但是和國外一些發(fā)達國家比較,在一些方面依舊有著很大的不足?,F(xiàn)代社會,是一個智能化的時代,制造技術也在向著高速化、自動化和智能化方向發(fā)展。作為制造業(yè)大國,數(shù)控技術的欠缺,很大程度抑制了我國制造業(yè)的發(fā)展和整體水平的提高。發(fā)展數(shù)控機床已經(jīng)成為我國的當務之急。而由于我國之前一直采用的是普通機床進行加工生產(chǎn),生產(chǎn)率低,精度低,我國也面臨著產(chǎn)品結構的調(diào)整和再升級,因此需要對部分普通機床進行數(shù)控化改造,改造成功能強大,性價比高的經(jīng)濟型機床,使其能夠達到自動化程度。這樣不僅能使零件的加工效率和精度提升上去,還能提高經(jīng)濟效益和社會效益,減少了資源的浪費。本課題主要是利用單片機對CK6163數(shù)控車床的控制系統(tǒng)進行設計,不僅是當前社會制造業(yè)的主要課題,也是我國生產(chǎn)力得到飛速發(fā)展的主要推動力,這也是本設計的主要意義之所在。
并且,本課題選用的MCS_51系列單片機作為數(shù)控車床的控制部分。利用單片機進行改造的數(shù)控機床具有很多優(yōu)點,比如能加工普通機床加工不出的復雜、精度高的零件;能提高系統(tǒng)效率;操作簡單方便快捷等。該類數(shù)控機床也是現(xiàn)代數(shù)控化改造的主流機床,具有很強的實際意義。
以下是此次設計需要完成的內(nèi)容:
(1)分析數(shù)控車床CK6163的基本原理,對CK6163數(shù)控車床的控制系統(tǒng)進行數(shù)控化改造。以達到經(jīng)濟型數(shù)控車的設計目的。
(2)根據(jù)對原數(shù)控機床的技術規(guī)格、技術參數(shù)、各部分尺寸的分析,改造后車床的主要機械部件不變和主軸轉速及最大加工件尺寸和加工螺紋等功能不變。設計出數(shù)控車床的基本控制原理結構簡圖。
(3)以8位的MCS~51型系統(tǒng)單片微型計算機為核心,構建出設計數(shù)控車床控制的整個控制結構圖。并繪制出電路原理圖,控制系統(tǒng)包括數(shù)控系統(tǒng)的串口通訊、控制顯示、鍵盤輸入等低層驅(qū)動程序等。
第2章 設計任務與方案確定
2.1 設計內(nèi)容
本課題主要是利用單片機對CK6163(如圖2-1)數(shù)控車床的控制系統(tǒng)進行設計。利用MCS-51系列單片機,對縱、橫向進給系統(tǒng)進給進行開環(huán)控制,采用步進電機進行驅(qū)動;選擇滾珠絲杠進行傳動,來自動控制縱向和橫向進給運動的行程和速度,對零件中各種不同的端面和螺紋能進行加工,比如圓柱面和圓柱螺紋等。最終實現(xiàn)機床的全自動控制,包括主軸的起動,停止和變速、進給運動的行程、刀具的變換等。
在設計過程中,本人也意識到創(chuàng)新的重要性,以下則是一些在設計過程中體現(xiàn)的特色和創(chuàng)新:
1) 用插補運算的方法設計程序
2) 編寫必要的程序流程圖
3) 掌握單片機的硬件結構
4) 提高系統(tǒng)抗干擾能力。
同時,在設計時,充分考慮到其對于社會的可持續(xù)發(fā)展的影響,盡量選用的是一些現(xiàn)在市場上最為先進的機械部分和控制部分,以使得所設計的成果能對社會有一定的作用。其次,考慮到數(shù)控機床難免對環(huán)境有影響,所以盡量選用的是便于回收、能被反復利用且價格相對較低的部件進行設計,以最大程度的降低對環(huán)境的污染。
圖2-1 CK6163數(shù)控車床外觀圖
2.2 設計技術參數(shù)
1. 機械部分:
工件最大回轉直徑 630毫米
工件最大長度 1500毫米
主軸轉速范圍(16級) 32-1000轉/分
刀架快速移動速度
縱向 3.6米/分
橫向 1.8米/分
2. 數(shù)控部分:
插補運算原理 逐點比較原理
脈沖當量:Z軸(縱向) 0.01mm/脈沖
X軸(橫向) 0.01mm/脈沖
2.3數(shù)控系統(tǒng)總體方案設計
本課題主要是對數(shù)控機床的控制部分進行設計。因此在對數(shù)控車床的控制系統(tǒng)進行設計創(chuàng)新的時候,必須考慮到各種情況,比如降低成本、增強性能、提高加工效率等,以使得數(shù)控車床能滿足自動化的要求。
考慮以上因素,該設計的總體方案包含一下幾個方面,并對其作簡要概述。
(1)系統(tǒng)的運動方式確定:
數(shù)控系統(tǒng)按運動方式分為點位控制系統(tǒng)、點位直線控制系統(tǒng)和連續(xù)控制系統(tǒng)。這三種控制系統(tǒng)各有特點,在此不一一贅述,考慮到本課題的實際情況,因其加工精度要求不是很高,并且動作簡單,經(jīng)綜合考慮,運動方式選擇連續(xù)控制系統(tǒng)。
(2)伺服系統(tǒng)的選擇:
伺服系統(tǒng)可以分為閉環(huán)控制系統(tǒng)、半閉環(huán)控制系統(tǒng)和開環(huán)控制系統(tǒng)三類。前兩種伺服系統(tǒng)均帶有檢測裝置,控制精度比較高,但成本高且調(diào)試復雜。而開環(huán)系統(tǒng)雖不帶檢測裝置,精度不高,但結構不復雜,成本較低,簡單易懂,易于調(diào)試,符合所設計的數(shù)控車床對精度要求不太高性能。并且為了簡化結構,考慮經(jīng)濟效益,選擇步進電機驅(qū)動的開環(huán)控制系統(tǒng)。
(3) 數(shù)控系統(tǒng)處理器的選擇:
根據(jù)數(shù)控車床的具體要求,選用MCS_51單片機作為CK6163數(shù)控車床控制系統(tǒng)的控制芯片,因為該系列單片機功能強大,性價比高,抗干擾能力強,能滿足本設計要求。
(4)鍵盤和顯示電路在設計過程中需要被考慮在內(nèi),LED數(shù)碼管作為其顯示界面,數(shù)控系統(tǒng)還可以和PC機串行通信,所以還要設計串行接口電路。
(5)縱向和橫向開關也是在設計過程中對安全方面考慮所必需的。
(6)控制電路的設計。
(7)滾珠絲杠螺母副的選擇。
(8)控制系統(tǒng)的軟件設計根據(jù)CK6163數(shù)控車床控制系統(tǒng)的設計要求,由于步進電機在低轉矩、高精度、速度適中等特點。因此選用步進電機進行控制??刂七^程采用逐點比較法。
根據(jù)上面所要求的數(shù)控機床方案,可以大概先擬定好其數(shù)控系統(tǒng)和控制方法,系統(tǒng)的總體框圖如下:
數(shù)
控
裝
置
隔
離
放
大
M
M
光電編碼器
光電編碼器
鍵盤與顯示接口芯片
串行接口
冷卻泵
刀位信號
限位信號
按鈕信號
刀架控制
交流變頻器
主軸編碼器
主軸電機
Z軸
傳動
X軸
傳動
圖2-2 系統(tǒng)結構方框圖
第3章 縱向進給傳動部件的計算和選型
3.1切削力的計算
切削力是指在切屑過程中產(chǎn)生的作用在工件和刀具上的大小相等、方向相反的切削力,或通俗的講是在切削加工時,工件材料抵抗刀具切削時產(chǎn)生的阻力。在進行外圓切削時的切削力如圖3-1所示。其中所示的三個力分別為主切削力、進給力、背向力。
Fz
Fx
Fy
圖3-1 切削力分析
查閱相關手冊,得切削功率公式如下所示:
式中:—主軸電動機功率, ;
—主傳動系統(tǒng)總效率,一般為0.75~0.85,取=0.8;
—進給系統(tǒng)功率系數(shù),取=。
則
切削功率又可由公式進行計算。切削功率在進行計算時有一定的要求,必須按加工時產(chǎn)生的最大切削力和切削速度來計算,所以公式中v取100,則主切削力:
==5088
根據(jù)經(jīng)驗公式::=1:0.4:0.35,計算出:
=5088×0.4=2035.2
=5088×0.35=1780.8
3.2滾珠絲杠螺母副的計算和選型
3.2.1精度的選擇
滾珠絲杠副的精度在選擇時,必須具有嚴格的標準。因其將直接影響著機床的定位精度。對于數(shù)控車床,滾珠絲杠的精度要求一般為X軸1~3級,Z軸2~5級。本課題因?qū)Χㄎ痪纫蟛皇翘貏e高,因此選用的是X軸:3級;Z軸:4級。
3.2.2絲杠導程的確定
絲杠導程在選擇時,一般都是優(yōu)先選擇導程較小的絲杠,這樣即經(jīng)濟又能提高控制精度。本設計初選縱向絲杠導程為8,橫向絲杠導程為5。
3.2.3最大工作載荷的計算
最大工作載荷的計算如下表所示:
表3-1 實驗計算公式及參考系數(shù)
導軌類型
實驗公式
矩形導軌
1.1
0.15
燕尾導軌
1.4
0.2
綜合或三角導軌
1.15
0.15-0.18
:實驗系數(shù);:滑動導軌摩擦系數(shù);:移動部件總重量。
綜合考慮選擇三角導軌,取=1.15,=0.18,=1500;
求得=1.15×1780.8+0.18×(5088+1500)
=3233.76
3.2.4最大動載荷的計算
動載荷是指隨著時間的變化,使構件的速度產(chǎn)生改變的一種載荷。需要對滾珠絲杠螺母副的最大動載荷進行計算,用FQ表示,公式為
—滾珠絲杠副的壽命系數(shù),
—載荷系數(shù),一般取1.2~1.5,本設計取1.2;
—硬度系數(shù),本設計取1
—最大工作載荷
本設計中選擇(使用壽命),(絲杠每分鐘轉速)經(jīng)計算得100r/min,最后計算的L=90;再根據(jù),將其代入,求得 :=17390N。
3.2.5 滾珠絲杠螺母副的選型
由上面計算得出最大動載=17390N,選擇內(nèi)循環(huán)式滾珠絲杠副,型號為FL5008-3。精度等級4級,相關參數(shù)如下表3-2所示。
表3-2 FL5008-3型滾珠絲杠螺母副相關參數(shù)
公稱直徑/
導程/
鋼球直徑/
絲杠外徑/
絲杠底徑/
額定載荷/
接觸剛度
/
1897
50
8
4.763
48.6
45.24
66
31
3.2.6滾珠絲杠副的支承方式
本課題還需對滾珠絲杠副的支承方式進行選擇,對它的選擇其目的是用來用來防止絲杠的軸向發(fā)生竄動,提高傳動剛度??紤]本課題的具體情況,提高壓桿穩(wěn)定性,縱向絲杠選用雙推—簡支支承方式。
3. 3同步帶減速機構設計
同步帶又稱同步齒形帶,它主要用于驅(qū)動皮帶輪和被動輪之間有固定傳動比的情況。同步帶是通過凸齒皮帶和皮帶輪上的齒槽和強制嚙合工作的。采用同步帶進行工作可以延長軸承使用壽命,并且具有結構簡單,成本低,防滑等優(yōu)點,本課題即選用同步帶進行工作。
3.3.1 傳動比的確定
由和可得:
式中:—電機編碼器分辨率,單位為度/脈沖;
—絲杠分辨率,單位為度/脈沖;
—絲杠導程,其值為8;
—脈沖當量,本設計中Z軸為0.001/脈沖。
初選電機編碼器的紋數(shù)為1000,四倍細分,即==0.09(度/脈沖),算得:==2
3.3.2 傳遞功率的估算
由運動學可知,對該傳動機構傳遞功率的研究只要考慮三種工作狀態(tài),他們
分別是:最大負載且最大工進速度、快速空載啟動、最快空載移動。而最快空載移動的傳遞功率一定是小于前兩者的,所以在進行比較時,只需要對前兩者進行比較。
(1)最大傳遞功率估算:
式中:—絲杠的最大工作載荷,其值為3233.76;
—最大工進速度,換算為;
—預緊摩擦力,單位N,,(摩擦系數(shù)取0.15)
計算得出:。
(2)快速啟動時的最大傳遞功率估算:
式中:—移動部件加速時所受的合力即慣性力,=3607.4
該式中絲杠的轉動慣量 112.13,D:公稱直徑,L:絲杠長度,為,為,為0.8;
—滑動摩擦力,=270。
計算得出:
因為, 所以帶的傳遞功率(取1.5)。
3.3.3 選擇帶型和節(jié)距
在上面的計算中,得出帶的傳遞功率。由下表3-3可得,同步帶選擇XL型,節(jié)距。
表3-3 同步帶型號
型號
節(jié)距/
基準帶寬傳遞功率范圍/
基準帶寬/
說明
XL(特輕型)
5.080
0.004~0.573
9.5
GB/T 11616-1989
GB/T 11362-1989
L(輕型)
9.525
0.05~4.76
25.4
H(重型)
12.700
0.6~55
76.2
3.3.4 確定帶輪齒數(shù)和節(jié)圓直徑
XL型小帶輪轉速在1200至1800時的最少許用齒數(shù)為12,為了提高傳動精度,取小齒輪數(shù),小帶輪節(jié)圓直徑。傳動比,根據(jù),,計算得大齒輪齒數(shù)數(shù),大帶輪節(jié)圓直徑。
當主動輪最高轉速時,同步帶的線速度為:
,
遠小于XL型帶的極限速度,所以滿足要求。
附:橫向進給傳動部件的計算與選型,由上述計算可同理獲得;
1. 滾珠絲杠螺母副選擇內(nèi)循環(huán)式滾珠絲杠副,型號為FL4005-3型,精度等級3級。
2. 2.滾珠絲杠副支承:雙推單推
3.同步帶帶型選擇XL型,其節(jié)距
3.4.本章小結
本章主要是對縱向和橫向進給傳動機構的的計算和選擇。對其的選擇總結如下所示:
縱向:滾珠絲杠螺母副型號:FL5008-3,精度3級,內(nèi)循環(huán);
滾珠絲杠副支承:雙推-簡支;
同步帶帶型:XL型,節(jié)距;
橫向:滾珠絲杠螺母副型號:FL4005-3,精度3級,內(nèi)循環(huán);
滾珠絲杠副支承:雙推-單推;
同步帶帶型:XL型,其節(jié)距。
第四章 伺服系統(tǒng)的設計
4.1 控制系統(tǒng)的選擇
控制系統(tǒng)分為開環(huán)控制系統(tǒng)、閉環(huán)控制系統(tǒng)和半閉環(huán)控制系統(tǒng)。本設計主要選擇的是開環(huán)控制系統(tǒng),由驅(qū)動控制環(huán)節(jié)(環(huán)形分配器和加減速電路)、執(zhí)行元件(步進電機)和機床(滾珠絲杠、工作臺等)三大部分組成。其優(yōu)點是精度高、結構簡單,成本較低,簡單易懂,易于調(diào)試,符合所設計的數(shù)控車床對精度要求不太高的要求。并且就實際設計為了簡化結構,考慮經(jīng)濟效益,因此選擇步進電機驅(qū)動的開環(huán)控制系統(tǒng)。
由于開環(huán)系統(tǒng)的指令信號都是單方向傳送,一旦指令發(fā)出去之后,就不會再進行反饋,這就是開環(huán)控制系統(tǒng)的主要特點。本設計選用步進電機對其進行驅(qū)動,原理圖如下圖4-1所示:
1.電機 2.減速齒輪 3.支承裝置 4.絲桿 5.拖板
圖 4-1 步進電機開環(huán)控制原理圖
步進電機的主要特點分別為:
(1)電機旋轉角度正比脈沖數(shù);
(2)轉動慣量小,響應快;
(3)輸出精度高,無積累誤差;
(4)壽命長,使用方便簡單,且便于維修。
4.2 縱向步進電機的計算
(1) 電機負載轉動慣量:
式中: ——折算到電動機軸上的轉動慣量(kg/cm2)
——齒輪Z1的轉動慣量(kg/cm2)
——齒輪Z2的轉動慣量(kg/cm2)
——滾珠絲杠的轉動慣量(kg/cm2)
——估算參數(shù)
如果是對鋼質(zhì)的圓柱形零件,則轉動慣量進行如下計算:
J1=7.8×××2kg.cm2=2.536 kg.cm2
J2=7.8×××2 kg.cm2=6.490 kg.cm2
J3=7.8×××120 kg.cm2=9.615 kg.cm2
=kg.cm2=0.615 kg.cm2
=23.493 kg.cm2
(2) 工作狀況下轉矩計算
1)電機負載轉矩和最大靜轉矩:
N·m=1.492N·m
忽略啟動時運動部件慣性影響,有下式:
N·m =4.607 N·m
可由式求得,其中λ=0.866,則:
= = 6.204 N·m
2)快速空載啟動時所需轉矩T:
工作臺快速移動時,電動機轉速:
r/min =456.7 r/min
由下式可求出,其中t=25ms=0.025s,則得:
= =2.319 N·m
=ηoηi =0.105 N·m
同理,F(xiàn)0=/3= 2350.53 N,則:
= ηoηi =1.934 N·m
由此可得:
4.428 N·m
快速移動時所需力矩??捎上率降茫?
= = =2.219 N·m
最大切削負載所需力矩:
=+ ηoi=2.838 N·m
通過上面對T、T快和T切的計算,求得快速空載啟動時所需轉矩T最大,所以,以此作為初選步進電機的依據(jù)。
4.2.1 縱向步進電機的選擇
(1)步進電機最高工作頻率:
= 1000×2/60×0.01 Hz= 3333.33 Hz
根據(jù)計算數(shù)據(jù),最大靜轉矩= 5.204 N·m,快速空載啟動時所需轉矩T=2.718 N·m,步進電機的最高工作頻率為=3333.33 Hz,選用步距角1.5o的步進電機,選用110BF003-1.5/0.75型反應式步進電機。
(2)110BF003-1.5/0.75型反應式步進電機的主要參數(shù)見表3.1所示。
表4-1 110BF003-1.5/0.75型反應式步進電機參數(shù)
型號
相數(shù)
額定電壓/N
靜態(tài)電流/A
步角距
(O)
保持轉矩
最大靜轉矩
空載啟動頻率/Hz
空載運行頻率/Hz
110BF003
3
80
6
1.5/0.75
7.84
1500
7000
4.3 橫向步進電機的計算
(1) 電機負載轉動慣量:
:
式中: ——折算到電動機軸上的轉動慣量(kg/cm2)
——齒輪Z1的轉動慣量(kg/cm2)
——齒輪Z2的轉動慣量(kg/cm2)
——滾珠絲杠的轉動慣量(kg/cm2)
——估算參數(shù)
如果是對鋼質(zhì)的圓柱形零件,則轉動慣量進行如下計算:
J1=7.8×××2kg.cm2=2.536 kg.cm2
J2=7.8×××2 kg.cm2=6.490 kg.cm2
J3=7.8×××120 kg.cm2=9.615 kg.cm2
=kg.cm2=0.615 kg.cm2
=23.493 kg.cm2
(2) 工作狀況下轉矩計算
1)電機負載轉矩計算及最大靜轉矩的計算。
N·m=1.492N·m
忽略啟動時運動部件慣性影響,有下式:
N·m =4.607 N·m
可由式求得,其中λ=0.866,則:
= = 6.204 N·m
2)快速空載啟動時所需轉矩T:
當工作臺快速移動時,電動機的轉速可由下式計算:
r/min =456.7 r/min
由下式可求出,其中t=25ms=0.025s,則得:
= =2.319 N·m
=ηoηi =0.105 N·m
同理,F(xiàn)0=/3= 2350.53 N,則:
= ηoηi =1.934 N·m
由此可得:
4.428 N·m
快速移動時所需力矩??捎上率降茫?
= = =2.219 N·m
最大切削負載時所需力矩??捎上率角蟮茫?
=+ ηoi=2.838 N·m
通過上面對T、T快和T切的計算,求得快速空載啟動時所需轉矩T最大,所以,以此作為初選步進電機的依據(jù)。
4.3.1 橫向步進電機的選擇
(1)步進電機最高工作頻率可由下式求得:
= 1000×2/60×0.01 Hz= 3333.33 Hz
由計算得,最大靜轉矩= 5.204 N·m,快速空載啟動時所需轉矩T=2.718 N·m,步進電機的最高工作頻率為=3333.33 Hz,選用步距角1.5o的步進電機,選用110BF003-1.5/0.75型反應式步進電機。
(2)110BF003-1.5/0.75型反應式步進電機的主要參數(shù)見表4-2所示。
表4-2 110BF003-1.5/0.75型反應式步進電機參數(shù)
型號
相數(shù)
額定電壓/N
靜態(tài)電流/A
步角距
(O)
保持轉矩
最大靜轉矩
空載啟動頻率/Hz
空載運行頻率/Hz
110BF003
3
80
6
1.5/0.75
7.84
1500
7000
4.4 本章小結
本章主要是對伺服系統(tǒng)進行設計,主要是對步進電機進行計算選型,進過計算后得出:縱向步進電機選擇110BF003-1.5/0.75型反應式步進電機;橫向步進電機選擇110BF003-1.5/0.75型反應式步進電機。
第五章 控制系統(tǒng)硬件設計
根據(jù)微機結構的劃分,數(shù)控系統(tǒng)可分為兩類:單微處理器和多微處理器結構。單微處理器數(shù)控系統(tǒng)結構簡單、性價比高,是一些標準數(shù)控系統(tǒng)優(yōu)先考慮的對像。但是單微處理器也具有其局限性,不能適用復雜、功能要求多的數(shù)控機床。常采用功能相對較全面的多微處理器數(shù)控系統(tǒng)來滿足數(shù)控機床對速度、精確度和功能等方面的要求。就本課題的具體情況,更適合選用結構相對簡單,成本較低的單微處理器,因其已經(jīng)能基本滿足本設計的速度和精度要求,并且操作簡單。硬件結構有以下幾個部分:
(1)中央處理單元CPU;
(2)總線
(3)存儲器
(4)輸入輸出接口電路;
(5)外部設備。
5.1 MCS_51芯片介紹
圖5-1 MCS_51單片機內(nèi)部結構框圖
1980年,美國Intel公司推出了MCS_51單片機,該系列單片機共有40條引腳,其分別具有不同的作用,其中包括32條I/O接口引腳,4條控制引腳,2條電源引腳,2條時鐘引腳。如圖5-2所示
圖5-2 MCS_51單片機引腳圖
其各引腳的具體作用如下表5-1所示:
表5-1:單片機各引腳功能
引腳
功能
VCC
供電電壓
GND
接地
P0口
P0口是一個八位雙向開路的I/O接口,他的每一個管教都能吸收電流,P0口能當做外部程序鎖存器,能夠定義數(shù)據(jù)或者地址的第八位。
P1口
(1) P1口的I/O口能夠提供上拉電阻??勺鳛闇孰p向I/O口使用。
P2口
P2的作用和P1口的作用相差不到,也是緩沖器,用來輸出和接收電流的。不同的是,P2是用來接收外部程序或者十六位地址的,而不是八位。
P3口
P3口得作用和P2口的作用基本相同,所以不再贅述。
P3口具有第二功能,如下所示:
P3.0 RXD(串行輸入口)
P3.1 TXD(串行輸出口)
P3.2 0INT(外部中斷0)
P3.3 1INT(外部中斷1)
P3.4 T0(記時器0外部輸入) P3.5 T1(記時器1外部輸入)
P3.6 WR(外部數(shù)據(jù)存儲器寫選通)
P3.7 RD(外部數(shù)據(jù)存儲器讀選通)
RST
復位鍵。用來將正在運行或結束了的程序進行復位。
ALE/PROG
地址鎖存有效信號輸出端。ALE在每個機器周期內(nèi)輸出兩個脈沖。
PSEN
片外程序存儲器讀選通信號輸出端,低電平有效。
EA/VPP
當EA為低電平時,訪問外部ROM;特別注意的時當加密方式1時,EA將內(nèi)部鎖定為RESET;當EA為高電平時,訪問內(nèi)部ROM。
XTAL1
反向振蕩放大器的輸入和內(nèi)部時鐘工作電路的輸入。
XTAL2
反向振蕩器的輸出。
該系列單片機種類很多,其中常見和常用到的有以下幾種類型: 8051/8751/8031;
8052/8752/8032;
80C51/87C51/80C31
80C52/87C52/80C32等。
5.1.1.單片機的主要特點:
1) 能滿足基本功能的要求
2) 可靠性高,不易出錯
3) 使用方便
4) 體積小,接插件少,使得其性價比很高
5) 功能強大,能進行復雜操作
5.2.2.單片機應用
單片機在很多方面都得到了應用,其主要應用如下所示:
1) 智能家電:由單片機智能控制,如電視機、空調(diào)等。
2) 辦公自動化設備:現(xiàn)代的辦公通訊和辦公設備,一般都嵌入微控制器。如打印機、繪圖機等。
3) 工業(yè)自動化控制:最突出的例子就是機電一體化。
4) 智能化儀表:由單片機控制,儀表性能得到提高,如數(shù)據(jù)存儲等。
6) 智能化通信產(chǎn)品:采用專屬的單片機進行智能控制,如手機。
5.2 8255A芯片的應用
8255A型號芯片是由Intel公司推出的,能進行可編程輸出輸入的一種接口芯片,可以和MCS_51系列單片機直接相連。它具有24條輸入/輸出引腳,分成3個8位的并行接口。其功能由所給程序控制,運行簡單,適用性好。該型號芯片內(nèi)部結構如圖5-3所示,引腳如圖5-4所示。
圖5-3 8255A的內(nèi)部結構
圖5-4 8255A芯片引腳
5.3 單片機I/O擴展電路設計及功能
在設計過程中,發(fā)現(xiàn)單片機在需要完成的設計上引腳有限,不足以達到所要求的目的,因此必須對單片機的輸入/輸出口進行擴展。擴展電路如圖5-5所示:
圖5-5 單片機I/O擴展電路圖
由圖可以看到,8255A的片選信號接地,寫入信號線和地線GND分別與80C52相對應的和GND相連。80C52的P0.0和P0.1與地址鎖存器74LS373的D0,D1口相連,來提供給端口地址選擇線A0、A1 。由于單片機80C52芯片的P0口是分時傳送低8位地址線和數(shù)據(jù)線,故80C52擴展系統(tǒng)中一定要有地址鎖存器芯片74LS373。80C52芯片地址鎖存有效信號輸出端ALE接主地址鎖存器74LS373的LE引腳。所以可以分析得到8255的A、B、C口及控制口地址分別為007CH、007DH、007EH、007FH。
5.4 光電隔離電路
該設計主要采用的是步進電機,步進電機在其工作,驅(qū)使電路時,因其所需要的電壓較大,且電流也較大,因此不能將I/O的接口電路與功率放大器直接相連,以免導致接口燒壞,使得程序不能正常運行。因此,有必要在兩個中間加上一個隔離電路起保護作用,實現(xiàn)電氣隔離,根據(jù)查閱到的相關資料及根據(jù)本設計的實際情況,本課題選用的是光電耦合器。其部分電路圖如圖5-6所示:
圖5-6 光電隔離電路
5.5 鍵盤功能控制電路
鍵盤是日常生活中所熟悉的東西,是若干按鍵的集合,它的作用是通過輸入命令對整個電路進行控制,因此在本設計中作為單片機的輸入設備。鍵盤根據(jù)對按鍵的譯碼方式分為編碼鍵盤和非編碼鍵盤。
編碼鍵盤使用方便,功能強大,但硬件復雜,在設計時常常不被選用。而非編碼鍵盤,雖然功能較弱,每個按鍵都僅僅是將電路中的相應接點進行控制,但硬件較編碼鍵盤來說非常簡單,考慮到設計的局限性,以及對成本的考慮,本次設計選用的是非編碼鍵盤接口,該鍵盤能滿足基本的要求。
非編碼鍵盤中,其基本排列是A*B的行列式,每行每列都有相對應的行線和列線,兩者相交的地方都分布著一個按鍵,因此,當該按鍵按下時,相對應的行線和列線就會接通,當松開時,則會斷開。因此只需要A+B條單片機的I/O端口線,就可以滿足要求。本設計選用的是3*4式的行列式非編碼鍵盤,需要7條單片機的I/O端口線,分別接在單片機的輸入口P1端口。本設計的鍵盤部分如圖5-7所示:
圖5-7 鍵盤接口電路
該鍵盤的的各個按鍵的功能分別為:
沒有作用 1
計數(shù)器清零 2
加工暫停 3
X正轉Z反轉 4
Z正轉X反轉 5
加工開始 6
X、Z電機正轉 7
Z電機正轉 8
X電機正轉 9
X、Z電機反轉 *
Z電機反轉 0
X電機反轉 #
5.6 顯示驅(qū)動電路
本設計采用的是LED顯示的方式對數(shù)控車床的X軸和Z軸的進給運動進行仿真,其顯示方式在單片機系統(tǒng)中分為兩種,分別是靜態(tài)顯示和動態(tài)顯示。本設計電路控制系統(tǒng)使用的是動態(tài)顯示,通過計步進電機轉動步數(shù)實現(xiàn)計數(shù)器的功能。硬件驅(qū)動芯片相應的芯片電路圖如下圖5-8所示:
圖5-8 顯示驅(qū)動芯片電路
74HC573顯示數(shù)碼管的端口與8255芯片的PB口連接,74HC154譯碼器通過與8255A的PC口相連進行位控制。74HC154的功能圖如下表5-2所示:
表5-2 74HC154功能圖
5.7 串口通信接口電路
串口是將系統(tǒng)與外界進行聯(lián)系。在數(shù)控機床的控制系統(tǒng)中,起著至關重要的作用。通信接口是保證數(shù)據(jù)和信號快速、安全和準確傳輸?shù)年P鍵裝置。
在數(shù)控系統(tǒng)的串行通信中,RS232C最為重要。RS232C接口有25針型(DB25)和9針型(BD9),前者是標準接口,后者為當今計算機最常用的接口。本設計中要實現(xiàn)單片機與計算機的通信,還需要中間轉換電路,本設計選用的是MAX232芯片。該芯片使用非常方便,單片機數(shù)據(jù)從T1IN、T2IN輸入轉換成RS-232C數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232C數(shù)據(jù)從R1IN、R2IN輸入轉換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出給單片機,從而實現(xiàn)數(shù)控系統(tǒng)和計算機的雙向通信。此外為了減少通信干擾,需要為該芯片接上電容。串口通信接口電路圖如圖5-9所示:
圖5-9 串口通信接口電路
5.8其它相關電路
單片機的時鐘產(chǎn)生方式分為內(nèi)部方式和外部方式,綜合考慮,本課題選用內(nèi)部方式。電路圖如圖5-10所示:
圖5-10 單片機時鐘電路
第六章 控制系統(tǒng)軟件設計及仿真
6.1 Keil軟件介紹
單片機的開發(fā)不僅需要對其硬件設施進行選擇設計,還少不了單片機的軟件設計,從而達到自動化加工的目的?,F(xiàn)在市面上已經(jīng)出現(xiàn)了許許多多的控制系統(tǒng)軟件,而Keil軟件是當下主流的開發(fā)MCS_51系列單片機的軟件,能支持C語言的開發(fā)。C語言具有功能強大、可讀性高、結構簡單。Keil軟件能夠在不接硬件電路直接對用戶程序進行仿真。因此,Keil軟件對51系列單片機的開發(fā)有著舉足輕重的作用。本設計采用的是C語言編程,選用的是Keil軟件。
6.2 Proteus軟件應用
Proteus軟件是由英國公司出版的,一款功能強大,方便簡潔的單片機仿真軟件。不僅如此,Proteus軟件還是現(xiàn)在世界上唯一能將電路仿真、PCB設計及虛擬模型仿真結合在一起的軟件。因其使用方便,功能齊全,本設計選用的即是Proteus的仿真軟件。
Proteus的特點:
1. 能對現(xiàn)在市面上的主流單片機進行仿真
2. 將單片機仿真和電路仿真相結合。
3. 提供軟件調(diào)試功能。
4. 具有強大的原理圖繪制功能。
5. 支持現(xiàn)在很多存儲器和外圍芯片。
6.3 程序設計及調(diào)試
該設計中的步進電機的延時方式采用的是中斷方式,以提高數(shù)控車床的加工精度。
由設計任務上所要求的,本設計選擇的插補方式為逐點插補法,在進行直線插補時,其流程圖如下圖6-1所示:
圖6-1 逐點比較法直線插補流程圖
程序:
void S_move()//逐點比較法直線加工函數(shù)
{
if(j0>0)
{
if(F1<0)
{
PA8255=B_rotation2[i0];
F1=F1+Z5;
i0++;A++;H++;
if(i0==6)
i0=0;
}
else
{
PA8255=B_rotation1[k0];
F1=F1-X5;
k0++;W++;H++;
if(k0==6)
k0=0;
}
j0--;
}
}
進行圓弧插補時,采用順時針插補方式進行插補,從第三象限開始,其流程圖如下圖6-2所示:
圖6-2 逐點比較法圓弧插補流程圖
程序:
void RS_move()//第三象限圓弧順時針加工函數(shù)
{
if(n
收藏