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

【E1277】自己設計的超迷你寫字機器人

2021-09-23 16:21:04      索煒達電子      1224     

項目編號:E1277

文件大小:9M

源碼說明:帶中文注釋

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

簡要概述:

一個自己設計的超迷你寫字機器人,軟件、電路、結構完全開源。

【E1277】自己設計的超迷你寫字機器人

關于機械臂

那么CoreXY結構是什么東西呢?

首先我們來了解一下目前比較流行的機械臂結構有哪些:

最經(jīng)典的XYZ結構

【E1277】自己設計的超迷你寫字機器人

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

XYZ結構的好處就結構非常簡單,控制也很簡單,由于三個方向上的運動都是解耦的(一個方向的運動不會影響到另一個方向),而且相對來說由于是純線性驅動,其運動精度會比較容易控制。

DELTA結構

【E1277】自己設計的超迷你寫字機器人

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

圓柱結構

【E1277】自己設計的超迷你寫字機器人

提到XYZ大家首先想到的是笛卡爾坐標系,然而我們在中學的時候就學過另一種坐標系叫極坐標系,也就是用一個角度和一個長度就可以表征平面內一個點的坐標,而且其跟XY坐標的轉換也很方便。那么講極坐標系再加上一個Z軸的直線運動,就得到了這樣的圓柱結構機械臂。這類機械臂在實際應用中見到的比較少,因為同為極坐標結構,下面這種SCARA結構有著更“擬人”的效果。

SCARA結構

【E1277】自己設計的超迷你寫字機器人

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

CoreXY結構

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

【E1277】自己設計的超迷你寫字機器人

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

【E1277】自己設計的超迷你寫字機器人

電路設計篇

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

固件篇

直接移植了Arduino上面很成熟的grbl固件到STM32上,參數(shù)都已經(jīng)設置好了,也把坐標轉換函數(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

    ├ 結構

    │  └ 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寫字機器人
  • 5 次
  • 20 分