顯示具有 軟體教學 標籤的文章。 顯示所有文章
顯示具有 軟體教學 標籤的文章。 顯示所有文章

2009年8月21日 星期五

Matlab控制儀器(GPIB、RS232)




第一次接觸Matlab是大三修信號與系統課程的時候,算一算是六年前的事了,最近小老板要我負責Quasi-static CV的架設,把我指派給一個博士生,他幫我了解手邊現有的工具以及設備,第一天我就誤判情勢,因為電源的接線沒有標示,他叫我上網查詢接頭的規格,我直接用try & error的方式接錯了電源,燒掉了一顆電阻,後來他親自動手才發現他也不知從何查起,只好送回workhouse判別,後來我才意識到器材是可以拆開的,我只要拆開分辨一下電路不難找出電源的正負輸入及接地訊號,simple && easy。

硬體上,由於某些儀器都是用德文標示,增加了我認知的難度,所以不停地利用三用電錶(multimeter)、及示波器(Oscillator)來回測試,一下子仿佛又回到大學電子實驗專題,在示波器上也觀測到來自電源50Hz的交流雜訊,從我跟這個德國博士生的合作,我覺得他腦筋雖然動得快,但是有時候只是一直拋出idea,並沒有細想可行性與合理性,我的思維則是偏向思考,80%以上確定才會提出我的意見,有次量不到訊號,他認為是ground跟zero的分別,事實上我已經把ground跟zero接起一起了,用電錶量給他看,後來量出原來是轉接頭壞掉了。

(小常識:接地線是保護人體不受電擊用的,它直接接在設備外殼,當設備有絕緣破損或故障時,會造成設備外殼帶電,由于有了接地線,會產生短路的大電流,使得保護開關跳閘,從而保護人體不受電擊。地線的對地電位為零。零線的對地電位不一定為零。
地線和零線是不一樣的,零線是有電流流過的,而它接地是在變電站.地線一般不會有電流流過(除了漏電),它是在用戶處直接接地的)

第一次從頭到尾組裝儀器,包含硬體及軟體的部分,光是硬體的量測準確度就讓我頭痛,同時必須考慮量測的誤差,使用各種量測的方法,以及量測訊號的時間沿遲等等,軟體是我以前最害怕的程式部分,他請我用Matlab寫,雖然他自己沒經驗,但是在Leipzig大學看過人家用,我則是很驚訝,因為在我使用Matlab的時候,Matlab還沒有加入GPIB通訊等功能。

從零到無,很快就上手了,大概十天左右就寫好整個量測程式,我對Matlab程式的使用整個大改觀,真的很強大又容易上手,現在寫程式都變得那麼簡單了嗎,我把自己整理的Matlab儀器控制技術文件整理在下列網址,有興趣的人可以下載或是留言給我討論。

2009年8月1日 星期六

OFFICE VBA program 程式語言

說到寫程式,真的是我的痛苦回憶,上大學之前完全沒有程式概念,(上了大學才想起高中電腦課教過Html網頁語言),上C++的時候總是一頭霧水,What am I supposed to do next?常常不知道下一步該寫什麼,心裡的有太多問號,常聽說數學好的人對於程式設計能夠更快上手及掌握運用,因為程式的基本就是數學運算,事實上相較於數學,程式更需要的是邏輯及推理能力,在邏輯上我並不是有天分的人。經過幾年的磨練,總算對程式語言有了一些概念,大三大四硬逼自己重聽C++課程,跟同學去修物件導向程式設計,利用direct X及現有的框架設計一套飛機射擊遊戲,竟然也得到了全班最高分,去修自動控制實驗時也學會了簡單的Visual Basic,當然還是有許多我沒辦法運用自如的語言像是數位電路常用的VHML及Verilog,在做數位電路的時候除了很簡單的方塊之外其他都是依靠另一位夥伴解決的。由於在這方面我自認天分不佳,研究所便直接選擇了固態組。

還是想分享一些學好程式語言必備的條件,常寫、常想、常動手,程式語言就是語言,語言要精準,每一句程式語言的作用都要儘量搞清楚,語言要講得好除了學習之外最重要的就是運用,熟練思考思考熟練是不二法門,學校出的習題就是幫助我們練習思考的最佳工具,有時候也可以自己想問題解決。當初在唸電機系時最大的問題就是我連程式是什麼都沒有概念,學校出的作業幾乎都是大型程式而不是循序漸進的規模,如何寫程式如何compile如何run如何debug為什麼有warning都不清楚的清況下,大一上就結束了,作業幾乎都是同學幫忙,所以我建議學習程式語言可以先從簡單的語言像Visual Basic或是Html或是Office VBA下手,一個指令一個動作,很快地你就能了解到何謂程式語言,我將之解釋為:程式語言是人跟電腦之間的界面,一個指令一個動作,經由邏輯及規律性地排列組合讓電腦完成工作,這種語言唯一而精準,不用懷疑是電腦聽錯,通常都是我們寫錯。

唸了固態組就不需要寫程式了嗎?答案不然,但是程式的難度整體下降很多,大部分都是照著已有的框架,片段性的修改即可,最近比較常用到的竟然是excel VBA,整理excel時常需要用到許多匯整資料的工作,200多筆資料如果手動一個一個挑出來,眼睛不眨一筆算十五秒鐘處理好的話也需要耗費約一個鐘頭,另外如果想針對這些資料的某個區塊做修改的話,那更是一件累人的工作,利用Excel VBA程式可以自動化這些工作,我也寫了一個將逗點分隔檔案格式改成tab分隔檔案格式的小程式,這些都是在研究上需要用到才寫出來的。分享給各位參考,有問題可以留言討論。

2009年7月1日 星期三

從PC1D- UNSW太陽能模擬軟體說起


UNSW澳洲新南威爾斯大學在太陽電池效率的研究上一直是獨占鰲頭,就連台灣的太陽能電池廠益通都在2007年的時候與UNSW簽訂共同研發超高效率太陽能電池技術合約,為期三年,UNSW「太陽能之父」Martin Green之父所寫的二本書也都一直是入門太陽能的經典教材 (紅皮書 Solar Cells: Operating Principles, Technology and System Applications 綠皮書 Silicon Solar Cells: Advanced Principles and Practice ),而今天要介紹的就是一套由UNSW所發展出的太陽能模擬軟體PC1D,從1985年PC1D第一版發行開始,到目前PC1D5,9版的廣泛應用,該軟體在太陽電池論文中被大量引用來當作模擬工具,雖然台灣從事太陽能電池研究的碩、博士生不多,但目前台灣的太陽能電池產業正在逐漸加溫中。在正式介紹PC1D5.9版的使用之前我們先來了解一下目前的產業環境,大量的後進廠商都投入薄膜太陽能電池這塊領域,例如聯電轉投資的聯相光電、奇美電轉投資的奇美能源,再加上原有的綠能、益通、茂迪等等…,台灣太陽能產業的規模越來越大。太陽能也不是一門新的學問,早在半導體發展之初,人們就了解P-N junction可以用來當成太陽電池,但是先天上的半導體材料特性限制以及量產製程都大大地降低了太陽能電池的最終效率,此外太陽能電池是一門非常複雜的課題,不但包含了光與電的交互作用,還進一步衍生到產品的封裝以及整個系統架構,還有最重要的產品穩定度及永久性,假如我們製作太陽電池所耗費的能源=太陽能電池照光10年所產生的能源(Energy pay back time),那麼我們就必須保證這太陽電池可以使用十年以上,您說是吧。所以要發展太陽能產業,除了效率、穩定度必須提高之外,產業規格必須要夠大以壓低每單位價格,另外還得仰賴政府的政策補助。太陽能是一個夢想產業,製作完畢的太陽能電池是一種公認無污染之可再生能源(製作的過程中產生的廢氣、廢液汙染則可採用不同的方法處理以及防治),目前世界各國重視各種新能源與替代性能源,亦造成太陽能工業的蓬勃發展,目前世界三大太能陽市場為德國、西班牙及美國(非照順序),世界三大廠商為德國Q-Cell、日本Sharp、中國Suntech尚德,另外還有後起的薄膜太陽能電池廠商美國First solar及nano solar等,儘管2008年金融海嘯的威力仍在,使得各家廠商的營收都大幅下降,但是就長遠的眼光太陽能的市場還會繼續擴展,畢竟目前太陽能占所有的能源還不到1%。在了解了一些背景知識後,我們是不是更加有動力去學習了呢,儘管PC1D主要是用來模擬單矽上的單層或是串接太陽能電池(Tandem Cell),也就是以效率為導向的結構,與目前另一流行趨勢偏向於降低成本、有機會用在軟性基板(flexible substrate)而目前效率及穩定度卻都還有待加強的薄膜製程是不一樣的,但是其元件的基本物理原理都很相似,可以觸類旁通,想要學習PC1D軟體操作的人可以下載下列的Pdf檔,裡面有軟體下載的位置,目前軟體由UNSW免費提供。

搜尋此網誌