主控芯片:STC89C5
核心外設(shè)如下: - 溫度檢測(cè):DS18B20單總線數(shù)字傳感器(精度±0.5℃,抗干擾能力強(qiáng))
- 水位檢測(cè):Water Sensor水位傳感器(電阻式水位檢測(cè),低成本方案)
- 執(zhí)行機(jī)構(gòu):繼電器控制模塊(驅(qū)動(dòng)加熱管/制冷片,帶光耦隔離)
- 人機(jī)交互:LCD1602液晶屏(實(shí)時(shí)顯示水溫/水位)+ 4×4矩陣按鍵(模式切換/參數(shù)設(shè)置)
- 報(bào)警模塊:無(wú)源蜂鳴器(超溫/缺水報(bào)警)
硬件特點(diǎn): - 所有傳感器信號(hào)均通過(guò)I/O口直接采集,減少外圍電路
- 繼電器驅(qū)動(dòng)采用ULN2003達(dá)林頓陣列,增強(qiáng)帶載能力
- 電源部分加入LM7805穩(wěn)壓,確保系統(tǒng)穩(wěn)定性
開(kāi)發(fā)環(huán)境:Keil C51 + STC-ISP燒錄工具
- 溫度控制邏輯:
- 采用增量式PID算法,通過(guò)DS18B20實(shí)時(shí)采集水溫,動(dòng)態(tài)調(diào)節(jié)繼電器占空比
- 代碼示例:[color=var(--header-text-color)]// PID控制函數(shù)void PID_Control(){ float error = Target_Temp - Current_Temp; P_out = Kp * error; I_out += Ki * error; D_out = Kd * (error - Last_Error); Last_Error = error; PWM_Duty = (uint)(P_out + I_out + D_out); // 輸出PWM占空比}
- 水位檢測(cè)優(yōu)化:
- 對(duì)水位傳感器信號(hào)進(jìn)行軟件濾波(滑動(dòng)平均法),消除水波干擾
- 代碼示例:[color=var(--header-text-color)]// 水位采集(滑動(dòng)平均濾波)uint Get_Water_Level(){ static uint buffer[5] = {0}; static uint index = 0; uint sum = 0; buffer[index] = ADC_Read(); // 讀取ADC值 index = (index + 1) % 5; for(uint i=0; i<5; i++) sum += buffer; return sum / 5; // 返回平均值}
- 低功耗設(shè)計(jì):
- 待機(jī)模式下關(guān)閉LCD背光,關(guān)閉未使用的外設(shè)
- 定時(shí)喚醒機(jī)制,降低整體功耗(待機(jī)電流降至8mA)
|