版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于STM32擺盤機(jī)的研究目錄TOC\t"章節(jié)標(biāo)題,1,1級(jí)標(biāo)題,2,2級(jí)標(biāo)題,3"\h\u1引言 11.1選題的研究依據(jù)、意義和現(xiàn)狀 11.1.1研究依據(jù) 11.1.2研究意義 11.1.3選題的國內(nèi)外研究現(xiàn)狀 21.2選題的主要研究內(nèi)容 31.2.1擺盤機(jī)的結(jié)構(gòu)設(shè)計(jì)與搭建 31.2.2擺盤機(jī)的運(yùn)動(dòng)控制 32擺盤機(jī)的設(shè)計(jì) 42.1擺盤機(jī)的介紹 42.2擺盤機(jī)結(jié)構(gòu)設(shè)計(jì) 42.3PWM脈沖驅(qū)動(dòng)步進(jìn)電機(jī)運(yùn)動(dòng) 52.3.1STM32F103C8T6介紹 52.3.1PWM脈沖驅(qū)動(dòng)步進(jìn)電機(jī) 62.4擺盤機(jī)電機(jī)及對(duì)應(yīng)驅(qū)動(dòng)器、限位器選擇 92.4.1擺盤機(jī)四軸驅(qū)動(dòng)電機(jī)及驅(qū)動(dòng)器選擇 92.4.2擺盤機(jī)四軸限位器選擇與使用 113擺盤機(jī)的運(yùn)動(dòng)核心——GRBL系統(tǒng) 133.1GRBL系統(tǒng) 133.1.1GRBL系統(tǒng)的介紹與控制思想 133.1.2GRBL系統(tǒng)的軟件架構(gòu) 143.2GRBL系統(tǒng)的算法 153.2.1GRBL系統(tǒng)的直線bresenham算法 153.2.2GRBL系統(tǒng)的圓弧插補(bǔ)算法 163.2.3GRBL系統(tǒng)的前瞻算法 174擺盤機(jī)的操作系統(tǒng) 194.1擺盤機(jī)的上位機(jī) 194.2擺盤機(jī)的實(shí)物調(diào)試 19總結(jié) 21參考文獻(xiàn) 22致謝 23摘要:伴隨著電子信息技術(shù)和制造業(yè)的快速發(fā)展,設(shè)計(jì)一款基于STM32的擺盤機(jī)系統(tǒng)來提高工業(yè)制造效率顯得極為重要。本系統(tǒng)利用USART串口接收標(biāo)準(zhǔn)的數(shù)控程序指令G代碼,通過移植CNC運(yùn)動(dòng)控制器GRBL到擺盤機(jī)控制器STM32F103C8T6中控制各軸步進(jìn)電機(jī)協(xié)同工作,實(shí)現(xiàn)擺盤機(jī)的精準(zhǔn)控制。將數(shù)控機(jī)床中精準(zhǔn)的直線插補(bǔ)、圓弧插補(bǔ)、前瞻算法功能運(yùn)用到擺盤機(jī)中,提高控制精度,實(shí)現(xiàn)擺盤機(jī)的快速響應(yīng)和平穩(wěn)運(yùn)行。本系統(tǒng)在電子行業(yè)、醫(yī)療設(shè)備、食品加工行業(yè)都有很好的實(shí)用價(jià)值,適合現(xiàn)代電子信息自動(dòng)化產(chǎn)業(yè)領(lǐng)域的發(fā)展要求。關(guān)鍵詞:擺盤機(jī);STM32F103C8T6;GRBL;運(yùn)動(dòng)控制;脈沖驅(qū)動(dòng)1引言本章講述本題目研究的依據(jù)、意義和國內(nèi)外研究現(xiàn)狀;以及本題目研究的內(nèi)容。1.1選題的研究依據(jù)、意義和現(xiàn)狀1.1.1研究依據(jù)全自動(dòng)擺盤機(jī)技術(shù)的應(yīng)用范圍十分廣泛。它不僅應(yīng)用于傳統(tǒng)的電子行業(yè),還被廣泛應(yīng)用于芯片制造,航空航天,醫(yī)療設(shè)備等行業(yè)。在農(nóng)業(yè),食品加工行業(yè)及其他領(lǐng)域中也有著廣泛的運(yùn)用。驅(qū)動(dòng)控制技術(shù)的發(fā)展為全自動(dòng)擺盤機(jī)的發(fā)展起到?jīng)Q定性作用。目前,自動(dòng)擺盤機(jī)主要有旋轉(zhuǎn)溜管式自動(dòng)排放機(jī)和基于機(jī)器視覺的自動(dòng)分揀機(jī)器人兩種形式REF_Ref22123\r\h[1]。1.1.2研究意義在當(dāng)下科學(xué)技術(shù)不斷進(jìn)步的社會(huì),電子信息行業(yè)也在快速發(fā)展著,并且加上計(jì)算機(jī)技術(shù)的日漸成熟,電子信息技術(shù)也應(yīng)用于社會(huì)生產(chǎn)生活中。吸頭和比色杯都是生物化學(xué)實(shí)驗(yàn)室用品,它廣泛運(yùn)用于生物研究和基因研究REF_Ref22195\r\h[2]。實(shí)驗(yàn)室中這兩種用具的使用頻率非常高。但是在中國生產(chǎn)實(shí)驗(yàn)用具的企業(yè)中,其生產(chǎn)流水線的智能化還未發(fā)展起來,仍然是人力進(jìn)行生產(chǎn),這不但導(dǎo)致制造效率低而且很難達(dá)到較高的精確度,與國外發(fā)達(dá)國家相比仍存在較大差距。除此之外,隨著實(shí)驗(yàn)用具的國內(nèi)外市場份額不斷增加,如果我國仍采用人力來進(jìn)行擺盤制造,不僅會(huì)制約其余大多數(shù)行業(yè)的發(fā)展,而且企業(yè)的市場競爭力也會(huì)急劇下降,和其他國家地區(qū)的產(chǎn)品相比,他們競爭力很低,既沒有價(jià)格優(yōu)勢(shì),也沒有產(chǎn)品質(zhì)量優(yōu)勢(shì)。在社會(huì)生活方面,現(xiàn)代食品生產(chǎn)企業(yè)中,食品生產(chǎn)線的擺放,分類工作還是主要由工人手工完成,手動(dòng)工作的方式不僅會(huì)大大增加人力成本,也會(huì)降低工作效率,并且生產(chǎn)過程中人手直接接觸食品還會(huì)有可能出現(xiàn)衛(wèi)生健康問題。由此,在當(dāng)前研發(fā)出一種全自動(dòng)擺盤機(jī)來代替人工進(jìn)行制造顯得很有必要。因此,擺盤機(jī)的研究對(duì)生物醫(yī)學(xué)器件制造和食品加工等領(lǐng)域的研究發(fā)展有著很大的理論意義和現(xiàn)實(shí)意義。1.1.3選題的國內(nèi)外研究現(xiàn)狀當(dāng)前,擺盤機(jī)的核心技術(shù)在于通過將開源CNC(ComputerNumericalControl)運(yùn)動(dòng)控制器GRBL(GNURoboticControlBoardLanguage)系統(tǒng)移植到STM32F103C8T6來實(shí)現(xiàn)擺盤機(jī)的運(yùn)動(dòng)控制REF_Ref14333\r\h[3]。CNC代表計(jì)算機(jī)數(shù)控。它將自動(dòng)化場景帶到了加工過程領(lǐng)域REF_Ref14386\r\h[4]。數(shù)控GRBL系統(tǒng)是全軟件式數(shù)控系統(tǒng)的核心。現(xiàn)在幾乎所有的自動(dòng)化工廠車間中數(shù)控機(jī)床通常使用G代碼來控制機(jī)床對(duì)工件的加工。G代碼能為控制系統(tǒng)提供加工時(shí)需要的數(shù)據(jù)塊。并且G代碼解釋器的開放性、可移植性、易讀性、高效性也足夠說明為什么說G代碼能成為生產(chǎn)線自動(dòng)化的基礎(chǔ)REF_Ref14444\r\h[5]。擺盤機(jī)控制系統(tǒng)中尤為重要的是實(shí)時(shí)控制各軸步進(jìn)電機(jī)和主軸。當(dāng)前,CNC運(yùn)動(dòng)控制器GRBL具有很強(qiáng)的實(shí)時(shí)操作性和信息反饋。這能夠?qū)崿F(xiàn)擺盤機(jī)對(duì)擺盤動(dòng)作和擺盤速度等通用操作的要求,滿足其實(shí)時(shí)性。另外,擺盤機(jī)在饅頭加工方面的應(yīng)用也極為廣泛,鄭州糧食學(xué)院于80年代研發(fā)了MTX-250型饅頭自動(dòng)生產(chǎn)線,通過實(shí)驗(yàn)驗(yàn)證,表明其生產(chǎn)線自動(dòng)化程度較高[6]。90年代,饅頭生產(chǎn)線中的主要設(shè)備,如和面機(jī)、成型機(jī)和揉面機(jī)等的研究已經(jīng)非常成熟。從20世紀(jì)以來,科研工作者通過應(yīng)用先進(jìn)的科學(xué)技術(shù),設(shè)計(jì)制造出了智能化的仿人工饅頭自動(dòng)生產(chǎn)線REF_Ref22161\r\h[7]。但是饅頭的全自動(dòng)生產(chǎn)線成本較高,并不適于市場的廣泛推廣。饅頭胚自動(dòng)擺放機(jī)作為工業(yè)化生產(chǎn)饅頭的關(guān)鍵設(shè)備,科研人員對(duì)其的研究卻少之又少。九十年代,周全申、朱克慶等先后研究出了旋轉(zhuǎn)推板式生面團(tuán)自動(dòng)排放機(jī)構(gòu)REF_Ref22197\r\h[8]和旋轉(zhuǎn)溜管式生面團(tuán)自動(dòng)排放機(jī)REF_Ref22220\r\h[9]。但兩種機(jī)器都有較大的缺陷,很難大范圍普遍應(yīng)用。1.2選題的主要研究內(nèi)容本選題的研究對(duì)象為基于STM32的擺盤機(jī),其研究的主要內(nèi)容有以下三方面,其一為擺盤機(jī)的結(jié)構(gòu)設(shè)計(jì)并進(jìn)行平臺(tái)搭建;其二為CNC運(yùn)動(dòng)驅(qū)動(dòng)GRBL系統(tǒng)移植到STM32F103C8T6中對(duì)于擺盤機(jī)的運(yùn)動(dòng)控制;其三為擺盤機(jī)平臺(tái)的運(yùn)動(dòng)。1.2.1擺盤機(jī)的結(jié)構(gòu)設(shè)計(jì)與搭建此擺盤機(jī)平臺(tái)采用17HS3401-A步進(jìn)電機(jī)滑軌組控制X、Y軸,HGX28型滑軌組控制Z軸,主軸則用20型空心步進(jìn)電機(jī)搭配氣泵吸頭吸取目標(biāo)物,來進(jìn)行主要結(jié)構(gòu)搭建。并且各軸還搭配了SN04-N限位器,擺盤機(jī)的控制器則采用STM32F103C8T6最小系統(tǒng)控制板。在進(jìn)行搭建時(shí),對(duì)于各軸的擺放位置,距離設(shè)置,傳感器的選擇,驅(qū)動(dòng)的選擇以及搭建成本都是選題需要考慮的內(nèi)容。在進(jìn)行搭建時(shí),需要綜合考慮各個(gè)方面,合理設(shè)置平臺(tái)方式以更好滿足選題要求。此擺盤機(jī)需要有平穩(wěn)的底部支撐,比較低的成本,比較合理的結(jié)構(gòu)等,因此在搭建時(shí)需要考慮它的可行性,便利性,從而制定合適的搭建策略。1.2.2擺盤機(jī)的運(yùn)動(dòng)控制為保證擺盤機(jī)的各軸正常且準(zhǔn)確地工作,就需要在硬件上和軟件上對(duì)擺盤機(jī)的運(yùn)動(dòng)進(jìn)行有規(guī)律地控制。軌跡運(yùn)行是實(shí)現(xiàn)擺盤機(jī)自動(dòng)操作的關(guān)鍵,它的優(yōu)勢(shì)在于可以提高擺盤機(jī)的運(yùn)動(dòng)精度,從而保證擺盤機(jī)擺盤的正確性,減少誤差。在制造生產(chǎn)過程中,擺盤機(jī)需要高精度,更加安全地完成操作任務(wù),這就需要一套完備、正確的的路徑規(guī)劃方案和合適的、優(yōu)秀的算法來控制。因此,目前廣泛應(yīng)用的CNC運(yùn)動(dòng)控制器GRBL很好地保證了運(yùn)動(dòng)的精確性和安全性。在此系統(tǒng)中,通過將GRBL移植到STM32F103C8T6中作為擺盤機(jī)的控制器來提高擺盤機(jī)運(yùn)行的準(zhǔn)確性和可靠性,并且可以減少擺盤機(jī)的功耗,提高它的復(fù)位準(zhǔn)確率。此外,擺盤機(jī)控制算法還能夠防止擺盤機(jī)運(yùn)行過快,損耗平臺(tái)。2擺盤機(jī)的設(shè)計(jì)本章講述擺盤機(jī)的整體設(shè)計(jì)部分,該擺盤機(jī)為四軸三自由度擺盤機(jī)。擺盤機(jī)整體大致可以分為三個(gè)部分,一是擺盤機(jī)的機(jī)械結(jié)構(gòu),二是控制擺盤機(jī)各軸的四個(gè)驅(qū)動(dòng)電機(jī),三是擺盤機(jī)的硬件控制系統(tǒng)。2.1擺盤機(jī)的介紹擺盤機(jī)共有四軸,其中,X,Y軸運(yùn)動(dòng)決定了擺盤機(jī)二維的工作范圍,Z軸控制主軸電機(jī)及固定組件的豎直方向移動(dòng),主軸電機(jī)驅(qū)動(dòng)控制擺盤機(jī)工作時(shí)需要的角度。因此,本擺盤機(jī)共有四個(gè)自由度,可以進(jìn)行平面內(nèi)高度可調(diào)擺盤加工任務(wù)。2.2擺盤機(jī)結(jié)構(gòu)設(shè)計(jì)擺盤機(jī)機(jī)身采用類似于龍門架的結(jié)構(gòu)設(shè)計(jì),機(jī)械部分包括工作臺(tái)、X軸步進(jìn)電機(jī)、Y軸步進(jìn)電機(jī)、Z軸步進(jìn)電機(jī)和主軸電機(jī),然后將各個(gè)硬件搭建成龍門架的樣式,在進(jìn)行硬件設(shè)計(jì)的過程中,還需要考慮到擺盤機(jī)各軸之間的聯(lián)系以及運(yùn)動(dòng)范圍,因此要設(shè)計(jì)一個(gè)合適的硬件結(jié)構(gòu)。以下為部分零件的介紹:圖2-1:為擺盤機(jī)的底座構(gòu)件,左、右兩邊會(huì)放置控制前后運(yùn)動(dòng)的滑軌,在此基礎(chǔ)上繼續(xù)在后上方放置一個(gè)滑軌,通過三個(gè)滑軌的相互配合,控制擺盤機(jī)的X,Y軸運(yùn)動(dòng)。圖2-2:為擺盤機(jī)的Z軸構(gòu)件,通過滑軌和步進(jìn)電機(jī)連接組成滑軌組,滑軌組上搭載主軸固定件固定主軸,可通過步進(jìn)電機(jī)的驅(qū)動(dòng)帶動(dòng)擺盤機(jī)的Z軸運(yùn)動(dòng)即主軸上下移動(dòng)。圖2-3:為擺盤機(jī)的主軸控制器,通過電機(jī)驅(qū)動(dòng)旋轉(zhuǎn)進(jìn)行合適的角度選擇后進(jìn)行擺盤操作。圖2-4:為擺盤機(jī)的運(yùn)動(dòng)控制限位器,通過檢測(cè)到傳感響應(yīng)來進(jìn)行原點(diǎn)復(fù)位,停止三軸驅(qū)動(dòng)和末端控制器的運(yùn)行,防止擺盤機(jī)的損壞。圖2-2擺盤機(jī)的Z軸滑軌組圖圖2-2擺盤機(jī)的Z軸滑軌組圖2-1擺盤機(jī)的X、Y軸底座圖圖2-3擺盤機(jī)的主軸圖片圖2-4擺盤機(jī)的限位器圖片2.3PWM脈沖驅(qū)動(dòng)步進(jìn)電機(jī)運(yùn)動(dòng)擺盤機(jī)的運(yùn)動(dòng)驅(qū)動(dòng)控制是通過STM32F103C8T6的I/O引腳輸出產(chǎn)生PWM波形脈沖然后使用TB6600驅(qū)動(dòng)器驅(qū)動(dòng)步進(jìn)電機(jī)進(jìn)而控制擺盤機(jī)各軸的協(xié)同運(yùn)動(dòng)。2.3.1STM32F103C8T6介紹STM32F103C8T6最小系統(tǒng)板是一款基于Cortex-M的32位微控制器。它具有64KB閃存,工作電壓為2.0V~3.6V,可工作在72MHz頻率下。該開發(fā)板集成了STM32F103C8T6微控制器的核心部分,并且具有豐富的外設(shè)和強(qiáng)大的處理能力。 圖2-5STM32F103C8T6最小系統(tǒng)板STM32F103C8T6微控制器如圖2-5所示;圖2-5STM32F103C8T6最小系統(tǒng)板2.3.1PWM脈沖驅(qū)動(dòng)步進(jìn)電機(jī)PWM(pulsewidthmodulation)的中文是脈沖寬度調(diào)制,它主要是通過對(duì)脈沖的寬度進(jìn)行調(diào)制,來獲得所需要的模擬參量,經(jīng)常應(yīng)用在步進(jìn)電機(jī)驅(qū)動(dòng)、PWM調(diào)光領(lǐng)域中。利用PWM脈沖來驅(qū)動(dòng)步進(jìn)電機(jī)是一種常用的控制方式,PWM脈沖信號(hào)會(huì)產(chǎn)生一定頻率的脈沖,其中每個(gè)脈沖的寬度則是通過占空比來確定的。如果占空比越大即高電平所在時(shí)間長,則脈沖寬度越寬,進(jìn)而加快步進(jìn)電機(jī)的速度;若占空比越小即高電平所在時(shí)間短,則脈沖寬度越窄,進(jìn)而減慢步進(jìn)電機(jī)的速度。當(dāng)PWM信號(hào)的脈沖出現(xiàn)時(shí),步進(jìn)電機(jī)會(huì)按照設(shè)定的步進(jìn)角度旋轉(zhuǎn)一定的步數(shù)。PWM頻率越高,電機(jī)轉(zhuǎn)動(dòng)則越順暢。通過來回改變PWM信號(hào)的頻率占空比,可以提高步進(jìn)電機(jī)控制的精確性,如調(diào)整轉(zhuǎn)速、改變運(yùn)動(dòng)方向等。同時(shí),為了保證步進(jìn)電機(jī)的正常工作,還需要合理選擇電機(jī)的電流、電壓等驅(qū)動(dòng)參數(shù)。PWM脈沖驅(qū)動(dòng)步進(jìn)電機(jī)的代碼如圖2-6、圖2-7所示,實(shí)物運(yùn)行如圖2-8所示。圖2-6PWM脈沖產(chǎn)生代碼圖2-6PWM脈沖產(chǎn)生代碼圖2-7步進(jìn)電機(jī)驅(qū)動(dòng)代碼圖2-7步進(jìn)電機(jī)驅(qū)動(dòng)代碼圖2-8步進(jìn)電機(jī)驅(qū)動(dòng)實(shí)物圖圖2-8步進(jìn)電機(jī)驅(qū)動(dòng)實(shí)物圖2.4擺盤機(jī)電機(jī)及對(duì)應(yīng)驅(qū)動(dòng)器、限位器選擇電機(jī)驅(qū)動(dòng)是擺盤機(jī)系統(tǒng)中硬件的關(guān)鍵,因此,在驅(qū)動(dòng)電機(jī)時(shí)要考慮到各軸步進(jìn)電機(jī)的尺寸大小、步進(jìn)角度,扭矩以及額定電壓、電流、功率等方面。2.4.1擺盤機(jī)四軸驅(qū)動(dòng)電機(jī)及驅(qū)動(dòng)器選擇X、Y、Z三軸控制擺盤機(jī)的空間維度的運(yùn)動(dòng),驅(qū)動(dòng)擺盤機(jī)的機(jī)械結(jié)構(gòu)運(yùn)轉(zhuǎn),主軸控制擺盤機(jī)的最終擺盤功能。擺盤機(jī)因此需要相對(duì)合適的步距角,恰當(dāng)?shù)某叽绱笮∫约拜^低的搭建成本等因素。因此考慮以上各方面因素,最終選擇步進(jìn)電機(jī)作為驅(qū)動(dòng)電機(jī)。與舵機(jī)相比,步進(jìn)電機(jī)有著更高的控制精度、更穩(wěn)定的工作性能,更加平穩(wěn)、大范圍的驅(qū)動(dòng)角度。能滿足擺盤機(jī)系統(tǒng)的控制要求;而且它的價(jià)格,大小都適合本系統(tǒng)。X、Y軸采用17HS3401-A型步進(jìn)電機(jī),其步距角為1.8°,扭矩為0.3N*m,額定電流為1.2A。如圖2-9所示。Z軸的驅(qū)動(dòng)電機(jī)采用2830步進(jìn)電機(jī)如圖2-10所示。圖圖2-917HS3401-A型步進(jìn)電機(jī)圖2-102830型步進(jìn)電機(jī)主軸末端執(zhí)行器為一氣泵吸頭,用于吸取物件,因此需要空心的步進(jìn)電機(jī)。并且步進(jìn)電機(jī)也需要足夠的扭矩和控制精度,最后選擇采用20空心步進(jìn)電機(jī),它擁有微型中空電機(jī),并且有雙出軸電機(jī)孔徑能連接氣泵與吸頭做出吸取動(dòng)作,并且精度高、價(jià)格較低,尺寸較小,能滿足電機(jī)要求。20空心步進(jìn)電機(jī)如圖2-11所示。圖2-1120空心步進(jìn)電機(jī)圖2-1120空心步進(jìn)電機(jī)為確保步進(jìn)電機(jī)能正常有效工作,一般都要為步進(jìn)電機(jī)選擇合適的驅(qū)動(dòng)器,本系統(tǒng)選擇采用TB6600驅(qū)動(dòng)器。TB6600驅(qū)動(dòng)器是一款適用于57/42型相電流4.0A以下的A,B相位混合式步進(jìn)電機(jī)的驅(qū)動(dòng)器,TB6600具有高性能和高精度的特點(diǎn)。并且TB6600內(nèi)部還有低壓關(guān)斷、過熱停車以及過流電路保護(hù)功能,此外還設(shè)有短路保護(hù)功能適用于各種工作環(huán)境。TB6600的輸出性能可達(dá)42V,能夠滿足大多數(shù)步進(jìn)電機(jī)的驅(qū)動(dòng)需求。此外,TB6600可選擇7檔細(xì)分設(shè)置、8種電流控制;信號(hào)端也能防止信號(hào)干擾,并且支持共陰、共陽兩種信號(hào)輸入方式。同時(shí),TB6600不需要復(fù)雜的界面編程,能夠兼容STM32、Arduino和其他多種主控器使得整個(gè)驅(qū)動(dòng)過程更加方便和快捷,這也是它的一大優(yōu)點(diǎn)。TB6600驅(qū)動(dòng)板如圖2-12所示:圖2-12TB6600驅(qū)動(dòng)器圖2-12TB6600驅(qū)動(dòng)器2.4.2擺盤機(jī)四軸限位器選擇與使用擺盤機(jī)的各軸運(yùn)動(dòng)范圍是有距離限制的,為了能夠使各軸運(yùn)動(dòng)的更加安全,防止各軸在運(yùn)動(dòng)過程中因超出運(yùn)動(dòng)范圍而撞擊軌道,破壞擺盤機(jī)的硬件結(jié)構(gòu);并且擺盤機(jī)的工作要求是能夠更加高精度進(jìn)行擺盤,因此為各軸添加限位器能夠更好地進(jìn)行主軸的原點(diǎn)歸位。此外,在選擇限位器時(shí),要考慮到限位器的實(shí)現(xiàn)電壓、精度以及體積大小和使用成本等。因此選擇了SN04-N接近開關(guān),如圖2-13、2-114所示。SN04-N是一個(gè)電感接近開關(guān),其輸出引線由三條顏色線,其分別為棕色線(工作電源線)、藍(lán)色線(GND地線)、黑色(輸出信號(hào)線),它的工作電壓范圍為DC5V-30V,工作電流為5mA,檢測(cè)金屬的距離是4mm。擺盤機(jī)系統(tǒng)所選限位器的是SN04-N三線NPN型常開接近開關(guān),此限位器的特點(diǎn)是正極都接+5V,輸出線輸出的信號(hào)為低電平;其在無信號(hào)觸發(fā)時(shí),信號(hào)輸出線的輸出端為空,當(dāng)有信號(hào)輸入觸發(fā)時(shí),信號(hào)輸出線則輸出低電平。之后當(dāng)擺盤機(jī)的主控芯片接收到限位開關(guān)的輸出信號(hào),芯片主函數(shù)處理就跳轉(zhuǎn)到中斷函數(shù)里,進(jìn)行中斷函數(shù)處理使運(yùn)動(dòng)軸停止運(yùn)動(dòng)或反轉(zhuǎn)。此過程的運(yùn)行代碼如圖2-15、2-16所示。圖圖2-15限位器設(shè)置運(yùn)行代碼圖片1圖2-16限位器設(shè)置運(yùn)行代碼圖片2圖2-16限位器設(shè)置運(yùn)行代碼圖片23擺盤機(jī)的運(yùn)動(dòng)核心——GRBL系統(tǒng)擺盤機(jī)系統(tǒng)的控制芯片是STM32F103C8T6最小系統(tǒng)板,但是其核心控制器是常用于CNC的控制器GRBL系統(tǒng),本章主要介紹GRBL的基本架構(gòu)和其算法中的直線bresenham、圓弧和前瞻等算法。3.1GRBL系統(tǒng)GRBL是一個(gè)現(xiàn)代化的嵌入式G代碼編譯和運(yùn)動(dòng)控制器的開源代碼,專門用于控制CNC數(shù)控類工具。GRBL是一種針對(duì)于Arduino的高性能的、可靠的CNC控制軟件REF_Ref30302\r\h[10]。3.1.1GRBL系統(tǒng)的介紹與控制思想GRBL開源代碼的基本編寫語言為C語言,之后進(jìn)行代碼優(yōu)化,它可以保持超過30kHz的穩(wěn)定的、無偏差的控制脈沖,能支持進(jìn)行弧線、圓形和螺旋形等運(yùn)動(dòng)方式,并且包含完整的前瞻性加速度控制,可提前16-20個(gè)運(yùn)動(dòng)來規(guī)劃速度從而實(shí)現(xiàn)平穩(wěn)的加速和無沖擊的轉(zhuǎn)彎REF_Ref30371\r\h[11]。GRBL系統(tǒng)的控制流程如圖3-1所示。圖圖3-1GRBL控制源碼的流程圖GRBL語言的控制思想是以嵌入式程序控制為控制核心,通過解釋器來實(shí)現(xiàn)G代碼的解析和轉(zhuǎn)換。在執(zhí)行G代碼時(shí),GRBL首先會(huì)讀取G代碼,并將其解析為機(jī)器語言指令。隨后,GRBL將機(jī)器語言指令發(fā)送到CNC控制器,控制器對(duì)其進(jìn)行解釋,并在運(yùn)動(dòng)系統(tǒng)中執(zhí)行相關(guān)操作。通過這種方式,GRBL可以控制CNC數(shù)控機(jī)床的運(yùn)動(dòng),來實(shí)現(xiàn)特定的加工操作。除此之外,GRBL還具有一些重要的控制思想:如GRBL支持實(shí)時(shí)性的控制,可以在運(yùn)動(dòng)過程中及時(shí)調(diào)整控制參數(shù)或停止運(yùn)動(dòng),從而提高加工效率和精度。GRBL可以根據(jù)機(jī)床的加工狀態(tài)自動(dòng)調(diào)整運(yùn)動(dòng)速度,從而實(shí)現(xiàn)更加精準(zhǔn)的加工,避免材料損壞等問題。GRBL也可以通過使用恰當(dāng)?shù)目刂扑惴?,可以?shí)現(xiàn)靜音運(yùn)行,減少噪音污染。GRBL還可以實(shí)現(xiàn)直線插補(bǔ)算法等,從而實(shí)現(xiàn)復(fù)雜加工路徑的控制,在CNC機(jī)床或3D打印機(jī)中實(shí)現(xiàn)高度精準(zhǔn)的加工和控制。3.1.2GRBL系統(tǒng)的軟件架構(gòu)GRBL語言的基本架構(gòu)可以分為以下幾個(gè)部分;分別為串口通信模塊(serial)、主循環(huán)模塊(protocol和gcode)、運(yùn)動(dòng)規(guī)劃模塊(MotionControl和planner)、運(yùn)動(dòng)模塊(stepper、spindle)、輸入控制模塊(system)、參數(shù)設(shè)置模塊和輔助模塊。GRBL軟件架構(gòu)圖如圖3-2所示。圖圖3-2GRBL軟件架構(gòu)圖protocol模塊從serial串口模塊接收指令后并把它們傳送到Gcode模塊執(zhí)行,隨后gcode解析完發(fā)送移動(dòng)命令給motion_control模塊和spindle_control(主軸控制)。Motion_control模塊為步進(jìn)電機(jī)驅(qū)動(dòng)提供公共接口,planner模塊從上一級(jí)模塊中接收線性移動(dòng)指令并且把它們添加到準(zhǔn)備運(yùn)動(dòng)的計(jì)劃中,即數(shù)據(jù)緩存區(qū)計(jì)算下次運(yùn)動(dòng)數(shù)據(jù),然后planner給stepper模塊傳送指令,隨后stepper模塊按計(jì)劃控制步進(jìn)電機(jī)協(xié)同各軸執(zhí)行移動(dòng)命令。3.2GRBL系統(tǒng)的算法GRBL的算法部分可以說是從mc_arc函數(shù)開始的。首先,mc_arc會(huì)將圓分成小線段,并計(jì)算小線段的起始和終止坐標(biāo);其次,mc_line函數(shù)會(huì)將線段與線段之間的切換速度進(jìn)行計(jì)算;接下來,planner_recalculate()函數(shù)將基于速度和前瞻算法,設(shè)定線段的最佳起始速度和結(jié)束時(shí)速度;最后,st_prep_buffer()函數(shù)中的梯形算法會(huì)將速度進(jìn)行換算,然后通過定時(shí)器改變輸出的頻率,最后作用到各軸步進(jìn)電機(jī)。3.2.1GRBL系統(tǒng)的直線bresenham算法GRBL使用了經(jīng)典的bresenham直線插值算法,其通過誤差式判別的方法來選取下一步繪制直線所到達(dá)的像素點(diǎn)。然后通過綜合計(jì)算出直線上所有像素點(diǎn)的坐標(biāo)來實(shí)現(xiàn)直線繪制。直線bresenham插值算法的實(shí)現(xiàn)是因?yàn)橄袼刈鴺?biāo)的整數(shù)性,數(shù)學(xué)坐標(biāo)與所取像素點(diǎn)的坐標(biāo)會(huì)有稍許誤差。若假設(shè)直線的斜率為0-1之間,隨后先把路徑進(jìn)行柵格化,然后x軸每增加一步,y軸就會(huì)做出選擇,可能是當(dāng)前像素點(diǎn)的右上臨近點(diǎn),要么可能是當(dāng)前坐標(biāo)像素點(diǎn)的右臨近點(diǎn)。但是選取下一步的坐標(biāo)點(diǎn)則關(guān)乎實(shí)際直線和最近柵格的距離。如果當(dāng)d=0;且每前進(jìn)一步的d=d+k,若d的值大于0.5,則下一步坐標(biāo)點(diǎn)選擇右上臨近點(diǎn),同時(shí)d變?yōu)閐-1,否則選取右邊的坐標(biāo)點(diǎn)。若是其他斜率,則可以通過交換軸的位置進(jìn)行同樣算法,到畫線時(shí)再進(jìn)行還原。如圖3-3所示。圖圖3-3brehensam直線插補(bǔ)算法在GRBL中,通過bresenham算法的運(yùn)算結(jié)果來對(duì)比實(shí)際的路徑與指令中設(shè)定的路徑進(jìn)行校正,力求達(dá)到高精度運(yùn)動(dòng)。3.2.2GRBL系統(tǒng)的圓弧插補(bǔ)算法GRBL圓弧插補(bǔ)算法的基本思想是將圓弧劃分成盡可能多的小線段。如果小線段越多,則任意兩點(diǎn)連接而成的小線段到圓弧的最大距離arc_tolerance越小,則圓弧插補(bǔ)的精確度越高。GRBL圓弧插補(bǔ)算法的實(shí)現(xiàn)則需要首先求解得出圓心點(diǎn)的坐標(biāo),然后調(diào)用mc_arc函數(shù)處理后續(xù)數(shù)據(jù),首選求得圓心到起始點(diǎn)的向量a(x0,y0),再計(jì)算圓心到終止點(diǎn)的向量b(x1,y1);隨后計(jì)算兩向量的夾角(逆時(shí)針為正)θ,數(shù)值為式3.2.1。(3.2.1)接下來由θ判斷移動(dòng)方向,然后計(jì)算圓弧可以分為多少條小線段。如圖3-4中所示,其中從啟始坐標(biāo)到終止坐標(biāo)之間的弧長為S,圓的半徑為r,兩坐標(biāo)之間的夾角為θ,arc_tolerance為兩點(diǎn)線段距圓弧的最大距離,由式3.2.2可得出式3.2.3,則segments=總弧長/小線段長。由此可知圓弧可分為segments條小線段。圖3-圖3-4圓弧的插補(bǔ)算法圖(3.2.2)(3.2.3)細(xì)分后,每一段圓弧對(duì)應(yīng)的弧度制的大小為x=θ/segments;又由三角函數(shù)的泰勒展開式3.2.4可知sinx與cosx的泰勒展開,接下來計(jì)算圓心與每一條小線段的夾角t的cost與sint,則得到式3.2.5,然后用極坐標(biāo)求解每一條小線段的起始點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo),最后轉(zhuǎn)入到mc_line函數(shù),進(jìn)入前瞻算法。 (3.2.4)(3.2.4)(3.2.5)(3.2.5)3.2.3GRBL系統(tǒng)的前瞻算法GRBL的速度前瞻是一種控制機(jī)器人、3D打印機(jī)、CNC等設(shè)備運(yùn)動(dòng)的算法,其目的是通過提前規(guī)劃機(jī)器移動(dòng)的速度和加速度曲線,減少機(jī)器的軌跡誤差,提高機(jī)器的性能和運(yùn)行效率。加減速合理控制是數(shù)控系統(tǒng)實(shí)現(xiàn)高速、高精度加工的保證REF_Ref30645\r\h[12]。速度前瞻算法位于直線算法、圓弧插補(bǔ)算法之后。首先是通過plan_buffer_line函數(shù)進(jìn)行拐點(diǎn)處的速度計(jì)算。然后block_buffer函數(shù)保存了線段前瞻數(shù)據(jù),這里則需要通過block指針進(jìn)行數(shù)據(jù)操作。block->steps[idx]是當(dāng)前位置到目標(biāo)位置之間的步數(shù),block->step_event_count表示所有軸方向中的最大步數(shù)。然后可以通過delat_mm函數(shù)將每個(gè)軸方向移動(dòng)的步數(shù)換算成毫米。速度前瞻算法將會(huì)通過移動(dòng)計(jì)算軸移動(dòng)的步數(shù)和當(dāng)前線段即每毫米所需移動(dòng)步數(shù),然后將最遠(yuǎn)軸距離作為溢出標(biāo)志量;接下來計(jì)算真移動(dòng)距離用來計(jì)算線段夾角,隨后進(jìn)行方向判斷,計(jì)算空間距離為計(jì)算兩線段夾角做準(zhǔn)備。接下來則求線段的最大速度和最大加速度,最后求得線段夾角進(jìn)而計(jì)算銜接點(diǎn)最大安全進(jìn)近速度。GRBL的速度前瞻算法可以有效地降低機(jī)器的的運(yùn)動(dòng)噪聲和工作時(shí)間,進(jìn)一步提高工作的平穩(wěn)性和準(zhǔn)確性,同時(shí)也可以極大增加機(jī)器的運(yùn)行速度和生產(chǎn)效率。4擺盤機(jī)的操作系統(tǒng)本章介紹如何通過上位機(jī)對(duì)擺盤機(jī)進(jìn)行操作和實(shí)物調(diào)試。4.1擺盤機(jī)的上位機(jī)為了能更好地對(duì)擺盤機(jī)進(jìn)行操作,則需要選擇采用上位機(jī)的方式控制軟件對(duì)擺盤機(jī)進(jìn)行操作,本系統(tǒng)的上位機(jī)采用的是機(jī)械臂大師軟件,此軟件擁有合理的操作畫面規(guī)劃和布局,可以很快地掌握上位機(jī)對(duì)于擺盤機(jī)的操作。首先,通過串口通信協(xié)議與運(yùn)動(dòng)控制器連接并進(jìn)行控制,上位機(jī)控制軟件能單獨(dú)控制某軸的前進(jìn)與后退;其次,上位機(jī)控制軟件還能對(duì)擺盤機(jī)的坐標(biāo)原點(diǎn)和運(yùn)動(dòng)方向、運(yùn)動(dòng)參數(shù)等基礎(chǔ)性功能進(jìn)行控制。但這些功能都需要GRBL命令來使用。GRBL命令都可以通過上位機(jī)中的窗口調(diào)試助手進(jìn)行查看。其中GRBL的命令能分為以‘$’開頭的系統(tǒng)指令和非‘$’開頭的實(shí)時(shí)控制命令。系統(tǒng)命令一般用來執(zhí)行機(jī)構(gòu),例如:安全門、重置、暫停、恢復(fù)等。例如:通過輸入$$指令可以打印設(shè)置運(yùn)行參數(shù)配置,輸入$H將進(jìn)行歸位操作。部分系統(tǒng)命令如圖表1所示。表1系統(tǒng)命令碼及說明(部分)系統(tǒng)命令碼功能說明$$顯示GRBL運(yùn)行參數(shù)配置$N顯示啟動(dòng)G代碼,可以有多行$G顯示一些特殊G代碼需要的參數(shù)$x=value設(shè)置GRBL參數(shù)并保存到Room中$H三軸歸位$X消除警告時(shí)的鎖狀態(tài)4.2擺盤機(jī)的實(shí)物調(diào)試本系統(tǒng)的實(shí)物圖如圖4.1所示,其操作步驟為將擺盤機(jī)的主控芯片STM32F103C8T6芯片通過TTL轉(zhuǎn)USB接到電腦,接著打開上位機(jī)軟件選擇正確的端口、設(shè)置窗口數(shù)據(jù)位和波特率,連接后會(huì)接收到GRBL的提示信息,然后輸入$調(diào)試正確,接著發(fā)送$H指令是擺盤機(jī)進(jìn)行歸位,啟動(dòng)完成后,可以通過控制軟件界面的X+,X-,Y+,Y-鍵來單獨(dú)控制X、Y軸的前后左右移動(dòng)。其次也可以在串口調(diào)試區(qū)給出芯片最終放置位置的坐標(biāo)G代碼控制擺盤機(jī)運(yùn)行到擺放位置完成擺放。軟件調(diào)試界面如圖4-2所示。圖4-1擺盤機(jī)的全貌圖圖4-1擺盤機(jī)的全貌圖圖4-2機(jī)械臂大師控制軟件圖片圖4-2機(jī)械臂大師控制軟件圖片在調(diào)試過程中,由于機(jī)械零件和環(huán)境影響,擺盤機(jī)的位置移動(dòng)會(huì)有偏差,導(dǎo)致定位不準(zhǔn)。除此之外,對(duì)芯片的抓取工作現(xiàn)如今還需手動(dòng)調(diào)節(jié)氣泵開關(guān)控制。所以,在接下來的學(xué)習(xí)研究上我還需繼續(xù)完善機(jī)械零件的構(gòu)造情況,減少誤差;通過對(duì)知識(shí)的深入學(xué)習(xí),解決通過軟件控制氣泵抓取的過程。總結(jié)本文從擺盤機(jī)的設(shè)計(jì)與搭建開始,在硬件選擇方面,本系統(tǒng)的主要構(gòu)造都是使用穩(wěn)定性好、性能優(yōu)良且低成本的步進(jìn)電機(jī)滑
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖北省黃石市2024年中考數(shù)學(xué)模擬考試試卷附答案
- 美容院顧客反饋收集與分析
- 科技園區(qū)企業(yè)創(chuàng)新能力歸類分析
- 高一化學(xué)二第一章第三節(jié)化學(xué)鍵練習(xí)
- 2024高中地理第3章區(qū)域自然資源綜合開發(fā)利用第1節(jié)第1課時(shí)資源開發(fā)條件能源基地建設(shè)學(xué)案新人教版必修3
- 2024高中物理第三章磁場課時(shí)25運(yùn)動(dòng)電荷在磁場中受到的力訓(xùn)練含解析新人教版選修3-1
- 2024高中語文第四單元?jiǎng)?chuàng)造形象詩文有別方山子傳訓(xùn)練含解析新人教版選修中國古代詩歌散文欣賞
- 2024高考化學(xué)一輪復(fù)習(xí)專練52實(shí)驗(yàn)綜合應(yīng)用一含解析新人教版
- 2024高考化學(xué)一輪復(fù)習(xí)第一部分考點(diǎn)38晶體結(jié)構(gòu)與性質(zhì)強(qiáng)化訓(xùn)練含解析
- 2024高考化學(xué)一輪復(fù)習(xí)課練29化學(xué)實(shí)驗(yàn)常用儀器和基本操作含解析
- 概率論在金融風(fēng)險(xiǎn)評(píng)估中的應(yīng)用研究
- 住院醫(yī)療互助給付申請(qǐng)書
- 外墻外保溫工程檢驗(yàn)批質(zhì)量驗(yàn)收記錄表
- 手機(jī)歸屬地表格
- GB/T 24479-2023火災(zāi)情況下的電梯特性
- 鼻空腸管的護(hù)理
- ICH Q3D元素雜質(zhì)指導(dǎo)原則
- 五年級(jí)解方程計(jì)算題100道
- 漢語教學(xué) 《成功之路+進(jìn)步篇+2》第16課課件
- GB/T 20028-2005硫化橡膠或熱塑性橡膠應(yīng)用阿累尼烏斯圖推算壽命和最高使用溫度
- 廣州新版四年級(jí)英語下冊(cè)-復(fù)習(xí)計(jì)劃
評(píng)論
0/150
提交評(píng)論