【正文】
29 附錄 1:程序 ////// PID運(yùn)算 /////// void pid_ctrl(void) { Ek = ref feb。 //禁止模擬比較器 ADCSRA= 0xCE。 } if(key==1) KP++。0X04)==0) { CLI()。 TI_data[12]=(TI/10)%10+0x30。 the Proportional, the Integral and Derivative values. The Proportional value determines the reaction to the current error, the Integral determines the reaction based on the sum of recent errors and the Derivative determines the reaction to the rate at which the error has been changing. The weighted sum of these three actions is used to adjust the process via a control element such as the position of a control valve or the power supply of a heating element. By tuning the three constants in the PID controller algorithm the PID can provide control action designed for specific process requirements. The response of the controller can be described in terms of the responsiveness of the controller to an error, the degree to which the controller overshoots the setpoint and the degree of system oscillation. Note that the use of the PID algorithm for control does not guarantee optimal control of the system or system stability. Some applications may require using only one or two modes to provide the controle ppropriate system control. This is achieved by setting the gain of undesired control outputs to zero. A PID controller will be called a PI, PD, P or I controller in the absence of the respective control actions. PI controllers are particularly mon, since derivative action is very sensitive to measurement noise, and the absence of an integral value may prevent the system from reaching its target value due to the control action. 2 A block diagram of a PID controller Note: Due to the diversity of the field of control theory and application, many naming conventions for the relevant variables are in mon use. Control loop basics A familiar example of a control loop is the action taken to keep one39。 33 KP_data[14]=KP%10+0x30。 if(key!=0) shuju()。 shedin[9]=(set/10)%10+0x30。 30 SFIOR |= 0x00。 本設(shè)計(jì)的實(shí)質(zhì)是 基于工業(yè)過程物理模擬對(duì)象, 參考 自動(dòng)化儀表技術(shù)、 傳感器技術(shù) 、 計(jì)算機(jī)技術(shù)、通信技術(shù)、自動(dòng)控制技術(shù) 等 , 涉及 流量、 液位、壓力等熱工參數(shù) 來運(yùn)用自動(dòng)控制理論,利用單片機(jī)及其接口技術(shù)及 C語言等實(shí)習(xí)工業(yè)模擬控制。 液位顯示子程序結(jié)構(gòu)設(shè)計(jì) 本設(shè)計(jì)采用 的是 液晶 12864來顯示相關(guān)參數(shù) ,其流程圖如圖 43所示 圖 43 液晶顯示流程圖 液位設(shè)定 子程序結(jié)構(gòu)設(shè)計(jì) 鍵盤掃描程序的作用是讀得用戶自行設(shè)定的液位值,即取得預(yù)設(shè)液位值。 模擬 PID調(diào)節(jié)器,其控制規(guī)律如公式 41所示 )(tu? = KP [e(t)+Ti1 )()(0 tdtet? +TD dttde)( ] ( 41) 式中, KP為比例系數(shù), TI為積分時(shí)間常數(shù), TD為微分時(shí)間常數(shù)。軟件的主要任務(wù) 是完成芯片的初始化等工作,如數(shù)據(jù)采集、處理、顯示,延時(shí)、中斷 等。表 34為液 晶顯示模塊管腳排列和功能,圖 310是它與系統(tǒng)單片機(jī)連接的原理圖 。 ( 2)使能端輸入使能信號(hào),控 制輸入端 A輸入 PWM信號(hào),控制輸入端 B輸入PWM的反信號(hào)。 DC24V時(shí)能連續(xù)通電時(shí)間 20多分鐘。在中斷服務(wù)程序里, ADIF被硬件清零,對(duì) ADIF位寫 1也可以對(duì)其清零。 位 2~ 0: MUX2MUX0選擇 A/D轉(zhuǎn)換的通道。 AREF為外部參考電壓輸入端,此電壓應(yīng)該在 AGND與 AVCC之間。 9 圖 31 ATmega16L最小系統(tǒng)電路圖 液位采集模塊的設(shè)計(jì) 液位傳感器 選擇 傳感器是信號(hào)采集系統(tǒng)的首要部件,是實(shí)現(xiàn)現(xiàn)代化測(cè)量和自動(dòng)控制的主要環(huán)節(jié),是信息的源頭,又是信息社會(huì)賴以存在和發(fā)展的物質(zhì)與技術(shù)基礎(chǔ)。端口 C也可以用做其他不同的特殊功能。 功能特性概述 AVR RISC結(jié)構(gòu) ; 數(shù)據(jù)和非易失性程序存儲(chǔ)器 ; 工作電壓和時(shí)鐘 :~ 5V。 ( 2) 選擇 以 單片機(jī) 為核心的中央處理器。 目前工業(yè)自動(dòng)化水平已成 為衡量各行各業(yè)現(xiàn)代化水平的一個(gè)重要標(biāo)志。它 可以使系統(tǒng)更加準(zhǔn)確,更加穩(wěn)定的控制液位 。能夠直接為沿海工程、港口建設(shè)、交通運(yùn)輸、海洋生物資源開發(fā)、海洋環(huán)境監(jiān)測(cè)、濕地保護(hù)及近岸海洋開發(fā)提供研究、評(píng)價(jià)和作業(yè)必不可少的依據(jù)。 ( 1) 完成基于 PID的液位 調(diào)節(jié)器 設(shè)計(jì); ( 2) 實(shí)現(xiàn)液位的 自動(dòng) 控制; ( 3) 具有 液位 顯示功能 ; ( 4) 具有 鍵盤設(shè)定 PID控制參數(shù)功能 ; ( 5) 當(dāng)液位超過報(bào)警范圍時(shí),能通過聲光報(bào)警 。 總體方案 如圖23所示 。 ( 4) 端口 C( PC7PC0)為 8位雙向 I/O口,具有可編程的內(nèi)部上拉電阻。使用 ADC時(shí)應(yīng)通過一個(gè)低通濾波器與 Vcc連接。 采集電路的設(shè)計(jì) AT mega16L單片機(jī)的 ADC的結(jié)構(gòu)及功能 ATmega16L單片機(jī)集成了 8通道 10位逐次逼近型 A/D轉(zhuǎn)換器。 ATmega16L單片機(jī)的 A/D轉(zhuǎn)換器的時(shí)鐘應(yīng)該在 50~ 200KHz,過高的工作頻率將降低采樣精度。 ADC將不斷對(duì)信號(hào)進(jìn)行采樣并將最近一次的轉(zhuǎn)換數(shù)據(jù)存入 ADC數(shù) 據(jù)寄存器。 ( 1) 水泵 的定義:通常把提升液體、輸送液體或使液體增加壓力 , 即把原動(dòng)機(jī)的機(jī)械能變?yōu)橐后w能量從而達(dá)到抽送液體目的的機(jī)器統(tǒng)稱為泵。 圖 32 L298N的引腳 圖 15 L298N驅(qū)動(dòng) 模塊 電路 如 圖 33。通過鍵盤輸入,可以調(diào)節(jié)液位上限、下限、斷電保存等功能。另外用三個(gè) 7號(hào) 電池為 DS1302作備用供電電源。 這些特點(diǎn)已經(jīng)得到了廣泛的應(yīng)用。 程序:實(shí)現(xiàn) 按鍵輸入預(yù)設(shè)液位 值。它主要是依據(jù)系統(tǒng)的數(shù)學(xué)模型,經(jīng)過理論計(jì)算確定控制器參數(shù)。 //調(diào)整 PWM輸出 if(PWM_out Pmax)PWM_out = Pmax。 //再次啟動(dòng) AD } void jianpan(void) //鍵盤 { if((PINCamp。 shedin[9]=(set/10)%10+0x30。 } while((PINCamp。 } 34 附錄 2: 電路圖 PB0 (XCK/T0)1PB1 (T1)2PB2 (AIN0/INT2)3PB3 (AIN1/OC0)4PB4 (SS)5PB5 (MOSI)6PB6 (MISO)7PB7 (SCK)8RESET9PD0 (RXD)14PD1 (TXD)15PD2 (INT0)16PD3 (INT1)17PD4 (OC1B)18PD5 (OC1A)19PD6 (ICP)20PD7 (OC2)21XTAL212XTAL113GND11PC0 (SCL)22PC1 (SDA)23PC2 (TCK)24PC3 (TMS)25PC4 (TDO)26PC5 (TDI)27PC6 (TOSC1)28PC7 (TOSC2)29AREF32AVCC30GND31PA7 (ADC7)33PA6 (ADC6)34PA5 (ADC5)35PA4 (ADC4)36PA3 (ADC3)37PA2 (ADC2)38PA1 (ADC1)39PA0 (ADC0)40VCC10U1ATmega1616PC10KR1S1SWPBVCCVCC12345678910下載口VCC12Y18M22pFC122pFC2104C2104C4VCCVCCPD4PD5PD6PD4PD5PD6GND1VCC2VC3RS4RW5E6DB07DB18DB29DB310DB411DB512DB613DB714PSB15NC16RST17VOUT18A19K2012864 液晶*IN15IN27IN310IN412EN A6EN B11GND8VSS9VS4OUT12OUT23OUT313OUT414ISEN A1ISEN B15U3L298NVCC+12VA+D1 D2D3 D4GND7VDD141A11Y22A32Y43A53Y64Y84A95Y105A116Y126A13U27404VCCPWMENPWMEN1 2P1+12V +12V1 2P2GND GND1 2P3VCC VCCS3SWPBS2SWPBS1SWPB 35 致 謝 本次畢業(yè)設(shè)計(jì) 從課題的確定到最后的完成 ,自始至終得到了指導(dǎo)教師耿 老師的悉心指導(dǎo)和親切關(guān)懷。 chn_disp(0,0,PID_data)。 lat_disp (0x00,0x00)。0X01)==0) { delay_ms(60)。 V=(unsigned int)(V*VREF*1000/1024)。 pwm_var = (int)Uo。 最后就是要看 水泵開度 是否隨 PID控制規(guī)律 而 正常工作 ,從而達(dá)到 自動(dòng)調(diào)節(jié)要求 。 此外,還有 報(bào)警電路子程序 。且將運(yùn)算結(jié)果送至執(zhí)行器,本設(shè)計(jì)中的 執(zhí)行器是 小水泵(電機(jī)) ,測(cè)量變送器為 超聲波采集 。為了加大報(bào)警聲音的響度, 還需 在電路中加上一個(gè)三