基于51單片機的步進電機直線插補_第1頁
基于51單片機的步進電機直線插補_第2頁
基于51單片機的步進電機直線插補_第3頁
基于51單片機的步進電機直線插補_第4頁
基于51單片機的步進電機直線插補_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于51單片利I的步講申力幾直線插未卜目錄第1章概述錯誤!未定義書簽。TOC\o"1-5"\h\z第2章設計內容的介紹2步進電機原理2步進電機的選擇4直線插補原理5設計目標7第3章設計思路具體內容7設計思路7單片機及其最小系統(tǒng)7按鍵電路8步進電機驅動電路9液晶顯小9第四章程序設計11第五章總結錯誤!未定義書簽。參考文獻11附錄13摘要本設計為基于51單片機,利用兩個四相八拍步進電機,實現四個象限中直線插補的過程。其中一個電機正反轉實現X正負方向的插補,另一個電機正反轉代表Y軸正負方向插補。并對該插補算法的原理及其實現過程進行了闡述,通過按鍵啟動插補過程,插補結束后電機自動停止。通過LCD160皴晶實現插補過程中插補方向的顯示,最終完成了步進電機的插補過程。關鍵詞步進電機直線插補液晶顯示第1章概述數字控制是近代發(fā)展起來的一種自動控制技術,利用數字化信號對機床及其加工過程進行自動控制,主要用于數控機床、線切割機、焊接機、氣割機以及低速小型數字繪圖儀等。數控機床可以加工形狀復雜的零件,具有加工精度高、生產效率高、便于改變加工零件品種等眾多優(yōu)點,是實現機床自動化的一個重要發(fā)展方向。逐點比較法是數控機床在加工曲線時常用的一種方法,是常用的脈沖增量插補方法。它是以階梯折線來逼近直線或圓弧等曲線,與規(guī)定的加工直線或圓弧之間的最大誤差為一個脈沖當量,當脈沖當量足夠小時,就可以達到相當高的加工精度。步進電機是數字控制系統(tǒng)中非常重要的工具之一,它是一種將電脈沖信號變換成角位移的機電式數模轉換器。它直接用數字信號驅動,使用非常方便。當步進電機接收計算機發(fā)來的指令脈沖后,步進電機會相應的轉動,步進電機與數控系統(tǒng)的工具臺相連,從而可以驅動刀具對工件進行切割。指令脈沖的數量決定道具的總移動量,指令脈沖的頻率決定道具移動速度。這樣,利用步進電機可以很容易的控制操作臺進行工件的加工。第2章設計內容的介紹2.1步進電機原理步進電機的工作就是步進轉動,其功用是將脈沖電信號變換為相應的角位移。當給定一個脈沖信號,步進電機會轉動一個角度,也就是步進角。步進電機的角位移量與脈沖數成正比,我們可以通過控制給定的脈沖個數,從而精確控制電機轉動的角度。同樣也可以通過控制脈沖頻率控制它的轉速,從而達到調速的目的。如下所示的步進電機為一四相步進電機,采用單極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機步進轉動。圖2-1是該四相反應式步進電機工作原理示意圖。圖2-1四相步進電機步進不意圖開始時,開關SB接通電源,SASCSD斷開,B相磁極和轉子0、3號齒對齊,同時,轉子的1、4號齒就和GD相繞組磁極產生錯齒,2、5號齒就和DA相繞組磁極產生錯齒。當開關SC接通電源,SBSASD斷開時,由于C相繞組的磁力線和1、4號齒之間磁力線的作用,使轉子轉動,1、4號齒和C相繞組的磁極對齊。而0、3號齒和AB相繞組產生錯齒,2、5號齒就和AD相繞組磁極產生錯齒。依次類推,AB、C、D四相繞組輪流供電,則轉子會沿著AB、GD方向轉動。單四拍、雙四拍與八拍工作方式的電源通電時序與波形分別如圖2-2所示:

脈沖jiriJTruuTrirLTmnnA棺-T\n脈沖jiriJTruuTrirLTmnnA棺-T\nnb相一nnn-c招_n_n_fl詡innna.的四拍_ruuuTrLrLrLn_rLTLrLrLr-Lnun-jj-Lrn^-Li_j_L_nL_rnb.雙四拍_njinnnnnnrLrLrLrLrLrLrLnc,八拍圖2-2步進電機工作時序波形圖步進電機的選擇現在比較常用的步進電機包括反應式步進電機、永磁式步進電機、混合式步進電機和單相式步進電機等。在本次課程設計中,我們小組選用的是28BYJ48型四相八拍的步進電機,供電電壓為DC5V該步進電機有四1I控制線,對應A-B-C-D,另一根為電源線。四根線排列方式為:A-AB-B-BC-C-CD-D-DA-A??…。當對步進電機施加控制脈沖時,它可以轉動,四相八拍步進電機給定八個脈沖時,步進電機才會相應的轉動一周。由于本電機采用的時減速電機,減速比為64:1,所以當內部轉子轉動64圈后,外部才會相應的轉動一圈。每一個脈沖信號對應步進電機的某一相或兩相繞組,通電狀態(tài)改變一次,也就對應轉子轉過一定的角度(一個步距角)。當通電狀態(tài)的改變完成一個循環(huán)時,轉子轉過一個齒距。四相步進電機可以在不同的通電方式下運行,28BYJ48步進電機四相八拍相序表如表1所示:序號四相通電情況通電情況1000101H2001103H3001002H4011006H5010004H611000CH7100008H8100109H表128BYJ48步進電機相序表當根據時序表整列給電時,步進電機會正轉,當逆著相序表給脈沖時,步進電機相應的則反轉,從而可以實現電機正反轉的控制。28BYJ48步進電機主要技術參數如表2所示服4/5VDC。g2mA^130^步擔和5一小就牽出頻率一800即利空載牽入頻率,500pps<減速比「牽入轉炬口i78.4mN.in*--撒麻A(SUB(thC?D(灰hE(虬甲點攝好明小表2步進電機主要技術參數由表可知,每個脈沖電機會轉動5.625度,當給8個脈沖后,電機則轉動45度,給定64個脈沖,電機則轉動一圈。由于減速比為64:1,故需要內部線圈轉動64*64=4096圈,外部轉子才轉動一圈。逐點比較法直線插補法原理所謂直線插補就是只能用于實際輪廓是直線的插補方式。當刀具或繪圖筆每走一步,都要和給定的軌跡上的坐標進行比較,看這點是在直線的上方還是下方,或是給定軌跡的里面還是外面,從而決定下一步進給的方向。如果在軌跡上方,就往下方走,在下方,就往上方走,從而逐步逼近軌跡。逐點比較法的四個基本步驟①偏差判別:根據偏差判斷應該向哪個坐標方向進給;②坐標進給:根據判別結果,沿相應的坐標方向進給;③新偏差計算:根據偏差函數,計算進給后偏差,作為下次偏差判別的依據;④終點比較:判斷是否達到終點,若達到終點則結束本次插補,否則轉①繼續(xù)執(zhí)行。四個象限的直線插補設A1、A2、A&A4分別表示第一、第二、第三、第四象限的四種線型。它們的加工起點均從坐標原點開始,則刀具進給方向如圖2-3所示。凡F》0時,向x方向進給,在第一、四象限向+x方向進給;在二、三象限,向-x方向進給;凡F<0時,向y方向進給,在第一、二象限向+y方向進給;在三、四象限,向-y方向進給。不管是哪個象限,都采用與第一象限相同的偏差計算公式,只是式中的終點坐標值均取絕對值。圖2-3四個象限給進方向偏差判別F5F<0進給A1+Ax+AyA2-Ax十ApA3-Ax如A4十A工-Zkv一.偏算尸一尸+kl表3四象限的進給脈沖和偏差計算四種線型的偏差計算公式是相同的,差別在于進給方向不同。流程圖中的“沿xe方向走一步”或“沿ye方向走一步”,因不同線型的xe、ye位于不同象限,因而實際的進給方向是不相同的。因此,對任一直線在插補前,應根據xe、ye的符號判斷該線型屬于哪一象限。

設計目標利用四相八拍步進電機實現四個象限的直線插補,使用兩個四相八拍步進電機,一個電機實現X正方向正轉,負方向反轉,另一個電機實現y正方向正轉,負方向反轉。當按鍵按下啟動插補后,液晶顯示屏每一步插補進給的方向。第3章設計思路與具體內容設計思路本系統(tǒng)主要由供電電源模塊、單片機最小系統(tǒng)、按鍵電路、步進電機驅動電路、步進電機以及液晶顯示屏等幾部分組成。本系統(tǒng)采用兩個獨立步進電機,一個電機實現X正方向正轉,負方向反轉,另一個電機實現y正方向正轉,負方向反轉。使用的步進電機為28BYJ48型四相八拍電機,采用獨立DC5皿電。使用按鍵實現插補的啟動過程,液晶顯示插補方向??傮w設計框圖如圖3.1所示。步進電機驅動按鍵啟動插補液晶顯示[〉電路按鍵啟動插補液晶顯示單片機最小系心統(tǒng)~步進電機圖3.1總體設計框圖單片機最小系統(tǒng)及按鍵部分51單片機主要完成對驅動步進電機以及顯示的控制,其中最小系統(tǒng)是單片機能正常工作的必不可少得一部分。51單片機是一種低功耗/低電壓、高性能的8位單片機,它是一種功能強、靈活性高且價格合理的單片機,且支持在線編程,完全滿足本系統(tǒng)設計需要。單片機最小系統(tǒng)包括單片機和復位電路,晶振,電源部分。最小系統(tǒng)電路如圖所示:21P40PSENALE3次P3.1P5.0IGZPSbN\L17PROG(TXD)P3J(RXD)l>3.0GNDvccP3.EWR}P37(RD)jtsrP3.6[07inkJP-PROjpfRin40XTAL2XTAL1(AI5}P2.7(AI4^P2.6(AI3JP2.5(AI21P2.4(AlIJP23(A1O)P2.2(Ay)P2.1(AKJP2.0EAAPPP3.4(Ti“P3.5E)+5PR11RST10K+5VtlTRLJv~LLSXTALIpr<^[^XTAL2j>rprj'DlADf:(Arxot^x-IAD5)I嘮.5lALMlKU(AD3JPO.3(AD2)P0.2[ADiyRM(jUXJJPO.O'^jP3.2(INTD)\^7tlF33(TNTT)jbiKsoqP1^(M1SO)PL5(MOSI)Pl.4Pl.3P12PlJATR9S52p|q.7.6P3.2P5.314P14圖3.2AT89S52單片機XTAL1XTAL2Cll3Op圖3.3晶振電路3Op圖3.4復位電路jkSwerD2IN5819—十+C3USBCd~~-^―]Q4T1---p6V470uF萋USB供電圖3.5電源電路3.3按鍵電路按鍵電路實現插補過程的啟動,其原理圖如圖3.6所示PL4PL5>L6圖3.6圖3.6按鍵電路步進電機驅動電路步進電機的驅動芯片采用ULN2003A其硬件電路如圖3.7所示LLN2003+5R4H4.7K4.7H_IR_IT2R23R34R4+5LLN2003+5R4H4.7K4.7H_IR_IT2R23R34R4+5丁1234--rl—23耳567cQQQQQQQl'ULN2003Drrrrrrrn1234567c4.7M圖3.7步進電機的驅動電路液晶顯示電路使用液晶顯示插補過程中電機車$動的方向,其電路圖如圖3.8所示

圖3.8步進電機的驅動電路第四章程序設計根據單片機外圍電路的設計以及插補過程原理,基于51單片機的C語言軟件功能實現四個象限的直線插補過程?;拒浖O計流程如圖4.1所示。該圖按照插補計算過程的4個步驟:偏差判別,坐標進給,偏差計算,終點判斷來實現插補計算程序。偏差判別,偏差計算,終點判別是邏輯運算和算術運算,容易編寫程序,而坐標進給是給步進電機發(fā)送走步脈沖,通過步進電機帶動機床工作臺或道具移動。此外,為了反映坐標進給方向的情況,本設計添加了液晶顯示模塊,實現記錄顯示進給過程。第五章心得體會通過此次課程設計,我明白了理論學習中插補過程及步進電機工作原理的實際應用,進一步加深了對理論知識的理解。從設計程序到完成程序,我用了近兩天時間,在這兩天中,思路在一遍又一遍的更新,程序在一遍又一遍的更改。從之前的第一象限插補改進到了四個象限的插補,從單調的電機轉動,到按鍵控制啟動,液晶顯示的過程。在這個過程中,我遇到許許多多的問題,但經過一次又一次的思考,一遍又一遍的檢查終于找出了原因所在,也暴露出了前期知識的欠缺和經驗的不足。實踐出真知,通過親自動手制作,使我掌握的知識不再是紙上談兵,而是學以致用。這次課程設計是我認識到計算機控制技術在現代生產發(fā)展中的重要地位,使我明白了平時枯燥的理論學習原來那么重要。通過實際動手,我深刻感受到理論基礎知識學習與實踐結合的重要性,我覺得平時的課堂不再那么無聊,反而給了我學習這門課程的積極性,讓我充滿好奇的去慢慢探索它的奧妙。最重要的是,在本次課程設計中,我學會了很多學習的方法,而這些都將為日后做準備,會使我們終身都受益匪淺。面對社會的挑戰(zhàn),只有不斷的學習、實踐,冉學習、再實踐,才能在最大程度上發(fā)掘自己,實踐是檢驗真理的唯一標準。這對于我們的將來有莫大的幫助。以后,不管有多苦,我想我們都能變苦為樂,找尋有趣的事情,發(fā)現其中珍貴的事情。

參考文獻丁元杰著.單片微機原理及應用[M.機械工業(yè)出版社,2010年1月于海生著.計算機控制技術[M.機械工業(yè)出版社,2011年9月附錄1、作品實物圖

2、主要程序代碼#include<reg51.h>//51芯片管腳定義頭文件#include<intrins.h>//內部包含延時函數_nop_();#include"LCD1602.h"http://LCD1602液晶頭文件#defineucharunsignedchar#defineuintunsignedintucharcodeFFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};/*ucharcodeREV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};/*=P3A2;//啟動按鍵四相八拍正轉編碼*/四相八拍反轉編碼*/ucharcodeFFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};/*ucharcodeREV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};/*=P3A2;//啟動按鍵四相八拍正轉編碼*/四相八拍反轉編碼*/sbitK1intXe=-8;intYe=6;intYm=0;intXm=0;uintXOY;uintZF;intr;//intN=64;intM=5;//intMM=0;//intcstep;//intabs(intx);//voiddelay(uintt);//voidXZstep();//XvoidYZstep();//YvoidXFstep();//XvoidYFstep();//Yintpdxoy(intx,inty);//voidInitLCD()//LCD{LCDReset();InputMode(0x06);//DispControl(0x0c);FunctionSet(0x38);////////終點X坐標終點Y坐標當前X坐標//當前Y坐標象限(1,2,3,4)//方向標志位(+X,+Y,-X,-Y)變量//N變量,變量,步數步進電機運轉圈數與液晶顯示位置有關與液晶顯示位置有關取絕對值函數延時函數正向走步函數軸正向走步函數軸反向走步函數軸反向走步函數判斷哪個象限函數初始化增量方式,不移位//顯示開,光標關,閃爍關//8位,2行,5X7/*********************************************************主程序*********************************************************/main(){/*********************************************************主程序*********************************************************/main(){intFm=0;//偏差判別式cstep=abs(Xe)+abs(Ye);//走的總步數InitLCD();//液晶初始化XOY=pdxoy(Xe,Ye);//XOY為象限值while(1)//液晶顯示DIR:(direction標志)DispCharacter(0,1,'D');//液晶顯示DIR:(direction標志)DispCharacter(0,1,'D');DispCharacter(0,2,'I');DispCharacter(0,3,'R');DispCharacter(0,4,':');if(K1==0)//(while(cstep!=0)//(if(Fm>=0)//(判斷按鍵是否按下當步數不為零時執(zhí)行程序,為零時停止偏差判別if((XOY==1)||(XOY==4))〃判別是否為第1或第四象限(ZF=1;//方向標志位else(ZF=2;}Fm=Fm-abs(Ye);//更新偏差判別式}else(if((XOY==1)||(XOY==2))(ZF=3;}else(ZF=4;}Fm=Fm+abs(Xe);}switch(ZF)//判斷不同方向標志位執(zhí)行不同結果(case1:{YZstep();//Y正軸走步if(M==16||M==17)/*此判斷與液晶顯示有關,若第行顯示滿,則換行顯示,顯示方向,即四種情況:X,-X,Y,-Y*/{DispCharacter(1,MM++,'X');}elseDispCharacter(0,M++,'X');)}break;case2:{YFstep();//Y反軸走步if(M>=16){DispCharacter(1,MM++,'-');DispCharacter(1,MM++,'X');}else{DispCharacter(0,M++,'-');DispCharacter(0,M++,'X');}}break;{XZstep();//X正軸走步if(M==16||M==17){DispCharacter(1,MM++,'Y');}else{DispCharacter(0,M++,'Y');}}break;{XFstep();//X反軸走步if(M==16||M==17){DispCharacter(1,MM++,'-'

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論