freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)控制直流電機(jī)調(diào)速系統(tǒng)設(shè)計(jì)正文(編輯修改稿)

2024-12-18 14:58 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 子程序 、 1個(gè)定時(shí)器子程序、 3個(gè)延時(shí)子程序和 2個(gè)顯示子程序 組成。主程序主程序是一個(gè)循環(huán)程序,其主要思路是由單片機(jī) 口生數(shù)據(jù)送到 PWM信號(hào)發(fā)生電路,然后用 PID 算法輸出控制系數(shù)給 PWM 發(fā)生電路改變波形的占空比進(jìn)而控制電機(jī)的轉(zhuǎn)速。 主程序流程圖如圖 31所示: 圖 31 智能儀器綜合設(shè)計(jì)用紙 18 : void main() { P1=0x00。 SCON=0x40。 PCON=0x80。 TMOD=0x21。 TL1=0xfa。TH1=0xfa。TH0=0XFE。TL0=0X33。 ES=0。ET0=1。EX0=1。 TR1=1。TR0=1。EA=1。 while(1) { while (key1==0||key2==0||key3==0||a==0) { if(key1==0amp。amp。key2==1amp。amp。key3==1) { while(key1==0)。 state_flag=~state_flag。 if(state_flag==1) { EX0=1。TR0=1。 en =0。en_1 =0。en_2 =0。un =0。 wide=150。 a=1。 //wide = set_count。 } if(state_flag==0) { PWM = 0。 EA=0。TR0=0。 智能儀器綜合設(shè)計(jì)用紙 19 run_count=0。stop_count=0。 time=0。t1=0。t2=0。 display_num4(set_count)。 a=0。 } } if(key1==1amp。amp。key2==0amp。amp。key3==1amp。amp。state_flag==0) { while(key2==0)。 delay1(20)。 set_count+=1。 if(set_count300) set_count=100。 } if(key1==1amp。amp。key2==1amp。amp。key3==0amp。amp。state_flag==0) { while(key3==0)。 delay1(20)。 if(set_count100) set_count=1。 if(set_count==100) set_count=300。 } else display_num4(stop_count)。 } while(key1==1amp。amp。key2==1amp。amp。key3==1amp。amp。a==1) { if(time==400) { 智能儀器綜合設(shè)計(jì)用紙 20 time=0。stop_count=run_count/2。 run_count=0。 pid()。 } } } } 主程序主程序是一個(gè)循環(huán)程序,其主要思路是, 首先 判斷系統(tǒng)的運(yùn)行模式,如果 KEY1鍵按下 , 且 state_flag 為 1則系統(tǒng)處于運(yùn)行模式,如果 state__flag 為 0則為設(shè)置模式 。如果系統(tǒng)處于設(shè)置模式,則關(guān)閉定時(shí)器中斷和外部中斷,同時(shí)初始化部分變量 , KEY2 為按鍵加 , KEY3 為按鍵減 。 如果系統(tǒng)處于運(yùn)行模式 , xcount 開始計(jì)時(shí),當(dāng) xcount=82 時(shí),即為 1s時(shí),調(diào)用 串口中斷子程序,單片機(jī)開始發(fā)送數(shù)據(jù),模擬 I/O 口輸出 PWM,此時(shí) PWM 波的頻率為 ,周期為 ,然后調(diào)用 PID 函數(shù),計(jì)算出 PWM 波輸出的占空比,最后上位機(jī)顯示轉(zhuǎn)速。 2. PID 控制算法子程序設(shè)計(jì) : void pid(void) //PID 計(jì)算輸出量 { en=set_countstop_count。 un=a0*ena1*en_1+a2*en_2。//計(jì)算輸出量 if(un 400)un = 400。 else if(un 400)un = 400。 en_2=en_1。en_1=en。 //更新誤差 wide += un/4。 //計(jì)算 wide,用于調(diào)節(jié) PWM 的占空比,計(jì)算周期為 100ms if(wide900)wide=900。 //防止超限,確保計(jì)算餓 wide 值有效 else if(wide10)wide=10。 } 位置式 PID控制: 智能儀器綜合設(shè)計(jì)用紙 21 增量式 PID控制: 從表達(dá)式我們可以得出以下結(jié)論: ( 1) 位置式 PID 控制的輸出與整個(gè)過去的狀態(tài)有關(guān),用到了誤差的累加值;而增量式 PID的輸出只與當(dāng)前拍和前兩拍的誤差有關(guān),因此位置式 PID 控制的累積誤差相對(duì)更大; ( 2) 增量式 PID 控制輸出的是控制量增量,并無積分作用,因此該方法適用于執(zhí)行機(jī)構(gòu)帶 積分部件的對(duì)象,如步進(jìn)電機(jī)等,而位置式 PID 適用于執(zhí)行機(jī)構(gòu)不帶積分部件的對(duì)象,如電液伺服閥。 ( 3) 由于增量式 PID 輸出的是控制量增量,如果計(jì)算機(jī)出現(xiàn)故障,誤動(dòng)作影響較小,而執(zhí)行機(jī)構(gòu)本身有記憶功能,可仍保持原位,不會(huì)嚴(yán)重影響系統(tǒng)的工作,而位置式的輸出直接對(duì)應(yīng)對(duì)象的輸出,因此對(duì)系統(tǒng)影響較大。 ( 4) PID 調(diào)節(jié)器的參數(shù)整定方法有很多,但可歸結(jié)為理論計(jì)算法和 試測(cè) 法兩種。用理論計(jì)算法設(shè)計(jì)調(diào)節(jié)器的前提是能獲得被控對(duì)象準(zhǔn)確的數(shù)學(xué)模型,這在工業(yè)過程中一般較難做到。因此,實(shí)際用得較多的還是 試測(cè) 法 。這種方法最大優(yōu)點(diǎn)就是整定參數(shù)時(shí)不依賴對(duì) 象的數(shù)學(xué)模型,簡(jiǎn)單易行。當(dāng)然,這是一種近似的方法,有時(shí)可能略嫌粗糙,但相當(dāng)適用,可解決一般實(shí)際問題。 本文使用試測(cè)法。 : void delay(uint time) { uint i。 for(i=0。itimeamp。amp。key1==1。i++) display_num4(stop_count)。 } void delay1_ms(uint time) //1ms 延時(shí)函數(shù) 智能儀器綜合設(shè)計(jì)用紙 22 { uint i,j。 for(i=0。itime。i++) for(j=0。j123。j++)。 } void delay1(uint num) { uint i。 for(i=0。inum。i++) display_num4(set_count)。 } : void display_num1(uint dat,uchar num1) //指定的位上顯示 指定的一位數(shù)據(jù) { P0=xianshi[dat]。 //段顯 switch(num1) { case 1: P2=0x01。break。 case 2: P2=0x02。break。 case 3: P2=0x04。break。 case 4: P2=0x08。break。 default: break。 } delay1_ms(2)。 } void display_num4(uint num) //四位數(shù)據(jù)顯示函數(shù) { uint qian,bai,shi,ge。 qian=num/1000。 智能儀器綜合設(shè)計(jì)用紙 23 if(qian==0)qian=11。 display_num1(qian,4)。 bai=(num%1000)/100。 if(qian==11amp。amp。bai==0)bai=11。 display_num1(bai,3)。 shi=(num%100)/10。 if(qian==11amp。amp。bai==11amp。amp。shi==0)shi=11。 display_num1(shi,2)。 ge=num%10。 display_num1(ge,1)。 } : void int0() interrupt 0 //外部中斷 0 用于電機(jī)轉(zhuǎn)速測(cè)量 { EX0=0。run_count++。EX0=1。 時(shí)器中斷子程序: 關(guān)中斷 開啟計(jì)數(shù)器 T1 工作 計(jì)數(shù)器清零 調(diào)用子程序 dis_num() 將 TL1 中的十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù) 將 TL1 中的計(jì)數(shù)值賦給 count 開啟定時(shí)器 T0 工作 定時(shí)器 T0 賦初值 計(jì)時(shí)值 ++ 0832 輸入值減小/PWM 占 空比減小 8032 輸入值增大/PWM 占空比增大 0832 數(shù)據(jù)口賦初值 TL1 計(jì)數(shù)值的十進(jìn)制數(shù)賦值給 out 計(jì)時(shí) 1s 到? 輸出值 鍵入值? 有值鍵入? 是 否 是 否 是 否 智能儀器綜合設(shè)計(jì)用紙 24 void time0() interrupt 1 //定時(shí)器 0用于產(chǎn)生 PWM ,占空比通過 PID 計(jì)算獲得 {// SBUF=39。a39。 //while(TI) {TI=0。} TR0=0。 time++。 TH0=0XFF。TL0=0X9c。//計(jì)數(shù)器 0 賦初值 100us if(low_flag==0)t1++。//低電平時(shí)間計(jì)時(shí) t2++。 if(t2==1000) //用于確定 PWM 的周期 , t2 乘以定時(shí)器的中斷周期即為 PWM 的周期 {PWM=1。 t2=0。 low_flag=0。} if(t1==wide)//wide 的值即為低電平的時(shí)間 {PWM=0。t1=0。low_flag=1。} TR0=1。 /**/ } 智能儀器綜合設(shè)計(jì)用紙 25 第五章 上位機(jī)設(shè)計(jì) 函數(shù)介紹 配置串口 此函數(shù)主要的作用是使 VISA 資源名稱指定的串口按特定設(shè)置初始化。在下位機(jī)的主函數(shù)中設(shè)置 SCON=0x40 及 PCON=0x80,所以串行口工作于方式 1 且波特率倍增位 SMOD=1,為波特率可變的 8位異步通信接口。傳送一幀信息總共 10 位,即 1位起始位( 0), 8位數(shù)據(jù)位(低位在前)和 1 位停止位( 1)。波特率可變,取決于定時(shí)器 T1 或 2 的溢出率。波特率= 2^SMOD/32 T1 溢出率。 T1 工作于模式 2,此時(shí)為初值自動(dòng)加載的定時(shí)方式。如果計(jì)數(shù)器的初始值為 X,則每過 256— X個(gè)機(jī)器周期 T1就產(chǎn)生溢出,溢出的周期為( 256— X)*12/fosc。據(jù)此可計(jì)算溢出率和波特率。下位機(jī)中 T1 設(shè)置的計(jì)數(shù)初值分別是 TL1=0xfa 和TH1=0xfa。使用 的晶振,最后得出的波特率為 9600bit/s,在函數(shù)波特率選擇端口可以加上條件結(jié)構(gòu)予以選擇,當(dāng)然在這里我們要選擇 9600bit/樣,所以也需要使用條件結(jié)構(gòu),這里我們用的是 COM1 口。數(shù)據(jù)位端口是輸入數(shù)據(jù)的位數(shù), 數(shù)據(jù)位的值介于 5和 8之間,默認(rèn)值為 8,我們選擇的也是 的每一幀使用的奇偶校驗(yàn),本次課程設(shè)計(jì)中只需要從單片機(jī)向 PC 傳輸數(shù)據(jù),選擇方式 1,所以奇偶端口選擇 . 清空 I/O 緩沖區(qū) 運(yùn)用此函數(shù)來清除發(fā)送和接收的 I/O 接口的緩沖區(qū)。 讀取 這個(gè)函數(shù)的作用是從 VISA 資源名稱指定的設(shè)備或接口中讀取指定數(shù)量的字節(jié),并使數(shù)據(jù) 返回至讀取緩沖區(qū)。其中字節(jié)總數(shù)端口,我們接收 8位數(shù)據(jù)自然輸入一個(gè)常量 課程設(shè)計(jì)所要使用的是異步通信,在異步通信中,數(shù)據(jù)通常以字符或字節(jié)為單位組成字符幀傳送。字符幀由發(fā)送端一幀一幀地發(fā)送。發(fā)送端和接收端可以由各自的時(shí)鐘來控制數(shù)據(jù)的發(fā)送和接收,兩個(gè)時(shí)鐘源彼此獨(dú)立,互不同步。異步通信通過規(guī)定字符幀格式來協(xié)調(diào)發(fā)送端和接收端的數(shù)據(jù)發(fā)送和
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1