欧美日韩欧美,女人和拘做受大片免费看,麻花豆传媒剧国产mv免费版特色,欧美成人精品高清在线观看,麻豆产精国品一二三产区区

【E1277】自己設(shè)計(jì)的超迷你寫(xiě)字機(jī)器人

2021-09-23 16:21:04      索煒達(dá)電子      1280     

項(xiàng)目編號(hào):E1277

文件大?。?M

源碼說(shuō)明:帶中文注釋

開(kāi)發(fā)環(huán)境:C編譯器

簡(jiǎn)要概述:

一個(gè)自己設(shè)計(jì)的超迷你寫(xiě)字機(jī)器人,軟件、電路、結(jié)構(gòu)完全開(kāi)源。

【E1277】自己設(shè)計(jì)的超迷你寫(xiě)字機(jī)器人

關(guān)于機(jī)械臂

那么CoreXY結(jié)構(gòu)是什么東西呢?

首先我們來(lái)了解一下目前比較流行的機(jī)械臂結(jié)構(gòu)有哪些:

最經(jīng)典的XYZ結(jié)構(gòu)

【E1277】自己設(shè)計(jì)的超迷你寫(xiě)字機(jī)器人

這一類結(jié)構(gòu)大家應(yīng)該一眼就能看明白是怎么回事,簡(jiǎn)單說(shuō)就是在X、Y、Z三個(gè)方向上都是獨(dú)立的直線運(yùn)動(dòng),雖然形式有多種比如圖中的第一種被稱作龍門式,一般在雕刻機(jī)領(lǐng)域用的很多;而第二種在比較追求小型化的3D打印機(jī)上經(jīng)??梢钥吹狡渖碛?。

XYZ結(jié)構(gòu)的好處就結(jié)構(gòu)非常簡(jiǎn)單,控制也很簡(jiǎn)單,由于三個(gè)方向上的運(yùn)動(dòng)都是解耦的(一個(gè)方向的運(yùn)動(dòng)不會(huì)影響到另一個(gè)方向),而且相對(duì)來(lái)說(shuō)由于是純線性驅(qū)動(dòng),其運(yùn)動(dòng)精度會(huì)比較容易控制。

DELTA結(jié)構(gòu)

【E1277】自己設(shè)計(jì)的超迷你寫(xiě)字機(jī)器人

由于我們身處三維空間,因此來(lái)說(shuō)只要是三個(gè)線性獨(dú)立的向量都可以用來(lái)表征空間中一個(gè)唯一的坐標(biāo),對(duì)應(yīng)于機(jī)械臂中,就是說(shuō)只要我有三個(gè)可以精確驅(qū)動(dòng)控制的電機(jī),我就可以玩出各種花樣讓一個(gè)機(jī)械臂精確地運(yùn)動(dòng)到某一點(diǎn)。在XYZ結(jié)構(gòu)中,X、Y、Z三個(gè)電機(jī)的地位并不是對(duì)等的,而DELTA結(jié)構(gòu)則以一種很巧妙的方式完全對(duì)稱地放置三個(gè)電機(jī),如上圖所示。通過(guò)三根連桿兩端一共六個(gè)萬(wàn)向關(guān)節(jié)的約束,DELTA機(jī)械臂的末端可以運(yùn)動(dòng)到三維空間中的任意一點(diǎn)(在行程范圍內(nèi),且行程空間并不是和XYZ結(jié)構(gòu)一樣的一個(gè)立方體),這種結(jié)構(gòu)的好處就是非常的炫酷,哈哈,其實(shí)幾年前個(gè)人最早決定設(shè)計(jì)自己的3D打印機(jī)的時(shí)候,就對(duì)DELTA結(jié)構(gòu)非常的熱衷~由于杠桿效應(yīng),一般來(lái)說(shuō)這類機(jī)械臂的運(yùn)行速度都要比XYZ要快一些,同時(shí)由于非線性控制坐標(biāo)解算需要消耗更多的計(jì)算資源,有興趣的同學(xué)可以去了解一下DELTA結(jié)構(gòu)到XYZ坐標(biāo)的解算公式推導(dǎo)過(guò)程。

圓柱結(jié)構(gòu)

【E1277】自己設(shè)計(jì)的超迷你寫(xiě)字機(jī)器人

提到XYZ大家首先想到的是笛卡爾坐標(biāo)系,然而我們?cè)谥袑W(xué)的時(shí)候就學(xué)過(guò)另一種坐標(biāo)系叫極坐標(biāo)系,也就是用一個(gè)角度和一個(gè)長(zhǎng)度就可以表征平面內(nèi)一個(gè)點(diǎn)的坐標(biāo),而且其跟XY坐標(biāo)的轉(zhuǎn)換也很方便。那么講極坐標(biāo)系再加上一個(gè)Z軸的直線運(yùn)動(dòng),就得到了這樣的圓柱結(jié)構(gòu)機(jī)械臂。這類機(jī)械臂在實(shí)際應(yīng)用中見(jiàn)到的比較少,因?yàn)橥瑸闃O坐標(biāo)結(jié)構(gòu),下面這種SCARA結(jié)構(gòu)有著更“擬人”的效果。

SCARA結(jié)構(gòu)

【E1277】自己設(shè)計(jì)的超迷你寫(xiě)字機(jī)器人

這一類機(jī)械臂的結(jié)構(gòu)非常像人類手臂(雖然自由度差了很多,人手臂應(yīng)該是7個(gè)自由度),優(yōu)點(diǎn)很明顯就是節(jié)省空間,缺點(diǎn)也很明顯,由于遠(yuǎn)端的誤差放大作用,對(duì)于電機(jī)角度控制的精度要求非常高,電機(jī)的一點(diǎn)點(diǎn)抖動(dòng)傳遞到末端都可能造成很大的誤差,因此在工業(yè)機(jī)械臂中,這類機(jī)械臂一般都是使用傳動(dòng)誤差極小的諧波減速器。

CoreXY結(jié)構(gòu)

其實(shí)關(guān)于機(jī)械臂的結(jié)構(gòu)還有各種各樣,結(jié)構(gòu)設(shè)計(jì)師們的腦洞實(shí)在是讓人嘆為觀止,有興趣的小伙伴可以去google一下國(guó)外的各種3D打印機(jī)作品,非常的有意思。這里只最后介紹一下X-Bot中采用的CoreXY結(jié)構(gòu)。

【E1277】自己設(shè)計(jì)的超迷你寫(xiě)字機(jī)器人

與傳統(tǒng)XY結(jié)構(gòu)不同,CoreXY是一種僅使用一根同步帶就可以控制末端在XY兩個(gè)方向運(yùn)動(dòng)的結(jié)構(gòu),非常巧妙;但是和絕大多數(shù)其他結(jié)構(gòu)一樣,CoreXY這種結(jié)構(gòu)也會(huì)有電機(jī)和限位開(kāi)關(guān)分散分布,電路連接走線比較麻煩的缺點(diǎn);于是在其基礎(chǔ)上,X-Bot改變了電機(jī)放置的位置,將其由兩邊放置改為中央放置,所有的電路板和電機(jī)集中布置,結(jié)構(gòu)更緊湊。

【E1277】自己設(shè)計(jì)的超迷你寫(xiě)字機(jī)器人

電路設(shè)計(jì)篇

電路很簡(jiǎn)單就是一個(gè)STM32的最小系統(tǒng),電機(jī)驅(qū)動(dòng)直接使用了一體式的驅(qū)動(dòng)器,可以tb搜索一下有很多。藍(lán)牙模塊使用的是HC-05,12V供電就行。

固件篇

直接移植了Arduino上面很成熟的grbl固件到STM32上,參數(shù)都已經(jīng)設(shè)置好了,也把坐標(biāo)轉(zhuǎn)換函數(shù)從XY改為了CoreXY,keil直接燒錄就能用了。

目錄│文件列表:

 │ 不繞彎路,獲取海量資源.jpg

 └ X-Bot

    ├ img

    │  │ d374749f24ebf250633a0846977658046e3ca9da.jpg@518w_1e_1c.jpg

    │  │ xbot1-1573103168406.jpg

    │  │ xbot1.jpg

    │  │ xbot2.jpg

    │  │ xbot3.jpg

    │  │ xbot4.jpg

    │  │ xbot5.jpg

    │  │ xbot6.png

    │  │ xbot7.jpg

    │  └ xbot8.jpg

    ├ 電路

    │  └ X-Bot控制板

    │     │ X-Bot.PcbDoc

    │     │ X-Bot.PrjPCB

    │     │ X-Bot.SchDoc

    │     └ __Previews

    │        │ Shield.SchDocPreview

    │        └ X-Bot.SchDocPreview

    ├ 結(jié)構(gòu)

    │  └ 18-9-7 倒角加工版.stp

    └ 軟件

       └ X-Bot Firmware

          │ keilkilll.bat

          │ README.txt

          ├ CORE

          │  │ core_cm3.c

          │  │ core_cm3.h

          │  │ startup_stm32f10x_cl.s

          │  │ startup_stm32f10x_hd.s

          │  │ startup_stm32f10x_hd_vl.s

          │  │ startup_stm32f10x_ld.s

          │  │ startup_stm32f10x_ld_vl.s

          │  │ startup_stm32f10x_md.s

          │  │ startup_stm32f10x_md_vl.s

          │  └ startup_stm32f10x_xl.s

          ├ GRBL_0.9j

          │  │ config.h

          │  │ coolant_control.c

          │  │ coolant_control.h

          │  │ cpu_map.h

          │  │ defaults.h

          │  │ eeprom.c

          │  │ eeprom.h

          │  │ gcode.c

          │  │ gcode.h

          │  │ grbl.h

          │  │ limits.c

          │  │ limits.h

          │  │ main.txt

          │  │ motion_control.c

          │  │ motion_control.h

          │  │ nuts_bolts.c

          │  │ nuts_bolts.h

          │  │ planner.c

          │  │ planner.h

          │  │ print.c

          │  │ print.h

          │  │ probe.c

          │  │ probe.h

          │  │ protocol.c

          │  │ protocol.h

          │  │ report.c

          │  │ report.h

          │  │ serial.c

          │  │ serial.h

          │  │ settings.c

          │  │ settings.h

          │  │ spindle_control.c

          │  │ spindle_control.h

          │  │ stepper.c

          │  │ stepper.h

          │  │ system.c

          │  │ system.h

          │  ├ cpu_map

          │  │  │ cpu_map_atmega2560.h

          │  │  │ cpu_map_atmega328p.h

          │  │  └ cpu_map_stm32f10x.h

          │  └ defaults

          │     │ defaults_generic.h

          │     │ defaults_oxcnc.h

          │     │ defaults_shapeoko.h

          │     │ defaults_shapeoko2.h

          │     │ defaults_shapeoko3.h

          │     │ defaults_sherline.h

          │     │ defaults_simulator.h

          │     │ defaults_x_carve_1000mm.h

          │     │ defaults_x_carve_500mm.h

          │     └ defaults_zen_toolworks_7x7.h

          ├ HARDWARE

          │  │ Hardware.h

          │  │ HW_EEPROM.c

          │  │ HW_EEPROM.h

          │  │ HW_EXTI.c

          │  │ HW_EXTI.h

          │  │ HW_GPIO.c

          │  │ HW_GPIO.h

          │  │ HW_PWM.c

          │  │ HW_PWM.h

          │  │ HW_TIM.c

          │  │ HW_TIM.h

          │  │ HW_USART.c

          │  └ HW_USART.h

          ├ STM32F10x_FWLib

          │  ├ inc

          │  │  │ misc.h

          │  │  │ stm32f10x_adc.h

          │  │  │ stm32f10x_bkp.h

          │  │  │ stm32f10x_can.h

          │  │  │ stm32f10x_cec.h

          │  │  │ stm32f10x_crc.h

          │  │  │ stm32f10x_dac.h

          │  │  │ stm32f10x_dbgmcu.h

          │  │  │ stm32f10x_dma.h

          │  │  │ stm32f10x_exti.h

          │  │  │ stm32f10x_flash.h

          │  │  │ stm32f10x_fsmc.h

          │  │  │ stm32f10x_gpio.h

          │  │  │ stm32f10x_i2c.h

          │  │  │ stm32f10x_iwdg.h

          │  │  │ stm32f10x_pwr.h

          │  │  │ stm32f10x_rcc.h

          │  │  │ stm32f10x_rtc.h

          │  │  │ stm32f10x_sdio.h

          │  │  │ stm32f10x_spi.h

          │  │  │ stm32f10x_tim.h

          │  │  │ stm32f10x_usart.h

          │  │  └ stm32f10x_wwdg.h

          │  └ src

          │     │ misc.c

          │     │ stm32f10x_adc.c

          │     │ stm32f10x_bkp.c

          │     │ stm32f10x_can.c

          │     │ stm32f10x_cec.c

          │     │ stm32f10x_crc.c

          │     │ stm32f10x_dac.c

          │     │ stm32f10x_dbgmcu.c

          │     │ stm32f10x_dma.c

          │     │ stm32f10x_exti.c

          │     │ stm32f10x_flash.c

          │     │ stm32f10x_fsmc.c

          │     │ stm32f10x_gpio.c

          │     │ stm32f10x_i2c.c

          │     │ stm32f10x_iwdg.c

          │     │ stm32f10x_pwr.c

          │     │ stm32f10x_rcc.c

          │     │ stm32f10x_rtc.c

          │     │ stm32f10x_sdio.c

          │     │ stm32f10x_spi.c

          │     │ stm32f10x_tim.c

          │     │ stm32f10x_usart.c

          │     └ stm32f10x_wwdg.c

          ├ SYSTEM

          │  │ bit.c

          │  │ bit.h

          │  │ delay.c

          │  │ delay.h

          │  │ simui2c.c

          │  │ simui2c.h

          │  │ simuspi.c

          │  │ simuspi.h

          │  │ strprintf.c

          │  │ strprintf.h

          │  │ sys.c

          │  └ sys.h

          ├ USER

          │  │ main.c

          │  │ project_include.h

          │  │ stm32f10x.h

          │  │ stm32f10x_conf.h

          │  │ stm32f10x_it.c

          │  │ stm32f10x_it.h

          │  │ system_stm32f10x.c

          │  └ system_stm32f10x.h

          └ _project

             │ JLink Regs CM3.txt

             │ JLinkSettings.ini

             │ Template.uvgui.MaxwellXyao

             │ Template.uvguix.Pengzhihui

             │ Template.uvopt

             │ Template.uvoptx

             │ Template.uvproj.saved_uv4

             │ Template.uvprojx

             ├ DebugConfig

             │  └ STM32_STM32F103C8.dbgconf

             ├ _list

             │  └ startup_stm32f10x_md.lst

             └ _obj

                │ Template.hex

                └ Template.lnp

TAG寫(xiě)字機(jī)器人
  • 5 次
  • 20 分