2021年7月27日 星期二

[Arduino] MAX30102 血氧心律脈搏傳感器(三) --- 你的模組需要修改電路嗎?

目前市面上便宜的 MAX3010x 系列血氧心律脈搏傳感器有數種款式(外觀和顏色),而 MAX30100 款(綠板)確定是電路設計有問題(註A),導致血氧濃度和心律脈搏等讀數不正確。

據我觀察,綠板的 MAX30102 款也有同樣問題,而黑板的則沒問題。



MAX30100/MAX30102 綠板電路圖如下


圖中 RCWL-9183 IC (註B)是將外部電源降壓為 3.3V,再經過一只三極管(註C)降壓為 1.8V。


接下來就是問題所在

一般的 SCL/SDA 準位是 5V 或是 3.3V,而它是 1.8 V。如果你將 SCL/SDA 直接連到 Arduino 或 ESP8266 、ESP32等開發板,讀到的數據就會不正確,詳下圖


解決之道 --- 修改電路

修改綠板的電路把電壓準位改為 3.3V,用刀片把連接 1.8V 的線切斷(黃色箭頭處,註D),再用一條導線連從電阻連到 3.3V 輸出端(紅色箭頭處)。


改好之後,可以再試一下讀取血氧心跳數據和未改前有何不同。


黑板為何不必修改電路

因為黑板的電路設計確實有依照商品說明裡寫的有 3.3V 和 1.8V 兩種電壓準位可選擇,如下圖


它預設狀態是使用 1 顆 0 歐姆電阻(黃色橢圓圈處)連接到 3.3V 電壓(黃色箭頭處)來讓 SCL/SDA達到 3.3V 電壓準位。


如果您要改為 1.8V,可以將該電阻轉180度連到綠色箭頭處。電路板後面也有預留電壓準位選擇焊板(黃色橢圓圈處),但必須先移除 0 歐姆電阻,然後再將中間焊板與1.8V焊板短路。


註A: 這款傳感器設計的 SCL/SDA 電壓準位是從 1.8V 拉過來,而一般常見的電壓準位是 5V 或 3.3V,這還是首次看到 1.8V 呢。由於我本身非電子專業背景,無法判定原設計是否錯誤,說不定這款模組原先就是專為 1.8V 的電子設備使用的,後來卻被拿來連接 5V 的 Arduino、3.3V 的 ESP8266 和 ESP32。果真如此的話,想要當一位 Maker 也不能只是傻傻地拿到模組就用,還是要多多少少了解一下手上的模組他的電路是如何設計的。

註B: 因不同製造商,編號有多款,或是 N1IF、HX-JE...等。

註C: 此圖未標出零件編號,因不同製造商,編號有多款,或是 65K5...等。

註D: 請用電錶測量切斷處確實斷開。


後記

翻看 Digi-Key 的電路圖,原始設計的電壓準位應該是有 1.8V/3.3V 這兩種選項,今天會有這個問題,可能是對岸在抄板製造時省略了部分細節,導致這個結果。


參考資訊

Electronics Innovation https://electronicsinnovation.com/solved-max30100-not-working-initializing-pulse-oximeter-failed/

Digi-Key https://www.digikey.com/en/articles/adding-heart-rate-monitoring-functionality-to-fitness-gear


購買資訊

MAX30102 綠板 https://www.ruten.com.tw/item/show?22125280142290

MAX30102 黑板 https://www.ruten.com.tw/item/show?22130046170972


2021年7月26日 星期一

[ESP32-CAM] ESP32-CAM 的電源探討

有玩家使用 ESP32-CAM 後,發現影像有水波紋,更糟的情況是系統不穩定頻頻重置,這有可能是供給的電源電壓不穩定或是電流不足所導致。

要討論電源,通常都須從源頭開始,這個源頭就是電腦,因為 ESP32-CAM 會連接電腦,至少上傳程式的時候一定會這樣做。

電源從電腦到 ESP32-CAM 開發板,這期間可是經過層層關卡,如下圖:

電腦USB ---- USB 線 ---- USB2TTL模組 ---- ESP32-CAM 開發板


由上圖可以看到,電要從電腦傳到 ESP32-CAM 會經過 3 道關卡,這 3 道關卡都要滿足後,ESP32-CAM 才能正常運作,以下是一些建議事項:

1. 電腦 USB 電壓輸出需要的是穩定的 5V,而且輸出電流最好在 1.2A 以上。注意:有些筆電無法提供太大的電流。

2. USB 的線徑要粗、材質要好,如果導線太細或材質不好,都會阻礙電流流動,這樣電流就不夠了。另外, USB 線要盡量地短,太長的話電阻大,也會影響電流流動。

3. USB2TTL 模組的品質也要好一點,作資料傳輸時才會快速與穩定。有一些 USB2TTL 模組提供 5V 和 3.3V 電源,請使用 5V 連到 ESP32-CAM 的 5V 腳位,不建議像上圖那樣是連 3.3V。

如果以上都無法提供品質好的電源給 ESP32-CAM 開發板,就需要考慮使用外部電源。如下圖的 External Power 5V。

此時要記得,USB2TTL 模組的 5V 就不要連到 ESP32-CAM 開發板了,但 Gnd 還是要連上。


最後很重要的建議

不管是在下載(UPLOAD)模式或是運行(RUN)模式,建議可以在 ESP32-CAM 開發板的 5V 腳位處加入 10uF(註A) 和 0.1uF 這 2 只電容,這樣會讓你的電流更穩定。(圖片來源:Ai-Thinker 官網)


註A: 10uF 以上也可以,像是 47uF。


購買資訊

ESP32-CAM 開發板 https://shopee.tw/-RWG-ESP32-CAM-%E9%96%8B%E7%99%BC%E6%9D%BF-WiFi-%E8%97%8D%E7%89%99-%E6%94%9D%E5%83%8F%E9%A0%AD-i.14363185.5837501179?position=1

ESP32-CAM-MB 下載板 https://shopee.tw/-RWG-ESP32-CAM-CH340C-USB2TTL-%E4%B8%8B%E8%BC%89%E6%9D%BF-i.14363185.10313109190?position=0

ESP32-CAM 天線 https://shopee.tw/-RWG-ESP32-Cam-2.4G-WIFI%E5%85%A7%E7%BD%AE%E7%99%BC%E5%B0%84%E5%99%A8%E5%85%A7%E7%BD%AE%E5%A2%9E%E7%9B%8A%E5%85%A8%E5%90%91%E9%8A%85%E7%AE%A1%E5%A4%A9%E7%B7%9A-%E5%B8%B6%E7%B5%95%E7%B7%A3%E8%AD%B7%E5%A5%97-ipx-%E6%8E%A5%E5%8F%A3-i.14363185.4747431761?position=2


[ESP32-CAM] 好用的 ESP32-CAM 下載模組 --- ESP32-CAM_MB

ESP32-CAM 功能強大,但對於剛接觸這塊模組的玩家來說,它在下載(upload)程式方面不是很友善,即使是對老鳥來說也覺得麻煩,而 ESP32-CAM_MB 這塊模組剛好可以解決這個問題。


在 UPLOAD 程式之前,先按住 RST 鍵(註A)再按一下 IO0 鍵後同時放開這兩鍵,就可以讓 ESP32-CAM 進入 Download 模式,這樣是不是方便許多。


簡單說明一下MB的架構

最近剛好在學畫電路板,需要認識許多電路的組成原理和架構,所以就稍加注意了一下 ESP32-CAM-MB。由於自身非電子本科,以下若有錯誤敬請先學前輩們指正。

ESP32-CAM-MB 的設計架構不複雜,就是在一塊小電路板上放置了一個 CH340C USB2TTL IC,讓 ESP32-CAM 可以連接電腦 upload 程式。再來就是拉出 IO0 和 RST 兩個按鍵,讓 upload 的接線過程更方便。以下簡單說明它的設計架構:


1.供電方面是從 micro USB端口進來 5V,先經過 SL 限流電阻作保護,再到 6206A LDO 穩壓,6206A 兩端有數顆電容穩定電流,然後供電給 CH340C 和 ESP32-CAM。

2. CH340C 與 ESP32-CAM 的 TX/RX 腳位連接,中間各串接一只電阻起保護作用。

3.板載 IO0 按鍵從 ESP32-CAM 的 IO0 腳引出,所以作用與 ESP32-CAM 的 IO0 腳相同。按一下可以讓 ESP32-CAM 進入 Download 模式。

4.由於無法直接從 ESP32-CAM 的腳位引出 Reset,所以板載 RST 按鍵是從 CH340C IC 著手,將 CH340C 腳位的電位拉低使之重置。旁邊的 T4 相當於是 1N4148 的作用。


註A:如果 MB 的 RST 按鍵不起作用,那麼就改按一下 ESP32-CAM 開發板上的 RST 按鍵。


2021-10-22 補充:

ESP32-CAM 有兩款,一種是本文介紹的這款(以下簡稱 CAM 本款),另一款是它的 GND 腳位增加了 RST 功能,它的腳位標示是 GND/R (以下簡稱 CAM 另款)。

ESP32-CAM_MB 也有兩款,一種是本文介紹的這款(以下簡稱 MB 本款),另一款是只有 RST 按鍵(以下簡稱 MB 另款)。


早先上市的是 CAM 本款,後來為了方便上傳程式,廠商又開發了 MB 本款來搭配。但是因為 CAM 本款並未拉出 RST 腳位,以致 MB 本款上的 RST 按鍵幾乎是沒有作用,在 UPLOAD 過程中還是得使用板子上的 RST 按鍵。

為了解決上述問題,後來廠商更新了 ESP32-CAM 開發板的電路,在 GND 腳位增加了 Reset 功能(開發板上腳位標示 GND/R),於是產生了 CAM 另款。因為 CAM 另款已經解決了 IO0 接地的問題,所以 MB 另款板子上就移除了 IO0 按鍵。

基本上只有 CAM 另款搭配 MB 另款才可以達到一鍵上傳的功能,如果 CAM 本款搭配 MB 另款或是 CAM 另款搭配 MB 本款,都還必須使用到 ESP32-CAM 板子上的 RST 按鍵才能達到上船的功能。


相關資料

ESP-CAM-MB https://randomnerdtutorials.com/upload-code-esp32-cam-mb-usb/?fbclid=IwAR2X9KzLdirXz7g3JULKh0iy85atz2rPj0ME_9RoKd7MaM82B3AtR7vYIUM

LS http://pdf.datasheetcatalog.com/datasheet/vishay/sl.pdf

6206A LDO datasheet https://www.mouser.com/datasheet/2/760/XC6206-846335.pdf

CH340x datasheet https://cdn.sparkfun.com/datasheets/Dev/Arduino/Other/CH340DS1.PDF

T4 https://www.alldatasheet.net/datasheet-pdf/marking/58920/DIODES/1N4148W.html


採購資訊

ESP32-CAM 開發板 https://shopee.tw/-RWG-ESP32-CAM-%E9%96%8B%E7%99%BC%E6%9D%BF-WiFi-%E8%97%8D%E7%89%99-%E6%94%9D%E5%83%8F%E9%A0%AD-i.14363185.5837501179?position=1

ESP32-CAM-MB 下載板 https://shopee.tw/-RWG-ESP32-CAM-CH340C-USB2TTL-%E4%B8%8B%E8%BC%89%E6%9D%BF-i.14363185.10313109190?position=0