2023年9月19日 星期二

Fix my Orange Pi 3 SBC not able to power up

前幾天拿我的Orange Pi 3出來
取出MicroSD卡,更新Armbian到最新版本
想確認一下Panfrost會導致畫面閃爍/破碎的問題修正了沒
插上MicroSD卡之後開機,還在設定過程中突然斷電關機

重複一兩次都無法正常開機
伴隨著微微的異味
我想可能是有什麼東西燒掉了
用USB Current meter觀察
USB 5V被拉到3V,電流上升到3A多
緊急把電源斷掉
開始檢查板子(目測加上用鼻子聞XD)
會短路通常優先確認電源IC
(照經驗,SOT23-5的封裝,旁邊有電感,通常是DC/DC的Buck IC)
果然看到一個Buck IC有點異常

這顆IC中間有微微突起

根據旁邊的絲印,這顆IC是U55,找了一下Orange Pi 3的電路圖
可以確認是Wifi module的供電IC

SY8089A, 2A的Buck


先確認損壞程度,第一個先量IC,量到對地短量之後
把IC拆掉 (用烙鐵克難的拆)

拆下IC後檢查旁邊有沒有短路、錫渣
檢查各個Pad還有沒有短路,都沒有
上電觀察電流,正常
插上MicroSD/USB/HDMI
上電檢查,可以開機了!!! 
到這一步可以確認不開機是這顆IC短路
不確定Wifi模組有沒有問題

當下在家裡翻箱倒櫃,想找到Buck IC馬上修,甚至拆了一隻公司的樣品Dongle
可惜找不到適合的
Dongle上面有Buck ic,但只有0.8A,就只好放棄

禮拜一上班
去拿以前收集了廢料回家,再殺了一些不要的板子上面的料
我手邊沒有2A的Buck IC,但是有1.2A跟1.5A的
Wifi module吃電沒那麼重,而且我們的設計也都是一顆Buck就對Wifi module供電
就照上了!



IC的絲印被助焊油稍微遮住看不太到
我這邊改用TI的TLV62565,只有1.5A
但這顆是我手邊能殺到電流比較大的Buck IC了~

焊完IC(用烙鐵焊,加上那個位子很緊湊,所以焊的頗吃力)
目測檢查有沒有短路,沒有(開始有老花症狀了XDDD)
用電錶檢查有沒有短路,沒有
不插卡,用USB Meter上電檢查電流有沒有異常,0.2xA,Safe!
插卡、插USB、插HDMI,同時用USB Meter上電檢查電流有沒有異常
可以順利開機,電流沒有異常,開機後Wifi工作正常!!!

到這邊就可以判斷是修好了:D
以上
留個紀錄


2023年2月11日 星期六

I've reach my Raspberry pi usb current limit, so I've Hack my USB hub.

前言:
我有很多舊的小容量micro sd卡,外接USB Hub,透過usb讀卡機,接到我的Raspberry pi 3,再加上一個sata-usb轉換器,接上小容量SSD,透過btrfs建立一個raid10,當作NAS來使用

最近拿到一台二手的Raspberry pi 4,所以打算來升級我的NAS
(最近兩年Raspberry pi 4缺貨跟漲價實在是太誇張了...)

因為舊的Raspi3只支援usb 2.0,所以當初使用的usb讀卡機許多是usb 2.0的,升級到Raspi4之後,因應Raspi4有支援usb 3.0,所以順帶把所有讀卡機、sata-usb轉換器都換成USB 3.0

沒想到全部更新後,開始出現問題

  • 有很高機率開機會hang住
    (沒辦法正常開機,因為開機時mount btrfs失敗)
  • 正常開機後,對btrfs操作,寫入或讀取資料,有很高機率會出現錯誤,當出現錯誤之後,連同接在Raspi上的keyboard, mouse都沒辦法工作
分析:
從現象可以推測,應該是碰到Raspi的USB current limit,觸發OCP保護
單一個USB port,或全部USB port,總電流超過1.2A就會觸發OCP保護,導致所有usb device被強制斷電
https://support.thepihut.com/hc/en-us/articles/360015272218-How-much-current-can-I-draw-from-a-Raspberry-Pi-USB-port-

對策:
首先可以考慮可以外接電源的USB Hub
但實際上外接電源USB hub會衍伸其他問題
一種問題是USB hub外接電源逆向供電給Raspi,這個容易出現在低價型的USB hub,不確定是Cost down還是本身設計不良,如下圖

外接電源的DC jack,直接以0ohm貼片電阻連接到主要的Power rail,0ohm貼片電阻的零件名稱是D4,表示原先可能是要放二極體,但如果這個位置貼上二極體,當DC jack供電跟USB cable連接電腦同時存在,還是會由USB cable供電,所以我不確定這是不是設計不良。
可能也是因為這個緣故,所以改貼0ohm電阻直接短路。

所以需要一個可以外接電源,而且外接電源不會逆向供電的USB Hub,所以我拆了我的另外一個USB Hub

這個設計就比較合理,以二極體隔開外接電源與USB 電源,當USB電源沒有連接的時候,外接電源不會逆向供電回到USB電源
同時如果外接電源跟USB電源同時存在,以外接電源供應USB Hub電流

實際測試後,確實可以改善Raspi usb電流限制的問題
但又有新的問題,當Raspi關機或是重啟,USB hub因為連接外接電源,實際上不會斷電
這造成usb hub上的設備,有可能因為沒有斷電,下一次開機時沒辦法正常初始化usb設備

所以,我需要一個可以外部供電的USB hub,不會逆向供電給USB Host,當USB Host斷電時USB hub也會同時斷電

實做:
我找了一個現有的buck converter module
(身為一個工程師,手邊隨時有一堆module也是很合理的)

Buck convert IC是mp1584en,接著研究一下datasheet,看看這顆IC的enable有沒有enable功能,以及研究一下這個module可不可以拉出enable pin來控制
有Enable pin,正邏輯,Enable pin超過1.5v時enable output,Enable pin內部有pulled up到3v,內部pull up電阻不確定,但敘述有提到1uA current source,所以推測內部pull up resistor應該很大
考慮到Enable pin有Pull up到Vin,考慮不移除pull up resistor,直接串接的情況下,在USB hub這端透過電阻分壓,確保Vbus沒有連接的時候,Venable可以降到足夠低,同時避免Vin串到Vbus

接著評估怎麼修改
在Hub上找出對應的Pad跟Net,在Ground上找到對應位置,刮除綠漆,提供電阻焊接的位置

接著在Buck converter找出Enable pin的net,方便焊接的點
連接兩塊板子
檢查新增加的電阻、接線,有沒有短路,接觸到其他元件接點或是Pad
都正常之後上電測試,檢查電路工作是不是符合一開始的設計規劃
用三用電錶量測 Buck module Vin電壓,VBus in的時候VEnable電壓,VBus out的時候VEnable電壓,工作正常!
最後組裝

我得到一個可以外部供電(寬電壓輸入,但電壓需要再計算,至少12v可以工作)
不會逆向供電給USB Host,當USB Host斷電時也同時會關閉外部供電的USB Hub!

現在我的Raspi 4工作正常了~

2022年5月6日 星期五

Replace J-S J-7508 Speaker amplifier again

忘記哪來的喇叭,好像是我哥給的,時間已經不可考
最初給我的時候應該是圖片中的擴大器異常,已經忘記是不過電還是音量控制有問題啥的
(剛才查這顆喇叭發現可能是通病,有一些文章有提到長時間使用後,音量的可變電阻可能會不正常)
我已經忘了當初檢修的過程,或是有沒有修了

最後我放棄那個擴大器,直接用另外買的功放板直接推喇叭
(擴大器當初應該就丟了)
從銅柱跟可變電阻的鏽斑看得出已經有歷史的痕跡了...
J-7508配的變壓器是傳統變壓器,加上功率比較大的緣故,整顆變壓器又大又重
所以另外背了一個7815的LDO,這樣我就可以直接用交換式變壓器供電

前一段時間,忘記多久以前,功放開始有點問題,左右聲道有時後會某個聲道沒聲音或比較小聲,或兩個都沒聲音
重新轉一轉接頭、或是調一調音量會有改善
最近又開始居家上班,我開始注意到右聲道音量相較於左聲道音量小聲很多
勉強可以接受,但總是有點不自在
拉一拉扭一扭音量旋鈕後有機會改善,推測應該是音量旋鈕這顆可變電阻問題
這顆是B5K 6pin 的可變電阻,我手邊沒有適合的材料...

於是我找出蠻久以前淘寶買來玩的Class-D功放板 PAM8403
2017年的時候,買來組成一個小的放大器,供電採用現成的DC-DC buck模組
這樣就可以吃比較寬的電壓輸入
但實際測試後發現會有一個noise,推測是DC-DC buck造成的
是可以直接改5v輸入,只要用usb adapter供電
但usb adapter有時候供電品質其實也好不到哪去
所以做好的放大器就擱置了...

這一次受不了舊的放大器,所以拿這顆出來改造
當初懷疑是電源造成底噪的部份
所以這次我沿用原來的DC-DC buck,將輸出電壓調高到7.2v
在輸出端再串一個從高職時期零件盒挖出來的7805

不直接從外部給到7805主要還是考慮7805的耐壓沒那麼高,加上LDO的效率不好,壓降越大、電流越大,LDO發熱越高

氧化非常嚴重的7805,接腳打磨過了,焊電容上去還是焊半天
可能磨的不夠,也有可能烙鐵太弱,或是銲錫不對Orz

加上7805之後,實際測試看看,沒有聽到奇怪的噪音了
表現還算挺不錯的,起碼以我這個木耳來說,我聽不出啥差異XDDDD

至於功率
最初這組喇叭似乎是15W rms x2
換第一組功放板換成7W x2
換第二組PAM8403只剩下3W x2
越換越小了XDDDD

老一輩的觀念是,功放的功率要夠大才推的動單體
實際上不會真的聽到這麼大聲
但功率夠大,推對應的單體聲音才會漂亮

以前學放大器的時候,Class A表現最好,但效率最差
Class D因為是透過PWM的方式去推喇叭,當時課本教的是說這種方式最差,但沒有深入說明
現在的話,我知道PWM如果沒處理好,訊號傳遞到單體上可能就會很悲劇
但現在Class D普及的程度,現在技術已經比早年要好很多了

因為我是木耳,老實說音響發燒友的世界、那些聽起來很抽象的名詞我不是很懂
以第一組功放板來說,他的功放IC是TDA7266,Class-AB 放大IC
從Datasheet可以看得出來
這是7W x2的功放IC,但THD表現最好的低點落在0.5W~2W,3W-4W之後THD就會一路飆上去
所以老一輩說的話也是有些道理

而第二組功放板的功放IC是PAM8403,Class-D 放大IC,3W x2
從Datasheet可以看到,以4ohm、5v舉例,THD一路下降,2w算是最低點,2w之後開始往上飆
所以在正常使用情境,不特別拉高音量輸出的情況下
單單比THD,第二組功放不見得比第一組差到哪去

我自己使用上來說,表現算是相當不錯了:)

替這顆喇叭留個紀錄,順便紀錄一下擴大器的演進歷程


Fix my Orange Pi 3 SBC not able to power up

前幾天拿我的Orange Pi 3出來 取出MicroSD卡,更新Armbian到最新版本 想確認一下Panfrost會導致畫面閃爍/破碎的問題修正了沒 插上MicroSD卡之後開機,還在設定過程中突然斷電關機 重複一兩次都無法正常開機 伴隨著微微的異味 我想可能是有什麼東西燒掉...