2018年7月25日 星期三

使用 LM317 製作風扇轉速控制器

之前的文章裡有幫 Alcatel-Lucent I-040GW 數據機跟 Raspberry Pi 3 樹莓派開發板安裝風扇,那個時候是直接從樹莓派的 USB 埠取電源

但是 USB 的電壓為 5V,而且電流量也沒多大,因此 12V 風扇總是轉的不快,雖然說以數據機跟開發板來說已經夠了,但不禁在想,有沒有辦法可以直接驅動兩顆 12V 風扇,而不是從樹莓派抽取電源,而且能夠控制轉速呢?

「diy fan controller」為關鍵字去查詢,你會發現很多人有類似的想法,也有很多可以讓你實作的示範,只要你會用電烙鐵,有一定的基本電學知識,那其實還蠻簡單的,如果是會用電烙鐵的人說不定可以很快的就焊好一片

風扇控速分成兩大類,分別是 PWM 調速跟電壓調速, PWM 調速需要有支援的風扇來達成,而電壓調速大部分風扇都可以達成,除非你要複雜到從轉速線回傳轉速然後控制電壓,但那樣還蠻複雜的,而且沒效率

而電壓調速的部分,大部分都是用 LM317 這顆線性電壓調節器去實作,其實蠻簡單的,我參考的是老外的實作,跟國內的小宗宗の部屋

要注意的是 LM317 在這裡的應用屬於線性電壓調節器,也就是說電壓差會直接轉化成熱量消耗掉,因此一定要注意散熱跟電源負載的問題,LM317 最高只能承受 1.5A 的電流,所以你的供應、負載電流不能超過 1.5A,或是總功率 18W,而且一定要幫 LM317 安裝散熱片跟注意通風


2018_03_11_154650
安裝風扇的 Alcatel-Lucent I-040GW 數據機跟樹莓派開發板

上面兩篇實作偏向製作緊緻型,也就是善用立體錯作跟正反兩層的走線來達成最小體積,如果你不喜歡那麼緊緻,不論是怕使用電烙鐵跟銲錫時手殘,或是你想要利用現成的洞洞板來製作,都沒關係,隨意就好

零件就跟實作一樣,但我加入了電源指示燈的零件
  • 電晶體 LM317 線性電壓調節器
  • 電晶體散熱片,跟絕緣導熱貼片
  • 電阻 1K (1000 Ohms),1/8W,用在輸出電路跟控制
  • 電阻 550 Ohms,1/4W,用在電源指示燈的減壓
  • 可變電阻,10K
  • 電容器 0.1uF,50V,輸入端穩壓
  • 電容器 1uF,50V,輸出端穩壓
  • 發光二極體,顏色隨意
  • 風扇連接母座,至少要兩個
  • 洞洞板,格數至少要 18 乘以 10
  • 銅柱、螺絲跟螺母
下面是簡單圖解的電路圖
注意,電路圖中的電路是走在下方,也就是這些設計圖是從正上方往下看電路板,透視過零件與電路板看到走線



從實作中的電路圖解修改出的設計圖

如果用現成的洞洞板來製作,走線是這樣

尺寸也可以再稍微緊緻一點

如果要一次驅動兩個風扇,就在輸出端安裝兩組風扇連接母座

而在實際使用洞洞板實作前,可以先用麵包板來驗證電路是不是正確的,基本上只要風扇速度控制有成功,沒有零件短路燒掉或異常發燙(如果是 12V,那 LM317 很燙是正常的,所以要安裝散熱片),那就是成功了,接著就可以實際製作

2018_07_02_232528
用麵包板來驗證
2018_07_02_232538
旋鈕式的可變電阻,在實作時會換成薄膜式可變電阻

接著就使用洞洞板實作,洞洞板的優點是有預先鍍錫好銲錫,而且完成後還可以直接鎖上銅柱來固定

2018_07_03_212558
使用洞洞板完成的實作試驗
2018_07_03_201326
後面是使用料腳跟銲錫製作的走線
2018_07_03_201156
確定可以正常運作
2018_07_05_214146
如果你有美觀強迫症,你也可以用單蕊線來製作走線
2018_07_05_222542
但用單蕊線來製作走線也是有一定難度
2018_07_05_222242
量出需要的長度後,留一定餘裕然後剝除絕緣
2018_07_06_012232
而且單蕊線的絕緣皮對電烙鐵的高溫很敏感,很容易就變形跟破皮,因此可以斟酌,只在正極用單蕊線來走線

而電源的部分,因為我規劃的電路板初衷是避免線路交錯,因此要連接主機板的風扇母座供電時,不能直接沿用風扇的 12V 定義,要作反轉,把正極跟負極對調,如果從 USB 擷取 5V 也要注意腳位

當然你嫌麻煩,或是本來就設計成從外接電源供應器取 12V 的話,那就自己壓一個接頭吧


2018_07_05_165038
把 12V 電源供應器的接頭剪掉
2018_07_05_170148
剝除絕緣皮,套上熱縮套再壓接簧片,也可以敷少量銲錫強化
2018_07_03_222956
插上風扇連接頭之後再把熱縮套滑回去然後加熱固定,注意腳位跟一般風扇相反
2018_07_05_170352
要奢侈一點也是可以用編織套跟熱縮套搭配
2018_07_06_012208
測試自己壓接的電源供應器
2018_07_06_012352
測試可變電阻,最低時風扇停轉,這樣一下下就好,不然 LM317 會過熱燒毀
2018_07_06_012416
中等轉速
2018_07_06_012516
最大轉速,注意連續三張照片用作電源指示燈的 LED 亮度差異
2018_07_18_131402
在電路板背後用螺絲跟銅柱固定一片塑膠片來絕緣

再來是雙輸出的部分,這個就不可避免要讓走線出現立體交錯,當然洞洞板上面的路線間距是夠的,如果銲錫技巧沒有太差是不會短路的,如果真的很擔心就用單蕊線來走線,但這就很花時間跟手工,你會撥絕緣皮撥到很煩,所以可以的話,直接用料腳或是剝光絕緣皮的單蕊線來走線也是可以

2018_07_24_131016
雙輸出的實作
2018_07_24_131024
部分使用單蕊線來走線
2018_07_24_131058
改良,除了訊號線跟一小段地線之外都用料腳來走線
2018_07_24_161926
然後就可以安裝到你需要的地方了
2018_07_24_162030
正面也有安裝一片塑膠片來絕緣,記得留空間來插上風扇線、電源線,跟給 LM317 一點散熱空間
2018_07_26_135958
也可以幫之前購買的無風扇不斷電系統涼快一下
2018_07_26_140036
5V 風扇通常都有轉速高而且噪音偏大的問題,用調速就可以解決

大概就是這樣,好好享受手工藝吧

2018年6月15日 星期五

從 ASIC 礦機看數位貨幣的安全性

隨著以太幣、比特幣的價格上漲,在炒作的同時,也有許多人加入礦工的行列

而如果有去了解數位挖礦,就會知道有分成用顯示卡挖礦跟用礦機挖礦,而礦機一直是一個很有爭議的東西,而其中又以佔有最大市占率的比特大陸(Bitmain)最有爭議性

顯示卡挖礦就不說,先來解釋一下所謂的礦機,其通常是以 ASIC 晶片為架構,而早期則是以 FPGA 晶片為主
  • 特殊應用積體電路(Application-specific integrated circuit,ASIC)
  • 現場可程式化邏輯閘陣列(Field Programmable Gate Array,FPGA)
早期多半是使用 FPGA 晶片,把演算法電路設計好後再燒錄進去晶片裡面,所以多半是從硬體開發板修改而來,後期才出現一張電路板上安裝多顆 FPGA 晶片的訂製礦機



像是 Earthsoft PV4 這張日本製色差擷取卡就是以 FPGA 晶片作為演算核心

以 Spartan-3 XC3S200 FPGA 晶片為核心的硬體開發板當作礦機

之後也出現這種使用雙實體 FPGA 晶片的開發板礦機

後期則是出現了這種訂製的,堆疊大量 FPGA 晶片的礦機

然而 FPGA 跟人類一樣,終究有其極限的,FPGA 的優點是它的電路都可以重新燒錄跟抹除,但如果開發用途不變時,那沒用到電路就是累贅了,如果挖比特幣只需要 SHA-256 的加密演算,那其他功能的電路就是佔據空間的累贅,如果要在單位面積內堆疊更多的演算力,那就會演變到 ASIC 晶片


南瓜博士設計的 Avalon 算是最早的 ASIC 礦機

初次接觸比特幣等數位貨幣大概是 2013 年中旬,那時候都是以開發板衍生的 FPGA 礦機為主,比特大陸剛剛成立,南瓜博士的阿瓦隆(Avalon)剛設計完成在作原型機測試,比特幣的價格是美金一百五十,折合約新台幣四千六百

那時一台 ASIC 礦機都要台幣十萬,要購買還有很大的麻煩(多半是跨國貨運跟付款的問題),重點是大家都不確定比特幣會不會改演算法,如果改了,那所有以 SHA-256 演算為特化的礦機會直接變成廢鐵

但最後比特幣並沒有改變演算法,它分歧出去的分叉幣也多半是沿用這個演算法

當初賭了一把買礦機的人也多半暴富,也開啟了 ASIC 礦機壟斷算力的不歸路



比特大陸的螞蟻礦機 T9,ASIC 礦機

有些人會不懂為什麼礦機會這麼討人厭,甚至會理解成一種仇富心態,但這其實是不正確的

礦機,尤其是ASIC 礦機造成的最大問題,是算力的集中化,這與數位貨幣的開放、公平理念違背,而更大的問題是安全性

數位貨幣的區塊驗證制度,以比特幣來說是要持有接近過半的演算力,因此有所謂的 51% 攻擊,只要有過半的演算力是由惡意攻擊者持有,他就可以竄改挖出來的新區塊(因為數位貨幣不可逆的特性,他沒辦法竄改已經挖出來的區塊,但可以竄改新區塊)

下面用五個節點來示範數位貨幣的驗證制度,當然現實中的節點不會這麼少,但如果你把礦池當作是一個單一節點的話也可以這樣解釋



正常情況下每個演算節點都是個別持有,且承認新挖出來的區塊

如果兩個演算節點被同一個惡意攻擊者持有,即使他竄改來搶先挖出新區塊,也會因為沒過半被駁回

但如果他持有過半的演算節點,那他就可以達成所謂的 51% 攻擊

由於 ASIC 礦機在單位成本上與 GPU/CPU 挖礦相比,佔有壓倒性的優勢,因此較少數量(比較之下)的 ASIC 礦機就可能達成 51% 攻擊,考慮到大部分的礦機都是比特大陸的螞蟻礦機系列,且大部分算力都是在比特大陸的螞蟻礦池之下,這又在安全性上造成了更多疑慮
  • 如果大部分 ASIC 礦機都是同一家公司製造,然後管理軟體有同樣的安全性漏洞或是後門可以劫持?
  • 如果大部分 ASIC 礦機都是同一家公司製造且在同一個礦池之下,然後礦池的控制權被劫持?
在這兩個假設下,你就會發現 ASIC 礦機是一個很危險的東西

也因此,開發社群抵抗的從來就不是誰、或哪家公司因為賣出大量的挖礦設備而大賺硬體財,而是抵抗算力的集中化,要讓算力分散化,最簡單的方式就是盡量讓大家都可以用手上都會有的硬體挖,不論顯示卡、處理器或是智慧型手機,乃至於硬體開發板

而在同樣的資本投入下,建立 GPU/CPU 礦場與建立 ASIC 礦場一比,後者的壓倒性算力優勢造成了很大的不公平,也產生了上述的安全性問題

目前採用 PoW 機制(Proof of Work,工作證明機制)的數位貨幣如果沒有發展出抗 ASIC 演算法,則多半有這個問題,除非改成 PoS 機制(Proof-of-Stake,權益證明機制),來透過價格跟持有量壓制達成 51% 攻擊的難度

簡單說?買以太幣就對了(欸?

2018年6月5日 星期二

Sony WI-1000X 簡易開箱

用了差不多兩年半的 Sony SBH70 遇到了電池衰減的問題,感覺續航力降低了許多,開始物色新的藍芽耳機

這次把預算放寬許多,拉到萬元線,選擇了有主動式降噪、支援 AAC 跟 aptX 編碼格式的 Sony WI-1000X


2016_02_28_205554
使用了兩年多的 Sony SBH70
2018_06_05_214926
新購買的 Sony WI-1000X,包裝正面
2018_06_04_210442
包裝背面,詳細講述了規格與注意事項
2018_06_05_214958
從包裝裡可以退出一個黑色盒子
2018_06_05_215052
打開就是固定在高密度泡綿的耳機本體,這是事後重拍的,已經把保固序號貼紙移除
2018_06_05_215216
黑色布質收納袋、說明書、充電用的 Micro USB 傳輸線,民航機的雙插孔轉換頭、耳機轉 Micro USB 傳輸線、耳機套
2018_06_05_215246
Sony 原廠提供了六對不同的耳機套,讓使用者依照耳道形狀更換
2018_06_05_215252
充電用的 Micro USB 傳輸線,民航機的雙插孔轉換頭、耳機轉 Micro USB 傳輸線
2018_06_05_215226
黑色布質收納袋
2018_06_05_215422
右側紅色標示,馬來西亞製造說明、五伏特直流電驅動、電檢與藍芽標示
2018_06_05_215414
右側前端的按鈕,用於切換、開始或關閉降噪模式
2018_06_05_215436
電源指示燈、電源開關、音量按鈕、播放、暫停與接聽按鈕
2018_06_05_215734
充電與耳機接入用的 Micro USB 傳輸埠在蓋子下

Sony WI-1000X 的 Micro USB 傳輸埠有點微妙,只支援充電跟音訊傳輸(需要透過專用的 3.5mm 轉 Micro USB),也就是說更新韌體這種功能要靠跟耳機搭配的工具軟體,透過藍芽傳輸新版韌體,過程大概是三十分鐘至五十分鐘不等(視使用的手機而定

2018_06_05_215746
專用的 3.5mm 轉 Micro USB 傳輸線
2018_06_05_213313
插上耳機,連接電腦後,就是一般的耳機而已,可以自己選擇要不要開啟電原來使用降噪

Sony WI-1000X 本身支援多種傳輸編碼格式,從基本的 SBC 到 AAC 跟 aptX 編碼格式

而如何在 macOS 上驗證不同的編碼格式需要從蘋果的開發者專區下載 Bluetooth Explorer 去作調整,從 Apple Developer 下載的工具整合壓縮包裡面找到 Bluetooth Explorer 然後放進應用程式資料夾就可以了


2018_06_05_214327
將連線連線至 Mac 而沒有啟用音訊傳輸時,按下 option 去檢視進階資訊會顯示未啟用
2018_06_05_214508
把 Bluetooth Explorer 扔進應用程式資料夾後啟用
2018_06_05_214515
選擇 Audio Options
2018_06_05_214527
就可以調整系統預設的傳輸編碼,當然最終還是要依你使用的耳機支援性而定
2018_06_05_214344
啟用 Sony WI-1000X 的 AAC 編碼格式傳輸,其實 macOS 對支援 AAC 的藍芽耳機預設應該都是有開啟 AAC 的支援性
2018_06_05_220834
當然你高興也可以調整成 aptX 編碼格式

要說總結的話,耳道式的降噪耳機好像也沒幾家可以挑,但 Sony WI-1000X 的音質確實是很不錯,支援 AAC 格式也讓 macOS 跟 iOS 裝置不會再屈就於傳統的 SBC 有損壓縮編碼

唯一的小遺憾,就是這耳機不防水(是的,這耳機真的不防水,戴著運動流汗可能沒差,但千萬不要賭說下雨不會怎樣

點我前往 Sony 官網檢視 WI-1000X 的詳細資訊