古人智慧

Just Do it!
上士聞道,勤而行之;中士聞道,若存若亡;下士聞道,大笑之。不笑,不足以爲道。
~ 道德經 41

搜尋此網誌

Translation

2015年12月25日 星期五

Spider Robot open source心得

心中糾結好一段時間,Spider Robot是自己犧牲假日與休息時間一點一滴弄出來的作品,全公開?!!

開發Spider過程中使用的工具與設計都是Open source & Freeware,例如SketchUp、Cura、Prusa i3、Arduino、OpenSCAD、PyCharmCE等等,這也偉大開發者的心血。他們能做到,為何我不能?

當Spider初次亮相時,很多同好開始詢問取得設計的期望,這也讓我感受到對作品有極大的興趣,這也是驅動open的動力之一。

台灣下一代教育

觀察台灣教育,只能以“慘不忍睹”來形容~
小孩子只會用眼睛看書,拼命補習,然後應付考試,一堆不會唸書的小孩也進大學,然後翹課或在課堂上睡覺,學校招不到學生也就不敢執行嚴格的“當”~惡性循環~

大學時期,這精華時間混了4年,社會與企業招不到員工,動能緩下來,整個環境都緩下來,整個學生都浪費生命在補習與打混,這國家社會有可能進步? 真的好可怕!

很難想像台灣的未來!
口喊著“Maker DIY”,有用嗎?

DIY理念

有不少同好會覺得我為何用一些奇奇怪怪的材料應用在作品上,明明有的零件或材料還要自己DIY,認為有點像苦行憎的做法,甚至認為很辛苦或stupid。

是的,我最初衷的想法很簡單~
如果用最普通的零件或剩餘、過期的材料,可以把作品做出某程度的效果,那才是真正有成就感。

或許買貴一點、穩一點、小一點、速度快一點等等,可以讓作品更有效果與競爭力,但這些並不是我的選項。

個人認為,很多技術不論怎麼發展,其原理是相通的,如果可以從源頭了解更多,那發展出不同想法也不錯。而且,在這過程中,我體會到以前在工作或學習的時期並沒有注意到一些細節,這讓我更開心!!!

DIY的精神不僅僅只是把作品做出來,過程中解決問題的方法與態度才是真正的精髓!!

Anyway,我這就是奇怪的Maker~~~

Cyclone-PCB-Factory- PCB雕刻机[5/18] ﹣home sensor config and test

Homing的流程是很有趣的部份,GRBL提供了很方便的設定模式,直接在firmware設定:
在console的模式,透過uart直接下command,細節參考[這裡]

設定方法與流程:
1. 確定stop sensor:一般的機械式微動開關,$5=0,如果用IR紅外線sensor,設定$5=1
2. 打開homing cycle,$22=1

2015年12月20日 星期日

Cyclone-PCB-Factory- PCB雕刻机[4/18] ﹣make the print parts

Cyclone-PCB-Factory v2.2 下載 https://github.com/carlosgs/Cyclone-PCB-Factory/archive/v2.2.zip
本來以為直接下載STL來打印就可以搞定,結果印了幾個齒輪,發現齒輪的軸心孔和螺絲孔tolerance好大,check the file - configs/Default_config.h and found
// --- Tolerances ---
Y_threaded_rod_Tolerance = 0.5;
Y_linearBearing_pressureFitTolerance = 0.5;
PCB_holder_tolerance = 1;
axes_Xsmooth_separation_tolerance = 0.5;
X_threaded_rod_Tolerance = 0.5;
Z_linearBearingHole_tolerance = 0.25;
Z_radialBearingHole_tolerance = 0.25;
LinearBearingPressureFitTolerance = 0.4;
screwHoleTolerance = 0.4;
Z_threaded_rod_Tolerance = 0.5;

2015年12月18日 星期五

Cyclone-PCB-Factory- PCB雕刻机[3/18] ﹣Config GRBL

間隔了好一陣子沒進度了,正職有些事讓人煩心~
這段期間研究GBRL的source code,也越來越清楚如何“客製”這些GPIO pins。
因為PCB-CNCv1.0的layout做了些改變,必須修改Grbl的pin define。

 cpu_map_atmega328p.h:


#define X_STEP_BIT      3  // Uno Digital Pin 3
#define Y_STEP_BIT      4  // Uno Digital Pin 4
#define Z_STEP_BIT      6  // Uno Digital Pin 6
#define X_DIRECTION_BIT   2  // Uno Digital Pin 2
#define Y_DIRECTION_BIT   5  // Uno Digital Pin 5
#define Z_DIRECTION_BIT   7  // Uno Digital Pin 7
#define X_LIMIT_BIT      4  // Uno Digital Pin 12
#define Y_LIMIT_BIT      3  // Uno Digital Pin 11
#define Z_LIMIT_BIT      1  // Uno Digital Pin 9
//Regis
// Define probe switch input pin.
#define PROBE_DDR       DDRB
#define PROBE_PIN       PINB
#define PROBE_PORT      PORTB
#define PROBE_BIT       2  // Uno Digital Pin 10

在Auto probe的部份,我搞了好久才搞懂如何與bCNC做自動測距!我一直以為是Z軸的pin,原來還有一根probe來設定。
參考這篇:Connecting Grbl
https://github.com/grbl/grbl/wiki/Connecting-Grbl
然後,設定X/Y/Z軸的 步進數(步數/mm)
公式:步進數 = 360/步距角/螺距 x A4988微步細分 x 齒輪減速比

42步進電機:
步距角:1.8°
M8螺距:1.25mm
A4988: 16 step
X/Y軸 步進數 = 360/1.8/1.25 x 16 x (21/21) = 2560
Z軸 步進數 = 360/1.8/1.25 x 16 x (15/8) = 4800
有兩種方法:
修改defaults_generic.h
  #define DEFAULT_X_STEPS_PER_MM 2560
  #define DEFAULT_Y_STEPS_PER_MM 2560
  #define DEFAULT_Z_STEPS_PER_MM 4800
或者透過UART直接在GRBL firmware內設定:
  $100=2560
  $101=2560
  $102=4800
更多command參考:https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.9

全部設定:

$0=4 (step pulse, usec)
$1=25 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=3 (dir port invert mask:00000011)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.010 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=1 (soft limits, bool)
$21=0 (hard limits, bool)
$22=1 (homing cycle, bool)
$23=3 (homing dir invert mask:00000011)
$24=30.000 (homing feed, mm/min)
$25=400.000 (homing seek, mm/min)
$26=25 (homing debounce, msec)
$27=1.500 (homing pull-off, mm)
$100=2560.000 (x, step/mm)
$101=2560.000 (y, step/mm)
$102=4800.000 (z, step/mm)
$110=400.000 (x max rate, mm/min)
$111=400.000 (y max rate, mm/min)
$112=400.000 (z max rate, mm/min)
$120=5.000 (x accel, mm/sec^2)
$121=5.000 (y accel, mm/sec^2)
$122=10.000 (z accel, mm/sec^2)
$130=160.000 (x max travel, mm)
$131=100.000 (y max travel, mm)
$132=33.000 (z max travel, mm)


現在PCB與firmware都差不多設定完成,列印件是個挑戰了,因為每一件都很大件,打印時間都要好幾個小時,尤其是X軸的frame,左右兩邊各自要6個多小時啊!!!!