Prusa i3 自動調平設定—Marlin 設定與校正

先瞧下個人所錄製關於使用電感式近接開關的自動調平影片。

關於硬體與電路安裝部分,已於:Prusa i3 自動調平設定—硬體與電路部分 一文分享。

從硬體、電路至 Marlin 設定,國外這一篇文章寫得甚好:Enable Auto Leveling for your 3D Printer with an inductive sensor (Marlin Firmware)

Marlin 設定

關於 Marlin 韌體 (firmware)的版本,這裡我是採用國內先進熱心所修改之繁體中文版 Marlin-1.1.0-RC8 (繁體中文+雷射控制顯示)。當然要先在 PC 上安裝 Arduino IDE (我都是下載最新版本使用),並連接 USB 線至 3D印表機,然後編輯修改 Marlin 設定後再上傳至 Arduino Mega 2560 + RAMPS1.4 主板上。

基本安裝與簡單設定可參考:Arduino IDE 1.0.6 安裝使用 及 Marlin Configuration.h 預覽;關於 Marlin 的設定說明,可參考:Marlin 固件的配置說明

這裡我只針對個人關於自動調平設定的摘記。

閱讀全文 »

Prusa i3 組裝簡單分享與記錄—電路安裝部分

3D 印表機的大腦就是電路控制主板。絕大部分開源的機種,係以同是開源硬體 Arduino Mega 2560 + Ramps 1.4 (Shield)作為控制板。而燒入韌體的開源軟體則主要為 Marlin,它就是 3D列印時的核心系統。

A4988 驅動器共四個,分別控制 X,Y,Z (兩個電機馬達並聯),E (擠出機)軸電機馬達。這裡大概就是注意下 A4988 的驅動電流調整,不過我是買整組套件,所以也沒特別注意電流,裝上就可以直接用了。

電路說安裝是很容易,但只要有一個地方插錯位置,很容易就會冒煙燒壞某些元件。截至現在我已經燒掉過一個 Mosfet 管、AMS1117 穩壓 IC,這些手殘的經驗後續會另文分享之。
Prusa i3 3D 印表機

閱讀全文 »

Maker 的利器-初探 3D 印表機

兩年多前就已約略認識 3D 印表機的應用,不過我一直沒啥興趣敗入,原因太貴與太慢!打算過幾年較為普及後再說。

不過日前有個想法,想要趁年底前 DIY 製作一台利用樹莓派 (raspberry pi) 為電玩主機的 10吋框體 (Cabinet),或者5吋的遊戲掌機 (另外我也想製作一些發想應用軟硬體的作品)。對我而言,最大的挑戰不在如何線材連接或系統設定之類的;而是在於製作外殼、組成框體的面板等。

關於掌機的外殼或電玩主機的框體組成材質,最為普遍的約有兩種:壓克力與木板。

壓克力的裁切簡單些的利用專用的裁切刀,但那相當辛苦且切割效果不佳;講究些的就是利用 CNC (Computer Numerical Control) 雷射切割,但這可不是一般 Maker 能負擔的起的,雷切/雷雕機動輒要價10數萬以上起跳,所以只能委託代切,但零散的料件一般店家意願不大且價格也不太便宜。

木板材質的裁切就相當簡單許多,簡單些的用手工鋸子,講究些的當然就要準備如線鋸機等。不過切割木板要注意木屑,最好能有個工作室,且有許多木工相關工具可用,那就會是相當棒的 DIY 工作環境了。

另外一種方式,尤其是製作小體積的掌機外殼,更是受到 Maker 的青睞,那就是利用 3D 印表機!可以參考底下影片:Ben Heck's Raspberry Pi MAME Portable Part 2 (4:52秒左右開始介紹3D圖檔的設計,然後3D印表機的列印)。

耶?!對喔,乾脆我來組台 3D印表機好了。利用上星期颱風連假期間,一整個專心爬文,多了解下關於3D印表機的資訊。這一看可是欲罷不能,敗家慾望又頓時興起。擁有屬於自己的 3D 印表機,就可以隨時列印一些自己設計的小部件甚或公仔如Q版粉圓 (我的玄鳳鳥寶)等,也可以作為設計產品時外觀的原型,甚至有許多免費提供3D素材/作品的網站 (如 Thingiverse)可茲參考與分享。3D 列引,可說已為相當普及 (至少在 Maker 圈子)的工具了。

我打算採購一台預算2萬以內、DIY 套件形式的 3D印表機。以這價位也只能組到中低階 3DP 普遍使用的 FDM (熱熔沉積成型, Fused Deposition Model),也就是以加熱噴頭融化塑性材料,比塑料熔點高一度,噴頭擠出塑料後會馬上凝固在印表機印台上,以此方式依照3D圖樣層層堆疊。

閱讀全文 »

Arduino 智能小車實作-超聲波與紅外線複眼的測試程式

超聲波模組就是透過發射與接收 (Trig/Echo) 音頻的原理來計算距離的。使用方法參考店家對 US-100 型號的說明:

一個控制口發一個10US以上的高電位,就可以在接收口等待高電平輸出;一有輸出就可以開定時器計時,當此口變為低電位時就可以讀定時器的值,此時就為此次測距的時間,方可算出距離。如此不斷的週期測,就可以達到你移動測量的值了。
超聲波模組 US-100

這裡我整理了兩個測試程式。其中第一種方式是直接針對腳位作電位的改變,但需要自行將往返的時間 (每公分的音頻速度為 29 微秒);第二種方式則是透過 <<NewPing.h>> 函式庫,採以 Wrapper 較高階的作法來取得音頻的距離。

實際觀察方式就是透過 Serial Port 回傳所感測的距離資料,所以在 Arduino IDE 環境中,需點選【工具】→ 【序列埠監視窗】開啟監視窗觀察測試的結果。

UltraSoniceTest1.ino:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const byte trigPin = 9;		// Trig 接腳編號
const byte echoPin = 10;	// Echo 接腳編號
unsigned long duration;		// 儲存高脈衝的持續時間
 
unsigned long ping() {
  digitalWrite(trigPin, HIGH);		// 觸發腳位設定成高電位
  delayMicroseconds(5);			// 持續 5 微秒
  digitalWrite(echoPin, LOW);		// 接收腳位設定成低電位
 
  return pulseIn(echoPin, HIGH);
}
 
void setup() {
  pinMode(trigPin, OUTPUT);			// 觸發腳位設為輸出
  pinMode(echoPin, INPUT);			// 接收腳位設為輸入
 
  Serial.begin(9600);				// 初始化序列埠
}
 
void loop() {
  duration = ping() / 58;			// 把高脈衝時間值轉換為公分單位
						// The speed of sound is 29 microseconds per centimeter.
  Serial.print(duration);			// 顯示距離
  Serial.print("cm");
  Serial.println();
 
  delay(1000);					// 延遲一秒鐘再重新測量
}

閱讀全文 »

[好書分享] 超圖解 Arduino 互動設計入門(第二版)

超圖解 Arduino 互動設計入門(第二版) 超圖解 Arduino 互動設計入門(第二版)

作者: 趙英傑
出版社:旗標
出版日期:2014/04/24
語言:繁體中文
ISBN:9789863121954

內容簡介
本書的目標是讓高中以上, 沒有電子電路基礎, 對微電腦、電子 DIY 及互動裝置有興趣的人士, 也能輕鬆閱讀, 進而順利使用 Arduino 控制板完成互動應用。因此, 實驗用到的電子和程式觀念, 皆以手繪圖解的方式說明, 看圖就能懂。

□ 【超清楚手繪接線圖, 不懂電子電路也能接對線】:製作電子實驗一定要動手接電路, 本書利用手繪方式提供超清楚的實體接線圖, 只要對照圖中的接線與電子零件標示, 就可以在麵包板上正確接好線路, 進行實驗。

□ 【程式語言從零開始, 人人都能寫出 Arduino 程式】:使用 Arduino 製作互動設計除了組裝電路外, 最重要的就是利用 Arduino 的程式控制互動的邏輯。本書特別以手繪的程式觀念圖以及清楚易懂的流程圖, 從零開始說明程式設計的基礎觀念, 即使沒有程式設計經驗, 也可依照書中說明製作互動程式。

□ 【改造 3C 小玩意, 享受創意樂趣】:除了花錢購買電子零件以外, 本書還會教您改造身邊的 3C 玩意, 製作出令人驚艷的有趣設計, 像是使用 Wii 遊樂器的手把來控制機器手臂、將廢棄的軟碟片改造成電子鼓、將玩具模型車變成可自動躲避障礙物的智慧型自走車等。

□ 【改造 3C 小玩意, 享受創意樂趣】:包括 Android 手機藍牙遙控機器人、連網智慧家電控制、光感應電子琴、拍手聲控開關、環境感知自動調光小夜燈、LED 動畫看板、避障自走車、Wii 手把控制機器手臂、紅外線遙控縮時攝影、MIDI 電子鼓、用搖桿玩 Flash 動畫、RFID 國民教育問答遊戲等。

這一本書再版的當天,恰時我到光華商場,就在對面的國際廣場B2有一家超小的電腦書局買到,而且折扣是六五折!推薦那家小書局,空間雖然很小,但熱門的電腦書卻都會有。

我在好幾篇文章常透露出以前學生時代因為過於太混,以致於即使讀當時五專最好的學校 (台北工專)還是電子科,但對於電子的基礎近乎為零;重點是明明我對電子很有興趣的,所以可以說那一段頹廢荒唐的時光,讓我相當遺憾。

而最近打著開放硬體原始碼的 Arduino,可以說是重拾我對電子的熱情;而且因為整個重心擺在核心的微處理器,然後再以寫入控制程式的方式,進而控制所連結的電子組件。所以相對來說,學習曲線相對低很多,但可以玩的電子硬件的樂趣,甚至比以前還要廣泛很多。

其實 Arduino 入門不難,網路上也有一大堆相關參考文件與範例等,所以是不太需要實體的入門書籍;不過兩個原因讓我買了這本互動設計入門第二版:一為它的排版是我看過的入門書籍當中最棒的;另一為我想享受下較系統化的電子入門學習。

這本書採兩色的藍白印刷,不會太花俏卻又能突顯出內容的重點。再則,它標榜了「超圖解」;的確,幾乎每頁都有圖例,而且幾乎不是用照片或手稿繪製,應該是使用某電子電路軟體 (如 Fritzing) 儲成圖檔,再搭配上中文的註解。這樣的電路設計暨接線解說,看的相當舒服。
** 有讀者迴響說該書作者是以 Flash 一張張所繪製而成的;實在太過佩服了,沒想到 Flash 可以有這樣的應用~

閱讀全文 »

Arduino 智能小車實作-組裝超聲波與紅外線複眼模組

我把兩顆舵機 (MG995)當成小車的頸部,可以上下左右移動;然後安裝在頸部舵機可以隨之移動的裝置則有超聲波與紅外線複眼兩個模組。

超聲波 (或稱為超音波, UltraSonic)模組的作用就是透過感測所發射音頻的往返 (Trig/Echo)時間來計算前方屏障的距離。這裡我使用的型號是 US-100,具有溫度補償的功能。

而紅外線複眼模組,英文稱之為 IR Compound Eye,它的作用是透過四顆LED紅外線的感測以計算上下左右的距離。目前這個模組好像沒有型號可查,也只有一種可以選擇而已。

參考下圖,我把兩個模組上下組裝在一起,上方像兩顆眼睛的是超聲波;下方則為紅外線複眼。
超聲波與複眼紅外線模組

這兩個模組相似的功能都是偵測前方屏障物的距離,不太一樣的是:超聲波只能偵測前方水平位置 (約從 2cm~80cm),但量測結果會很精確;而紅外線複眼可以偵測上下左右四個方向的距離 (最高到 20cm),但常受外界光線干擾而影響距離的計算。

所以我同時裝了兩個感測模組,一則用以精確的計算 (只能水平)、另一則用以模糊的屏障搜索 (可以上下左右四方向)。如此外來的應用也可以比較廣泛,甚至能設計成寵物狗的樣子,用手勢操控來與小車互動。

閱讀全文 »

軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal