基于msp430的溫控系統
第一個(gè)是PID算法的改進(jìn),由于溫度控制是一個(gè)只能加熱不能制冷的控制,所以我們只用了PI。首先通過(guò)P讓溫度加到一個(gè)離設定溫度較近的溫度,然后利用I逼近設定溫度。
本文引用地址:http://dyxdggzs.com/article/201611/322848.htm程序如下:
void
{
e1=set_t-now_t;
uk=kp*e1+ki*e2+kd*e3;
//
e2=e1+e2;
e3=e1-e4;
e4=e1;
if(uk>speed)
uk=speed;
if(uk<0)
uk=0;
control_value=1-uk;
}
第二個(gè)是時(shí)間控制的線(xiàn)性算法
在時(shí)間控制中要求溫度從40°均勻加熱到60°,并且時(shí)間任意可設。
本程序實(shí)現的方法是:設定時(shí)間set_time是以s為單位,把40°到60°的這20°溫差平均分成set_time份。然后在控制周期中,每一個(gè)周期讓時(shí)間段time_m自加1,然后根據平均的公式算出該時(shí)間段應該達到的溫度,公式如下:
因為控制時(shí)間輸入set_time是以s為單位,而控制周期是100ms,所以上面要除以10。
具體的實(shí)現代碼如下:
control_m_value=(float)time_m/set_time;
control_m_value=control_m_value/10;
control_m_value=40+20*control_m_value;
set_t=control_m_value;
pid();
CCR1=control_value*12000;
(1)傳感器信號的采集、處理
(2)加熱絲的PWM輸出
(3)加熱的溫度和速度控制
(4)溫控系統運行流程控制:程序初始化、溫控的啟動(dòng)與結束、液晶顯示模塊控制
(5)溫控信息顯示與參數設定:狀態(tài)顯示、控制算法參數設定等
上面的幾個(gè)能中,除了程序的初始化在主函數中執行,其他的各個(gè)部分都是在中斷函數中執行的,其中鍵盤(pán)檢測和數據輸入是在鍵盤(pán)中斷中執行,其他的數據采集、處理、控制等都是在定時(shí)器5ms中斷中執行的。單片機平時(shí)處于低功耗模式,降低功耗。
程序的流程圖如下:
圖5
5、測試方法描述:(含模塊與系統測試方法)
測試數據表格如下表1
V(參) | |||
4.2V | 4V | 3.8V | |
V+ | 117.20mv | 86.09mv | 81.45mv |
V- | 90.12mv | 111.84mv | 106.23mv |
ΔV | 26.98mv | 25.62mv | 24.9mv |
Vo | 3.872v | 3.682v | 3.573v |
(1)計算公式如下:
相關(guān)推薦
技術(shù)專(zhuān)區
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線(xiàn)
- 開(kāi)關(guān)電源
- 單片機
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機控制
- 藍牙
- PLC
- PWM
- 汽車(chē)電子
- 轉換器
- 電源管理
- 信號放大器
評論