太陽作為免費的清潔能源,利用得當非常實惠方便,坐標大同市偏遠縣區農村,空氣清新無霧霾,光照條件良好,計劃利用太陽能取暖。
分析:太陽能電池板和太陽能真空熱水管兩種途徑,太陽能電池板轉換效率較低,需配備電池組,成本較高,放棄!
太陽能真空管,技術比較成熟,成本相對較低,安裝需要專業技術,管路防凍等困難較多;
最終選擇太陽能真空管方案小試效果,某個寶弄的50管太陽能工程聯箱,帶支架運費共1450元,太陽能熱水管及接頭若干,循環泵一個100+,水空調一個400+,儲水桶暫用水桶代替,其余配件過程中描述。
利用不長的假期開始組裝,真空管安裝不小心碰碎2根,好在賣家多發有結余有驚無險;管路三通各部件連接到位,安裝順序:水桶——水泵——單向閥——太陽能聯箱——水空調——水桶,室外部分管路做保溫,特別說明太陽能管最頂端需安裝自動排氣閥,用于排空管路積水時進氣,否則強大的大氣壓強回把真空管吸進去,把聯箱吸癟,開始因為排氣閥太小,導致聯箱已被吸癟,等待通水測試;
首次上水要在早晨太陽沒出來之前,太陽出來管內溫度太高回造成爆管,上水就比較不順利,水泵買的是暖氣循環泵,離心泵,100W,功率小上水一半后上不動了,多次尋找原因后無法解決,直接接到自來水先利用自來水壓力完成上水,冬天光照較弱,暫時不需要循環;臨近春節,再買水泵已經不發貨了,沒辦法,找到一個噴農藥用的配件隔膜泵,壓力沒問題,噪音太大,暫時忍受吧!還有不知道隔膜泵在熱水工作能撐多久!
進入正題,控制思路簡單介紹一下:元件:單片機STC12單片機,光線傳感器模塊,繼電器模塊。控制思路:白天:管頂溫度高于60度,循環泵開始循環,開20秒停20秒;管頂溫度高于90度,循環泵一直工作;低于3度,循環泵開始工作(防凍);夜晚:管路溫度低于3度,循環泵開始工作,管路溫度高于10度,循環泵停止工作;
測溫部分:DS18B20溫度傳感器,暫用4個,分別檢測:1.聯箱頂部排氣閥溫度防止結冰影響工作,2.聯箱頂部溫度,檢測水溫,決定是否循環;3.聯箱底部底部溫度,總想測一下,暫時沒用;4.管路溫度,測溫決定水泵循環防止凍管;
增加功能:溫度數據上傳物聯網,遠程監控:樂為物聯!
制作出來的實物圖如下:
3.jpg (91.14 KB, 下載次數: 51)
下載附件
2020-10-18 18:40 上傳
2.jpg (76.95 KB, 下載次數: 51)
下載附件
2020-10-18 18:40 上傳
1.jpg (80.53 KB, 下載次數: 60)
下載附件
2020-10-18 18:40 上傳
4.png (74.89 KB, 下載次數: 78)
下載附件
2020-10-18 18:40 上傳
單片機源程序如下:
- #include"shuiliu.h"
- #include"ESP8266.h"
- //#include<STC12C5A60S2.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar table12[]="當前水流:00.0L/h";//數組形式
- uint shui,js,ls; //shui傳感器計數,js定時器1計數, ls流速
- /*******************************************************************************
- * 函 數 名 : Int0Init()
- * 函數功能 : 設置外部中斷0
- * 輸 入 : 無
- * 輸 出 : 無
- *******************************************************************************/
- void Int0Init() //外部中斷0
- {
- //設置INT1
- IT0=1;//跳變沿出發方式(下降沿)
- EX0=1;//打開INT1的中斷允許。
- EA=1;//打開總中斷
- }
- void InitTimer1(void)
- {
- AUXR = AUXR|0x40; // T1, 1T Mode
- TMOD = 0x10;
- TH1 = 0x0D4;
- TL1 = 0x0CD;
- EA = 1;
- ET1 = 1;
- TR1 = 1;
- }
- void diplaysl(void) //寫指令
- { shui=0;
- js=0;
- ls=0;
- EX0=1;
- ET1=1;
- Delay_ms(400);
- table12[9]=ls/100+0x30;
- if(table12[9]==0)
- table12[9]=0x2D;
- table12[10]=ls%100/10+0x30;
- table12[12]= ls%10+0x30;
- Display_String(1, table12);
- }
- /*******************************************************************************
- * 函 數 名 : Int0() interrupt 2
- * 函數功能 : 外部中斷0的中斷函數
- * 輸 入 : 無
- * 輸 出 : 無
- *******************************************************************************/
- void Int0() interrupt 0 //外部中斷1的中斷函數
- { //過零中斷計數 k,n調溫計時
- //ET1=1; //延時消抖
- shui++;
- }
- void Timer1Interrupt(void) interrupt 3
- {
- TH1 = 0x0D4; //1ms
- TL1 = 0x0CD;
- //add your code here!
- js++;
- if(js>=1000) //10ms
- {
- EX0=0;
- ET1=0;
- ls= shui*60/45;//shui計數除以450除以10=流速L/s; shui計數除以450X6=流速L/min;
- //Display_String(1, table12);
- shui=0;
- js=0;
- }
- }
復制代碼
所有程序51hei提供下載:
簡單測試.rar
(472.63 KB, 下載次數: 23)
2020-10-18 18:42 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|