基于AVR單片機(jī)的智能分度頭研究
摘要:隨著現(xiàn)代數(shù)控技術(shù)的不斷發(fā)展,分度頭技術(shù)不斷成熟,類型眾多。對(duì)于分度頭的設(shè)計(jì)來(lái)說(shuō),目前重點(diǎn)的工作是如何實(shí)現(xiàn)傳統(tǒng)分度頭的智能化,從而提高工件在機(jī)床上加工的精確性、穩(wěn)定性以及便捷性。文中主要介紹了如何在Atmega16單片機(jī)控制系統(tǒng)中實(shí)現(xiàn)分度頭的智能化,并且設(shè)計(jì)了單片機(jī)的硬件電路。最后對(duì)智能分度頭軟件的實(shí)現(xiàn)進(jìn)行了編程。
本文引用地址:http://www.ex-cimer.com/article/201610/307249.htm在傳統(tǒng)的機(jī)械加工行業(yè)中,采用較多的是分度精度低、分度柔性差、操作人員勞動(dòng)強(qiáng)度大的手工分度頭。隨著計(jì)算機(jī)技術(shù)的發(fā)展,對(duì)機(jī)械設(shè)備的柔性化和自動(dòng)化程度要求越來(lái)越高,加工精度的要求也越來(lái)越高。
目前國(guó)外先進(jìn)水平的分度頭一般采取半閉環(huán)控制系統(tǒng),用伺服電機(jī)的編碼器作為反饋回路的檢測(cè)元件,每轉(zhuǎn)脈沖數(shù)為2 500 P,精度較高,但價(jià)格也昂貴。如日本NIKKEN公司生產(chǎn)的數(shù)控分度頭的分辨率可達(dá)到0.001°,定位精度為15”。
國(guó)內(nèi)很多單位也對(duì)數(shù)控分度頭做了大量的理論研究和產(chǎn)品的開(kāi)發(fā)工作,例如華中科技大學(xué)采用神經(jīng)網(wǎng)絡(luò)方法對(duì)分度頭進(jìn)行誤差補(bǔ)償,能夠使分度誤差達(dá)到15”;山東煙臺(tái)機(jī)床廠采用意大利技術(shù),采用半閉環(huán)控制系統(tǒng),使分度精度達(dá)到20”。
文中設(shè)計(jì)了一種體積較小能夠同實(shí)驗(yàn)室內(nèi)現(xiàn)有銑床配合、具有手動(dòng)模式和自動(dòng)模式功能的低成本智能分度頭。分度的計(jì)算工作由Atmega16單片機(jī)來(lái)完成,分度速度快、精度高。機(jī)械加工、裝配都是在實(shí)驗(yàn)室內(nèi)完成,節(jié)約了大量成本。
1 智能分度頭的總體設(shè)計(jì)思想
文中設(shè)計(jì)的智能分度頭工作模式分為兩種:自動(dòng)模式和手動(dòng)模式。當(dāng)工件安裝到分度頭的夾具上后,在自動(dòng)模式下,通過(guò)數(shù)控機(jī)床控制器輸入使能信號(hào)、脈沖信號(hào)以及方向信號(hào)。分度頭按系統(tǒng)指令要求進(jìn)行分度。
在手動(dòng)模式下,又分兩種控制方式:一是通過(guò)手輪旋轉(zhuǎn)及倍率調(diào)節(jié)按鈕,進(jìn)行分度,并實(shí)時(shí)顯示分度頭所處位置以及轉(zhuǎn)速;二是輸入分度所需參數(shù)(包括等分度數(shù)、轉(zhuǎn)速、方向)等。然后,Atmega16按照設(shè)定的工作模式、分度參數(shù)進(jìn)行實(shí)時(shí)處理和運(yùn)算,運(yùn)算結(jié)果和指令又通過(guò)I/O接口電路送入步進(jìn)電機(jī)驅(qū)動(dòng)器來(lái)控制步進(jìn)電動(dòng)機(jī)運(yùn)行,并將工作狀態(tài)顯示在顯示屏上。步進(jìn)電動(dòng)機(jī)通過(guò)蝸輪蝸桿結(jié)構(gòu)將運(yùn)動(dòng)傳遞到分度主軸,然后通過(guò)夾具帶動(dòng)工件進(jìn)行分度。在回零模式下,通過(guò)回零電路,使分度頭進(jìn)行回零。
2 系統(tǒng)硬件的總體設(shè)計(jì)
設(shè)計(jì)以Atmega16為主控芯片,并且有回零電路、按鍵電路、電源電路、顯示電路以及驅(qū)動(dòng)電路。如圖1所示。
2.1 控制系統(tǒng)模塊
設(shè)計(jì)采用ATmega16單片機(jī)作為驅(qū)動(dòng)步進(jìn)電機(jī)的主控芯片,為了獲得最高的性能以及并行性,AVR采用了Harvard結(jié)構(gòu),具有獨(dú)立的數(shù)據(jù)和程序總線。程序存儲(chǔ)器里的指令通
過(guò)一級(jí)流水線運(yùn)行。CPU在執(zhí)行一條指令的同時(shí)讀取下一條指令。這個(gè)概念實(shí)現(xiàn)了指令的單時(shí)鐘周期運(yùn)行。程序存儲(chǔ)器是可以在線編程的FLASH,能夠很好的滿足橢圓插補(bǔ)的計(jì)算以及程序的燒寫功能,并且用16位定時(shí)器T1來(lái)產(chǎn)生PWM波,能獲得較寬頻率的脈沖波。T1工作在相位和頻率修正PWM模式,可以產(chǎn)生高精度、相位和頻率都準(zhǔn)確的PWM波形,十分適合于電機(jī)的控制。
單片機(jī)的PD口以及PA5~PA7接LCD12864顯示電路,PD2口用來(lái)產(chǎn)生PWM波驅(qū)動(dòng)步進(jìn)電機(jī),PD0和PD1口與MAX232相連和上位機(jī)進(jìn)行串口通信。其主控電路如圖2所示。
2.2 電源電路模塊
LM25705是美國(guó)安森美半導(dǎo)體公司生產(chǎn)的新型開(kāi)關(guān)式降壓型穩(wěn)壓電路。它們的作用與LM7805三端穩(wěn)壓器差不多,不過(guò)由于該系統(tǒng)穩(wěn)壓電源采用了開(kāi)關(guān)技術(shù),所以它的效率要比普通的三端穩(wěn)壓器要高,而且該系列穩(wěn)壓器的輸入電壓范圍比普通二端穩(wěn)壓器更廣。
LM2575—5.0的基本應(yīng)用電路為,外接4個(gè)元件,最大輸入電壓為40 V,最小輸入電壓為7.0 V,最大負(fù)載電流為1.0 A,最高環(huán)境溫度為50 ℃,最低環(huán)境溫度為0℃。
本設(shè)計(jì)所采用LM2575為Atmega16提供電源,有效保證了單片機(jī)的工作。如圖3所示。
2.3 上位機(jī)串口通信模塊
本系統(tǒng)采用max232芯片進(jìn)行單片機(jī)與上位機(jī)的通信,MAX232外圍需要4個(gè)電解電容C14、C13、C10、C9,是內(nèi)部電源轉(zhuǎn)換所需電容。其取值均為1μF/25 V。一般選用鉭電容并且應(yīng)盡量靠近芯片,C11為0.1μF的去耦電容。與Atmega16連接如圖4所示。
2.4 按鍵電路
當(dāng)需要在手動(dòng)模式下工作時(shí),通過(guò)按鍵輸入分度所需參數(shù)。設(shè)計(jì)通過(guò)PB口與各個(gè)按鍵相連,如圖5所示。
2.5 步進(jìn)電機(jī)電路
文中所采用步進(jìn)電機(jī)的驅(qū)動(dòng)芯片是東芝公司推出的低功耗、高集成兩相混合式芯片TB6560,其主要特點(diǎn)是:內(nèi)部集成雙全橋MOSFET驅(qū)動(dòng);最高耐壓為40 V,單相輸出最大電流3.5 A;并有整步,1/2、1/8、1/16細(xì)分方式;具有過(guò)電流保護(hù)功能,采用HZIP25封裝。
2.5.1 光電隔離電路
步進(jìn)電機(jī)有3個(gè)控制信號(hào),CLK、CW和ENABLE,分別控制電機(jī)的轉(zhuǎn)角、速度和使能,均需要通過(guò)光電耦合器和芯片相連接。光電耦合器又叫做光電隔離器,可以防止電機(jī)干擾和損壞接口板電路,還可以對(duì)控制信號(hào)進(jìn)行整形。如圖6所示。
文中采用兩片高速光耦6N137來(lái)隔離管腳CLK和CW,可以保證信號(hào)耦合后不會(huì)發(fā)生滯后和畸變而影響電機(jī)驅(qū)動(dòng),并且信號(hào)傳輸速率可達(dá)10 MHz;使用1片TLP521來(lái)隔離ENABLE使能信號(hào)。
2.5.2 步進(jìn)電機(jī)主電路
如圖7所示,步進(jìn)電機(jī)的主電路由驅(qū)動(dòng)電路和邏輯控制電路兩部分組成。
步進(jìn)電機(jī)的驅(qū)動(dòng)電路采用28 V直流電.電壓為4.5~40 V。其中VMB、VMA作為步進(jìn)電機(jī)驅(qū)動(dòng)電源引腳,分別接入瓷片去耦電容和電解電容來(lái)進(jìn)行穩(wěn)壓。OUT_AP、OUT_AM、OUT_BP、OUT_BM 引腳分別為電機(jī)的兩相輸出接口。NFA和NFB分別為電機(jī)A、B相最大驅(qū)動(dòng)電流定義引腳,其計(jì)算公式為:Iout(A)=0.5(V)/RNF,假設(shè)電機(jī)每相的最大驅(qū)動(dòng)電流為2.5 A,則RNF=0.28 Ω,則PGNDA、PGNDB、SGND分別為電機(jī)A、B相驅(qū)動(dòng)引腳地和邏輯電源地。
邏輯控制電路的電源為5 V,VDD是邏輯電源引腳,外接去耦電容和旁路電容減小噪聲;M0和PROTECT分別為工作狀態(tài)和過(guò)流保護(hù)指示燈;M1和M2為細(xì)分設(shè)置引腳,與撥碼開(kāi)關(guān)連接能得到不同的細(xì)分值。
2.6 顯示模塊
顯示電路作為智能分度頭的輸出接口,可以顯示加工過(guò)程中的狀態(tài)等信息。本設(shè)計(jì)中顯示模塊采用OCMJ4X8A液晶顯示屏,可以方便地顯示漢字及圖形;可全屏顯示系統(tǒng)所有信息;電路結(jié)構(gòu)簡(jiǎn)單,便于控制,功耗低,滿足配合單片機(jī)的液晶驅(qū)動(dòng)模塊顯示數(shù)據(jù)的需求。
3 系統(tǒng)的軟件設(shè)計(jì)
3.1 軟件設(shè)計(jì)的總體思路
本研究的軟件設(shè)計(jì)采用C語(yǔ)言編程,與匯編語(yǔ)言相比,有較好的移植性。程序設(shè)計(jì)使用2個(gè)標(biāo)志位i、j來(lái)實(shí)現(xiàn)系統(tǒng)的邏輯控制。當(dāng)自動(dòng)模式按鍵按下后,標(biāo)志位i=0;當(dāng)手動(dòng)模式按鍵按下,標(biāo)志位i=1。在手動(dòng)模式下,標(biāo)志位j=0時(shí),手輪脈沖發(fā)生器產(chǎn)生作用;標(biāo)志位j=1時(shí),可以通過(guò)輸入分度數(shù)、轉(zhuǎn)速和轉(zhuǎn)向來(lái)控制步進(jìn)電機(jī)。如果沒(méi)有按鍵被按下,則主程序進(jìn)行循環(huán)掃描。
3.2 系統(tǒng)程序流程圖
系統(tǒng)的流程圖如圖8所示。
4 結(jié)束語(yǔ)
文中提出了一種智能分度頭的設(shè)計(jì)方案,通過(guò)Atmega16單片機(jī)使分度頭具有自動(dòng)和手動(dòng)兩種控制模式,能方便的進(jìn)行對(duì)分度頭的控制。試驗(yàn)證明,效果良好,達(dá)到預(yù)期目標(biāo)。
評(píng)論