教你如何設(shè)計(jì)一個(gè)直角坐標(biāo)機(jī)器人來繪圖

? ? ? ?這個(gè)機(jī)器人,是一種繪圖機(jī)器人,我們把它叫做直角坐標(biāo)機(jī)器人。簡單來說就是一支懸掛著的筆,通過控制它做有規(guī)律的機(jī)器運(yùn)動(dòng),就可以像繪圖儀一樣畫出圖來。它不太會(huì)像我們?nèi)祟愡@樣去畫畫,我們也很難像它那樣去畫畫。

? ? ? ?下面我們來講一下這個(gè)直角坐標(biāo)繪圖機(jī)器人是怎樣做成的。

一、直角坐標(biāo)機(jī)械臂繪圖設(shè)計(jì)思路
? ? ? ?三軸繪圖儀即通過X, Y, Z三軸的步進(jìn)電機(jī)協(xié)調(diào)控制繪圖筆來進(jìn)行圖形的繪制。通過上位機(jī)(PC)來發(fā)送gcode代碼,下位機(jī)(繪圖儀)通過對接收到的gcode坐標(biāo)代碼進(jìn)行解析并通過插補(bǔ)算法來控制各個(gè)軸的步進(jìn)電機(jī)的步進(jìn)進(jìn)行圖形繪制。
? ? ? ?【小知識-插補(bǔ)算法:先建立一個(gè)平面坐標(biāo)系,將我們所需要畫的圖形放置在該坐標(biāo)系中,這樣就可以確定該圖形每個(gè)頂點(diǎn)的坐標(biāo),兩個(gè)相鄰的頂點(diǎn)之間確定一條直線,直線上各點(diǎn)坐標(biāo)通過插補(bǔ)計(jì)算得到,然后畫筆依次沿著這些坐標(biāo)進(jìn)行移動(dòng),完成繪制?!?/p>
二、直角坐標(biāo)系機(jī)械臂繪圖大致流程
? ? ? ?第一步:導(dǎo)入圖片,利用 Inkscape軟件導(dǎo)出gcode文件;
? ? ? ?第二步:經(jīng)processing軟件處理后得出圖像坐標(biāo);
? ? ? ?第三步:三軸繪圖儀開始繪制圖像。


一、直角坐標(biāo)機(jī)械臂機(jī)械系統(tǒng)
? ? ? ?該項(xiàng)目利用探索者平臺制作。其傳動(dòng)系統(tǒng)為3個(gè)步進(jìn)電機(jī)驅(qū)動(dòng)的單軸傳動(dòng)(同步帶傳動(dòng)結(jié)構(gòu)將圓周轉(zhuǎn)動(dòng)轉(zhuǎn)化為直線運(yùn)動(dòng),通過三個(gè)單軸運(yùn)動(dòng)的相互配合,從而可以達(dá)到搬運(yùn)或書寫的目的);驅(qū)動(dòng)系統(tǒng)采用精度較高的42步進(jìn)電機(jī);執(zhí)行末端為筆架和筆(三個(gè)方向的驅(qū)動(dòng)同時(shí)輸出到筆支架,控制筆支架在笛卡爾坐標(biāo)系的三維空間內(nèi)運(yùn)動(dòng))。

二、直角坐標(biāo)機(jī)械臂運(yùn)動(dòng)學(xué)算法
? ? ? ?這里給大家介紹一種直角坐標(biāo)機(jī)械臂的運(yùn)動(dòng)軌跡解法,通過控制電機(jī)的轉(zhuǎn)動(dòng)參數(shù),最終求解出筆和筆架運(yùn)動(dòng)軌跡規(guī)律。

? ? ? ?技術(shù)原理(直角坐標(biāo)系繪制圖形):
? ? ? ?① 建立直角坐標(biāo)系
? ? ? ?② 確定繪制圖形在坐標(biāo)系中的點(diǎn)坐標(biāo)
? ? ? ?③ 通過插補(bǔ)計(jì)算得出斜線上各點(diǎn)坐標(biāo)
? ? ? ?④ 沿著計(jì)算出的點(diǎn)坐標(biāo)進(jìn)行移動(dòng)

三、直角坐標(biāo)機(jī)械臂組裝
? ? ? ?將直角坐標(biāo)機(jī)械臂傳動(dòng)部分進(jìn)行拆分組裝?!驹敿?xì)的組裝步驟圖可加QQ交流群:221964861進(jìn)行獲取】


一、主要使用的電子硬件
? ? ? ?MCU-F4主控板(基于STM32F407設(shè)計(jì))、SH-F4ST綜合擴(kuò)展板(包含步進(jìn)電機(jī)驅(qū)動(dòng)電路)、觸碰傳感器(直線模塊限位用)、11.1v動(dòng)力電池(電源)【備注:大家也可以考慮使用Arduino控制板】

二、電路連接
? ? ? ?如下圖所示進(jìn)行編號,其中 X、Y、Z 分別接對應(yīng)的步進(jìn)電機(jī);K1、k2、 k3 分別接對應(yīng)的傳感器。

? ? ? ?與主控板對應(yīng)接口如下所示:


一、控制示例
? ? ? ?下圖中main.c文件為主程序;串口接收坐標(biāo)的程序見usart.c文件。燒錄程序,完成后打開電源,繪圖儀各軸步進(jìn)電機(jī)將進(jìn)行復(fù)位,復(fù)位完成后,繪圖筆將到達(dá)繪圖區(qū)域中心,繪圖儀繪圖面積為80*80mm;此時(shí)三軸繪圖儀進(jìn)入接收上位機(jī)指令狀態(tài)?!就暾某绦蛟创a可加QQ交流群:221964861進(jìn)行獲取】

二、生成文字gcode文件












三、打開processing軟件
? ? ? ?①?導(dǎo)入gcode文件-打開processing.exe來啟動(dòng) Processing 軟件,啟動(dòng)后打開gctrl.pde文件。

? ? ? ?②?導(dǎo)入gcode文件-點(diǎn)擊運(yùn)行,彈出如下的窗口?!局饕钊缦?,p:用來選擇端口號;g:選擇gcode文件;x: 停止gcode流】

? ? ? ?③?導(dǎo)入gcode文件-按下鍵盤上的 p : 彈出下圖界面選擇端口號,選擇端口號,等待繪圖儀復(fù)位完畢?!咀⒁猓赫埓_保輸入法是英文狀態(tài)】

? ? ? ?④?導(dǎo)入gcode文件-按鍵盤 g 鍵,選擇生成的 gcode文件,點(diǎn)擊確定; 這時(shí)在結(jié)果區(qū)顯示發(fā)送的坐標(biāo)?!咀⒁猓赫埓_保輸入法是英文狀態(tài)】

四、效果演示

