2017年4月29日 星期六

3DP復活之垃圾桶修理

家裡有個垃圾桶的hinge斷了,之前都是用AB膠勉強處理,但補了幾次一直沒辦法完全解決,趁5/1連假,好好把它處理一下。

自從搬到台南,3D印表機幾乎塵封起來,也沒什麼時間搞這台難搞的Delta。首先要解決3DP在停用一陣子,一些零件都已經碎裂的問題,開始試印印表機自己的零件,突然皮帶也斷了,費了一番功夫總算解決了,Delta調平太麻煩了,這次印小面積,就不再調整了,用raft來解決,雖然說的簡單,但這也讓我煩得差點上淘寶想買新的3DP,不過想到最近的萬萬稅要繳,還是打住了念頭。

首先來看舊垃圾桶

CAD畫出替代品


再用slicer切片轉成印表機吃的Gcode


列印中


完成品


看起來螺絲距離都抓得不錯,hinge的孔徑也很完美
組合起來,垃圾桶又可以再繼續用了


2016年12月22日 星期四

利用Arduino實作機器人控制

利用Arduino Due作爲HerkuleX Servo 伺服馬達的控制器,並使用arduino Esplora 透過Zigbee (XBee)無線控制機器人,後來還利用Processing寫了一個PC端的動作編輯器





參加第四屆RBL Robot Boxing League 機器人格鬥賽

父子組機器人,媽媽陪伴一起參加第四屆RBL Robot Boxing League 機器人格鬥賽






使用force sensing resistor 來測定3DP 列印件的強度

使用force sensing resistor 來測定3DP 列印件的強度

2015年1月14日 星期三

3DP 歲修 之一

用了近一年的印表機開始進行歲修
首先換掉已經變形的步進馬達腳座
這次都是用0.1mm層厚,每一件都印了17個小時左右,強度很好。
上下腳座共六個都要換,幾乎重組了
下一步就是要把Arduino Mega 2560換成smoothie board
 

2014年7月21日 星期一

Optical Heart rate and PPG monitor

當初是為了有高血壓的老爸做運動時可以了解自己的運動強度,不至於太逞強運動,或是運動量不足,想弄一個可以隨身攜帶,方便量測脈搏的工具,所以才會有這個產品的產生。

利用綠光LED與light sensor偵測血液流量的變化,來判斷心跳,與利用OLED螢幕顯示脈波。


這種反射式的光學sensor其實不大適合運動時使用,因為會因為晃動造成light sensor 的讀值變異,還有環境光的漏光問題。

不過還是簡單分享一下整個產品從無到有的一個過程:
(因為準備下一個機器人的專案,所以就簡略分享.....)



相關資訊:

Relate data
 https://github.com/alextien/Heartrate-and-PPG-waveform-monitor

Slide:









2014年6月23日 星期一

[3DP]Dual thermocoupler sensor support with Marlin and RAMPS 1.4 在Marlin 與 RAMPS 1.4 使用雙熱電偶

好久沒更新部落格了,從大概2月開始玩3D printer,一開始就從Delta玩起,有點難度,不過一一克服中。

這邊介紹一下如何在RAMPS1.4 上使用Marlin firmware來用雙sensor來做溫度偵測與保護。

3DP因為持續地對塑膠加熱,然後常常需要長時間工作,10幾20個小時都很常見,這時候如果單靠一顆thermo sensor來做加熱的偵測回饋,有點風險。

雖然Marlin對於單sensor也有一些保護,如maximum temperature, minimum temperature的設定,因為通常溫度sensor失效時,偵測到的溫度不是極高或是極低,靠這兩個保護,也可以解決掉大多數的sensor 故障的問題。

但當sensor不是故障而是脫離,所以只偵測到室溫而已呢? 或是故障時停留在某個溫度時呢? 這時候軟體會以為溫度一直達不到預定目標,所以會對加熱棒一直加溫,結果輕則加熱棒燒毀,擠出頭座融化,重責引發火災。

其實我覺得韌體還有一些機制來做防止失誤,如:加熱幾分鐘內還無法達到目標溫度時停止加熱與列印。 不過個人功力有限,這邊就看有沒有能人來幫忙修改了。

那為什麼採用熱電偶(thermocouple) 而不用更常用的熱敏電阻(NTC)呢?

原因有兩個:
1. 熱電偶較耐高溫
2. 熱電偶有較佳的溫度曲線,不需要做查表補償

不過熱電偶的輸出只有很微弱的電壓,所以需要再sensor後面接一個放大器與零點補償的電路,現在有廠商有整合好的IC,所以使用上其實很簡單。

===================================================

Marlin 支持兩種熱電偶的IC,一種是數位,採用SPI介面的MAX6675,另外一種是類比的IC,AD595/AD597。

接法這邊兩種都會介紹,不過數位的MAX6675有幾個問題,而不能採用:

介紹目前使用的AD597接法:

一般買到的module板子只需要接3個pin,+5V, GND, S(訊號) 我買到的板子實際用會有一些問題:

1. 溫度offset: 這邊後來查出是因為這塊板子在+5V輸入有串一顆diode作保護,這樣子會讓IC的5V會有一些drop,造成板子的輸出會跟Arduino參考的5V有偏差,把這顆diode拿掉直接改用0 ohm電阻,或是把它short就好。

2. 打印時,溫度sensor因為noise關係,輸出不是很穩定,常會有10幾度的跳動,這樣容易造成PID控制也會跟著不穩定: 這邊我的作法是在5V跟GND加一顆10uF/16V的電容,與在熱電偶線的輸入端並一顆0.1uF的電容,這樣子就蠻穩定了。

這邊我用的pin腳是thermo0 A3, thermo1是A4,RAMPS 1.4這兩pin剛好跟5V與GND一起,用一個4 pin的排珍就可以接出來了。

在Marlin的修改:

 configuration.h
#define TEMP_SENSOR_0 -1
#define TEMP_SENSOR_1 -1

//開啟雙sensor保護 #define 
#define TEMP_SENSOR_1_AS_REDUNDANT
//當兩顆sensor溫度差達20度時,marlin會停止列印 
MAX_REDUNDANT_TEMP_SENSOR_DIFF 20


pins.h

 //在相對應的motherboard ID(一般單擠出頭,有熱床的MEGA都是選33)下面,把thermo0/1的 pin位置做修改


#define TEMP_0_PIN 3 #define TEMP_1_PIN 4

======================================================

MAX6675的接法(不過目前有問題,無法使用)

1. 只支持在thermo sensor0使用,所以只能用一顆sensor
2. Marlin firmware有bug,目前使用會跟smart controller LCD pin衝突,就算改pin重新定義還是無法使用,所以就放棄了

這邊簡單寫一下接法:













congiguration.h

#define TEMP_SENSOR_0 -2 //


temperature.cpp

long max6675_previous_millis = -MAX6675_HEAT_INTERVAL;

pin.h

// SPI for Max6675 Thermocouple
#ifndef SDSUPPORT // these pins are defined in the SD library if building with SD support #define MAX_SCK_PIN 52
#define MAX_MISO_PIN 50
#define MAX_MOSI_PIN 51
#define MAX6675_SS 53
#else #define MAX6675_SS 49
#endif
=====================================================

2013年8月18日 星期日

Mini Segway 02

拖了老半天,總算先弄出一個基本的可以動的軟體,
目前暫時用ON/OFF control,再來導入PID control。
不過在硬體上應該會加裝一組藍芽,用來傳輸raw data,這樣才方便做紀錄。

 動作影片如下,其實就算是ON/OFF control應該還是可以做得更好的...


Mini Segway 01

===================================================
 硬體大概完成了,本來馬達與控制器共用電源,但發現馬達的back EMF會回灌到控制器電源,所以多加一組buck分開兩邊電源,其實省錢的話,馬達這邊電源串schottky diode就好,不過當馬達功率變大時,大功率的schottky diode不見得省錢,且浪費功率。電源分開還有一個好處,就是可以獨立控制馬達電壓,日後可以調整馬達的反應速度,來取得更好的PID control. Two wheel balancing robot是很好的一個實作,可以學得PID control, kalman filter這些實用的東西,其實這就是一個迷你版的Segway。 這個結束後接下來看看有沒有機會將馬達改成BLDC motor, 來進一步做好motor driver 這部份。

2013年5月15日 星期三

Project EV 第一課

第二專長規劃中,本來有人建議去上工研院或是自強基金會的課,不過查查後不是地點、時間不對,另外就是價格太貴。乾脆忍痛買個EVB,自己隨便看看後認為TI的solution蠻完整的,線上資料也很齊全,就在TI官網給它心痛刷下去了。

準備開箱了,做飛機來的,很快兩天后就到了


光電源線就付三條不同國家用的,另外還有一支USB,應該是軟體與document


這就是主板加driver了


接下來就準備狂k document 了。


Project G 第一課 爬坡自動變速系統

開始實作一些小ideas,這個是一個簡單的想法,當電子變速系統如果在自行車上普及後,人還要更懶的話,就需要一套自動變速系統,這邊實作了一個簡單的方式,透過accelerometer 來偵測坡度,當發現角度大到一個程度時就自動換擋,不過這畢竟不夠及時,更好的方式是用torque sensor 或是踏板放置force sensor,來依據車手的需求切換。這邊用accelerameter 需要用filter來濾掉sensor 本身的跳動,與馬達傳過來的震動,這邊會有比較多學問。





2012年10月25日 星期四

以公司為榮?



剛好有人談到以自己公司為榮這事,剛好最近對自己在工作上的理想慢慢有點輪廓可以談一下,
退伍時對於自己要做的工作很明確,也進了自己想要的工作與公司,但是越做越是不知道自己想要的是什麼,
三年半後為了另外一個興趣再往跳往另外一個完全不同的產業,三年半後又是理想與現實的差距,再換到另外一個不同的產業,
到了現在近40歲,才對自己心裡真正想做的事情稍微有點輪廓而已,這算離譜嗎?

以前會以自己待在什麼公司,名片上的公司名稱,Title洋洋得意。
現在慢慢知道自己心裡深處最想要做的事情是什麼,現實上的工作、公司、抬頭就只是混口飯吃。
在混口飯的現實裡,慢慢尋找能與自己心底的聲音夢想結合的事情。

以公司為榮,別人不得批評自己公司,要跳出挺身奮戰… 我不會。
現在的我不會以自己公司為榮,有的只是算是包藏卑微外的一丁點虛榮心,
我現在以我自己做的事情成就和家人成長為榮。

現在想做的事情就是個輪廓,工程師能夠為全世界人類帶來怎樣的幸福?
我能做些什麼事情改變這個世界,不是像Steve Jobs那般,
而是像利用簡單的汽車零件,製造出給非洲地區因為缺乏保溫箱,使得早產兒的死亡率是其他國家的十倍百倍之譜。
就是這樣的工作才會是讓我以此為榮。

2012年6月26日 星期二

Facebook 資訊活用術

越來越多人都開始用smart phone,但smart phone是否有幫助了你哪些事情呢?
越來越多人都有facebook帳號,但卻沒有幾個朋友在互動?
是否可以利用facebook來作為自己平日各方面的資訊來源呢?
玩Facebook不再是浪費時間的一件事,而是讓你接觸各種即時資訊的最佳管道。  ---> 謎之音...其實這是安慰自己的
這邊提供一個簡單的方式,讓你的smart phone不會只是之高貴的純通話手機,吃到飽的費率不會白白讓電信公司賺走,讓這些東西變成一個資訊與娛樂播放站。

首
先: 申請一個facebook帳號
所需軟體
Facebook
            iPhone or iPad: http://itunes.apple.com/us/app/facebook/id284882215?mt=8

加
入各種豐富的資訊吧: --> 請看後面連結



F
acebook軟體不好用,來用這個吧,最夯的smartphone 與平板的閱讀軟體



Flipboard:


開始迎接網路上豐富的資訊來源,不再讓自己的資訊受限於少數某些管道…
 
3C資訊類:


設計/UI/UX:


商業管理類:

名人類:

生活娛樂類:

鄉民資訊:
 

2011年8月23日 星期二

人生

今天早上去買飲料,在想說是要到全家買第二件58折,還是到7-11賭一下,玩兩件抽抽樂,拚一下,看看能不能拚到兩件49折或是1塊錢。
結果就在決定拚一下時,去了7-11,結帳時發現活動已經過了。
這告訴我們,想拚一下、賭一下時,要把握機會,時間稍縱即逝。

PS.另外一提,冰咖啡第二件79折也結束了。
這跟我們說: 沒有永遠都這麼好康的…

2011年6月28日 星期二

醫院

真的,醫院是個叫人謙卑的地方
Published with Blogger-droid v1.7.2

2011年6月23日 星期四

面對它、接受它、處理它、放下它

聖嚴法師的四它:面對它、接受它、處理它、放下它, 雖然沒有去了解聖嚴法師的原意,但我覺得把它當成日常生活與工作的處理原則也是很有用。 有點像GTD (get things done) 的行動

1. 面對它: 知道這個問題的存在,問題點在哪裡
2. 接受它: 接受這是必要處理的事情,這是讓自己能做下一步正確處理動作的方式。是要把這件事情往第四步驟丟,歸檔。 或是繼續下一步驟 --> 處理
3. 處理它: 如字義,就是做該做的事
4. 放下它: 歸檔,不要藕斷絲連。

如果一件事情進來,不依四步驟走。
立刻"放下它",這就是沒責任感
直接"處理它",可能會讓自己陷於永遠一團亂的狀態,或是搞錯方向,做白工。

事情如果不先經過"面對它" "接受它"的步驟,會讓自己處於混沌與心虛的狀態。 這樣子的心情怎麼會幸福呢?

2011年6月20日 星期一

一個PCB Layout的idea

最近在layout板子遇到了困難, 一個雙排1.27 pitch的pin header pin to pin中間需要走線。在不打via的狀況下trace很難穿過去,有短路危險,縮小銲盤pad又有落摔與吃錫不良的話疑慮。
想到了一個簡單的方法,因為這是dip件,所以pad會有top, bottom兩面,要走線的top縮小銲盤, bottom side維持標準pad大小,這樣就可以" 一兼二顧,摸蛤兼洗褲"




-- send from my pad的

2011年6月15日 星期三

山不轉,路轉

今天再處理pilot run回來的板子,有個jumper的地方需要做線路的rework,需要多一個pulll high,這樣子才可以做flash的燒錄。
本來想到要rework這麼多片就心煩,但山不轉,路轉。
直接rework一個jumper做燒錄用就好,燒錄僅在第一次開機時需要,也只有部分人有程式可以燒,這樣一來rework量直接減少到1/100,且難度降低許多。

轉個念頭或許會更好

2011年6月7日 星期二

如何在電容式觸控螢幕做出筆觸效果

在iPad上有個我很喜歡的notebook App
他的筆觸與反應完全是其它軟體所不及的
我想到可以在無壓力感測觸控螢幕上做出筆觸的效果的方式大概有兩種
1. 靠感應的面積判斷輕重
2. 靠劃線條的速度來做出筆觸的效果
看起來NoteShelf應該只做速度的判斷,不會寫程式,這不知是iOS的限制還是硬體的限制?
要能讀出sensing area, sneer driver IC這邊應該也需要做修改。

如果電阻式螢幕要做出面積感測似乎也是可行,藉由劃分電壓區域來判斷,
不過精密度就需要打折了

設計的重要性

這是一個教科書軟體 不過這一個按鈕應該會被改掉吧 WTF = what the fuck