Browsed by
Author: Toby

山寨 NodeMCU 上傳設定

山寨 NodeMCU 上傳設定

最近因為準備開發 Home Dynamic 家居自動化系統,所以入手了一塊 ESP8266 的 NodeMCU 0.9。實際上就是中國的山寨版而已。

2017-10-17_18-46-03

http://arduino.esp8266.com/stable/package_esp8266com_index.json

首先把上面的連接加進去 Board Manager,然在再選擇 Install ESP8266。之後就跟一般的新模塊 / 開發版設定沒甚麼分別,但是得留意的是在這塊中國制的 Node MCU 上面,其上傳設定是這樣的:

2017-10-17_18-45-04

因為網上面並沒有甚麼教學,只好自己全部試一次好了。

這篇東西先留著,遲點有需要再用作參考吧。

 

更新:

2017-10-17_19-03-21

NodeMCU 版本應該是 1.0 才對(如圖),不然在 9600 bandwidth 的時候會讀取出亂碼

ArOZ Online BETA 版開發中

ArOZ Online BETA 版開發中

ArOZ Online Alpha 版早在 2016 年就完成並運作好幾個月了。 Alpha 版用起來還算方便但是有很多想要的功能卻沒有,好像說看不到漫畫,傳不了信息還有多多少少很多不同的不方便。於是這樣的話就乾脆把 ArOZ Online 系統改成移動式雲端就好了。你想想看,如果有一個雲端處理系統能夠放在背包裡,然後用手機連上去之後就能夠看到自己的庫存漫畫、動漫、玩到小遊戲、也能夠做基本的文書處理和圖像處理(好像小畫家、筆記本之類的感覺),最重要的是把自己整個音樂庫也帶在這個移動雲端裡面,就不用每次聽歌都要上網到真正的雲端伺服器慢慢的下載下來了。

嘛,想是這樣想,可是要支援所有 OS 和平台的使用者界面…應該就只有 HTML 吧?
於是, ArOZ Online Alpha 這個多媒體串流網站計劃就這樣變成了 BETA 版的移動雲端網站應用系統了。

好吧,到底雲端怎樣移動呢?是要背一台伺服器上街麼?才不啦w
最近不是有那個甚麼 Raspberry Pi Zero W 嗎?這麼迷你的一台東西裡面已經包含了CPU, RAM, USB Port, Storage 之類伺服器需要用的資源了。所以在這裡面 Host 個 Web Server 就可以了吧。

2017-08-17_18-14-43

 

然後再加上一塊聚合物鋰電池,一塊 Micro USB 的 Hub 擴展板,然後兩塊 64GB 的 USB 電路板(對,是要打開 USB 手指裡面把電路板拔出來),把兩塊 USB 做成 RAID 0,那樣就能夠把READ / WRITE 速度 x2了,又或者做成 RAID 1 的話也能更確保資料安全性。不過既然是放音樂、動漫之類不見了也不要緊的東西,當然是 RAID 0 較好用吧。

ArOZ Online BETA (實驗版)

雖然說還在開發中,可是基本上能用的實驗版已經出來了。大致上長這樣子:

2017-08-17_18-05-14

全部的 Module 採用 Grid 的型式來顯示,找起來還算方便。每個 Module 也能自定封面和 description text。所以自由度非常大。

2017-08-17_18-06-21

延續 ArOZ Online Alpha 版的傳統,ArOZ Online 系統必要有的 Module: 音樂,影片 和 相片 系統。這次的音樂庫做成了 Web App 的形式,在手機上看到這個網站也是跟一般的播放應用程式無異,就是不用安裝直接能用。

2017-08-17_18-05-33

(下面的是 ArOZ Online Alpha 版的音樂播放界面)

2017-08-17_18-22-47

 

相片模組的界面也不是變得太多,只是新系統加入了相片管理頁面,能夠把不同時間或是標題的相片分類儲存。

2017-08-17_18-06-03

(下面的是舊版)

2017-08-17_18-22-51

而影片播放器還沒寫好,所以留待下次更新再寫吧。

在 ArOZ Online BETA 之下新增了不少新的模組,包括有移植自 IMUS 實驗室標淮網頁服務的 Quick Send 和 Q/9 輸入法

2017-08-17_18-06-08

 

2017-08-17_18-05-52

新加入的模組就包括了 Home Dynamic (家居自動化控制器)、Manga Cafe (漫畫應用)、ArOZ Chat 、Memo 等

(Manga Cafe 應用)

2017-08-17_18-05-47

(Memo 牆)

2017-08-17_18-28-05

而系統控制模組方面,現在已準備了 Pi DB(輕量化資料庫),Upload Manager (上載 API),Virtual File System,HELP 模組(Read me 收集器)等

(使用了 Upload Manager API 的 Audio Module)

2017-08-17_18-30-07

(HELP 模組會收集其他模組裡的 READ ME 然後整理顯示出來。)

2017-08-17_18-06-13

待更新…

 

 

 

 

MA5887 USB 快速充電模擬 IC

MA5887 USB 快速充電模擬 IC

這東西其實真的超爛,不知道是誰想出來的。
部分充電器可能因為廠商不想用家使用別家的充電器來充電,所以想出了在充電器裡面加入辨識裝置,如果不是自家的產品就減少輸出的電流量。也是因為這個原因,這粒 IC 就出現了。

2017-04-18_17-11-05 2017-04-18_17-11-11

這粒 IC 只要接上 USB 對應的 D+ 和 D- 就可以運作了。簡單來說就是「破解」所有品牌充電器的辦識機制,讓每個充電器都以為這是自家品牌的手機,於是全力輸出最高的電流量。可真是一山還有一山高啊。

鋰電池升壓模塊 5V 1.2A 升壓 IC HXN=AP

鋰電池升壓模塊 5V 1.2A 升壓 IC HXN=AP

HXN=AP ,又稱 HX3242 ,是一款超浪費電力的升壓IC(沒錯,它的發熱量出奇的大),但是也有它的好處,就是這粒 IC 能輸出高達 5V 1.2A。
那即是說,相比起其他能夠在一粒 IC 內完成升壓,不必加入另外的 MOSFET 的電路來說,是流量輸出最高的一款 IC 了。

起初的電路圖長這個樣子,可是後來發現即使跟據這個電路圖來設計,也是會出現一點問題的。而最主要的是不知為啥這個設計無法像外面在賣的升壓模塊一樣用到這塊 IC 的最大輸出電流量。

2016-12-04_13-58-31

外面賣的模塊(圖片只供參考)

2017-04-16_19-08-15

就結論而言,理應是因為畫線不夠粗而導致的問題吧?於是在後來的改版中,另外特別為這一塊IC 重新設計過一塊電路板,而這次是使用單面半工藝板(即是說上面沒有那層綠色的油漆,只有一層銅的電路層),所有零件在焊上板之後再用錫線加厚電路,結果電流量還是不足 1.2A。之前也試過有幾塊 HXN=AP 的板子因為過熱而燒掉了,所以結論:不再使用 HXP=AP 作為升壓IC 了。

 

使用 MMD 模型在 Blender 內遇上「Bone heat weighting: failed to find solution for one or more bones」解決方法

使用 MMD 模型在 Blender 內遇上「Bone heat weighting: failed to find solution for one or more bones」解決方法

如果你在 Blender 內 Import 了 MMD 模型之後,想替它加上動作,首先你需要加上骨架 (Bone),但是若你跟隨著網上的教學,你可能會遇上一個問題就是:

「Bone heat weighting: failed to find solution for one or more bones」

這個問題在網上基本上找不到答案,但是在幾經辛苦後終於找到一個日文的 Blog 說到解決方法:

※エラー「Bone heat weighting: failed to find solution for one or more bones」がでたら、結合前に戻し、次を行う。
Editモードでメッシュを全選択 → 左のパネル「Mesh Tools」 → 「Remove Doubles」 → 再度結合してみる

http://teamian.blog.fc2.com/blog-entry-8.html

 

 

圖解如下:

1. 在 Object Mode 下選擇剛剛匯入的 MMD 模型

2017-03-31_20-10-42

2. 選擇 Edit Mode,在 Mesh Tool 下面找到 “Remove Doubles”

2017-03-31_20-10-48

3. 在 Remove Doubles 的選單下,把 Merge Distance 調高,但也不要調太高,不然會影響模型解像度

2017-03-31_20-10-56

4. 回到 Object Mode,先點選模型,再點選骨架,按 Ctrl + P,選擇 Armature Deform,並選擇  With Automatic weights。

2017-03-31_20-22-37

5. 選擇骨架,點選 Pose Mode 即可調整 MMD 模型的動作。

2017-03-31_20-12-14

6. 之後就能夠按平常的方式使用 Timeline 製作動畫了。

2017-03-31_20-12-09

3D 打印機除錯清單

3D 打印機除錯清單

如果你家裡 或者 學校擁有一台 3D 打印機而又出現了問題,在聯絡維修人員之前,你可以參考這一份除錯清單來自行檢查一下自己的打印機。
注意,這份除錯清單只適用於 Rep Rap 開源之下的打印機。

啟動相關問題

無法開動

請檢查電源供應是否正常,如果你的變壓器上有開關制,請檢查開關是否已經打開。如果電源已經打開,而且也無法開機,請更換一個變壓器或插頭再試一次。

液晶屏無反應(或白屏)

如果你在供電之後液晶屏有亮燈但是無顯示任何文字,你可以嘗試調轉連接到打印機主板的兩條排線。如果依然不行,很有可能你的 Arduino Mega (或控制板)內的控制程式因不知明原因而被消除了,你需要重新灌入驅動程式。

液晶屏顯示正常,可是步進電機不動

請確認已插入 12V 電源及所有步進電機已經接上主控制板

 

X / Y / Z 步進馬達相關問題

步進馬達只能向其中一個方向移動

如果以 Rep Rap Delta 為例,如其中一個馬達只向下移動而無法向上移動,請檢查位於滑軌最上方的 End Switch 是否卡住或電線接觸不良。

如果以 pursa i3 為例,如其中一個馬達只能順時針轉動,請檢查位於滑軌左右方之 End Switch 是否被卡住。

打印時某一層會移位

這個問題是因為負責 X / Y Axis (或 Z Axis 如果你是在用 Delta)的同步輪與步進馬達間的螺絲鬆脫,導致傳動出現問題。只要把螺絲上緊即可。

自動調平時即使擠出頭已經撞到平台,馬達仍不會停止

這是因為擠出頭上的 End Switch 安裝的位置不良,請嘗試調較 End Switch 與 平台間的距離(一般是用螺絲調整)。

掉步(Skipping Steps)

這是因為步進馬達的信號不良,或許是因為步進馬達的接頭還沒完全插進主控制板或者馬達的電線接觸不良,如果重新接線後仍無法解決建議買一個新的步進馬達。

E 步進馬達 (擠出機)相關問題

Hot End (擠出頭)沒出料

Hot End 沒有出料的問題有很多個,以下為除錯步驟:

  1. 先檢查噴頭有沒有加熱(不要用手碰,可以噴一點水上去看看噴頭是否高於 100度)
  2. 如噴頭是熱的,檢查在進料時 E 步進馬達是否有轉動
  3. 如果有轉動,檢查用作送料的同步輪是否有鬆脫
  4. 如沒有鬆脫,請檢查散熱器(噴頭上方)裡是否有「卡料」
  5. 如果以上全部檢查後都沒有問題,就需要更換噴頭或使用小火槍把噴頭加熱清理。

打印件表面不平

如果你是使用 ABS,請檢查是否已開啟所有風扇。

如果與風扇無關,可以按以下步驟進行除錯:

  1. 檢查傳動帶有沒有鬆動。如有,請調整螺絲使它收緊。
  2. 檢查擠出機的同步輪是否有鬆動。
  3. 如與硬件無關,請留意 Cura 裡 layer height 的設定。一般是於 0.1-0.3 之間的,大於此值會使打印表面不平。

無法換料(新料無法推進管子裡)

由於管子的快速接口處有一個凸位,所以如換料的時候先把快速接口拔出來,先把料穿過擠出機,再把快速接口套到新料的頭段。這會使換料的時候更方便。

 

熱床相關問題

熱床不夠熱

可能是你的電源供應 W 數不足,導致加熱速度較慢。建議更換電源。

打印機無法黏住熱床玻璃

請提高熱床的溫度,又或者在加熱後待玻璃表面溫度漸漸提高了再打印。

Cura 沒有熱床溫度設定

可能是因為你的機器本身不支援熱床,所以 Cura 不會顯示熱床設定。不然,部分賣家會提供一個特別版本的 Cura 給使用者,內裡包含了啟用熱床的設定,詳情請向你的供應需查詢。

 

 

3D 打印 PLA 表面平滑化處理及上色用底漆之相關研究

3D 打印 PLA 表面平滑化處理及上色用底漆之相關研究

相信大家有在使用 3D 打印的話應該也聽過 PLA 和 ABS 這兩種材料。

後者可以使用 Acetone 來進行表面平滑化處理,而前者因為其溶劑並不常見,因此很難對 PLA 打印件用化學溶解的方式進行表面平滑化。所以,這次就這個原因展開了一次研究,看看到底哪一種常見的物料能對 PLA 表面進行填補,並做到最佳的平滑化處理。

有關的研究報告可以在這裡看到:

PLASmoothingResearchReport
SAB 獨立電池充電架構 2.0

SAB 獨立電池充電架構 2.0

Stand Alone Battery Charging Architecture 2.0

SAB Charger Architecture

開發目的

SABC1.0 由於二極管的關系,其能量流失量很大。間接帶出開發 SABC 2.0 的必要。

架構原理

SABC2.0 使用一個 AMS1117-5.0,把輸入電壓降至 5V 之後,再輸入到 TP4056 內給聚合物鋰電池充電。同時間,電路板背面有兩粒 肖克利二極管 (Shockley Diode) ,使能量流失減至最低。然而,雖然更改了二極管的種類,但是電流經過二極管之後依然有 Voltage Drop 和能量流失的情況發生。同時間,在輸入端(即電流經過線性穩壓器之後)加了一粒22 uF 的電容,加上本身SAB 系統電路板的特性(每塊電池獨立輸出,每塊電池之間不會互相影響),使這塊電路板適合用作音響裝置以分隔其他升壓模塊帶來的噪音。

由於使用了 AMS1117 和跟足 datasheet 在 TP4056 輸入端加了 0.4 Ohm 的限流電阻的關系,這個模塊充電速度只有 0.23A,因此建議在安裝的時候,如不需要降壓功能及限流功能,可以直接繞過 0.4Ohm 電阻及不安裝 AMS1117,直接把腳位用錫接上。

SABC 2 Connection

電路圖

2017-01-15_16-58-06

成品圖

SABC2.0 模塊全貘
SABC2.0 模塊全貘
TP4056
TP4056
AMS1117 -5.0 線性穩壓器
AMS1117 -5.0 線性穩壓器
SS34 肖克利二極管
SS34 肖克利二極管

改良方向

預計於 SABC 3.0 推出的時候,將會在這幾方便進行改善:

  1. 走線由現在的 1mm 再加粗到 3mm
  2. 移除 AMS1117 的降壓功能
  3. 嘗試以 Transistor 代替現時 Diode 的功能
有關 ATtiny24/44/84 系列以 USBISP 寫入之研究

有關 ATtiny24/44/84 系列以 USBISP 寫入之研究

由於找好幾天才找到解決方法,所以一次過在這裡公開出來方便後人(?) 的研究了。
首先,如果你使用中國制的 USBISP 想把 Arduino ino 檔燒入的話,是無法直接使用 Arduino IDE 裡面的功能。

你會留意到,你的 USBISP 跟 外國的 USBISP 最大分別就是別人的是 Unknown Devices,
但是你的 USBISP 卻被分類成「人性化裝置」和「USB輸入裝置」了。

2017-02-27_22-41-14

不用擔心,這個是符合國情的。

首先,你要安裝一個叫 USBASP driver 的東西。
http://www.fischl.de/usbasp/

之後,你會發現這個裝置在裝置管理員內還是維持原樣,那都是十分正常的。
因為當你燒錄的時候,不是經過 Arduino IDE,而是要經過progisp172 這個軟件。

2017-02-27_22-46-13

以下為燒錄方法簡略說明:

  1. 把寫好的 Arduino Code Compile 一次,在 Console 裡找到暫存檔位置
    2017-02-27_22-47-27
  2. 打開暫存位置,找到 hex 文件。(e.g. C:\users\username\AppData\Local\Temp\buildbe0918a459eda816fa58157343180169.tmp\your_file_name.hex)
  3. 回到progisp172,選擇Load Flash,打開上面找到的 hex 文件。
  4. 使用 fuse calculator 找到適合的燒錄參數:http://www.engbedded.com/fusecalc/
    2017-02-27_22-49-49
  5. 再次回到progisp172,把網站上計到的 Low, High Fuse 分別填到燒錄軟件裡的 LowValue 跟 HighValue
    2017-02-27_22-50-29
  6. 完成後按 Select Chip 右則的箭頭,根據圖示連接 Micro Controller 的程式燒錄腳位
    2017-02-27_22-54-15
  7. 最後按 Auto,即可完成燒錄。
    2017-02-27_22-35-51

 

如果發現驅動有問題又或者出現 “chip enable program error”,可以參考這篇文章:

http://www.academia.edu/8278452/How_to_solve_chip_enable_program_error_in_progisp

 

1. Check if the USBasp driver is properly installed (update it from settings).
2. Recheck the jumpers. Change them if they are weakly connected.
3. Try to change the port, sometimes some ports can malfunction (ex. from port 1 to port 0).
4. Press reset button for 10 seconds.
5. Try to erase current program from progisp compiler, and load flash of hex file again.
BLANCH 藍牙內聯本地網通訊埠計劃

BLANCH 藍牙內聯本地網通訊埠計劃

BLANCH 計劃,全名為 Bluetooth Local area Network Connection Hub ,是一個以藍牙為基礎所展開的移動式本地網路。
這個系統是設計給 IoT 裝置使用,透過一個 Master 的藍牙裝置(例如手機),連上這個通訊埠之後,便能夠使用藍牙控制遠多於一個藍牙模塊能夠連接到的電器數目。

由於此計劃與現時大部分 IoT 裝置所使用的制式不同,而且開發起來很花時間。加上現在很多大型企業都在開發 IoT 的市場,因此開展這個計劃的個人利益並不太大。最後因此而終止開發,而有關計劃內容可以於下面這個文件中看到。

BLANCH