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

正文內(nèi)容

汽車電控技術(shù)課程設(shè)計---汽車懸架系統(tǒng)振幅控制器-閱讀頁

2025-06-25 04:05本頁面
  

【正文】 算法及編碼 要利用單片機實現(xiàn)對步進電機的控制,必須注意以下問題: 4. 電機控制需要的脈沖序形的形成: 要實現(xiàn)對步進電機的控制,首先微機能輸出具有一定周期的控制脈沖,在微機控制系統(tǒng)中,脈沖序列的產(chǎn)生是通過軟件實現(xiàn)的,或者通過定 時 /計數(shù)器定時而產(chǎn)生一定周期的脈沖,本次設(shè)計采用的是第二種方法。 控制步進電機的旋轉(zhuǎn)方向: 對于電機選擇:選用三相步進電機,其通電方式采用六拍工作方式,通電順序為: 微機檢測系統(tǒng) 課程設(shè)計說明書 14 正向旋轉(zhuǎn): A→ AB→ B→ BC→ C→ CA→ A; 反向旋轉(zhuǎn): A→ CA→ C→ BC→ B→ AB→ A。 4. 6 繪制系統(tǒng)程序流程圖 主程序流程圖: 如圖 11所示 開始 系統(tǒng)程序初始化 變量的定義和函數(shù)的聲明 采樣子程序的調(diào)用 數(shù)字濾波子程序的調(diào)用 數(shù)字 PID 控制子程序的調(diào)用 步進電機子程序的調(diào)用者 返回 圖 11 主程序流程圖 微機檢測系統(tǒng) 課程設(shè)計說明書 15 采樣子程序的 流程圖 : 如圖 12 所示 數(shù)字平均濾波子程序流程圖 , 如圖 13所示 數(shù)字 PID 調(diào)節(jié)子程序流程圖 : 如圖 14所示 定時器 0 初始化 啟動定時器 等待定時器 0中斷 中斷 ? N Y 開始 使 INT1 產(chǎn)生中斷 進入 INT1中斷服務(wù)程序 選中 ADC 通道 1 WR 送入 0,啟動 AD 轉(zhuǎn)換 結(jié)束 ? N 判斷 AD 采樣次數(shù) 10 次 ? Y 讀取采樣數(shù)據(jù) 關(guān)閉定時器 0 Y 返回啟動定時器 N 圖 12 采樣子程序流程圖 開始 讀取 10 次采樣值 將 10 次采樣值累加 取其平均值 返回 圖 13 數(shù)字平均濾波子程序流程 圖 進入 T0中斷服務(wù)程序 微機檢測系統(tǒng) 課程設(shè)計說明書 16 步進電機程序流程圖 :如圖 15 所示 : 圖 15 步進電機程序流程圖 開始 各 PID參數(shù)的確定 將給定值減去采樣值 小于 0? Y 15 減去采樣值 小于 0? Y 報警:揚聲器響 N 存取各增量,并且輸出 yn 返回 標(biāo)志位置 1 并存取各增量 N 圖 14 PID 程序流程圖 開始 定時器 1 相關(guān)參數(shù)設(shè)定并啟動 中斷否 ? 繼續(xù)等待中斷 N 進入 T1中 斷服務(wù) Y 給各線圈通電 步數(shù)走完否 ? 返回 Y N 微機檢測系統(tǒng) 課程設(shè)計說明書 17 軟件程序調(diào)試 在 PC機上運行 Keil 編程軟件,根據(jù)上面繪制的程序流程圖編寫程序,本設(shè)計采用的編程語言為 C51,將程序的編寫過程實行模塊化,如分別編寫數(shù)據(jù)采集模塊子程序、數(shù)字平均濾波模塊子程序、數(shù)字 PID 控制模塊子程序、步進電機驅(qū)動模塊子程序等。 最后,編寫好的完整程序亦需要調(diào)試和編譯,本設(shè)計程序的調(diào)試編譯結(jié)果見(附錄 ) 。 微機檢測系統(tǒng) 課程設(shè)計說明書 18 致 謝 本設(shè)計 是在 唐嵐老師 和趙玲教師 的 悉心指導(dǎo)下完成的。不僅使我樹立了遠大的學(xué)術(shù)目標(biāo)、掌握了控制系統(tǒng)的 基本研究方法,還使我明白了許多為人處世的道理。 另外,本設(shè)計的完成也離不開各位同學(xué)給我的建議和幫助,是他們讓我明 白了團隊合作的精神。 void dingshi_1()。 float PID(void)。 delay(uchar)。 /*定義 PID 各參數(shù),并為其分配內(nèi)存空間 */ float x,un,yn,yn_1,en,en_1,en_2,Td,Ti,T。 sbit P33=P3^3。 sbit P10=P1^0。 sbit EOC=P2^1。 /*通道 INT1*/ float getdata[10]。 uchar m=0。/*使 P27端口保持為低電平,與 RD, WR 同為低電平,以完成 A/D 數(shù)據(jù)的轉(zhuǎn)換和讀取。 while(1) { loop: dingshi_0()。 yn=PID()。 goto loop。 /*采用離線控制方式,沒有立即實時控制,延時控制輸出 */ dianji()。 float sum,stmp。n=9。 } stmp=sum/10。 } float PID(void ) { float w0=。 x=10。Td=5。/*自定義比例,積分,微分常數(shù) */ T=。 Ki=Kp*T/Ti。/*將采樣所得的加速度值轉(zhuǎn)為振動位移; 并取其絕對值 */ en=10cy。 delay(2)。 } yn=yn_1+Kp*(enen_1)+Ki*en+Kd*(en2*en_1+en_2)。 en_2=en_1。 return yn。 en_2=en_1。 flag=1。 } void dingshi_1() { 微機檢測系統(tǒng) 課程設(shè)計說明書 24 TMOD=0x00。 /*延時周期為 20MS, 初值高位送至 TH1*/ TL1=(819220210)%32。 TR1=1。 } /***********************至此各子函數(shù)結(jié)束 **********************************************/ /******************************從這各定時中斷程序開始 *********************************/ void dingshi_0() { TMOD=0X01。 TL0=(6553650000)%256。 EA=1。 while(1)。 P33=1。 P33=0。 if(i!=10) /*如果定時采樣了 10 次,則退出,否則繼續(xù)采樣 */ { TH0=(6553650000)/256。 TR0=1。 TR0=0。 } } void int_1() interrupt 2 /*利用外部中斷 1 服務(wù)程序進行 A/D 數(shù)據(jù)采樣 */ { P0=channel。/*啟動 A/D 轉(zhuǎn)換 */ WR=0。 while(EOC==0)。 /*轉(zhuǎn)換結(jié)束,使 OE=0,數(shù)據(jù)輸出 */ getdata[i]=P0。 } void tim_1() interrupt 3 /*定時器 1 中斷服務(wù)程序 */ { uchar tongdian[]={0x02,0x06,0x04,0x0C,0x08,0x0A}。 /*輸出編碼驅(qū)動電機轉(zhuǎn)動 */ m++。 /*步數(shù)減一 */ 微機檢測系統(tǒng) 課程設(shè)計說明書 26 m=0。 TR1=0。 uchar c。b50000。c0。 } /***************************全文結(jié)束 *********************************************/ 微機檢測系統(tǒng) 課程設(shè)計說明書 27 圖 16 軟件仿真調(diào)試結(jié)果 微機檢測系統(tǒng) 課程設(shè)計說明書 28 圖 17 硬件電路電氣檢查結(jié)果
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1