Browsed by
Category: Development Logs

Prototype built updates and some Q&A of a certain prototype can be found here.

山寨 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 的時候會讀取出亂碼

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 了。

 

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
SAB 獨立電池充電架構 1.0

SAB 獨立電池充電架構 1.0

Stand Alone Battery Charging Architecture 1.0

SAB Charger Architecture

又稱為 SAB Charge 架構 或直接簡稱為 SABC架構,是 IMUS 實驗室於 2016年未 開發出來的電池充電架構。

開發目的

這個充電架構的目的,就是能夠以便宜的價錢做到高速度的充電效果。一般的大流量充電器的組成十分複雜,隨時得動上十幾種不同的電子零件,對於我們這些獨立開發者來說,我們一般都會想以降低零件種類來省錢和省儲放空間。(特別是 SMD 零件,一買就一整卷,起碼100粒起買)所以,SABC 架構就是使用最少的零件數目,做到可並聯式聚合物鋰電池充電架構。而在 SABC1.0 裡面,這種架構組成的電池只需要三個模塊/零件,分別是:電池、TP4056 充電模塊 以及 3A二極管。

架構原理

在每塊電池的頂部加上 TP4056 模塊及二極管,那麼充電的時候,其電流就會根據電池數目來自動提升。一般情況下,電流量能夠做到
A = n * 0.95 (A = 電流量,n = TP4056 模塊數目)

SABC 1

放電效率

由於放電時電流經過二極管導致的電壓下降(不知道中文怎樣譯,英文的話就是 Voltage Drop),所以就會導致一般的電量識別 IC 都無法正確識別出電量,唯一的方法就是使用 ATtiny 重新編寫一個電量顯示器 又或者 使用比較器來取得不同的電壓作為標淮,然後自行決定哪裡是剩下 25%,哪裡是 50%等。而在 40000mAh 便攜式電源計劃內則是使用 Attiny24 配合定制的顯示燈系統來做到電量測定的。而且有電壓差,即是有能量流失。在試驗版中這個架構的效率只有 60% 左右,所以 SABC 架構將會在之後的版本對此問題作出改善。

**由於每種二極管的 Voltage Drop 都會有不同,所以需要自行量度及參閱 Datasheet 才能知道經過 Voltage Drop 之後的電池剩量。

Universal Charging Port 2.0

Universal Charging Port 2.0

Universal Charging Port (UCP) ,中譯為「廣電壓充電插頭」,為 IMUS Laboratory 於 2016年2月時製作的試作品中包括的一個特有功能。

擁有 21000mAh 的電池容量,是IMUS Laboratory 暫時最大的聚合物鋰電池移動電源。而當時設計的用途除了能供給 5V 電源充電外,還要兼容太陽能充電系統的12V 電壓,以及迷你太陽能板的 9V 輸出電壓。當時使用的是 24v 的降壓模塊,但基於是次 40000mAh 聚合物移動電源計劃的空間所限,不能再使用與之前同款的降壓模塊,取而代之,則是4 塊 AMS1117-5.0 降壓 IC 進行並聯降壓,提供給4塊 TP4056 充電模塊。

2016-12-05_16-46-04

注意:任何升降壓模塊都不可以隨便並聯,否則有可能會導致電流過大而燒掉。最好的做法是使用隔離電源,但是如果沒有的話也能夠使用二極管及 MOSFET 的組合來做到隔離的效果。例子如下:

series-charger-circuit這個設計暫名為 Standalone Battery Charging Technology (SABT),第一塊實驗用電路板已經開始制作,預計很快就能知道這個設計的可行性。

1A 移動電源專用管理IC FM6316EF

1A 移動電源專用管理IC FM6316EF

最近一直在研究有關於手機充電器之類的東西,所以在到處尋找有關升壓和充電的IC 類型,經過測試之後因為 DATASHEET 寫不清楚,結果用 FP6276B 作為升壓的模塊最後失敗了。

vlcsnap-2016-12-11-11h03m30s729

好了,吐槽完畢。

剛好就在新的模塊設計完成後,就讓我發現了這一粒移動電源IC,同樣也是SOP8 的腳位,擁有「一粒IC 做到充電和升壓」的超神奇能力(雖然就只有1A,但是總比要用一大堆邏輯電路來控制要好多了。)

2016-12-11_16-53-59

 

電路樣板圖,可見除了這粒IC 以外就不需要其他IC了。充放電都由同一塊IC完成。

2016-12-11_16-53-48

由這裡可以看到,這粒IC 真的是不需要其他IC 附助,只用它自己一塊就可以完成整個移動電源的主要控制部分了。但是同樣也有一個問題,就是充放能力都只有 5V 1A,對於一般 2000-4000 mAh 的移動電源來說還是可以接受的程度,但是對於我正在研究的 40000mAh 聚合物鋰電池移動電源來說,以1A的充電速度來說就無法接受了。結果還是要回到 TP4056 + 升壓模塊 的組合嘛。

TP4056 聚合物鋰電池充電 IC 之相關研究

TP4056 聚合物鋰電池充電 IC 之相關研究

簡介

TP4056 是一粒 SOP-8 的充電 IC,簡單來說就是能給 3.7V 的聚合物鋰電池充電,充電電流可以達到1A,而且價錢十分便宜,對於要降低開發成本或者做實驗不想燒掉心痛的話的確是一個好選擇。然而,網上有關於這粒 IC 的教學真的非常之少,所以就在這裡簡單說一下了。

簡單來說就是VCC 裡給 5V,BAT 就會輸出 4.2V,根據電池電壓,會輸出最高1A 電流來充電。

TP4056 的 Pin Layout 大約是這樣:

  1. TEMP,接上熱敏電阻時如果檢測到電池過熱會自動停下來
  2. PROG,經電阻得接地,電阻值會決定其充電最高流量,列表的話大樣長這樣2016-10-22_19-25-58
  3. GND,接地
  4. VCC,接充電口的VCC(5V)
  5. BAT,接電池正極
  6. STDBY,充滿電的時候這隻腳會接地
  7. CHRG,充電時這隻腳會接地
  8. CE,不知道用來幹麼的總之接上VCC(Pin 4)就對了

對了,在充電口連去 TP4056 的 VCC 之前要經過一粒 0.4Ohm 電阻,雖然也不知道有啥用,但是 Datasheet 是這樣寫的。

可堆疊特性

說到這粒TP4056,就得說到最近做實驗時發現了它的可堆疊特性。即是英文裡的 Stackable。那即是啥意思?那即是說假如你只有一塊鋰電池,你可以用兩粒 TP4056 的 VCC 對它充電(最好當然加上 Diode 了),那最大充入電流量就會變成 2A(這裡先假設你的電池能承受到 2A 充電)。所以,在最新設計的尿袋(充電寶)中,就使用了由4塊 TP4056組成的充電列陣,那便可以把充電時間由原本一塊的時候縮減至四分之一。

2016-10-20_18-20-30

嘛,不過這堆東西還要很多時間來開發就是了。