2020年7月30日 星期四

好站 : DIY 達人 KendiYap 的無人機自製教學

今天在 Youtube 看到 KendinYap 的頻道, 展示如何自製 RC 遙控四旋翼機, 固定翼飛機, 以及遙控飛船, 製作技法實在令我拜服, 值得觀摩學習與參考.

首先是示範如何製作四旋翼機 :

https://www.youtube.com/watch?v=yFBvC_zRiek




其次是製作固定翼飛機 :

https://www.youtube.com/watch?v=PdrjVSdA7_w




下面是製作遙控飛船的影片 :

https://www.youtube.com/watch?v=dSQbjb8mftM




最後是自製 RC 遙控器, 這讓我重新評價 NRF24L01 模組, 原來改成 SMA天線後傳輸距離可以大大地加長 : 


在這些影片中作者自製的小鋸床最吸引我興趣, 因為我以前有買過一顆要用來做電鋸的直流馬達, 作者在影片中都是使用這個小鋸床來切割電路板, 飛機木等材料, 有空我也來製作一台, 方便以後 DIY 專案使用. 

R 語言學習筆記 (五) : 資料框

在中斷兩年半之後, 我最近又恢復了 R 語言的學習, 原因是向母校借了一本陳旭昇老師寫的 "機率與統計推論" 這本書 (用 R 語言寫的), 覺得在讀這本書之前必須先把 R 語言的基礎建立起來才行, 所以暫停其它學研計畫, 集中心力在 R 的測試學習上. 上一次是停在因子這個科目上 (2018-01), 這次要從 R 語言最重要的資料型態 data.frame (資料框) 下手.

此前的 R 語言筆記參考 :

R 語言安裝
在樹莓派上安裝 R 語言
R 語言學習筆記 (一) : 基本語法與向量
R 語言學習筆記 (二) : 矩陣
R 語言學習筆記 (三) : 陣列
R 語言學習筆記 (四) : 因子

資料框 (data.frame) 是 R 語言用來處理表格資料 (tabular data) 的資料型別, 也是其資料物件中最常用的一種, 它相當於 EXCEL 中的試算表 (sheet), 或者是 Pandas 的 DataFrmae 物件. 資料框與矩陣一樣是二維的資料結構, 具有直行 (或稱為欄) 與橫列兩個維度, 直行代表統計學中的變數 (variables), 橫列則代表觀測值 (observations), 在資料庫中直行代表欄位 (fields), 橫列稱為紀錄 (records).

資料框物件名稱 data.frame 中的句點乍看有物件導向意味, 但這其實是因為 R 早期版本不允許底線作為變數名稱 (因為底線當時用作指派), 因此許多物件名稱採用句點作為分隔或串接字元. 目前的 R 版本雖然已允許底線作為識別字名稱, 但使用句點串接仍是比較好的方式 (一致的風格), 參考 :

R Variables and Constants

資料框的基本結構與矩陣一樣, 都是二維的資料結構, 每一行都是由長度相同的行向量組成, 它與矩陣或二維陣列不同之處主要有下列二個 :
  1. 資料框每一行可以是不同的資料型態; 而矩陣與陣列每個元素的型態必須相同. 
  2. 資料框的行與列都有名稱; 而矩陣與陣列只有索引而無名稱. 
簡言之, 資料框可以說是矩陣的性能擴充, 兩者都可以看成是由數個行向量 (欄) 組成, 只不過矩陣的每個行向量資料型態必須相同 (同質), 而資料框則可以不同 (異質), 亦即資料框可以由數個長度相同的數值向量, 文字向量, 或布林向量組成; 其次是資料框不論是行或列都有名稱 (name) 屬性, 矩陣的行列則無名稱, 只有索引位置.

操作資料框首先要建立 data.frame 物件 :


一. 建立 data.frame 物件的方法 :

1. 呼叫 data.frame() 函數 :

函數 data.frame() 的 API 如下 :

data.frame(..., row.names = NULL, check.rows = FALSE,
           check.names = TRUE, fix.empty.names = TRUE,
           stringsAsFactors = default.stringsAsFactors())

詳細說明可在 R Console 中以 ?data.frame 指令查得.

參數列最前面的 ... 表示可以傳入長度相同的向量, 因子, 數值矩陣, 串列等資料物件. 例如可以將長度相同的一組向量當作參數傳入函數 data.frame() 來建立資料框物件 :

df <- dataframe(V1, V2, V3, ...)

例如 :

> v1 <- c("Kelly", "Peter", "Amy")
> v2 <- c("Female", "Male", "Female")
> v3 <- c(18, 16, 14)
> df1 <- data.frame(v1, v2, v3)
> df1
     v1     v2 v3
1 Kelly Female 18
2 Peter   Male 16
3   Amy Female 14
> class(df1)
[1] "data.frame"        #物件類別是 data.frame
> typeof(df1)
[1] "list"                    #型態居然是 list

可見建立資料框時未指定行向量名稱, 預設會以行向量的程式變數名稱當作行向量的欄名 (即統計學中的觀測變數), 而列的名稱預設就是 1, 2, 3, .... 之連續數字. 因此, 資料框可視為一組相同長度行向量的組合, 組合不同資料結構形成資料框時, 必須注意資料長度是否相同, 例如上例若加入元素多一個的 married 向量就會出現錯誤 :

> v1 <- c("Kelly", "Peter", "Amy")
> v2 <- c("Female", "Male", "Female")
> v3 <- c(18, 16, 14)
> v4 <- c(FALSE, FALSE, FALSE, FALSE)    #長度多 1 個> df1 <- data.frame(v1, v2, v3, v4)
Error in data.frame(v1, v2, v3, v4) : 
  arguments imply differing number of rows: 3, 4   

呼叫內建函數 View() 會開啟一個視窗以表格顯示資料框內容, 與 EXCEL 的試算表類似 :

> View(df1)   




可見這是一個維度是 3*3 (3 列 3 行) 的資料框, 呼叫 dim(), nrow(), 以及 ncol() 函數會分別傳回資料框的維度, 列數, 以及行數, 例如 :

> dim(df1)        #傳回維度
[1] 3 3                    #3 列 3 行
> nrow(df1)      #傳回列數
[1] 3
> ncol(df1)        #傳回行數
[1] 3

在建立資料框時也可以指定欄位名稱, 這樣就不會使用預設之行向量名稱了, 例如 :

> df2 <- data.frame(name=v1, gender=v2, age=v3)
> df2
   name gender age      #指定之變數 (行向量) 名稱
1 Kelly Female  18
2 Peter   Male  16
3   Amy Female  14

可見指定欄位名稱後, 預設的欄名 (變數名稱) v1, v2, v3 就被 name, gender, age 取代了.

呼叫 str() 函數可觀察資料框結構, 每個 $ 符號後面就是欄位名稱, 然後跟著的是欄位元素之資料型別與內容 :

> str(df1)
'data.frame':   3 obs. of  3 variables:
 $ v1: Factor w/ 3 levels "Amy","Kelly",..: 2 3 1
 $ v2: Factor w/ 2 levels "Female","Male": 1 2 1
 $ v3: num  18 16 14
> str(df2)
'data.frame':   3 obs. of  3 variables:
 $ name  : Factor w/ 3 levels "Amy","Kelly",..: 2 3 1
 $ gender: Factor w/ 2 levels "Female","Male": 1 2 1
 $ age   : num  18 16 14

可見 df2 指定欄位名稱後與 df1 的預設欄名不同. 其次要注意的是, 若變數 (欄) 為文字向量, 則資料框預設會自動將其轉換為 Factor 因子變數, 例如上面 v1, v2 與 name, gender 變數後面顯示其為 Factor 向量. 如果要阻止自動轉換, 可在建立資料框時指定 stringAsFactor 參數為 FALSE 即可, 例如 :

> df1 <- data.frame(v1, v2, v3, stringAsFactor=FALSE)
> str(df1)
'data.frame':   3 obs. of  4 variables:
 $ v1            : chr  "Kelly" "Peter" "Amy"
 $ v2            : chr  "Female" "Male" "Female"
 $ v3            : num  18 16 14
 $ stringAsFactor: logi  FALSE FALSE FALSE

可見 v1, v2 這兩個變數之資料型態獲得保留為字元 (chr). 呼叫 View() 函數顯示資料框結構時也會標示這個屬性值為 FALSE, 例如 :




呼叫 names() 或 colnames() 函數會傳回資料框的欄名, 呼叫 rownames() 則傳回列名, 例如 :

> names(df1)
[1] "v1" "v2" "v3"
> names(df2)                      #傳回欄位名稱
[1] "name"   "gender" "age" 
> colnames(df1)                 #傳回欄位名稱
[1] "v1" "v2" "v3"
> colnames(df2)                 #傳回欄位名稱
[1] "name"   "gender" "age" 
> rownames(df1)               #傳回列名稱
[1] "1" "2" "3"
> rownames(df2)                #傳回列名稱
[1] "1" "2" "3"

除了在建立資料框時指定欄位名稱外, 也可以利用內建函數 colnames() 透過向量索引改變欄位名稱, 例如 :

> df3 <- df1    #複製資料框 df1 至 df3
> df3
     v1     v2 v3
1 Kelly Female 18
2 Peter   Male 16
3   Amy Female 14
> colnames(df3)[c(1,2,3)] <- c("name", "gender", "age")      #更改欄位 1, 2, 3 的名稱
> df3
   name gender age                         #欄位名稱已被更改
1 Kelly Female  18
2 Peter   Male  16
3   Amy Female  14

同樣地, 也可以利用 colnames() 函數更改列名稱, 例如 :

> rownames(df3)[c(1,2,3)] <- c("R1", "R2", "R3")       #更改列索引 1, 2, 3 的名稱
> df3
    name gender age
R1 Kelly Female  18
R2 Peter   Male  16
R3   Amy Female  14

以矩陣建立資料框時, 需注意每個矩陣之列數必須相同, 且須等於其他向量變數的長度, 例如下面的資料框 df4 由一個數值向量 v, 兩個矩陣 m1, m2, 以及一個布林向量 b 組成, 那麼它們的列長度必須一樣才行 :

> v <- c(9:10)                                     #向量 (2 列)
> m1 <- matrix(1:6, nrow=2)             #矩陣 (2 列)
> m2 <- matrix(7:12, nrow=2)           #矩陣 (2 列)
> b <- c(TRUE, FALSE)                    #向量 (2 列)
> df4 <- data.frame(v, m1, m2, b)
> df4
  v X1 X2 X3 X1.1 X2.1 X3.1    b
1  9  1  3  5    7    9   11  TRUE
2 10  2  4  6    8   10   12 FALSE

矩陣匯入到資料框時會將矩陣的各行 (欄) 轉成資料框的變數, 預設會將矩陣的每一行以 "X" 開頭依序命名, 例如 X1, X2, X3, ... 第二個矩陣為 X1.1, X2.1, X3.1, ... 等等, 呼叫 str() 可觀察其資料結構 :

> class(df4)
[1] "data.frame"
> str(df4)
'data.frame':   2 obs. of  8 variables:
 $ v  : int  9 10
 $ X1  : int  1 2
 $ X2  : int  3 4
 $ X3  : int  5 6
 $ X1.1: int  7 8
 $ X2.1: int  9 10
 $ X3.1: int  11 12
 $ b  : logi  TRUE FALSE
> colnames(df4)             #傳回資料框欄名向量
[1] "v"    "X1"   "X2"   "X3"   "X1.1" "X2.1" "X3.1" "b"  

可見第一個矩陣 m1 的三行依序被命名為 X1, X2, X3; 而矩陣 m2 的三行則依序被命名為 X1.1, X2.1, 與 X3.1 等等.


2. 呼叫 as.dataframe() 建立資料框物件 :

資料框的資料來源可以是儲存於串列中的向量, 這時可呼叫 as.data.frame() 函數將串列轉成資料框, 例如 :

> v1 <- c("Kelly", "Peter", "Amy")
> v2 <- c("Female", "Male", "Female")
> v3 <- c(18, 16, 14)
> lst <- list(name=v1, gender=v2, age=v3)
> df5 <- as.data.frame(lst)      #將串列轉成資料框
> class(df5)
[1] "data.frame"
> df5
   name gender age
1 Kelly Female  18
2 Peter   Male  16
3   Amy Female  14

可見串列中的每一項相當於一個行向量, 而 as.data.frame() 會將串列轉成資料框, 串列中的 key 成為欄名 (即變數).


3. 呼叫 do.call() 建立資料框物件 :

如果資料來源不是以行向量呈現, 而是儲存在串列中觀測值 (列資料), 每一筆的觀測值以單列資料框儲存於列表中, 則可利用 do.call() 函數呼叫 rbind() 來將這些列資料組合成資料框, 例如 :

> ob1 <- data.frame(c("Kelly"), c("Female"), c(18))
> ob2 <- data.frame(name=c("Peter"), gender=c("Male"), age=c(16))
> ob3 <- data.frame(name=c("Amy"), gender=c("Female"), age=c(14))
> df6 <- do.call(rbind, list(ob1, ob2, ob3))
> class(df6)
[1] "data.frame"
> df6
   name gender age
1 Kelly Female  18
2 Peter   Male  16
3   Amy Female  14


二. 存取資料框元素 :

存取資料框的內容有兩種方式 :
  • 使用中括號 [列索引, 行索引] 存取整列, 整行, 或某行某列元素
  • 使用 $行名 存取整欄 (行)
  • 使用雙重中括號 [[行索引]]
注意, 中括號內第一個索引為列索引, 第二個是行索引, 行索引空白表示存取整列; 列索引空白表示存取整行.

1. 使用中括號 [列, 行] 存取 : 

此種方式可以存取整行, 整列, 或指定儲存格元素, 例如 :

> df2
   name gender age
1 Kelly Female  18
2 Peter   Male  16
3   Amy Female  14
> df2[1,]                                     #取得第 1 列
   name gender age
1 Kelly Female  18
> df2[2,]                                     #取得第 2 列
   name gender age
2 Peter   Male  16
> df2[3,]                                     #取得第 1 列
  name gender age
3  Amy Female  14
> df2[, 1]                                    #取得第 1 行
[1] "Kelly" "Peter" "Amy"
> df2[, 2]                                    #取得第 2 行
[1] "Female" "Male"   "Female"
> df2[, 3]                                    #取得第 3 行
[1] 18 16 14
> df2[1, 1]                                  #取得第 1 列第 1 行
[1] "Kelly"
> df2[2, 2]                                  #取得第 2 列第 2 行
[1] "Male"
> df2[3, 3]                                  #取得第 3 列第 3 行
[1] 14


2. 使用 $行名 存取 : 

此種方式可存取整行之變數資料 :

> df2
   name gender age
1 Kelly Female  18
2 Peter   Male  16
3   Amy Female  14
> df1$v1                                    #取得名稱為 v1 之變數 (整行)
[1] "Kelly" "Peter" "Amy"           
> df1$v2                                    #取得名稱為 v2 之變數 (整行)
[1] "Female" "Male"   "Female"
> df1$v3                                    #取得名稱為 v3 之變數 (整行)
[1] 18 16 14


3. 使用雙重中括號 [[行索引]] : 

此種方式也是可存取整行之變數資料, 但使用是行索引來定位 :

> df2
   name gender age
1 Kelly Female  18
2 Peter   Male  16
3   Amy Female  14
> df1[[1]]                                      #取得第 1 行整行變數
[1] "Kelly" "Peter" "Amy"   
> df1[[2]]                                      #取得第 2 行整行變數
[1] "Female" "Male"   "Female"
> df1[[3]]                                      #取得第 3 行整行變數
[1] 18 16 14

下面是利用賦值運算符改變資料框內容的範例 :

> df2
   name gender age
1 Kelly Female  18
2 Peter   Male  16
3   Amy Female  14
> df2[1, 3] <- 19
> df2
   name gender age
1 Kelly Female  19
2 Peter   Male  16
3   Amy Female  14
> df2[, 3] <- c(20, 18, 16)
> df2
   name gender age
1 Kelly Female  20
2 Peter   Male  18
3   Amy Female  16
> df2[3, ] <- c("Tony", "Male", 55)
> df2
   name gender age
1 Kelly Female  20
2 Peter   Male  18
3  Tony   Male  55
> df2$age <- c(21, 19, 56)
> df2
   name gender age
1 Kelly Female  21
2 Peter   Male  19
3  Tony   Male  56


三. 資料框常用函數 : 

上面所使用之資料框函數如下表 :


 data.frame 常用函數 說明
 data.frame(v1, v2, ...) 將行向量 v1, v2, ... 組合資料框物件
 names(df) 傳回資料框 df 的行名 (欄, 變數名)
 rownames(df) 傳回資料框 df 的列名 
 str(x) 顯示物件結構與內容
 length(x) 顯示陣列元素個數
 dim(x) 顯示物件 (矩陣, 陣列, 資料框) 維度 : 列, 欄
 nrow(df) 傳回資料框 df 之列數
 ncol(df) 傳回資料框 df 之行 (欄) 數



參考 :

R 語言基礎

2020年7月28日 星期二

2020 年第 30 周記事

最近在努力學 R 語言, 假日則做木工 DIY, 所以也沒時間整理筆記. 週日下午終於完成水輪機槳的製作, 多虧前陣子買了鋰電池電鑽, 使木作得心應手, 真所謂工欲善其事必先利其器啊! 完成水輪機後接著想將阿正哥堆在我家後院的水桶拿兩個來接屋後樓頂下來的雨水排水管, 作為菜園灌溉預備水. 總之, 希望能在年底前把過去五年想做又一直拖的 DIY 計畫一一完成.

最近從左營阿姨那得知小姨丈狀況不佳, 週日晚上與表弟聯繫, 謂已做好最壞打算, 所以今天我請了一天假專程北上去探望, 雖然不是來往熱絡, 但過去兩度北上工作都曾短暫寄居在忠孝街, 小姨丈都蠻歡迎我.

離開北醫後到公館巷子裡的小餐館與小阿姨與為為會面, 四人暢談了一下午. 之後又坐捷運回世貿站, 想說上台北大多公務來去匆匆, 從沒去過 101, 反正回高雄太早, 等姊姊下班又太晚, 不如上去 101 觀景台看看也好. 沒想到正要探詢票價, 就聽前面一位太太說三點半前 150, 現在 600, 反差太大連菁菁也在 Line 上回覆太貴, 所以就打道回高雄了.




週日對面張屋夥房又搭起棚子, 原來鄰居和彩叔做仙去了, 前不久張屋銘有哥蓋自家房子蓋到一半突然昏倒送醫不治, 近兩個月走了兩個不算高壽的男丁, 還真令人遺憾.

2020年7月27日 星期一

小型水力發電機組安裝 (一) : 槳的木作

以前曾在岳父的農舍附近看到有一戶人家門口的水圳安裝了一個小型水車, 用來將水打上輸水管, 那時我就想要製作一個水車, 用來驅動小型發電機, 參考 :

http://yhhuang1966.blogspot.com/2014/12/blog-post_20.html

我在 2017 年底開始動手製作水輪機, 主要是取材自以前我託母親買的二手雙人腳踏車, 結婚後騎過幾次就放庫房了, 多年塵封生鏽早已無法修復 (也沒人要騎), 所以我就廢物利用, 拆了前輪來做水車, 參考 :

2017 年第 45 周記事 : 拆腳踏車輪製作水車




2017 年第 47 周記事




不過那時將輪子打磨上透明漆之後就忙別的事而束之高閣. 最近因為買了手動釘槍與鋰電池電鑽, 想起未完成的水車剛好可派上用場, 心裏也構思出水車的結構, 於是這兩周九開始恢復製作了, 參考  :

購買手動木工釘槍

槳採用特力屋賣的桐木抽牆板, 使用電鋸裁出 9 對固定板與槳, 用螺絲將槳鎖在固定板之後, 再用手動釘槍將其固定在輪圈鋼絲上, 並用電鑽在固定板上鑽洞以鐵絲加強固定, 結構圖如下 :




下面是周日 (7/26) 製作的成果 :







但我實際放在水圳中測試發現轉速不夠高, 帶動小型發電機可能電壓不會太高, 也可能改成水車使用. 下周再上油漆防鏽.

小型三相發電機我手上有兩個購自露天 :

[現貨] 低壓大電流無刷直流馬達 直流發電機 附整流二極體 $390 (已售完)

其性能轉貼如下 :




【額定電壓】48V
【空載電流】200mA
【空載轉速】3300轉/分鐘
【適合電壓】24-48V(1600-3300轉)

另外可參考 :

低速高壓 三相交流發電機 馬達 減速 電機 風力發電機 水力 太陽能發電 $600

2020年7月26日 星期日

好站 : 資料科學實驗室

今天在尋找 R 語言的數學函數時找到下面這個網站 :

資料科學實驗室

裡面可找到許多有價值的文章, 例如下面這篇是介紹學習 R 語言時必學的套件 :

必學的10個R套件

下面這篇則介紹學習 R 語言的 32 本好書 :

R語言從「初學」到「進階」到「跨界」的32本書籍推薦

另外還介紹了 60 本免費的線上書籍, 雖然有點舊了, 但還蠻值得參考的 :

60本免費的資料科學書籍 :

2020年7月24日 星期五

高科大還書 1 本

因為向母校借的 R 語言與電磁學已到館, 但目前借書狀態為滿檔, 所以就挑了這本最少在看的書先還掉再取書 :
  1. 運算 : Python理論及應用
最近在忙著熟練 R 語言, 所以 Python 就只好先晾一邊了.

2020年7月20日 星期一

山葉電動機車領牌與領車

今天中午去益明車行繳交領牌用的二哥身分證與郵局存摺影本, 晚上攜帶二哥手機與尾款去領車, 因為電動車可用藍芽與手機透過山葉 App 連線開啟, 不需用到感應要使還, 所以車行的小姐花了一些時間幫我輸入個資與收驗證信, 到近 8 點半才完成, 由水某其我的車回家, 我則騎電動車, 騎乘感覺還不錯.

中午交證件後直接到家附近的 7-11 領三倍券, 連同爸的共有五份, 花五千元獲得 15000 元, 淨得 10000 元, 所以今天尾款是 :

99800-3000 (訂金)-15000 (振興券)=81800

二哥說若再扣掉補助 17000 元 (山葉 9000 + CBS 補助 1000 + 工業局補助 7000 元) 以及他暑假打工的錢 35000, 我大約要出 3 萬元左右 :

81800-17000 (補助)-35000 (打工)=29800

另外本想請老闆在後視鏡架上裝一個手機架, 但店內只剩紅色, 等貨到再回來裝 (900 元)

2020 年第 29 周記事

二哥周一開始去善導書院上班, 剛開始主要是點貨, 還沒有去做鳳梨酥. 因為是排班制所以休假不固定, 所以 8/1 的父親節聚餐特別叫他排休, 而且可能會一直住鄉下直到開學前. 菁菁也從周二開始放暑假, 我也可以開啟暑期鬧鐘, 不用這麼早起床啦.

這幾天水某幫菁菁報名到她們醫院的郵局當志工, 協助發放三倍券事宜, 可獲得每小時 50 元車馬費, 菁菁回來說很好玩, 可以體驗一下上班的滋味.

近兩周因為一連串失誤忘記線上續借, 被迫還了一堆想看卻沒時間看的書, 讓我驚覺其實是我野心太大, 時間有限, 應該先挑容易完成的做, 不要好高騖遠, 人腦不是 Linux 系統, 多人多工是妄想, 專心做好一件事才是正途.

現在中國水患頻仍, 美國武肺人數飆升, 氣候炎熱異常, 這世界真的變了, 往日的好時光似乎很難再恢復, 出國旅遊難道會變成一種回憶而已嗎?

2020年7月14日 星期二

Python 數位信號處理 (DSP) 的三本好書

最近逛書店發現 Python 已經變成國民程式語言, 書櫃上整整兩列都是 Python 的各類書籍 (主要是入門級與機器學習類), 以前的程式語言王者 Java 新書寥寥可數, 這一切都是拜 AlphaGo 之賜, 才讓 Python 這個老語言鹹魚翻身爆紅, 應用面可說包山包海.

今天在網路上看到兩本用 Python 做數位信號處理的書 (以前大都是用商用版權軟體如 MATLAB), 第一本是歐萊禮出版的 :

Think DSP: Digital Signal Processing in Python (Oreilly, 2016)


Source : 天瓏



書中範例程式碼可在 GitHub 中下載 :

https://github.com/AllenDowney/ThinkDSP

第二本是 Springer 出版的 :

Python for Signal Processing: Featuring IPython Notebooks (Springer, 2014)


Source : 天瓏


此書使用直觀易懂的 Python 程式寫法撰寫範例以便於學生自學, 主要內容包含取樣定理, 離散傅立葉分析, 頻譜分析, 以及有限脈衝響應 (數位) 濾波器等. 我非常認同作者序言中提到的一句話 : 唯一的學習之道就是動手做實驗 ("the only way to learn is to experiment as you go"), 因為我學任何知識技術也都是透過動手做測試.

另外一本是去年我在明儀買的, 也是目前市面上唯一一本用 Python 做 DSP 的好書 (中原資工系張元翔教授寫的) :

# 數位信號處理 Python 程式實作 (全華, 2019)


Source : 誠品


此書雖然不算厚, 但 z 轉換, 卷積, FIR, IIR 等主題都有帶到, 是實用性非常高的一本書. 去年底這本已出第二版, 我想應該賣得不錯 :

數位訊號處理 : Python 程式實作, 2/e (附實作光碟)


Source : 天瓏


此書的範例程式檔下載連結 :

全華數位信號處理 Python 程式實作範例下載 (from Mega)

不過要讀這三本書的前提是必須先有 Python 基礎並熟習這三個 Python 第三方套件 :
  1. Numpy
  2. SciPy
  3. Matplotlib
以前我用 Praat 做實驗語音學分析, 對於 Praat 作者運用數位信號處理技術寫出這麼棒的軟體深感佩服. 當時蒐集了一堆語音辨識論文, 但對於如何實作卻感到很茫然, 後來找到一本楊鎮光寫的書, 裡面有真實的程式碼說明如何處理音訊框, 但這本書用的是 Visual Basic, 為此還花了點時間去學 VB 6. 參考 :

# Visual Basic 與語音辨識 (松崗, 楊鎮光, 2002)


Source : 天瓏


現在改用 Python 來做 DSP, 工具更多更好用了 (事實上我與微軟的 VB 系列語法格格不入).

2020年7月13日 星期一

2020 年第 28 周記事

七月以來都沒雨水, 整天熱到不行, 連我這個耐熱度很高的人都受不了, 在客廳房間走動電扇都必須接力吹, 不然就開始冒汗. 如果能來個擦邊球的小颱風消消暑氣就好了.

鄉下家頂樓的太陽能板上周六傍晚安裝完成後正式供電, 週六回到鄉下抄錄電表數字, 從 1885.6 KW 跑到 1896.1 KW, 一周輸出約 10.5 KW 電力, 平均每天 1.5 KW, 以日照 8 小時而言 (08:00~ 16:00), 平均每小時輸出約 188 W.

順利完成太陽能板後我的 DIY 動能停不下來, 已經評估在頂樓圍牆上安裝 600W 風力發電機的可能, 計畫採獨立式供電, 也就是需要準備一顆深循環電池, 也要拉一條電力線, 主要供應是內外平時感應照明與颱風停電時之緊急照明. 初步預估成本約在 8000 元左右 (風機 4000 + 電池 1800 + 逆變器 1600 + 支架), 參考 :

風力發電機市調

其次是 2017 年底開始進行的小型水力發電機實驗, 當時只是將廢棄腳踏車輪框打磨上漆而已就停頓下來, 最近看到屋邊水圳水量豐沛, 實在手癢到不行, 上週去特力屋時買了好幾塊桐木抽牆板回來, 週日早上動手裁切製作水輪機的槳, 總共需要 9 個 :





在用釘槍固定槳時太用力有一組斷裂, 本周要再去一趟特力屋了 (尺寸 606*85*13.5 mm). 小舅週六晚上打電話問我放在書房中的小鋸床買了多少錢, 我說大約 1600 左右, 但只能鋸小部件, 我還有一顆小直流馬達, 也想要為它釘一個鋸床來, 週日去小漢五金時特地去裡面觀察了其鋸床的構造 :




鋸床主要是需要一個可平移的對齊板, 此鋸床使用鏈條控制左右移動, 將手把往下押就可固定.

另外在評估風機支架方面, 我找到可用的四孔底座, 可套在一又四分之一吋的亞管, 但略鬆一些需要借電焊槍固定才行 :





一又四分之一吋亞管長六米, 不零售, 一支要價 450 元, 不便宜啊. 原先找到一款兩孔底座, 剛好可鎖進現成的兩端有牙鋼管, 可惜這些鋼管太短, 如果有接頭可串接那就好了, 但還有一個顧慮是兩孔底座可能較不穩固 :




二哥今天開始去暑期打工, 週六與周日下午特地各自騎一台機車去認路, 計算路程單趟 10 公里, 大約要騎 20 分鐘. 周末帶了一堆 R 語言書回去, 卻因為 DIY 上身都沒讀多少.

2020年7月11日 星期六

好站 : R語言網路免費基礎資料與個人推薦書單

我最近轉向專心學習 R 語言, 它在統計學, 資料科學, 以及機器學習方面與 Python 可說是倚天劍與屠龍刀, 雙璧合一威力無窮. 今天找 R 資料時偶然逛到一個網站, 裡面有豐富的 R 語言學習參考資料 :

R語言網路免費基礎資料與個人推薦書單

其中郭耀仁寫的 "輕鬆學習 R 語言" 這本書我剛好書架上就有 (從母校圖書館借來的, 第二版) :


Source : 博客來


這本書預設是給無基礎的入門者寫的, 就算是文學院的學生也可以輕鬆閱讀, 誠如作者序言中所言, 他期待讀者能一邊享用美味的午餐, 一邊翻閱此書. 我讀了前兩章後, 覺得此書確如作者所言, 就像讀小說一樣, 是針對門外漢寫的. 對進階 R 語言學習者而言, 也是不錯的複習.

我之前也買過郭耀仁的另一本書 "進擊的資料科學", 這本書就是為 R 語言進階學習者寫的, 而且是 Python 與 R 雙劍合一, 所有主題均附上 Python 與 R 之範例, 是我最愛的一本書之一, 之前在學習 Python 資料科學時閱讀此書, 總是被其中的 R 範例干擾 (因為 R 還沒學完), 決定擱下, 等 R 語言摸透後再來 :


Source : 博客來


郭耀仁與蔡立耑一樣都是熟習 Python 與 R 的專家, 不過蔡立耑的金融科技實戰系列寫成了兩本厚厚巨著 : "Python 與量化投資" 與 "R 語言與量化投資", 也是我帶在身邊的好書 :


Source : 博客來

Source : 博客來


實作很好玩, 但讀書也很重要, 通常實作久了就會發現自己底蘊不足, 這時就要看平時有沒有在讀書了. 我是不甘寂寞的射手座, 永遠穿梭於書房, 圖書館, 以及木作間, 直到世界末日都是如此.

2020年7月10日 星期五

購買鋰電池電鑽起子

最近因為積極進行計畫已久的自作專案 (水輪機, 太陽能發電, 物聯網監控站等) 需要蠻多木作, 例如木箱鑽孔鎖螺絲等需要一支方便好用的鋰電池電鑽, 上週特地去特力屋看, 發現網路評價 No.1 的品牌不論是 Bosh 或 Black Decker 都很貴, 價格都在 4000 元以上, 實在不太親民啊! 我只是業餘木匠, 只要派得上用場就好啦, 不需要太專業的工具.

這幾天在網路商場找尋價格在 2000 元以下的電鑽, 發現下面 momo 這款 FJ 的才 1692 元, 附 33 件工具組, 最大扭力 48 牛頓 (長江科技代理) :

【FJ】專業25V衝擊加強版電鑽工具組(附贈33件豪華組) $1692

東森購物也有賣同樣這支, 價格同樣為 1692 :

FJ 專業25V衝擊加強版電鑽工具組(附贈33件豪華組) $1692

說明影片如下 : 





生活市集打 82 折 1544 元 :

真25V電鑽33件豪華組 $1544

原本有在考慮另一款功夫 18V雙鋰衝擊充電起子機, 扭力較大有 145 牛頓 :

18V雙鋰衝擊充電起子機 $1862

但此款配件較少, 所以最後還是決定買真 25V 這款, 剛好晚上生活市集打出 74 折優惠, 折扣後總價 1464 超取付免運 :




此款電鑽規格如下 :




下面紀錄一下搜尋到的有用資料 :

居家DIY新手入門!如何挑選適合的 電鑽?

關於電鑽與電動起子差別參考 :

《職人工具開箱》電鑽電動起子知識大補帖




原來 Bosh 是貴在品質與電池安全性啊! 但我們居家木作應該不需要這麼好的吧!

PS :

其實我原本在露天找到位於左營大路的賣家蓁智居家生活館, 他賣的富格 25V 附雙電池也才 1710 元, 此款最大扭力 45 牛頓, 電池續航力約 160 分鐘, 充電 1~2 小時左右, 鋰電池保固三個月, 本體保固半年, 後續保修兩年 :

衝擊鑽 富格 25V雙電池 衝擊起子機 附塑盒鑽頭套筒組 充電電鑽/電動起子/電動工具 保固半年 $1710 (雙電, 防水, 衝擊款)

富格的電池一顆 400 元 :

鋰電池 25V 富格專用鋰電池 (戈麥斯/蝦牌通用) /鋰電鑽用鋰電/鋰充電電池/電鑽電池/電動起子電池 $400

相關影片 :

https://www.youtube.com/watch?v=dcQ7zyQWFwA




https://www.youtube.com/watch?v=gFhS1WDTRfc




還有其他非衝擊式的電鑽以及開孔器 :

鋰電電鑽 戈麥斯 25V雙電池 黑色鐵蓋版 附塑盒鑽頭套筒組 雙速可正反轉/充電電鑽/電動起子/電動工具 保固半年 $1590 (雙電)
鋰電電鑽 戈麥斯 25V雙電池 藍色鐵蓋版 附塑盒鑽頭套筒組 雙速可正反轉/充電電鑽/電動起子/電動工具 保固半年 $1690 (雙電)
# 鋰電電鑽 冠仕 25V 1.5AH 簡配 /家用手電鑽 / 充電式電動螺絲刀 / 電起子手鑽 / 純銅電機 保固半年 $1030 (單電) $1430 (雙電)
木工開孔器 藍色13件組 / 木工鑽頭 / 筒燈鑽頭 / 套裝石膏板PVC木板擴孔器 $380

但後來覺得要跑到左營大路有點懶, 所以就算了, 以後若要買開孔器的話再去找. 『蓁智居家生活館』自取地點在高雄市左營大路419巷29號. 時間是早上8點到中午12點,下午1點到6點. 禮拜六早上8點到中午12點.

鋰電池若沒使用需三個月充飽一次, 否則容易壞掉. 鋰電池其實都是 18650 串聯起來的, 更換鋰電池的方法參考 :

https://www.youtube.com/watch?v=Fsn_hUPDtTw




電鑽使用教學 :

入門篇-如何操作我的震動電鑽




2020-07-15 補充 :

今天去 7-11 領貨回來馬上試用, 給上週完成的物聯網控制箱鑽固定孔與通風孔, 主機性能本身還不錯, 但鑽完欲充電, 剛插電時充電器上的燈有亮, 但過一會兒看時卻不亮, 以三用電表量輸出電壓 0v, 趕緊上網跟客服申訴 :

收到商品有瑕疵怎麼辦?

部分贖回南山變額壽險

最近收到南山信函通知, 我的投資型保單已達預定收益, 可以考慮贖回, 登入南山網站一看, 富達美國基金報酬率為 23%, 由於疫情後黃金持續上漲, 套牢已久的貝萊德黃金基金已縮小虧損至 -6%, 贖回前報酬率如下 :





雖然黃金可能還會再漲, 但我決定見好就收, 黃金以及瑞銀美元基金全部贖回, 僅留富達美國 :




富達基金保留台幣一萬元餘額即可, 預估贖回 11 萬多, 剛好付二哥的電動機車還有餘 :




接下來要調整投資標的分配 :




我發現它有自動再平衡設定, 但需要研究一下怎麼用.




我覺得投資型保單很麻煩, 又有匯率風險, 最好不要買, 還不如直接投資熟悉的台股就好 (當初是因為呂先生情面購買, 每月扣款 4950 元, 有回饋). 總之, 保險是保險, 投資是投資, 兩個不要混在一起. 不要寄望儲蓄險能有多少回報, 頂多比定存高兩倍而已; 投資型保單更不用說啦, 你不管它它也不會管你, 甚至腰斬再腰斬. 懶人不可能理好財, 如果懶到不行那就傻傻買 0050/0056 就好. 

好書 : Deep Learning With PyTorch 電子書免費下載

今天在臉書看到社團分享的一則消息, 在 PyTorch 官方網站可下載 Manning 出版的下面這本電子書 :

https://pytorch.org/assets/deep-learning/Deep-Learning-with-PyTorch.pdf


Source : Manning


PyTorch 是廣受工程界歡迎的深度學習框架, 中文書我已買了三本, 但都看了兩三章就分心他顧而停下, 希望很快能繼續 PyTorch 的學習. 與 TensorFlow 比起來, PyTorch 要簡潔好用多了, 是機器學習入門者最好用的工具.

市圖還書 32 本

今天收到市圖借書逾期通知單, 居然已超過 7 天才通知, 是否郵件系統有問題? 但這只能怪自己最近沒去查看借還書情形, 同樣的錯能犯上兩遍還能怪誰, 只能都先還了, 還得停權一周 :
  1. Python新手使用Django架站的16堂課
  2. 工程數學 :微分方程
  3. Python程式設計入門
  4. 微積分之屠龍寶刀
  5. 打造圖像腦 :學會擊敗90%職場競爭者的視覺思考工作術
  6. 紫微斗數開運全集
  7. 文科生也看得懂的資料科學
  8. 從法人手中賺到錢 :全台第一本類股籌碼分析全攻略
  9. 吃一口薑黃,打開身體自癒力 :天然的最佳抗生素,一天吃三次,韓國名醫已連吃八年,效果有如不必動的有氧
  10. 動畫圖解資料結構 .第2版
  11. 資料結構 :使用C語言
  12. 圖解AI人工智慧大未來 :關於人工智慧一定要懂得96件事
  13. 高效率資料分析 :使用Python
  14. R的极客理想 .高级开发篇
  15. 冠軍操盤人黃嘉斌獲利的口訣 :20多年來我堅持照這些口訣,簡單操作就賺錢!
  16. 操盤手的萬無一失投資術
  17. 從法人手中賺到錢 :全台第一本類股籌碼分析全攻略
  18. 文科生也看得懂的資料科學
  19. AI也能說文解字 : Python上的文字算法 /
  20. 基礎工程數學
  21. 跟日本人快快樂樂說的旅遊日語
  22. 日本人每天必說的65句
  23. 日語聽力便利商店
  24. 多空我都能賺 :必學7堂翻倍投資術
  25. 世界第一簡單機器學習 /
  26. Data Science from Scratch中文版 :用Python學資料科學
  27. 不好意思,我贏了 =Sorry,but I win! :掌握總經,點石成金投資法!
  28. Nginx :完全取代Apache,超輕. 快. 強的Web伺服器
  29. 工程數學
  30. 版本控制使用Git
  31. Make:一讀就懂micro:bit : 給程式新手的開發板入門指南 /
  32. 讀史的長進 : 歷史從不同情弱者, 不迷信宿命, 讀歷史是為了寫歷史, 歡迎來到大人的世界. /
黃標書籍只好用家庭卡借回來了. 

2020年7月9日 星期四

小資族 55 歲爽退計畫

昨天看到一篇新聞 :

大學什麼科系千萬別讀?過來人曝「4大地雷」:真心不騙

哈哈! 很幸運地, 姊姊讀的正是榜上第一名的設計系. 她也說設計是累又低薪的工作. 她上周學期一結束, 馬上就到系上老師擔任藝術總監, 一家專門為電影做後製與特效的公司實習 (位於內湖科學園區), 還是唯一一個名額. 雖然累, 但卻是最喜歡的工作. 我一直認為為興趣而工作是幸福的, 只要能接受小資的現實就好, 畢竟世上做起來有趣又能賺大錢的工作並不容易找.

其實不管是不是為興趣而工作, 小資並不是阻止我們邁向財務自由的障礙, 只要能規律且正確理財, 小資族一樣能在 55 歲抱著千萬資產炒老闆的魷魚, 方法就是中學數學教過的複利公式, 連愛因斯坦都認為其威力遠勝原子彈.

著名的七二法則就是將複利的效果簡略化 (會有一些誤差), 簡單說, 若將資金投資在每年複利 6% 的標的上, 則 12 年後資產會翻倍, 即 72/6=12; 如果複利是 12%, 則只要 6 年就翻倍, 即 72/12=6. 參考 :

一次搞懂72法則

而每年能穩定產生 5%~6% 獲利的標的不難找, 例如台灣高股息 (0056) 就是, 近年配息如下 :




網路上有許多計算複利的網站可用, 例如 MSN 財經網站可以設定投資目標, 反推出每個月要投資的金額 :

https://www.msn.com/zh-tw/money/tools/savingscalculator

以一個大學畢業生 25 歲投入職場, 工作 30 年後 55 歲時能擁有千萬資產退休試算, 只要每個月存下 10541 元投資在年複利 6% 的標的上即可 :




首先去證券公司開個股票戶頭, 每個月薪水下來後先轉 1 萬元左右到理財交割帳戶, 三個月累積 到 3 萬元就夠買一張 0056 了. 如果沒時間注意買進價格, 那就設定手機日曆提醒每三個月 (一季) 用手機 App 傻傻買進一張 0056 存股即可, 這樣第一年可存 4 張, 重點來了, 每年的配息不要領出來, 繼續投資到 0056 存股資金中, 這樣以後每年就不只存到 4 張了, 而是以複利方式擴張, 30 年後就非常可觀了, 如果有外快或年終獎金結餘也投入資金池, 那就會以年金複利 (即本金每年增加) 擴張, 那將更快達成投資目標.

如果怕忘記或嫌麻煩, 可以到部分券商提供的零股平台 (例如元富證券小資零股平台) 設定每月固定買進 1 萬元的零股, 如果能設定薪資戶為扣款帳戶, 並於薪資下來後扣款, 那就幾乎完全不須人為介入了.

參考 :

# GoodInfo! 台灣股市資訊網

2020-07-09 補充 :

晚上 8 點看財訊 Line 主辦的施昇輝與超級芭樂網路直播, 我聽完覺得兩位來賓都很有道理, 但我更認為施先生的作法最穩, 0056 隨時買都不算貴, 以前年配息 1.5 元看, 就算價格是 30 元, 1.5/30=0.05 也就是 5% 殖利率, 會貴嗎? 先買一張你就會開始關心它, 慢慢地就會知道它的脈動了. 忙的人只要隨時買定時買就好 (買 0056 就是不怕被套牢), 專心工作求取加薪機會才能擴大資金池.

很多人可能看不起 5% 報酬率, 認為選對股就能賺 30% 甚至翻倍, 但那要冒多少風險與時間啊! 5% 其實只是保本的起點, 了解 0056 脈動後逐步增加持股 (張數多才能看到明顯效益), 動態調節進行無風險套利, 施先生說 2019 年 0056 價格上下浮動 28% 他都有賺到, 而且是不花時間精力穩穩賺. 我自從看了施先生的書之後, 也覺得花大把時間追逐風險利得實屬不智, 這樣會犧牲太多東西, 尤其是我這種興趣廣泛住海邊的射手座.

時間是無法標價的, 我們人生中唯一能擁有的, 只有時間.

PS : 如果在我 25 歲時就有 0056/0050 這種 ETF的話就好了.

2020年7月8日 星期三

好書 : Memristive Devices for Brain-Inspired Computing

以前在 Pinterest 的智慧型無人機專題上偶然得知憶阻器 (memrister) 這玩意, 發明人為柏克萊大學華裔學者蔡少棠 (即知名作家虎媽蔡美兒之父), 與以前物理學家根據理論推論認為應該存在某種粒子一樣, 蔡少棠也是從理論出發, 認為被動元件除了 RLC 之外應該存在一種能夠記住電荷量的元件, 那就是憶阻器, 參考 :

智慧型無人飛行器與 Memristor (憶阻器)

當時覺得這種剛被發明的東西理想性過高, 實質效用還有很長一段路要走. 哪知幾年過去, 這領域發展神速, 儼然已是未來仿生運算的明日之星, 不論是 NOR 或 NAND Flash 記憶體, 將來可能被憶阻器取代. 這本書就是從材料, 元件, 與電路等方面介紹憶阻器的進展 :

Memristive Devices for Brain-Inspired Computing


Source : elsevier.com


其實作為新一代非揮發性記憶體還只是小用, 憶阻器的大用是其特性可用來模仿人類腦神經元功能, 具有構建生物電腦的巨大潛力, 目前 HP 與 SAMSUNG 在固態憶阻器研究方面具有領先地位, 參考 :

# WiKi : 憶阻器

2020年7月7日 星期二

二哥想買山葉電動機車 EC-05

二哥說下學期打算騎機車上學, 所以這學期結束前積極上網找暑期打工, 想要存錢買機車, 而且上週一放暑假就開始 K 考照題目, 一周達陣拿到駕照. 他研究了好一陣子, 決定買山葉電動機車 EC-05, 此款車外觀是日本山葉設計, 是 Gogoro 代工, 整個系統是 Gogoro S2 的翻版, 但保養維修是山葉負責, 維修據點比較多不用排隊.

我昨天去鼎力路的山葉 YSP 看車, 覺得造型還不錯, 比 Gogoro 好看. 今天則是跟二哥去鼎中路看, 那老闆蠻好溝通的, 直言沒有很推薦買電動車, 認為如果當成奢侈品的話是可以, 畢竟價格並不便宜, 但買油機其實要汰舊換新優惠比較多, 二哥還是比較中意 EC-05. 買電動車補助 17000, 二哥說打工收入 35000 加上這學期的書香獎獎金, 他可以出 43000 元, 所以我只要出 35000 元.

參考 :

山葉電動車EC05 結合GOGORO 更換電池 輕鬆月付3062元 滿18歲可分期 新購電動機車補助16000元 $85500
YAMAHA EC-05 電動機車購車補助懶人包:全台各縣市補助金額整理 購車最低價68800元
Yamaha 電動機車 EC-05 台灣發表,車友:突然覺得新勁戰很超值!
【老 J 推車】比 Gogoro 還貴的 YAMAHA EC05 值得買嗎?看完試乘「5 大心得」或許你會有答案!
YAMAHA EC-05 電動車試駕!值得買嗎?與 Gogoro 原生車種有什麼不同?




我今天去預約了 3 倍振興券, 但時差限制以及業者是否收還不明確, 應該派不上用場.

2020=07-08 補充 :

晚上跟二哥去博愛路北平一路口的山葉試騎, 感覺電動車比油車好騎, 加速性能優異. 老闆看來很豪爽, 我直接問價格, 說 99800 含稅規費都辦好, 有收振興券, 明後天再決定.

講到三倍券, 最近一堆臨時經濟學家以及政治痞子在罵政府搞三倍券試脫褲子放屁, 多此一舉, 沒有用, 何不直接發現金? 果然是顏色政治.

2020-07-09 :

上哥決定買寂光藍 (深灰藍), 晚上兩人又去店裡下訂金 3000 元, 大約半個月才會到貨.

好站 : 用 PVC 管製作直立式風力發電機的方法

今天在回顧之前所記錄的發電機相關文章時, 找到下面這個 Youtube 影片, 作者將 PVC 管切割後作為葉片, 鎖在作為軸心的 PVC 管上, 雖然作品看起來不甚美觀, 但作法蠻有創意的, 值得特別紀錄下來, 這樣將來查詢也方便 :

0921315178三相小發電機測試




而用 PVC 管製作水平式風力發電機的做法參考 :

# 好站 : 用 PVC 管製作小型風力發電機

最近有想要買下面這顆 600 元的三相發電機來試試看垂直風機 :

低速高壓 三相交流發電機 馬達 減速 電機 風力發電機 水力 太陽能發電 葉片 led 法蘭 集電環 電動車砂輪機 磨盤 $600

可以順便購買其空心杯馬達作為將來固定翼無人機之用 :

四軸飛行器馬達 飛行 馬達 減速 cnc 砂輪機 刻磨機 電鑽 雕刻刀 雕刻機 電機 發電機 舞台燈光 $150 (一對)

但是得先買鋰電池電鑽才能施工, 至於切割 PVC 管, 家裡的小鋸床應該還可以.

風力發電機市調

上週完成 460W 太陽能板安裝, 統計總成本大約是 7700 元 (5500 能板與逆變器 + 1200 電線+ 1000 支架), 接下來想安裝獨立型發電系統. 不過今天在蝦皮找到幾款風力發電機, 安裝上比太陽能板容易, 只要買一支亞管支架來固定即可, 而且風電晚上有風也可發電, 我發現鄉下大約下午至凌晨常有風在吹, 所以獨立型我傾向採用風機 :
  1.  現貨台灣 可開發票 新能源 400W 12V/24V 小型家用 發電機 路燈 漁船 農田 水平轴 風力發電機 省電 $4799 (兩年保固,  附充電控制器)
  2. 現貨 新能源 100W-400W 12V/24V S型風機 小型家用風力發電機 路燈 房車 輪船 漁船 農田 清潔 $4445 (400W, 1年保固)
  3.  SOLO3/5刀片MAX 500W功率風力發電機控制器充電DC12 / 24V $3380 (無保固, 無控制器)
  4. 3000W風力發電機12V / 24V 5葉片臥式風力發電機,帶控制器風車能量渦輪充電 (保固 6 個月, 附充電控制器, 賣家說誤植瓦數, 實際 300W) $3519
  5. 4000W風力發電機發電機燈籠垂直軸5葉片電機套件,用於家用混合路燈 (保固 6 個月, 附充電控制器, 賣家說誤植瓦數, 實際 400W) $4189
  6. 清倉 灯笼风力发电机12V600W 立式风力发电机套件电力生产设备 (不含控制器) $3898
  7. ❤特價下殺❤X#清倉 灯笼风力发电机12V600W 立式风力发电机套件电力生产设备 $3703
  8. 水平軸LS3型400W 風力發電家用小型風力發電機5葉24V (無保固, 不附控制器) $3589
如果買沒附控制器機種, 則需另外添購 :

Owuh 12V / 24V 300 600W風力發電機充電控制器Re $524
MPPT風力發電機發電機充電控制器500-1000W 12 / 24V自動MPPT防水LED過壓速度保護 $809

若買直立式編號 7 的 600W 3703 元外加控制器 524=4227 元; 編號 5 附控制器 4189 元但是只有 400W. 水平式編號 3 無控制器 3380 外加控制器 524=3904 元, 不過只有 500W.

風機有三葉與五葉的, 據聞三葉是最適合的風機葉片類型, 參考 :

為什麼風力機多是三個葉片?

風力發電的配電電路架構圖如下 :




蓄電池容量一般以安培小時 Ah 標示, Ah=放電電流(恆流)×放電時間(小時), 例如 7AH 電池如果連續放電電流 0.35A 就可以連續放電 20 小時; 同理 120Ah 的電池固定 10 安培放電可連續供電 12 小時. 充電時間以15小時為標準, 充電電流為電池容量的 1/10 , 故 120 Ah 充電電流為 12 A, 快速充電會減少電池壽命.

發電機的瓦數與電池 Ah 數之對應如下 :

100W 12V30ah 24V15ah
200W 12V60ah 24V30ah 
300W 12V90ah 24V45ah 
300W 12V120ah 24V60ah
400W 12V120ah 24V60ah

深循環電池買二手的就可以了, 我在露天找到這家 505 電池工坊, 此賣家在長明街與忠孝一路交叉口 (高雄市三民區忠孝一路505號, 忠孝一路跟長明街三角窗), 100Ah 電池自取 1800 元, 全新的則要 7000 元 :

充放電專用 505電池工坊 24H快速寄出 YUASA 二手NPL100-12 12V 100AH 深循環電池 露營 $1800
十年長效型 505電池工坊 24H快速寄出 YUASA UXH100-12FR 12V 100Ah 原廠正品 深循環電池 $7000 (全新)

另外可參考新北這賣家, 其說明中有許多實務案例可參考 :

# 100AH 九成新二手 深循環電池 太陽能 露營車 台灣製造 純正弦波逆變器 鐵捲門不斷電 10A/20A數位充電器 $2500

至於逆變器, 我研究後發現標示有可能誤導, 有些標 1000W 其實是瞬間最大功率, 持續功率可能只有 500W. 我找到下列桃園賣家的純正弦波標示 500W 是指持續輸出功率, 對於 500W 的風機應該這個 500W 的應該就可以了 :

純正弦波逆變器500W 最高1000W太陽能 露營車 野營 $1600
純正弦波逆變器1000W 最高2000W太陽能 露營車 野營 $3300

根據以上市調結果, 若買 4799 那台風機, 加上 1800 元 100Ah 二手深循環電池, 以及 1600 元的 500W 逆變器, 裝置費用是 4799+1800+1600=8199, 另外還要加上幾百元的亞管支架費用, 總費用大約需要 9000 元左右.

如果需要市電與風電切換, 可用東元 ATS 家用電源自動切換開關, 價格大約 1000 元左右 :

東元 ATS 家用電源手/自動切換開關 AC 110V 220V ATSH-2020M1 $1000

使用說明參考 :

東元TECO_ATS家用電源自動切換開關_規格簡介




此開關右下角有一個自動/手動切換開關, 六的接點分別是主要電源 (市電), 負載電源, 備用電源 (電池), 自動模式時優先使用主要電源; 手動模式時優先使用備用電源.


2020-11-16 補充 :

由於網友 lutin111 的熱心勸告 (見下面留言), 我已決定放棄這項風力發電機的購買計畫與實驗, 畢竟時間與金錢都有限, 應該花在有實效的地方, 感謝您不吝分享經驗之談.