2014年3月12日 星期三

Arduino 使用經驗(一)續篇

之前講過 Arduino 使用經驗(一) 了,我來稍微補充一下。

這個Sine Wave 產生器看起來非常好看,也非常完美。





一般這樣子的Sine Wave 可以拿來做很多實驗,譬如三相的東西,像馬達或電源...

但是只要在軟體上搞定這三相波形就搞定一切了嗎?Of Course Not !

--
以前我在搞那個多核心MCU 時,我們也是信誓旦旦的說:我們可以做出馬達控制器!

一般人在搞MCU 都是這樣子說的...講的就是我上面那一張漂漂亮亮的波形。

那這樣子的東西可做馬達控制器?!....您說呢?!...打嘴砲,誰不會啊!

我們再來看一下硬體吧。

首先:我先用DAC 造出波形,然後再利用一組 ±15 V 轉成有±輸出的波形。

所以您要先找個可以提供±15 V 的Source :


就是照片裡中上方那一片:有一棵DAC 外加一組DC-DC模組。


當然這樣子是不夠的,他還需要另一組OP Amp 把他的波形轉換成真正的±15 V

範圍的輸出。當然您可以選擇一些 Rail-to Rail 的OP Amp ,來保證輸出不會產生

失真的問題。左邊那一片就是三顆獨立的OP  Amp 。

組合後,就是我那個波形輸出。


看起來很容易,但也沒啥用!為什麼?因為您光看那個DC -DC 模組,就知道:

他沒啥驅動能力的電源模組。所以呢?這樣子的東西也只能當作家庭作業,

他在實務上,什麼也做不了!

如果在實務上,您希望這樣子的波形真的可以做一點事的話,您就得在加一級

有推動能力驅動端,但是這個驅動端的東西,除了要考慮最終所需的驅動能力:

就是所謂的功率。看您是要高電壓低電流?還是低電壓高電流。

一般來說:我們在設計上都比較偏向高電壓低電流,因為一般電子零件在

高電壓低電流方面比較好找。相對來說:價格空間也比較大。

譬如:一台 24V 電動機車與 48V 的電動機車,您覺得那個驅動器會比較便宜?

因為一台電動機車所需的功率規格是約略固定的。譬如以一匹馬力來估:約746 瓦。

您以 24V 來估的話:他的電流可能需要達到 31 A ;而若是 48V 的話,那電流

只剩下 不到 16 A。(但是因為48 V 的高電壓反而需要更多電池串接,也不容易

做到電池充放電的一致性...這是延伸到電池使用端的問題...這也是一般電動車輛

比較讓人頭大的問題,當然電池的問題還不只如此而已,還有老化問題等等!)

所以,您就可以查到說: 16A 的MOSFET 是比31A 的MOSFET 好找,也比較便宜。

---

這是驅動端的問題,但是您的驅動器還是得要靠另一組電源供應器來決定,

一般電池來說:您要瞬間多少電流,電池大概都勉強可以,但一般的電源供應器,

您沒有特別要求的話,有時是很難可找到大電流的電源供應器。相對來說:

也是一種成本。

那如果以時下一般IC 設計業大家比較討論的是:無刷馬達風扇來說。

傳統的電風扇是高壓(110V or 220V) 感應馬達。所以,這些馬達的繞線會比較細。

道理是一樣的:高電壓就可以低電流。但很多搞IC 設計都會叫客人做DC 無刷變頻。

而這些所謂的DC 往往就是低壓直流。因為這樣子他們家的IC 就比較好賣!

但其實對於一般馬達繞線廠來說:反而因為要增加繞線的線徑,價格也不一定有優勢。

二來:您還要在找一個AC-DC 的電源供應器....而這個AC-DC 的電源供應器還會

牽涉到轉換效率的問題...所以搞到最後,這樣子做起來的產品市場定位就怪怪的?

就像搞LED 照明一樣:搞了老半天還是要找個AC-DC ...

但是如果說:真的要做到高壓驅動,這一部份就真的牽涉到台灣這些IC 設計公司的罩門了。

因為在世上可以真正做到整合高壓驅動能力半導體,都幾乎是IDM 廠:

譬如:美國的TI 、IR 或是日本的Toshiba ...歐洲的 ST等等。而台灣的IC 設計業

幾乎都是Fabless 的公司所以很難找到可以配合的IC 製造代工廠。

這還是又回到一個老話題:就算是台灣高科技公司,還是喜歡賺Easy Money 。

您說:像這一種低壓變頻,您就在系統端搞了一大堆東西,就只為了讓MCU 好賣?

您可以去查上述的幾家IDM 廠的相關產品:人家都直接整合成單一驅動晶片。

所以:您說台灣的公司一天到晚都在叫說要轉型,但其實還是用自己的思維

在搞東西。明明是工控等級的東西,必須要投入更進一步的整合技術,

但往往為了 easy money...就急就章的亂搞一通。

有很多搞了很久IC 設計業的公司,天天都在叫說:他們不要在消費性紅海市場裡

跟別人做價格廝殺,但換個角度想:您以為要搞工業控制或車用電子有這麼容易嗎?

這不只是IC 本身設計問題外,您還得考量您的系統應用端的問題。如果您沒辦法

真正可提供客人完整一次到位的 Total Solution...搞了老半天,結果您還是在賣MCU ,

然後要客人去搞定AC-DC 或是去買別人貴貴的驅動元器件...這樣子生意真的是一個

好生意嗎?

(我常常開玩笑講:如果一個真正會做這些工業控制器開發的人,還需要您跟他講

怎麼用MCU 嗎?您說:像搞 馬達驅動器的安川或是相關公司的研發人員,他們的

工業控制產品的開發能力會比您們IC 設計業的差嗎?...在台灣我不知道,但我想

像Toshiba 或 Hitachi 等等...我就不太相信啦!)

---
當然啊~我這個模組我最後還是幫他找到一定的應用機會,當然就是要一筆一筆

好好的估算,再找出合適的驅動方式...這一部份就不在此贅言了。

7 則留言:

  1. 週日無聊去書店翻了 Arduino 的書,才知道他的起源是義大利設計學院,教授為了讓學生有個平台可以設計產品而搞出來的東西,難怪 Arduino 老是有讓我有種隔靴搔癢的感覺,原來一開始就不是設計給有MCU經驗的人用

    回覆刪除
    回覆
    1. 我想今天如果只是為了讓學生有個平台可以輕鬆入手的話,那他今天所創造的商機,

      應該不是如此。您覺得這樣子的東西跟當初林老師做那個Flag51 有沒有類似?

      當然啊~這樣子的東西,我想世上也有很多的啦~包括後來也有很多人搞類似的東西。

      但他卻是成功的!...連我這個常搞MCU 的人也都會拿來把玩一下!

      講難聽一點:人家義大利人也不是以搞電子資訊產品聞名於世的。

      為什麼人家可以創造出這樣子的東西?一來或許真的人家只是單純從需求面出發,

      又不像您們台灣搞電子資訊產品有一大堆包袱:不是一天到晚Cost Down ....

      還有一點以我自己本身的觀點來看:就是他抓到了 8 bits MCU 末代規格的優勢。

      包括:支援一定容量的Flash Code size 。32 KBytes ...算是不小的容量。

      還有一些標準的擴充周邊規格,像是ADC,SPI、I2C 及UART 等等...大多已經底定標準話了。

      也包括許多其他類似產品(像是這幾年流行的MEMS 零件等)都支援同樣的介面。

      像我們以前在搞MCU 時,老闆一天到晚只是想Cost Down ...明明都是常用的介面,

      就是喜歡把他們分割成:有ADC ?沒有ADC ?/有UART ?/沒有UART 的....

      斤斤計較的抓成本,結果反而在市場拓展上,綁手綁腳的....人家抓了這樣子規格反而

      沒包袱的一路往下....還是老問題:腦袋思維的問題。

      ---
      就像前兩天看到媒體分析報導的:台灣許多老闆對於調漲薪資總是哇哇叫的說:

      這樣子下去台灣會失去競爭力。結果呢??低薪不但沒辦法從國際上找到好人才,

      反而還進一步的促成人才嚴重外流。--- 最後呢?台灣還是失去競爭力。

      道理是一樣的!

      所以~我為什麼喜歡在講技術的東西以外,也喜歡藉由工程師讀史的經驗的看事情,

      因為有多事情大家都可以從一些歷史演繹過程中,同樣的可以去推演我們周遭的一些人事物。

      難道我們都沒有慢慢成長的懂得去思考與判斷嗎?...

      ---
      PS : 我在猜您看到是哪一本Arduino 的書?連我都買一本給我兒子有空翻一翻。

      至少真的很方便的容易讓一些人可以入門的!--- 連我得必須承認。

      刪除
    2. 林老師的 FLAG51 是傳統硬派路線,組合語言、CPU特性、clock計算...還要寫 PLD 才能讓板子 work,如果 Arduino 也這樣幹,大概會嚇跑一半的人。

      不過我還是覺得林老師的作法比較適合有志於成為工程師的人,畢竟 Arduino 有太多地方沒交待清楚,市面上 Arduino 的書我大概都翻過,還沒看到有講 Arduino boot, interrupt 等 know-how,偏偏這又是 MCU 韌體工程師的基本學能,就怕有人學會了 Arduino 就自認為可以去應徵 MCU 韌體工程師了,這樣被打槍就尷尬了

      刪除
    3. 小老弟啊...我算也已經過了那黃金十年的人了。

      我本來也想說:去進一步看一下您所說的Arduino boot, interrupt 等 know-how,

      但是後來我又想一想:這種東西哪看得完啦?!

      而且現在現在市面上的MCU 種類有多少啊?以前那個時代也只有那幾顆...

      更何況自從人家把32 bit ARM 搞出來,做出 iPad 或Smartphone 那樣子的東西後。

      我想除了真的想去自己去開一棵世上獨一無二、超級偉大的MCU外,

      (就連以前搞的那一個 8 bit 多核心,以現在的角度來看也沒啥促銷口號可以喊的?!)

      應該還是以系統應用創新比較重要吧。--- 或許這一點就是人家Arduino 另一項在

      Timing 點上的優勢吧。又不是每個搞MCU的韌體,都需要這麼搞吧....講難聽一點:

      難道您以為就算老闆知道您的韌體功力幾兩重,那又怎樣?

      我說了:現在學校還不一定會教您所說的那些Arduino boot, interrupt 等 know-how,

      老闆幹嘛還要這麼用心呢?一樣出22K ...您行您就自己鑽,鑽會了,算您行!

      高興跳槽您就跳,反正他還可以再找22K 的!...等再過了十年,您又成了魯蛇一尾了!

      哈~哈~

      刪除
  2. 我們有試過對 Arduino 做比較深入的探討(其實也沒多深入, 只是講一些書上沒寫的罷了), 不過從影片觀看人數就可以知道, 有興趣的人其實不多:
    http://www.youtube.com/playlist?list=PLFL0ylDooClTXfy-cFbq7rV1iwP57JFaF

    回覆刪除
    回覆
    1. 以 Arduino 的定位來說,探討這個似乎沒什麼效率(懂 interrupt 的人嫌它貴不想用,用它的人嫌 interrupt 難不想懂,沒有交集)

      刪除
    2. 嗯...其實Arduino 這個東西真的不要以我們一般學單晶片的人來解讀他。

      為什麼會去想把這個東西拿出來講課?這某個程度來說:真的是我們都多多少少

      中了一些"台灣電子業的包袱"了。....

      就像我們看到人家的Windows 、iOS 或是Android 等等,就一天到晚的想往裡面鑽...

      好好鑽完之後,以後台灣老闆或有金主讓您有機會也來開發一個可媲美的OS 嗎?

      那為什麼就不能單純的站在一個應用發展的角度來創造更有創意與價值的東西呢?

      要不然我說的:哪學得完啊?那又為什麼那麼苦勞呢?

      更何況又不是人家老闆花薪水逼您的....是不是啊?

      刪除