古人智慧

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

搜尋此網誌

Translation

2016年12月19日 星期一

[ESP8266] TinyPlan + A4988 + NEMA39 stepper

3年前,因對陀螺儀產生興趣,著手製作2輪自平衡車來理解Gyro的原理與運用。一路跌跌撞撞終於完成,這項目讓我成為maker~~
3年後,我發現對gyro還需要深入研究,而且現在有ESP8266平台,CPU與memory都提升很多,應該可以做細膩的運算與動作,這也是這篇主要的部分。

先規劃系統方塊圖:
電路板是用承田電子的TinyPlan板子,TinyPlan是將ESP8266模組與USB還有reset電路整合,與Adruino IDE結合使用非常容易與方便。

為了確保ESP8266能透過A4988驅動步進電機馬達,我先把測試電路接起來,做了以下實驗。
《用我DIY的電源供應器,
5V接TinyPlan,
A4988則接另一12V電源》

《TinyPlan上ESP8266模塊》

《DIY的A4988測試板》

video
《視訊分享》

實驗結果一切正常。。。。

測試code:


#include "A4988.h"

// Motor steps per revolution. Most steppers are 200 steps or 1.8 degrees/step
#define MICROSTEP 16
#define MOTOR_STEPS (200 * MICROSTEP)

// All the wires needed for full functionality
#define ENBL 15
#define DIR_1 13
#define STEP_1 12

// microstep control for A4988
A4988 stepper_1(MOTOR_STEPS, DIR_1, STEP_1, ENBL);

long move_r = 360;
int dir = 1;
void setup() {
  /*
     Set target motor RPM.
  */
  stepper_1.setRPM(10);
  stepper_1.setMicrostep(MICROSTEP); // make sure we are in full speed mode
}

void loop() {
  /*
     The easy way is just tell the motor to rotate 360 degrees at 1rpm
  */
  stepper_1.rotate(move_r * dir);
  dir = dir * -1;
}


參考資料:
A4988 arduino Library download - 《here》

Spider Robot family 成員大集合

2016年底了,把手上的Spider Robot蜘蛛機器人做個盤點。
做這個project最大的收穫有幾個部分“
1. 數學-三角函數:這部分是非常基礎而且必要的部分!
2. 熟悉Arduino與ESP8266平台開發,學習有關於interrupt與HTML語法。
3. 3D建模,使用Sketchup建模,開發蜘蛛的動件結構,腳的結構簡單與結實是重點。
4. PCB設計,使用Eagle PCB設計電路與layout,再用雕刻機刻出電路板。
5. 仿真步態模擬,開發不同與有趣的步態。

提供Spider Robot蜘蛛機器人的寫真:
[Give me five!]

[hand in hand~]

[疊疊樂]

[兄弟機合照-1]

[兄弟機合照-2]



[圍著老祖宗]




2016年12月16日 星期五

Git架設-Banana-Pi M2+

因正職工作因素,時常出差在外地。在hotel寫Code時,需要參考以前的code都很困擾。如果把這些code全部上傳到GitHub又不太現實。
心中就想自己有個Git repository可以從外地進來取code,應該是很美好的事!
是的,在網路上已經有很多先進提供很好的方案,經過實作後完全符合我的需求,真是太棒了!

記錄實作流程:
設備:
1. Banana-Pi M2+
2. TP-Link Wifi分享器

安裝Git:
>> sudo apt-get install git-core

建立一個Git repository放在  /var/git 目錄內:
>> cd /var
>> sudo mkdir git

>> cd git
>> sudo mkdir regis_project.git

>> cd regis_project.git
>> sudo git --bare init

建立git的group:
>> sudo groupadd git
>> sudo usermod -a -G git your_login # your_login改成你自己的帳號。
>> sudo chgrp -R git /var/git
>> sudo chmod g+rwx -R /var/git

到這裡,已經在server(Banana-Pi)端完成Git的部署。
再來就是把所有的code上傳到這個repository。

我所有的code放在Mac的 ~/Documents/arduino/regis_project
>> cd ~/Documents/arduino/regis_project
>> git init

設定server端的short name,之後輸入比較容易,因為避免被駭,我把ssh的port換掉。
>> git remote add origin ssh://your_login@your.host:port/var/git/regis_project.git

這裡的host name,如果在內網就直接輸入banana-pi的IP,在外網就要輸入外網對應的IP。

把code上傳
git add .
git commit -m "說明remark"
git push origin master

完成所有code上傳。
再來,就是實驗下載code。

在PC上d槽
D:\test\t2\regis_project> git init
D:\test\t2\regis_project> git clone origin
就可以把code全部拉下來在這個目錄。

有用的命令:
git status -v
git log
git log --graph --oneline
git pull
git mergetool



參考先進文章:
簡易git server架設教學 (用Ubuntu linux)
伺服器上的 Git - 在伺服器上部署 Git

2016年12月15日 星期四

[Spider Q] Q版的蜘蛛機器人

製作一系列的Spider Robot,主控板從Arduino ProMini到ESP8266,發現用ESP8266模塊的TinyPlan或MinPlan還不錯用。

為何用TinyPlan與MiniPlan PCB?
因為Arduino的cpu只有8bit,memory只有32kB,要做的複雜的功能與動作限制多,而且無線傳輸需要再加入藍牙或是Wifi模組。ESP8266吸引人的部分,就是32bit CPU,memory高達4MB內建Wifi,這足以滿足大多開發者的需求。

這是TinyPlan與MiniPlan PCB的主要方塊圖,把USB與power與ESP8266整合,提供很好的使用體驗。
Spider Robot Q是2DOF簡化版,一支腳有2個關節,總共8個servo。
TinyPlan提供8個GPIO產生PWM訊號就足夠推動這8個servo,不僅體積縮小結構簡單,且價格便宜不少。

視頻分享:
控制器解說:這是HTML的遙控器,很容易加入其它特殊功能。因為每顆servo都有一些角度誤差,每隻腳與關節都必須calibration來確保四足對地板都是平衡。



實際操作:

兩隻Spider-Q跳舞~~


設計細節分享:
結構:

控制板:

軟件:







2016年11月22日 星期二

國際牌乾衣機 風扇皮帶維修

女主人反映家裡的乾衣機無法烘乾衣服~~十幾年的老機器,外殼都有些鏽斑,生病了!!
唉,又來啦,準備做苦力水電工~


問題診斷:
首先,開機,開熱風,觀察機器運轉是否正常。
1. 滾筒動作正常
2. 旋鈕動作正常
3.加熱開關正常,觀察加熱器是否有發熱,在前面艙門開口的下緣(後面有圖示),很燙小心燙傷。
4.開門switch正常,開門會停止運轉。
5.發現機器裡面的風扇並無運轉,這裡應該是問題所在。

拆機維修:
工具: 
1.十字起子,最好有電動起子,不然會很累。
2.潤滑油噴劑
3.報廢牙刷

拆機:
把機器背面所有的螺絲,用十字起全部鬆開。但是,中間上下的螺絲先保留,因為這是中柱把滾筒hold住。
拆開背蓋後,發現風扇皮帶斷了。
用伸縮尺量斷掉的皮帶長度約94cm,直徑5mm。

購買皮帶:
上網查拍賣網,發現很多賣家120台幣就有。為了確定尺寸正確與品質,畢竟這個家電可以用個5年以上,就考慮到原廠買。在公司附近找到了國際牌維修站,直接到零件窗口買材料,150元也不貴
《國際牌服務中心》
《NH-65V原廠專用皮帶 90cm,紫色新版》
我發現新的皮帶比斷掉的皮帶短,維修站小姐回應是舊的皮帶已經用久了會變形拉長。

清理上油保養:
裝皮帶前,建議先把導輪與馬達清乾淨。畢竟好幾年才會拆機,趁機好好保養一下。
用舊牙刷把導輪刷一刷,還有把馬達與導輪的軸心部位上個潤滑油。

《導輪的灰塵刷乾淨》

安裝皮帶:
安裝新的皮帶是先把上面兩排的螺絲鬆開《圖示1的部分》,把皮帶套入。
再把這兩排螺絲鎖上。
然後,鬆開下面兩排螺絲後,把皮帶拉長再套入,注意皮帶不要被旁邊的鐵件刮到,因為皮帶比較短,要出力拉一下。事先用抹布包起鐵件銳角部分,避免刮傷手與皮帶。
再把這兩排螺絲鎖回去。然後套到帶動馬達的導輪上,大功告成!
《裝皮帶的順序與方法》

《紫色皮帶很炫》

《近拍》


皮帶裝好後,不急著裝回背蓋。
先插電試機,確定風扇與滾筒都運作正常後再把一堆螺絲的後蓋鎖上。

清理:
接下來,再把加熱器的濾網,還有滾筒內部的濾網拆下清理乾淨。
《加熱器吸風口》
《扳開卡鉤往外拉出》

《把濾網清理乾淨》

《風扇濾網》
《手指扣上拉出》

《清理乾淨》

花費1個多小時,把十幾年的老機器恢復正常,環保又有成就感!
開心!!!!


2017/11/23 update:
這幾天台北下雨,剛好這乾衣機派上用場,女主人反映機器運轉很順而且聲音很小。


參考資料:

2016年11月6日 星期日

Sketchup  重要資訊

Plugin floder:

如果不知道 Plugins 文件夾 tools 文件在那
在 sketchup 打開 ruby 控制台
輸入 Sketchup.find_support_file("plugins")
輸入 Sketchup.find_support_file("tools")


2016年11月4日 星期五

[3DP應用] 排煙裝置DIY

每次做PCB電路焊接的時候,最不舒服就是會吸到焊油的煙,這很不健康!
但是,買一整組專用排煙器也不划算,因此就拖著沒行動。

前一段時間家裡吹風機掛了,就把裡面可用的零件保留下,其中就是本創作的核心-馬達電機+風扇。加上洗衣機的排水管,就成為簡易型排煙系統。

作品欣賞:



《把煙直接吸到窗口排出》


製作過程分享:
用Sketchup建模,先確定尺寸,然後把馬達包起來。並且考慮如何與鋁窗固定的機制,做個卡鉤,容易取下。

《馬達後蓋》

《吸煙口》

《馬達與排水管接頭》

組合圖:
《先把連結器與排水管接好》


《再組上馬達》

《再把後蓋裝上》

《完成吸煙氣的結構》

《再把吸煙口裝上》
大功告成!!!
用蚊香與烙鐵試過,效果真不錯!!!
稍微可以顧身體了。。。。。



2016年11月2日 星期三

進水龍頭漏水維修

家裡的廁所突然有漏水,原來在馬桶下面有個進水龍頭故障了!
觀察這個零件,是用一字起子可以把水關緊,但是我不管如何出力,就是無法轉動,應該裡面卡死,慘了。。。
要換掉這個龍頭,必須先把整個家的進水關閉,這個總開關一般都是在大樓的頂樓。
總開關是長這個樣子,因為很多住戶,有非常多組,要仔細慢慢找屬於自己的總開關。一般都會在管子旁邊有標示門牌號碼,用油漆或者其他的方式,要仔細觀察。這個動作很重要,不要搞錯,關到別人家就糗了。
然後,回到家裡把管子裡的水放掉,記得用水桶接不要浪費,大約2-3個水桶。
防水過程中觀察水是否有變小,不然就是關錯總開關,要重新找。

《總開關》

《往上扳可以關閉》

《工具:魚口鉗,一字起子,活動扳手》

《先用活動扳手把龍頭的蓋子扭開,往下是鬆開,逆時針方向》

《鬆開后準備把內部的閥芯零件抽出來》

《用一字起子逆時針方向把它轉出來》

《花好大力氣把它扭出來了》

《哇,閥芯都腐蝕了,嚇死!!》

《總共有四個零件》

帶著這些零件去水電行買材料,但是老板說沒賣這種零件,只有這種整組的。
我當場也不知咋辦,就問他可否拆出來看一下確定是否可用? 老板還算客氣,願意讓我拆,大約核對一下,應該沒問題,就買啦,60台幣。

《一組60台幣,但是為只要裡面的閥芯》

《俯視圖,看起來質料還不錯》

《把閥芯拆出來》

《長這個樣子,閥芯長度約20mm,不含前面的柄》

《對比一下,確定尺寸正確》

《比對》

確定無誤後,用一字起子把新的閥芯順時針扭進去,不要鎖太大力,避免弄壞。
《順時針方向鎖緊》

然後,再把前蓋鎖回去,不要鎖太大力,避免弄壞。
《往上的方向,順時針方向鎖緊》


檢查清楚確定沒問題後,再到頂樓把總開關慢慢打開,再回到家,把全部的水龍頭打開,把管子裡面的空氣放掉,避免空氣在管子內水壓受到影響。

再來就是檢查剛剛換的龍頭是否有漏水,如果有水噴出來,那再輕輕的把前蓋鎖緊,切記不要太大力,以免把閥芯鎖壞了。

觀察幾天,確定沒漏水,就完成啦。。。開心。。