楊一通 王樹國 嚴(yán)衛(wèi)慶 張駿杰 趙 輝
(東北林業(yè)大學(xué),黑龍江哈爾濱150040)
3D驅(qū)動(dòng)在人們的生活中有著廣泛的應(yīng)用,最常見的3D驅(qū)動(dòng)裝置為“天車式”驅(qū)動(dòng)裝置[1],圖1為工程天車簡圖。工作平臺(tái)首先在兩根軌道梁上進(jìn)行x軸方向的運(yùn)動(dòng),其次進(jìn)行垂直于軌道梁的y軸方向的運(yùn)動(dòng),最后進(jìn)行z軸方向的運(yùn)動(dòng),從而實(shí)現(xiàn)3D驅(qū)動(dòng)?!疤燔囀健?D驅(qū)動(dòng)在吊裝、3D打印等眾多領(lǐng)域都有所應(yīng)用。
圖1 工程天車簡圖
“三角爪式”3D驅(qū)動(dòng)應(yīng)用在三角洲系列3D打印機(jī)等裝置中,如圖2所示。工作原理為三個(gè)步進(jìn)電機(jī)通過齒條帶帶動(dòng)三組滑車在三根立柱上進(jìn)行豎直運(yùn)動(dòng)。三組滑車分別通過三組連桿與工作平臺(tái)連接,從而實(shí)現(xiàn)對工作平臺(tái)的3D驅(qū)動(dòng)[2-3]。
本文所研究的繩索式3D驅(qū)動(dòng)裝置,以“三角爪式”3D驅(qū)動(dòng)裝置為基礎(chǔ),建立新的三角形框架結(jié)構(gòu),將帶動(dòng)平臺(tái)運(yùn)動(dòng)的連桿用繩索加以替換,通過對程序的重新改寫,進(jìn)而實(shí)現(xiàn)通過繩索對工作平臺(tái)進(jìn)行3D驅(qū)動(dòng)[4],形成結(jié)構(gòu)簡單、成本低、大范圍運(yùn)動(dòng)的3D平臺(tái)。
繩索式驅(qū)動(dòng)裝置包括機(jī)架、電路控制板、步進(jìn)電機(jī)三個(gè)、容繩機(jī)構(gòu)三組、滑輪三組、繩索三組、工作平臺(tái)一套,如圖3所示。三組步進(jìn)電機(jī)接收到程序信號(hào),分別帶動(dòng)各自的容繩機(jī)構(gòu),通過控制繩索的長度,對工作平臺(tái)進(jìn)行空間驅(qū)動(dòng)。電路控制板通過連接線與計(jì)算機(jī)相連接,通過在Cura[5]軟件輸入目標(biāo)圖形或路徑后運(yùn)行,便可帶動(dòng)工作平臺(tái)進(jìn)行3D驅(qū)動(dòng)。
圖2“三角爪式”3D打印機(jī)機(jī)架模型
圖3 裝置示意圖
裝置的電路控制板采用Arduino Mega 2560開發(fā)板[6],程序以3D打印機(jī)Marlin固件[7]為基礎(chǔ)重新進(jìn)行編譯。
首先,在空間直角坐標(biāo)系任取xOy平面上方三點(diǎn)A、B、C,連接AB、BC、AC,形成△ABC。將△ABC投影到xOy平面為△A1B1C1,A、B、C三點(diǎn)到xOy平面的距離分別為h1、h2、h3。
令BC、AC、AB邊長分別為a、b、c,B1C1、A1C1、A1B1邊長分別為a1、b1、c1,如圖4所示,則有關(guān)系:
圖4 空間坐標(biāo)關(guān)系示意圖
我們以△A1B1C1的外接圓的圓心為坐標(biāo)系原點(diǎn)O,以過圓心且平行于B1C1邊的射線作為坐標(biāo)系的x軸建立平面直角坐標(biāo)系,此坐標(biāo)系也為程序所用坐標(biāo)系。設(shè)B1C1與y軸的交點(diǎn)為P,如圖5所示。
圖5 平面坐標(biāo)關(guān)系示意圖
根據(jù)正弦定理及余弦定理,可以計(jì)算出外接圓的半徑R為:
根據(jù)坐標(biāo)系中的三角關(guān)系,有如下關(guān)系:
則在程序坐標(biāo)系下:A1坐標(biāo)為(Rsin α,Rcos α),B1坐標(biāo)為
在坐標(biāo)系的確立上,空間任意三角形定義到固件的主要參數(shù)為A、B、C三點(diǎn)到xOy平面的距離h1、h2、h3和△ABC的各邊長a、b、c,以及角1的正弦值sinα與角α的余弦值cosα,共計(jì)8個(gè)參數(shù)。
“三角爪式”3D打印機(jī)與其他打印機(jī)的區(qū)別在于“三角爪式”打印機(jī)的程序中有一個(gè)笛卡爾坐標(biāo)系的轉(zhuǎn)換函數(shù),該函數(shù)位于控制打印機(jī)運(yùn)動(dòng)的核心部分Process_commands()中。在Process_commands()中,主要含有g(shù)et_coordinates()和prepare_move()兩個(gè)子程序以及一個(gè)計(jì)算目的坐標(biāo)的程序段。
get_coordinates()的主要功能是獲取被控制點(diǎn)當(dāng)前所在位置的坐標(biāo),即當(dāng)前坐標(biāo)。計(jì)算目的坐標(biāo)的程序段是根據(jù)計(jì)算機(jī)所得到的指令計(jì)算出被控制點(diǎn)所要達(dá)到的下一點(diǎn)的位置坐標(biāo),即目的坐標(biāo)。prepare_move()的主要功能是根據(jù)獲得的目的坐標(biāo)和當(dāng)前坐標(biāo)控制步進(jìn)電機(jī)運(yùn)動(dòng)。而在子程序prepare_move()中含有子程序calculate_delta()和plan_buffer_line()。其中calculate_delta()是將被控制點(diǎn)的坐標(biāo)變化轉(zhuǎn)換為步進(jìn)電機(jī)的運(yùn)動(dòng)量,而plan_buffer_line()則根據(jù)calculate_delta()輸出的結(jié)果控制電機(jī)運(yùn)動(dòng)。對于Process_commands()的主體流程,可用如圖6所示流程圖表示。
圖6 主體程序流程圖
本驅(qū)動(dòng)裝置是將傳統(tǒng)的控制平臺(tái)運(yùn)動(dòng)的連桿改為柔性繩索。所以,若要完成該創(chuàng)新改造,除需要對硬件進(jìn)行改造外,還需進(jìn)行控制算法的重新編寫[8-10]。由于連桿結(jié)構(gòu)被改成了繩索,所以其空間位置坐標(biāo)改變量轉(zhuǎn)換為步進(jìn)電機(jī)運(yùn)動(dòng)量的方式發(fā)生了改變,這就要求我們對calculate_delta()的函數(shù)進(jìn)行重新編寫。
傳統(tǒng)的機(jī)構(gòu)是連桿傳動(dòng),其結(jié)構(gòu)關(guān)系如圖7所示,其中l(wèi)是連桿長度,為定長。
圖7 連桿式桿長關(guān)系
運(yùn)算關(guān)系為:
經(jīng)過理論分析和數(shù)學(xué)推理發(fā)現(xiàn),與電機(jī)和工作平臺(tái)相連的柔性繩索與被控制點(diǎn)滿足如圖8所示的關(guān)系。
其中總繩長l′為定值,分為步進(jìn)電機(jī)到滑輪的繩長l1′和滑輪到工作平臺(tái)的繩長l2′。
圖8 繩索式繩長關(guān)系
運(yùn)算關(guān)系為:
因l1的變化量即步進(jìn)電機(jī)的運(yùn)動(dòng)量,所以將calculate_delta()的輸出值定為l1,則plan_buffer_line()即可控制步進(jìn)電機(jī)根據(jù)指令運(yùn)動(dòng)。
運(yùn)動(dòng)關(guān)系程序語句如下:
delta[X_AXIS]=DELTA_STRING_LONG-sqrt(sq(DELTA_TOWER1_X-cartesian[X_AXIS])+sq(DELTA_TOWER1_Y-cartesian[Y_AXIS])+sq(DELTA_TOWER_Z-cartesian[Z_AXIS]));
delta[Y_AXIS]=DELTA_STRING_LONG-sqrt(sq(DELTA_TOWER2_X-cartesian[X_AXIS])+sq(DELTA_TOWER2_Y-cartesian[Y_AXIS])+sq(DELTA_TOWER_Z-cartesian[Z_AXIS]));
delta[Z_AXIS]=DELTA_STRING_LONG-sqrt(sq(DELTA_TOWER3_X-cartesian[X_AXIS])+sq(DELTA_TOWER3_Y-cartesian[Y_AXIS])+sq(DELTA_TOWER_Z-cartesian[Z_AXIS]))
實(shí)驗(yàn)裝置是在等邊三角形機(jī)架的基礎(chǔ)上建立的,建立好的裝置如圖9所示。應(yīng)用Cura軟件分別進(jìn)行了圓環(huán)(半徑為6 mm)和直線打印工作,記錄方式采用工作平臺(tái)搭載激光筆,對工作過程進(jìn)行視頻錄制,將激光筆走過的軌跡在坐標(biāo)紙上描繪,把相應(yīng)的點(diǎn)輸入到Matlab軟件中擬合成圓和直線,如圖10和圖11所示,并存有相應(yīng)部分的視頻文件。
圖9 裝置實(shí)物圖
圖10 圓的擬合圖
圖11 直線擬合圖
通過圖中這兩組具有代表性的數(shù)據(jù)可以看出,運(yùn)動(dòng)軌跡較為圓滑平穩(wěn)。在打印頭從初始位置降落到打印平臺(tái)的過程中,由于振動(dòng)較大,導(dǎo)致前面的幾個(gè)點(diǎn)誤差有較大波動(dòng)。終止點(diǎn)由于慣性的作用,也有較大的誤差。總體誤差為毫米級。
通過本文可以得出以下結(jié)論:繩索式3D驅(qū)動(dòng)裝置可以實(shí)現(xiàn)對工作平臺(tái)的3D驅(qū)動(dòng)。裝置可根據(jù)現(xiàn)場情況,將電機(jī)安置于建筑物或者其他穩(wěn)固物體上。工作臺(tái)可根據(jù)工作需要,搭載不同的機(jī)械裝置(例如打印噴頭、機(jī)械手臂、電磁鐵、搜尋裝置等)進(jìn)行3D打印、智能分揀、搬運(yùn)以及搜尋工作。相比于傳統(tǒng)的固定式工作臺(tái)有靈活性高、適應(yīng)性強(qiáng)、可用范圍廣以及成本低等特點(diǎn),可大幅度降低勞動(dòng)成本,提高勞動(dòng)效率。