基于STM32擺盤機的研究_第1頁
基于STM32擺盤機的研究_第2頁
基于STM32擺盤機的研究_第3頁
基于STM32擺盤機的研究_第4頁
基于STM32擺盤機的研究_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

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

溫馨提示

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

最新文檔

評論

0/150

提交評論