16
104 學 學 學學學學學學 105/1/27 102303009 吳吳吳 102303025 吳吳吳

致冷晶片冰箱 - yenstation.synology.meyenstation.synology.me/wordpress/wp-content/uploads...  · Web view利用製冷晶片製作冰箱,並使用m128當作控制晶片,去控制各個元件。

  • Upload
    leque

  • View
    327

  • Download
    3

Embed Size (px)

Citation preview

Page 1: 致冷晶片冰箱 - yenstation.synology.meyenstation.synology.me/wordpress/wp-content/uploads...  · Web view利用製冷晶片製作冰箱,並使用m128當作控制晶片,去控制各個元件。

104 學年第一學期介面專題致冷晶片冰箱105/1/27102303009吳品憲102303025朱立宇

Page 2: 致冷晶片冰箱 - yenstation.synology.meyenstation.synology.me/wordpress/wp-content/uploads...  · Web view利用製冷晶片製作冰箱,並使用m128當作控制晶片,去控制各個元件。

目錄目錄前言_________________________________________________________________________________________________________

規劃_________________________________________________________________________________________________________

元件選擇、材料選用______________________________________________________________________________________

水冷系統___________________________________________________________________________________________________

硬體_________________________________________________________________________________________________________

軟體_________________________________________________________________________________________________________

Page 3: 致冷晶片冰箱 - yenstation.synology.meyenstation.synology.me/wordpress/wp-content/uploads...  · Web view利用製冷晶片製作冰箱,並使用m128當作控制晶片,去控制各個元件。

測試驗證前言專題目的利用製冷晶片製作冰箱,並使用 M128 當作控制晶片,去控制各個元件。中英文關鍵字:DIY cooler with TEC自製致冷晶片小冰箱創新點子列表說明:利用水冷系統將製冷晶片產生之熱導出涉及技術項目:控制系統(使用 AVR studio4 製作)電腦監測(使用 VB.NET 製作)DS1820 溫度計控制PWM控制風扇水冷系統隔熱機構設計

頁 1

Page 4: 致冷晶片冰箱 - yenstation.synology.meyenstation.synology.me/wordpress/wp-content/uploads...  · Web view利用製冷晶片製作冰箱,並使用m128當作控制晶片,去控制各個元件。

測試驗證規劃功能方塊構想:

功能方塊實現:導冷:利用鰭片以及風扇進行冰箱內部空氣流動,加快空間溫度降低。散熱:利用水冷系統,水箱馬達、水冷頭、水冷排加風扇,這三個零件為一個循環進

行散熱。水冷頭貼齊製冷晶片熱面。供電設備:由電腦電供(12V)、繼電器、馬達驅動模組組成控制設備:ASA主板一塊,並將控制程式燒入晶片,進行各元件的控制溫度監測:將3個溫度感測器放置在冰箱內、導冷鰭片、冰箱外部,分別感測、並將

溫度回傳進行控制,並在PC端設計人機介面觀測。

頁 2

Page 5: 致冷晶片冰箱 - yenstation.synology.meyenstation.synology.me/wordpress/wp-content/uploads...  · Web view利用製冷晶片製作冰箱,並使用m128當作控制晶片,去控制各個元件。

測試驗證元件選擇、材料選用ASA 控制板:使用 Atmega128 作為微控制器的晶片,ASA 控制板同時控制各個模組,並將採集到的資料傳到電腦的軟體裡進行繪圖和統計,或是接收來自電腦的命令,並做出相對應的動作。電源:採用拆機的 350W 電腦電源供應器。PWM 電機驅動模組選用:因為 avr 晶片的 PORT 最大電流約為 5v、20ma,無法正常驅動風扇所以必須要外加電機驅動電路。平均一個風扇所需的電流為 0.8A*2=1.6A 模組驅動的最大電流為 12V、2

A,可以使風扇工作正常。繼電器模組選用:因為 ASA 電路板無法提供製冷晶片足夠的電流,故使用繼電器做 on/off 控制開關,繼電器模組同時控制水箱馬達和製冷晶片。水箱馬達規格為 12V 0.33A,製冷晶片規格為 12V 6A 而繼電器規格為 DC 30V 10A 可以讓製冷晶片工作在安全範圍內。溫度感測模組選用:實驗所需量測的精度,並沒有很高,所以選擇常見且資料豐富的 DS18B20。DS18B20 是屬於 1-wire 通訊家族,特色是可以只使用一條線和 ASA 電路板進行溝通,量測範圍為攝氏-55~125,最大解析度為 12bit,專題將使用 3 個溫度感測器,分別量測 散冷排、冰箱外部、及內部的溫度。

頁 3

Page 6: 致冷晶片冰箱 - yenstation.synology.meyenstation.synology.me/wordpress/wp-content/uploads...  · Web view利用製冷晶片製作冰箱,並使用m128當作控制晶片,去控制各個元件。

測試驗證製冷晶片模組選用:採用 TEC-12708 127 為熱電偶係數 08 為最大電流數 實際上在 12V 工作電壓下熱面溫度至少有 70~80 度以上,用 50 度來估計,參考(圖 2), 假設熱面溫度在 75 度室溫為 25 度C(冷面溫度) 溫差大約為 50 度此時在 12V 工作電壓下 工作電流約為 5.4A

Qc 約為 18W Qc 為冷面吸收的功率 Qp 為製冷晶片功率= 12V*5.4A =64.8 W heat sink

熱排量為 64.8+18=82.8Watt ,在選用排熱系統 heat sink 的負荷要高於 84.8watt。啟動製冷晶片應該要避免低頻的反覆開關,低頻的反覆開關會造成,Termal Cycling。晶片裡的焊點在短時間造成收縮膨脹,會容易脫落,如果使用 PWM 控制頻率要大於2000~3000 以上 避免 Thermal cycling 的產生,但使用 PWM 配合 Nchannel 控制效率並不高,會在 nchannel 上產生不必要的熱故配合繼電器使用 on/off 控制效率較高。

頁 4

圖一 TEC-12708 127

Performance Specifications圖二 TEC-12708 127

溫度─電壓 關係圖

圖三 TEC-12708 127

功率─溫度差 關係圖

Page 7: 致冷晶片冰箱 - yenstation.synology.meyenstation.synology.me/wordpress/wp-content/uploads...  · Web view利用製冷晶片製作冰箱,並使用m128當作控制晶片,去控制各個元件。

測試驗證水冷系統完整水冷系統循環:幫浦->水冷頭->散熱排->水箱->幫浦幫浦選用:幫浦功能在於驅動整個水路,讓水箱的水經過一個完整的水循環。幫浦空轉有可能會燒壞,所以在啟動幫浦前要先把水路裡多餘的空氣排除,再啟動。因為冰箱的尺寸沒有很大用一般 揚程 2m 的小馬達即可。水冷頭選用:水冷頭功能在和製冷晶片的熱面做熱交換,所以非常重要。水冷頭面積一定要能完全覆蓋在製冷晶片表面,且表面要平整光滑(需做研磨加工),水冷頭和製冷晶片間務必要塗上散熱膏幫助散熱和黏合散熱排:散熱排最大的功能是裡用大面積的鰭片和空氣進行熱交換,將水路裡的熱散出去為什麼要採用水冷,而不採用空冷:雖然空冷的進風量比水冷的進水量大很多,但空冷需要比較大的面積做散熱,且水的比熱約為空氣的 4 倍,單位體積可以帶走的能量也約是空氣的 4 倍,可以很有效抑制小面積的溫度上升,製冷晶片的排熱會很集中在熱面區,正常工作電壓下,不接散熱器,會使熱面溫度瞬間升高,約在通電後 2~5 秒(啟動瞬間製冷效率最高)即可達到 1

00 度以上 而製冷晶片裡的接點是使用低熔點銲錫(138)當超過時會使接點脫落,更嚴重的會燒壞半導體的部分。.

頁 5

Page 8: 致冷晶片冰箱 - yenstation.synology.meyenstation.synology.me/wordpress/wp-content/uploads...  · Web view利用製冷晶片製作冰箱,並使用m128當作控制晶片,去控制各個元件。

測試驗證硬體硬體配線:

頁 6

Page 9: 致冷晶片冰箱 - yenstation.synology.meyenstation.synology.me/wordpress/wp-content/uploads...  · Web view利用製冷晶片製作冰箱,並使用m128當作控制晶片,去控制各個元件。

測試驗證軟體程式流程圖主程式:

頁 7

Page 10: 致冷晶片冰箱 - yenstation.synology.meyenstation.synology.me/wordpress/wp-content/uploads...  · Web view利用製冷晶片製作冰箱,並使用m128當作控制晶片,去控制各個元件。

測試驗證程式流程圖

頁 8

Page 11: 致冷晶片冰箱 - yenstation.synology.meyenstation.synology.me/wordpress/wp-content/uploads...  · Web view利用製冷晶片製作冰箱,並使用m128當作控制晶片,去控制各個元件。

測試驗證

程式碼:1. /*----------------Include---------------------*/  2. #include "ASA_Lib.h"  3. /*---------------Define------------------------*/  4. float onewire_temperature(unsigned char addr);  5. unsigned char ds18b20_reset(unsigned char addr);  6. void ds18b20_write_byte(unsigned char value,unsigned char 

addr);  7. unsigned char ds18b20_read_byte(unsigned char addr);  8.   9. float temp;  10. float temp0;  11. float temp1;  12. /*-----------------Main-------------------------*/  13. int main( void ) {  14.     int goal=5;  15.     char str[15];  16.     char change=0;  17.     char flag=1;  18.     char start=1;  19.     char data;     20.     ASA_M128_set();  21.     /*----------relay pin------------*/  22.     DDRC=0xff;  23.     PORTC=0xff;  24.     PORTC&=~0x08;  25.     /*---------pwm 設定---------------*/  26.     DDRB|=0x80;   //PB7  27.     TCCR2=0x72;   //  28.     OCR2=0x75;    //  29.     /*------------------------------*/  30.     _delay_ms(3000);  31.     temp =onewire_temperature(0);        32.     temp1=onewire_temperature(1);  33.     temp0=onewire_temperature(2);  34.     printf("\n---------start--------\n");  35.   36.     while(1){    37.         if(UCSR0A&(1<<RXC))  38.             scanf("%c",&data);  

頁 9

Page 12: 致冷晶片冰箱 - yenstation.synology.meyenstation.synology.me/wordpress/wp-content/uploads...  · Web view利用製冷晶片製作冰箱,並使用m128當作控制晶片,去控制各個元件。

測試驗證39.         if(data=='1'){  40.             PORTC|=0x08;   41.             printf("on\n");  42.         }  43.         else if(data=='0'){  44.             PORTC&=~0x08;  45.             printf("off\n");  46.         }  47.         /***************************************/  48.         temp=onewire_temperature(0);  49.         _delay_ms(1);  50.         temp1=onewire_temperature(1);  51.         _delay_ms(1);  52.         temp0=onewire_temperature(2);  53.         printf("##%.2f,%.2f,%.2f\n",temp,temp1,temp0);  54.         _delay_ms(500);  55.         ///////////////////////////////////  56.         if (temp0<(goal-1.5)){   57.             PORTC|=0x02;               //冷晶片關上 58.             PORTC|=0x01;               //馬達關上 59.         }  60.         else if(temp0>(goal+1.5)){  61.             PORTC&=~0x01;              //馬達打開 62.             PORTC&=~0x02;              //冷晶片打開 63.         }  64.     }//while end  65. } //end  66.   67. unsigned char ds18b20_reset(unsigned char addr){  68.     unsigned char i;  69.     DDRA|=1<<(addr);  70.     PORTA&=~(1<<(addr));  71.     _delay_us(280);  72.     PORTA|=1<<(addr);  73.     _delay_us(100);  74.     DDRA&=~(1<<(addr));  75.     i=PINA;  76.     _delay_us(500);  77.     return i;  78. }  79. void ds18b20_write_byte(unsigned char value,unsigned char 

addr){  

頁 10

Page 13: 致冷晶片冰箱 - yenstation.synology.meyenstation.synology.me/wordpress/wp-content/uploads...  · Web view利用製冷晶片製作冰箱,並使用m128當作控制晶片,去控制各個元件。

測試驗證80.        81.     for(int i=0;i<8;i++){  82.         DDRA|=1<<(addr);  83.         PORTA&=~(1<<(addr));  84.         _delay_us(10);  85.         if(value & 0x01)  86.         PORTA|=1<<(addr);  87.         _delay_us(100);  88.         PORTA|=1<<(addr);  89.         value=value>>1;  90.     }  91. }  92.   93. unsigned char ds18b20_read_byte(unsigned char addr){  94.     unsigned char value=0x00;  95.     for(int i=0;i<8;i++){  96.         value=value>>1;  97.         DDRA|=1<<(addr);  98.         PORTA&=~(1<<(addr));  99.         _delay_us(10);  100.         PORTA|=1<<(addr);  101.         DDRA&=~(1<<(addr));  102.         if(PINA & 1<<(addr)){  103.             value|=0x80;  104.         }  105.         _delay_us(50);  106.     }  107.     return value;    108. }  109. float onewire_temperature(unsigned char addr)//線上只有 1個

sensor才使用 110. {  111.   float temperature=0;  112.   unsigned int tempH=0,tempL=0;  113.   ds18b20_reset(addr);  114.   ds18b20_write_byte(0xcc,addr);  115.   ds18b20_write_byte(0x44,addr);  116.    _delay_us(100);  117.    ds18b20_reset(addr);  118.    ds18b20_write_byte(0xcc,addr);  119.    ds18b20_write_byte(0xbe,addr);  120.    _delay_us(500);  121.   

頁 11

Page 14: 致冷晶片冰箱 - yenstation.synology.meyenstation.synology.me/wordpress/wp-content/uploads...  · Web view利用製冷晶片製作冰箱,並使用m128當作控制晶片,去控制各個元件。

測試驗證122.    tempL=ds18b20_read_byte(addr);  123.    tempH=ds18b20_read_byte(addr);  124.   if (tempH&0x80)  125.   {  126.    tempH^=0xff;  127.    tempL^=0xff;  128.    tempL+=1;  129.    temperature=(float)tempL*0.0625+(float)

(tempH&0x07)*16;  130.    temperature=temperature*(-1.01);  131.   }  132.   else  133.   {  134.    temperature=(float)tempL*0.0625+(float)

(tempH&0x07)*16;  135.   }   136.   return temperature;    137. }

頁 12

Page 15: 致冷晶片冰箱 - yenstation.synology.meyenstation.synology.me/wordpress/wp-content/uploads...  · Web view利用製冷晶片製作冰箱,並使用m128當作控制晶片,去控制各個元件。

測試驗證PC 端溫度監控軟體(使用 VB.NET 製作)軟體功能簡介:1. 透過串列通訊,和不同種的微控制器做溝通2. 即時接收來自微控控器的資料3. 將得到的資料繪成圖表,方便觀看溫度趨勢4. 可將資料輸出成 excel 或 txt 檔案5. 可對微控器做簡單的操作介面使用圖:

頁 13

Page 16: 致冷晶片冰箱 - yenstation.synology.meyenstation.synology.me/wordpress/wp-content/uploads...  · Web view利用製冷晶片製作冰箱,並使用m128當作控制晶片,去控制各個元件。

測試驗證測試驗證功能簡介:先將冰箱的門打開,讓內外空氣流通,溫度保持一致,再將一瓶 600CC 的水放入冰箱中把門關上,後開始測試。再經過 2 個小時,後得溫度曲線如下

頁 14