PID 溫度控制

想請問各位先進:

由於實驗室想要發展以LabVIEW為基礎之溫控系統,我們想要以Thermistor來量測溫度並經過PID Control Toolkit for LabVIEW (NI) 將擷取溫度做適當的調整 (控制區間小於100),並連結加熱與冷卻系統作精準的溫度控制,誤差期望可以在正負0.5度以下,無奈小弟才剛剛學習LabVIEW,足足花了一個月的時間想要架構這一個系統卻是一無進展,因此想要請問大家:

 <?:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1.      NTC Thermistor 如何與PID Toolkit 或是自建之PID Program連結以達到初步之溫控效果?

2.      這樣的溫控系統需要什麼樣的硬體設備,我們實驗室所擁有的資料擷取系統足夠嗎?

3.      溫控系統最好是搭配哪些加熱與散熱模組以達到最佳的溫控效果?

4.      程式若是撰寫完畢,可以燒在單晶片上以單獨執行該功能?

5.      有無類似的範例可以當作參考?

 

------------------------------------------------

Windows 2000

LabVIEW 7.1

PCI-6014

PID Control Toolkit for LabVIEW

  1. Thermistor是類比訊號源,利用ai做量測.
  2. 訊號擷取後利用pid做計算.
  3. 計算後所得之控制值利用ao輸出.
  4. Thermistor如果只有sensor,那你需要ad/da卡和scxi模組或是ad/da卡和scc模組.
  5. 輸出至加熱系統看你的需求,選擇電壓或是電流.像致冷片就需要給予電流來控制其作動.而ad/da卡上的ao可能無法達到你的要求,因此可能需要專門的ao卡片,不過m系列卡片可能會減少這樣的問題.
  6. 與單晶片的結合,pid tool kit 不知道會不會有問題.
  7. 我最近有用cfp模組做過一個類似的溫度量測與降溫,不過沒有使用pid.

首先要謝謝您的指教!!

對您所提出的回應,小弟有些許的疑問,不知道您可否進一步告知

1. 就您所提及的第四點,我所用的Thermistor應該只有Sensor的功能,也就是說它只能量測阻值,再進一步帶入廠商提供之溫度V.S阻值的thermistor calibration中以內差法得知所量測的溫度為何,就這點而言也著實讓我在程式撰寫上無從下手,再者,您所提及之SCXI模組及SCC模組該如何與一般的Multifunction DAQ card (如PCI-6014)相結合呢?

2. 就您所提及之第五點,不知道哪種ao卡可以達到致冷片操控呢?

3. 在版上論壇中,好像也有不少先進提及燒錄晶片的問題,LabVIEW似乎不能將撰寫好的程式轉燒錄在單晶片上....

4. 不知道您所使用的CFP模組設計之溫控系統是如何運作的呢?

[QUOTE=天地一沙鷗]

1. 就您所提及的第四點,我所用的Thermistor應該只有Sensor的功能,也就是說它只能量測阻值,再進一步帶入廠商提供之溫度V.S阻值的thermistor calibration中以內差法得知所量測的溫度為何,就這點而言也著實讓我在程式撰寫上無從下手,再者,您所提及之SCXI模組及SCC模組該如何與一般的Multifunction DAQ card (如PCI-6014)相結合呢?

3. 在版上論壇中,好像也有不少先進提及燒錄晶片的問題,LabVIEW似乎不能將撰寫好的程式轉燒錄在單晶片上....

[/QUOTE]

就溫度而言,目前工業上常用的thermocuple 有下列幾種型態

鉻/銅鎳合金 E -200~980℃
鐵/銅鎳合金 J 1200~870℃
銅/銅鎳合金 T -200~400℃
鉻/鎳合金 K -200~1260℃
白金/13%銠 R -50~1600℃
白金/10%銠 S -50~1540℃
白金/30%銠 B -50~1800℃
鎢/鋼 G 0~2760℃

最常用的應該是K Type 的,其電壓轉換在Labview 的 IIOA 中已經有內建這幾種了,所以你只要選對thermocuple 的線材,然後在IIOA中指定就可以了.

第3點嗎,NI 目前好像是有在他們自己出的卡上可以用FPGA 模組(並不是可以用來寫一般的FPGA喔,只能寫NI 特定卡上的FPGA) 還有DSP test 模組,可以用來作DSP的簡單測試,像讀讀IO狀態等,目前還沒有可以直接用在單晶片上的產品,不過之前看過幾個報導,NI 有意往這方面發展,以後可能真的可以用來寫DSP 或 FPGA吧.

  1. 2005-01-20_233803_FP&CFP.pdfThermistor的設定在max下的溫度量測中與熱電偶的設定類似
  2. 因為感測器其訊號通常是微弱的電壓或是電流等訊號,因此需要做前端放大來降低noise的干擾,因此才需要scxi或scc模組來做放大與濾波.你的Thermistor 好像是有激勵與放大,所以你會量測到電壓,在進行轉換.如果是這樣,那你大可將廠商的圖表利用labview建立出一回歸曲線,來轉換溫度.
  3. 如果Thermistor並沒有那些放大器,那你便需要類似scxi-1121之類的訊號處理模組,處理後透過訊號線進入daq卡片.
  4. 一般ao卡可分為電壓輸出與電流輸出.至冷片需要電流的激勵,因此要使用電流的ao卡片.不過電流ao卡的規格少,ni的pci-6704是一張.
  5. LABVIEW是有個ti的dsp toolkit.不過用的人可能不多.fpga是另一種思考方向,不過搭配的compactRIO價格不友善喔.
  6. CFP模阻架構你可以看我附上的資料.
shepherder38372.9848263889

謝謝樓上兩位朋友熱心回應!!

看完兩位的回應後,我再次整理了一下,並將小弟要進行的實驗設備詳列如下,若有何處觀念需要釐清,煩請糾正與告知:

1. Thermistor:由於所要量測的溫度在微小Chamber環境 (ul)底下的溫度改變,因此我們使用P20 Miniature ThermoProbe (NTC Thermistor)如附件之規格2005-01-21_091018_Miniature_ThermoProbe.pdf ,量測時首先將廠商所提供之阻值比例表乘上真實由Thermistor量測到的阻值,再對應到表上之溫度即為真實溫度,不過有時要內插一下才可以算的出來

2. LabVIEW Program & DAQ:接收由Thermistor所量測到的阻值 (AI),經過Max定義之Channel再進到LabVIEW程式中PID Toolkit運算,並將結果經由AO channel輸出到TE Cooler或是Fan冷卻 及電極加熱,以準確地改變Chamber溫度 (準確度期望能在正負0.5度以下)(Note:A. 我不知道是否我們所選用的Thermistor可以在Max被定義 ; B. 由於致冷片需要電流激發,不知道除了更換卡片以外,可否以其他辦法代替呢?使用風扇or設計其他電路以轉換輸出之電壓訊號?)

3. 小弟在網路上看到有其他學者在做這方面的研究(有些設備不盡相同),但是他所寫的程式我有點看不懂(http://www.fysik.dtu.dk/~horch/PID.htm),先po上來請各位剖析與指教囉

4. 就以上之程式設計與實驗架構而言,晶片化有可能實現嗎?

5. kENLIN 大大所提到之"IIOA"就是指MAX嗎?

6. 由於我用Thermistor 所量測到的阻值還蠻大的(不曉得是否也將Noise一起放大並擷取),不過我們所購買的Thermistor's tolerances約在正負25% at 25度C, 因此,shepherder 大大所提到之"SCXI"模組針對這樣的Case還有需要添購嗎?還是只要用LabVIEW求得其回歸曲線即可使用之?

7. 最後還是要感謝shepherder的CFP模組的資料,我會詳細拜讀的!! kENLIN 也謝謝你唷!!![](upload://wh1Jr0invKZTARRL2Hqlvc8do63.gif)

關於樓上大大問題的一點點想法:

第2點:風扇致冷也許沒有你想像的線性或容易,首先物理上的微分方程式不太好寫,因為風扇轉速(通常也是正比於電流)和散熱後的溫度不是線性的,光要量這個可能就比你原來的實驗複雜了;電流致冷片對於電壓輸出,可以自己做個放大器電壓控制電流源解決,倒不一定要買電流AO卡片。

第6點:如果你的sensor誤差值大,你可以考慮設計控制器時引入強韌控制,量不準的部分可以被視為某一種環境噪音。此舉可以保證系統的穩定性,在惡劣情形下(量的很不準/環境很吵雜)還是可以持續作回饋的動作,但對於決定性的系統溫差控制在某個很小的範圍內恐怕沒有幫助。總之你的Thermistor量測誤差不能大於你要控制的精準度,要先量的準才能要求系統溫度飄移小,否則無異於緣木求魚。真的不行就必須更換精密的Thermistor或其他決定溫度的方法。