楊艷,謝燕群
(廣東石油化工學院 電子信息工程學院,廣東 茂名 525000)
水產品的品質與養(yǎng)殖的水質密切相關,而對魚塘水質影響較大的參數有水溫、水位以及水的渾濁度等。傳統養(yǎng)殖方式中養(yǎng)殖戶只能根據經驗來對這些參數進行分析和調整,不利于擴大養(yǎng)殖規(guī)模,也常常會因為養(yǎng)殖戶缺乏經驗或無人看管沒有及時調節(jié)水質,出現水產品質不佳甚至死亡的情況,造成經濟損失。對魚塘水質進行檢測與自動調節(jié),有利于提高水產品的品質,增大水產養(yǎng)殖的產能,增加養(yǎng)殖戶的經濟收入,逐漸成為未來水產養(yǎng)殖技術的發(fā)展方向[1]。基于此,本文提出一種基于單片機STC89C52的水質檢測系統,模擬魚塘的水溫、水位及渾濁度,并進行實時檢測和調節(jié)。
魚塘水質檢測系統整體框架,如圖1所示。系統以單片機STC89C52為主控制器,主要由水溫模塊、水位模塊、渾濁度模塊、電源模塊、報警模塊及顯示模塊組成。實時檢測魚塘的水溫、水位和水的渾濁度,并在液晶屏LCD1602上實時顯示。且當檢測數據超限時,發(fā)出報警信號,幫助水產養(yǎng)殖戶更加快速有效地對魚塘進行監(jiān)控和管理,從而提高水產品質量,降低養(yǎng)殖風險,增加養(yǎng)殖效益。
圖1 系統整體框架
魚塘水質檢測系統整體原理圖,如圖2所示。系統以單片機STC89C52為主控制器,DS18B20溫度傳感器檢測水溫,浮球開關檢測水位并控制繼電器調節(jié)水位,民用濁度傳感器進行渾濁度檢測,LCD1602液晶顯示屏顯示檢測數據。系統的主要功能有:水溫、水位、渾濁度的檢測,以及超限報警與調節(jié)。
圖2 魚塘水質檢測系統原理
使用溫度傳感器DS18B20來檢測水溫。DS18B20是數字溫度傳感器,其測溫范圍為-55~125 ℃,它與單片機接線簡單容易、體積小、測量精度高,可以對水溫進行精準測量[2]。DS18B20檢測到實時水溫后,與預設值進行比較,如果實測水溫高于預設的最大值時,系統會通過繼電器啟動風扇進行降溫;如果實測水溫低于預設的最小值時,啟動加熱模塊使水溫逐漸升高。
水位檢測與調節(jié)模塊由水位檢測和水泵控制兩部分組成。水位檢測利用浮球開關,在單片機端接入上拉電阻,通過檢測單片機引腳的電平來判斷浮球開關的狀態(tài),進而判斷水位情況。水泵控制部分由驅動電路和繼電器組成,通過判斷單片機引腳的電平來控制繼電器,通過抽水和注水來調節(jié)水位[3]。
通過測量水中的懸浮固體總量(TSS)來檢測水的渾濁度,TSS值越大,渾濁度越高。使用民用濁度傳感器對水中的渾濁度數據進行采集。該傳感器在精確度以及可靠性方面性能較好,維護簡單,抗污性能強。濁度傳感器將采集到的渾濁度信號發(fā)送到A/D轉換器[4],信號轉換后,再傳送到單片機,并在顯示器上顯示。如果渾濁度高于預設值,就會啟動水泵抽渾水、注清水,降低水的渾濁度,改善水質。
本設計采用外部供電的方式,主要給單片機、水泵、風扇、加熱模塊等供電。單片機供電可通過USB外接電源,水泵、風扇等由4節(jié)1.5 V的電池組成外部電源進行供電,加熱模塊由220 V的交流電源供電。
1)報警模塊。報警模塊的電路比較簡單,采用發(fā)光二極管(LED)來進行報警。當溫度值高于30 ℃或者低于27 ℃、水位超出所設定的正常范圍或者渾濁度高于1000 NTU時,報警模塊立即進入工作狀態(tài),啟動報警功能,即發(fā)光二極管不停地閃爍。
2)顯示模塊。顯示模塊用于顯示水溫和渾濁度,本設計采用LCD1602液晶顯示屏來進行顯示。
圖3為系統軟件設計流程圖。系統開始工作時,首先,對LCD顯示屏進行清屏,并進行初始化;其次,檢測溫度、水位、濁度等數據的情況,將溫度值和濁度值寫入到LCD中;最后,進行溫度、水位、渾濁度判斷。在溫度判斷中,如果溫度高于預定值,那么系統則會驅動風扇來進行降溫;如果是溫度低于預定值,就會進行加熱,使水溫升高。在水位判斷中,如果水位低于預定值,驅動水泵往魚塘里注水,使水位升高至正常范圍;如果水位高于預定值,那么驅動繼電器從魚塘向外抽水,降低水位。在渾濁度的判斷中,如果渾濁度超過預定值,就驅動水泵從魚塘里面抽出渾水、注入清水以降低渾濁度。
圖3 魚塘水質檢測系統流程
用水桶模擬魚塘,進行了系統各項功能的測試,測試環(huán)境見圖4。分別對水溫模塊、水位模塊、渾濁度模塊、顯示模塊、報警模塊進行測試。測試結果表明,系統能自動檢測水溫、水位、渾濁度,并將水溫數據和渾濁度數據在LCD1602上實時顯示,這些數據變化時,顯示數據也隨之變化。當加入熱水或冷水模擬水溫超過30 ℃或者低于27 ℃時,風扇或加熱模塊進行工作。水位超出了預定水位的上限值時,單片機就會控制繼電器,使水泵向外抽水;水位低于預定水位的下限值時,單片機控制繼電器,啟動水泵進行注水。將一些渾濁的水放入模擬的魚塘中,濁度傳感器一旦顯示檢測到的水渾濁度超過預定值,就會利用水泵進行抽渾水、注清水,降低渾濁度。且當溫度、水位或者渾濁度超過預設值時,報警模塊均能正常工作。
圖4 魚塘水質檢測系統測試環(huán)境
本文設計的魚塘水質檢測系統可以檢測并顯示水溫、水位、渾濁度等參數。當這些參數超出設定值時,發(fā)出報警信號并進行自動調節(jié)。系統簡單可靠,在一定程度上為水產養(yǎng)殖戶提高養(yǎng)殖自動化程度提供了便利。