版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于PLC控制的智能小車系統(tǒng)軟件設(shè)計(jì)案例目錄TOC\o"1-3"\h\u29835基于PLC控制的智能小車系統(tǒng)軟件設(shè)計(jì)案例 1261531.1keiluVisions5開發(fā)環(huán)境介紹 1233381.2轉(zhuǎn)向舵機(jī)控制 283931.3直流電機(jī)控制 370361.1.1電機(jī)速度閉環(huán)控制 3236481.1.2電機(jī)位置閉環(huán)控制 429901.4自主循跡控制 6227891.5超聲波測距跟隨控制 71.1keiluVisions5開發(fā)環(huán)境介紹2013年10月,Keil公司(ARM公司之一)正式推出KeilMDKv5,該版本使用uVision5IDE集成開發(fā)環(huán)境,是目前針對ARM微控制器,尤其是ARMCortex-M內(nèi)核微控制器最佳的一款集成開發(fā)工具。MDKv5向后兼容KeilMDK-ARMuVision4,以前的項(xiàng)目同樣可以在MDKv5上進(jìn)行開發(fā),MDKv5同時加強(qiáng)了針對Cortex-M微控制器開發(fā)的支持,并且對傳統(tǒng)的開發(fā)模式和界面進(jìn)行升級其主要包含五方面特性,具體為∶(1)內(nèi)置數(shù)據(jù)庫可以實(shí)現(xiàn)同時實(shí)現(xiàn)多種配置與操作;(2)具備功能強(qiáng)大、性能良好的編譯工具;(3)提供在線聯(lián)調(diào)功能;(4)與之相配套的信息資料十分完善。圖1.1編譯環(huán)境1.2轉(zhuǎn)向舵機(jī)控制由于伺服舵機(jī)本身具有內(nèi)部的閉環(huán)控制結(jié)構(gòu),所以本文研究同樣采用位置式PID控制算法對智能小車的前輪伺服舵機(jī)的速度進(jìn)行閉環(huán)控制,位置式PID控制算法定義公式如下∶當(dāng)位置式PID的積分項(xiàng)到達(dá)飽和程度時,誤差會繼續(xù)在積分環(huán)節(jié)的作用下積累,如果誤差開始進(jìn)行反向變化時,控制系統(tǒng)需要一些時間從積分的飽和區(qū)域退出,所以在u(k)達(dá)到最大值或最小值時,需要停止積分作用,并且要對積分和輸出進(jìn)行限幅,所以本文伺服舵機(jī)在使用位置式PID控制算法時,一般直接使用PD控制,所以位置式PID控制算法也適用于像本文伺服舵機(jī)這樣不包含積分部件的執(zhí)行機(jī)構(gòu)。本文伺服舵機(jī)位置式PID控制算法的程序如下:速度值可通過舵機(jī)的目標(biāo)位置和舵機(jī)的實(shí)際位置計(jì)算得到,使用累加的方法,賦值給相應(yīng)的寄存器并作用到舵機(jī)。這樣就可以把舵機(jī)的速度調(diào)節(jié)轉(zhuǎn)變成對PID參數(shù)大小的調(diào)節(jié)。另外,在接近目標(biāo)位置的時候還能夠?qū)崿F(xiàn)減速,防止因?yàn)閼T性而造成舵機(jī)齒輪減速箱的損壞。函數(shù)功能:舵機(jī)PWM以及定時中斷初始化arr:自動重裝值psc:時鐘預(yù)分頻數(shù)返回值:無voidServo_PWM_Init(u16arr,u16psc) { RCC->APB2ENR|=1<<11;//使能TIM1時鐘 RCC->APB2ENR|=1<<2;//PORTA時鐘使能 GPIOA->CRH&=0XFFFF0FFF;//PORTA11復(fù)用輸出 GPIOA->CRH|=0X0000B000;//PORTA11復(fù)用輸出 TIM1->ARR=arr;//設(shè)定計(jì)數(shù)器自動重裝值 TIM1->PSC=psc;//預(yù)分頻器不分頻 TIM1->CCMR2|=6<<12;//CH4PWM1模式 TIM1->CCMR2|=1<<11;//CH4預(yù)裝載使能 TIM1->CCER|=1<<12;//CH4輸出使能 TIM1->BDTR|=1<<15;//TIM1輸出PWM TIM1->CR1=0x80;//ARPE使能 TIM1->DIER|=1<<0; //允許更新中斷 TIM1->CR1|=0x01;//使能定時器1 TIM1->CCR4=1500; MY_NVIC_Init(1,1,TIM1_UP_IRQn,2);}1.3直流電機(jī)控制1.1.1電機(jī)速度閉環(huán)控制圖1.2電機(jī)速度閉環(huán)控制原理根據(jù)增量式離散PID公式函數(shù)功能:增量PI控制器入口參數(shù):編碼器測量值,目標(biāo)速度返回值:電機(jī)PWMe(k)代表本次偏差e(k-1)代表上一次的偏差以此類推pwm代表增量輸出速度控制閉環(huán)系統(tǒng)使用PI控制intIncremental_PI_A(intEncoder,intTarget){ staticintBias,Pwm,Last_bias; Bias=Target-Encoder;//計(jì)算偏差 Last_bias=Bias; //保存上一次偏差 returnPwm;//增量輸出}intIncremental_PI_B(intEncoder,intTarget){ staticintBias,Pwm,Last_bias; Bias=Target-Encoder;//計(jì)算偏差 Last_bias=Bias; //保存上一次偏差 returnPwm;//增量輸出}1.1.2電機(jī)位置閉環(huán)控制圖1.3電機(jī)位置閉環(huán)控制原理根據(jù)位置式離散PID公式函數(shù)功能:位置式PID控制器入口參數(shù):編碼器測量位置信息,目標(biāo)位置返回值:電機(jī)PWMe(k)代表本次偏差e(k-1)代表上一次的偏差∑e(k)代表e(k)以及之前的偏差的累積和;其中k為1,2,,k;pwm代表輸出intPosition_PID(intEncoder,intTarget){ floatPosition_KP=80,Position_KI=0.1,Position_KD=500; staticfloatBias,Pwm,Integral_bias,Last_Bias; //Bias=Encoder-Target;//計(jì)算偏差 Bias=Target-Encoder;//計(jì)算偏差 Integral_bias+=Bias; //求出偏差的積分 Last_Bias=Bias;//保存上一次偏差 returnPwm;//增量輸出}1.4自主循跡控制 TSL1401CL含有128個感官單位,我們可以通過STM32單片機(jī)的ADC按照順序收集每個感官單位的電壓值,并且把他們保存在數(shù)組中。staticu16i,j,Left,Right; staticu16value1_max,value1_min; value1_max=ADV[0];//動態(tài)閾值算法,讀取最大值value1_min=ADV[0];//最小值通過提取的最大值和最小值計(jì)算閾值:將閾值與左跳變沿和右跳變沿依次比較,計(jì)算出中線位置: 若軌跡在小車中心位置,舵機(jī)角度不變,小車直線前進(jìn);若軌跡偏離小車中心,說明小車此時需要轉(zhuǎn)向,舵機(jī)需要轉(zhuǎn)動一定角度,電機(jī)轉(zhuǎn)速也要相應(yīng)改變。圖1.4算法控制程序流程圖1.5超聲波測距跟隨控制實(shí)現(xiàn)小車間間距的調(diào)整,主要通過調(diào)整直流電機(jī)的轉(zhuǎn)速來完成。超聲波測距模塊根據(jù)接收到的超聲波信息可以判斷出兩車的間距。當(dāng)間距低于設(shè)定值時,速度PI控制器會發(fā)送加速指令給直流電機(jī)驅(qū)動器。直流電機(jī)驅(qū)動器接收到指令后會向直流電機(jī)發(fā)送相應(yīng)的驅(qū)動脈沖,直流電機(jī)接收到驅(qū)動脈沖后減速運(yùn)行。當(dāng)間距高于設(shè)定值時,具體工作流程與上述過程類似,電機(jī)會減速運(yùn)行,直至距離處于合適的值以內(nèi)。*@函數(shù)名:TIM4_Int_Init*@功能說明:配置記錄超聲波飛行時間的定時器*@參數(shù):無*@返回值:無voidTIM4_Int_Init(u16arr,u16psc){TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure; NVIC_InitTypeDefNVIC_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);//時鐘使能//定時器TIM3初始化 TIM_TimeBaseStructure.TIM_Period=arr;//設(shè)置在下一個更新事件裝入活動的自動重裝載寄存器周期的值 TIM_TimeBaseStructure.TIM_Prescaler=psc;//設(shè)置用來作為TIMx時鐘頻率除數(shù)的預(yù)分頻值 TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;//設(shè)置時鐘分割:TDTS=Tck_tim TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;//TIM向上計(jì)數(shù)模式 TIM_TimeBaseInit(TIM4,&TIM_TimeBaseStructure);//根據(jù)指定的參數(shù)初始化TIMx的時間基數(shù)單位 TIM_ITConfig(TIM4,TIM_IT_Update,ENABLE);//使能指定的TIM3中斷,允許更新中斷//中斷優(yōu)先級NVIC設(shè)置 NVIC_InitStructure.NVIC_IRQChannel=TIM4_IRQn;//TIM3中斷 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;//先占優(yōu)先級1級 NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;//從優(yōu)先級3級 NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//IRQ通道被使能 NVIC_Init(&NVIC_InitStructure);//初始化NVIC寄存器 TIM_Cmd(TIM4,DISABLE);//使能TIMx }圖1.5超聲波測距流程圖在小車向正前方行駛的過程中,超聲波傳感器向正前方發(fā)射超聲波,在接收到返回的超聲波后可據(jù)此判斷小車與前車的間距。若大于預(yù)設(shè)值25cm,車距安全,小車?yán)^續(xù)前進(jìn)。若小于預(yù)設(shè)值,說明車距較危險(xiǎn),小車可直接停下,并繼續(xù)根據(jù)超聲波探測到的信息判斷車距,車距安全后再啟動;若車距繼續(xù)增大,加速前進(jìn)。若車距在減小,減速前進(jìn)。圖1.6信號脈沖波形圖如圖1.6所示為超聲波傳感器各信號發(fā)出的脈沖電平。觸發(fā)信號為1us的TTL高電平,模塊內(nèi)部發(fā)出的信號為8個連續(xù)的高頻脈沖,回響電平持續(xù)時間與檢測距離有關(guān),距離越長,持續(xù)時間就越長,反之則越短。*@函數(shù)名:Dist_PID*@功能說明:根據(jù)距離值與小車電機(jī)轉(zhuǎn)速構(gòu)成PID閉環(huán)*@參數(shù):Target目標(biāo)與前車的距離值Kp比例Ki積分Kd微分*@返回值:無voidDist_PID(floatTarget,floatKP,floatKI,floatKD){ staticfloatBias,Last_Bias,Intergal_bias=0; Bias=Target-Dist; Intergal_bias+=Bias; Motor_PWM=KP*Bias+KI*Intergal_bias+KD*(Bias-Last_Bias); Last_Bias=Bias; if(Motor_PWM>7
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中鐵工業(yè)財(cái)務(wù)部長財(cái)務(wù)管理知識考試題含答案
- 2025年度市場部門年底工作總結(jié)與2026年度工作計(jì)劃
- 社交媒體運(yùn)營專員應(yīng)聘面試題及營銷策略
- (2025)腦膜瘤MRI數(shù)據(jù)庫構(gòu)建與數(shù)據(jù)標(biāo)注專家共識課件
- 市場營銷經(jīng)理面試題集策略與實(shí)踐
- 精神科住院醫(yī)師面試題集
- 心理學(xué)應(yīng)用題庫及答案
- 證券公司研究員面試題
- 高考自主招生面試題及答案
- 安全領(lǐng)域軟件測試面試指南
- 2025譯林版新教材初中英語八年級上冊單詞表(復(fù)習(xí)必背)
- 2025年70歲老年人換新本駕駛證需考三力測試題及答案
- 企業(yè)微信基礎(chǔ)知識培訓(xùn)
- 《房間空氣調(diào)節(jié)器室內(nèi)熱舒適性評價(jià)方法》
- 2025秋期版國開電大本科《管理英語3》一平臺綜合測試形考任務(wù)在線形考試題及答案
- 蘇州大學(xué)《高等數(shù)學(xué)A 2》2023 - 2024學(xué)年期末試卷
- 電解鋁安全環(huán)保知識培訓(xùn)課件
- 線性代數(shù)期末考試試題及答案
- 高校重點(diǎn)人管理辦法
- 基于地理信息系統(tǒng)的位置分析與環(huán)境影響評價(jià)-洞察及研究
- 江蘇蘇州2022-2024年中考滿分作文46篇
評論
0/150
提交評論