999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

STM32單片機(jī)的四驅(qū)磁導(dǎo)航AGV控制器設(shè)計*

2018-07-11 07:51:38,,
關(guān)鍵詞:指令信號系統(tǒng)

,,

(云南民族大學(xué) 電氣信息工程學(xué)院,昆明 650504)

引 言

自動導(dǎo)引小車(Automated Guided Vehicle, AGV)是一種能沿預(yù)先設(shè)定路徑行駛的智能化搬運設(shè)備,廣泛應(yīng)用于現(xiàn)代工業(yè)自動化物流系統(tǒng)中。目前,國內(nèi)現(xiàn)有的AGV控制器仍大多采用可編程控制器或51系列單片機(jī),通過串行處理或輪詢方式執(zhí)行AGV系統(tǒng)任務(wù),其動態(tài)響應(yīng)能力差[1-2]、系統(tǒng)運行不穩(wěn)定,實際運行過程容易引起脫軌、車身行駛異常。針對這些不足,本文以STM32F103ZET6為核心設(shè)計AGV控制器,嵌入微型實時操作系統(tǒng),采用分層模型結(jié)構(gòu),管理AGV系統(tǒng)的軟硬件資源,以并行處理方式實現(xiàn)實時任務(wù)調(diào)度,大幅度提高系統(tǒng)性能,有效克服運行過程中脫軌、車身行駛異常等不足。

1 硬件系統(tǒng)總體設(shè)計

AGV控制器的硬件系統(tǒng)主要包括控制系統(tǒng)單元、傳感器單元、人機(jī)交互單元、運動控制單元、電源管理單元[3],如圖1所示為AGV硬件系統(tǒng)架構(gòu)。

控制系統(tǒng)單元主要由STM32單片機(jī)最小系統(tǒng)電路組成,主要完成人機(jī)交互、邏輯控制以及運動控制算法等功能。

傳感器單元主要由磁導(dǎo)航傳感器、地標(biāo)傳感器、障礙物檢測傳感器等組成。通過傳感器單元采集磁導(dǎo)航信號、地標(biāo)指令信號、障礙物檢測信號,然后經(jīng)過光耦隔離輸入控制器單元處理。

人機(jī)交互單元主要是在觸摸屏和控制器單元之間通過RS232串口電路建立通信,實現(xiàn)觸摸屏人機(jī)界面與控制器之間的信息交互。

運動控制單元主要由前級傳感器信號經(jīng)控制器單元運算處理后輸出控制指令,再輸入AD7225芯片進(jìn)行D/A轉(zhuǎn)換,經(jīng)運算放大電路輸出模擬信號給后級驅(qū)動。

圖1 AGV硬件系統(tǒng)架構(gòu)

電源管理單元主要給其它各個單元模塊進(jìn)行供電以及控制器系統(tǒng)電源電量采集的模擬量信息。電源管理單元由24 V直流電源輸入,經(jīng)過TPS5450電源管理芯片生成12 V、5 V、3.3 V的直流電源。其中,24 V給觸摸屏、伺服驅(qū)動電路供電,12 V給各組傳感器供電,5 V給信號放大電路、邏輯電平轉(zhuǎn)換電路供電,3.3 V給控制芯片STM32F103ZET6供電。

2 軟件系統(tǒng)總體設(shè)計

μC/OS-II是專門為嵌入式系統(tǒng)設(shè)計的硬實時內(nèi)核,其內(nèi)核精簡,多任務(wù)管理功能十分完善,實時性能好,并且具有可裁剪、可固化、源碼開放、可移植性強(qiáng)的特點[4]。同時,μC/OS-II是搶占式的多任務(wù)操作系統(tǒng),總是運行就緒列表中優(yōu)先級最高的任務(wù),其核心是任務(wù)調(diào)度器。μC/OS-II有5種任務(wù)狀態(tài),分別是運行態(tài)、就緒態(tài)、掛起態(tài)、睡眠態(tài)以及中斷服務(wù)態(tài),通過調(diào)度實現(xiàn)在這5種狀態(tài)之間的任務(wù)轉(zhuǎn)換。本控制器在設(shè)計系統(tǒng)任務(wù)時,通過任務(wù)調(diào)度的方式使控制器在滿足功能需求的同時實現(xiàn)程序設(shè)計的合理化、最優(yōu)化[5],從而實現(xiàn)AGV的直行、轉(zhuǎn)彎、避障、人機(jī)交互等功能。圖2所示為本文設(shè)計的控制器軟件體系架構(gòu)。

本系統(tǒng)軟件平臺采用分層、模塊化結(jié)構(gòu),包括物理層、MAC層和應(yīng)用層。系統(tǒng)軟件包括Cortex-M3標(biāo)準(zhǔn)外設(shè)庫、Cortex-M3內(nèi)核庫、嵌入式實時微型操作系統(tǒng)μC/OS-II。應(yīng)用層包括電源管理控制庫、傳感器信號分析處理庫和運動控制庫,主要進(jìn)行磁導(dǎo)航傳感器數(shù)據(jù)采集、數(shù)值插補(bǔ)計算、誤差補(bǔ)償、校正等任務(wù),地標(biāo)傳感器的中斷任務(wù)處理、指令采集、分析、生成和輸出任務(wù),障礙物檢測傳感器的信號檢測和執(zhí)行任務(wù),電量數(shù)據(jù)的采集和電源調(diào)度任務(wù),運動控制的速度控制任務(wù)及其調(diào)度,人機(jī)交互操作任務(wù)。

圖2 軟件體系架構(gòu)

通過對任務(wù)的合理劃分可以有效地簡化程序設(shè)計,提高系統(tǒng)的動態(tài)響應(yīng)性能和穩(wěn)定性,本控制器根據(jù)系統(tǒng)任務(wù)需求,將系統(tǒng)任務(wù)進(jìn)行劃分,采用靜態(tài)優(yōu)先級設(shè)置,賦予各個任務(wù)一定的優(yōu)先級別。如表1所列為任務(wù)的具體劃分和優(yōu)先級設(shè)置。

如圖3所示為本控制器系統(tǒng)任務(wù)調(diào)度切換示意圖。系統(tǒng)啟動后,μC/OS-II實時操作系統(tǒng)和硬件首先進(jìn)行初始化配置,然后CPU的控制權(quán)由操作系統(tǒng)開始管理,CPU內(nèi)核開始對任務(wù)按優(yōu)先級循環(huán)調(diào)度。

表1 任務(wù)優(yōu)先級分配

圖3 任務(wù)調(diào)度切換示意圖

2.1 人機(jī)交互任務(wù)

Modbus協(xié)議是Modicon公司開發(fā)的一種通信協(xié)議,采用主從問答方式工作,允許一個主機(jī)與一個從機(jī)或者多個從機(jī)通信,廣泛應(yīng)用于自動化控制領(lǐng)域,已成為一種通用的工業(yè)標(biāo)準(zhǔn),控制器與觸摸屏之間可以利用此協(xié)議進(jìn)行通信。

FreeModbus是一位奧地利人寫的針對嵌入式應(yīng)用的一種免費通用的Modbus從機(jī)協(xié)議,其代碼規(guī)范、易移植、

可裁剪、對軟硬件要求低、資源占用少[6-7]。本系統(tǒng)人機(jī)交互任務(wù)可以通過移植FreeModbus協(xié)議棧到STM32內(nèi)核,實現(xiàn)觸摸屏對系統(tǒng)信息的實時監(jiān)測和控制。本系統(tǒng)采用臺達(dá)DOP-B07系列觸摸屏,兼容Modbus RTU模式。通過臺達(dá)DOPSoft軟件設(shè)計觸摸屏界面,將觸摸屏設(shè)為主站,控制器設(shè)為從站,采用Modbus協(xié)議RTU模式進(jìn)行通信。

本系統(tǒng)設(shè)計的觸摸屏主要用來監(jiān)控AGV的電量、速度、行駛狀態(tài)等信息,以及顯示主板各個傳感器和電機(jī)工作狀態(tài)是否正常。系統(tǒng)基于STM32內(nèi)核配置使用Modbus從機(jī)的 01功能和06功能,其分別在內(nèi)核開辟2個字節(jié)的離散變量地址存儲區(qū)域usDiscreteInputBuf[0]~usDiscreteInputBuf[1],以及 8個字節(jié)的保持寄存器地址存儲區(qū)域usRegHoldingBuf[0]~usRegHoldingBuf[7],然后通過配置STM32內(nèi)部的TIM2通用定時器,以及UART1寄存器進(jìn)行串口通信,最終實現(xiàn)AGV行駛狀態(tài)、傳感器運行狀態(tài)等信息的人機(jī)交互。如表2所列為主機(jī)觸摸屏和從機(jī)控制器之間的存儲地址映射。

表2 主從地址映射表

2.2 障礙物檢測任務(wù)

障礙物檢測是通過采集激光傳感器掃描傳回的編碼信息,調(diào)用Read_Obstacle()函數(shù)對采集的編碼信息讀取分析,如果掃描的距離小于系統(tǒng)設(shè)定的安全距離,則調(diào)用Avoidance_Obstacle_Process_task()函數(shù),使電機(jī)停止運行。Obstacle_Check_task()的主要代碼如下所示:

VoidObstacle_Check_task(void *pdata){

while(1){

Read_Obstacle();

}

//讀取傳感器編碼

if(Command_Security_Obstacle==Unsafe)

//讀取編碼信息是否小于安全距離Avoidance_Obstacle_Process_task();

//執(zhí)行避障處理任務(wù)

OSTimeDlyHMSM(0, 0, 0, 20);

}

//系統(tǒng)延時20ms,讓出CPU使用權(quán)

2.3 地標(biāo)指令讀取任務(wù)

2.3.1磁地標(biāo)指令讀取時隙糾錯方法

AGV控制系統(tǒng)任務(wù)中地標(biāo)指令讀取是AGV平穩(wěn)運行的關(guān)鍵任務(wù)之一,如果地標(biāo)讀取錯誤,可能導(dǎo)致行駛異常甚至災(zāi)難性后果[8]。為了提高命令地標(biāo)指令讀取的準(zhǔn)確性,本文設(shè)計了一種指令讀取時隙糾錯方法,使AGV在不同速度、不同負(fù)載的條件下,有效降低地標(biāo)命令誤碼率,提高系統(tǒng)穩(wěn)定性。磁地標(biāo)指令讀取主要通過觸發(fā)地標(biāo)磁條,使控制器開始讀取地標(biāo)指令,解析生成相應(yīng)的控制指令,從而控制AGV執(zhí)行加減速、停車、轉(zhuǎn)向等功能[8]。

2.3.2軟件設(shè)計

如圖4所示為地標(biāo)指令讀取流程圖。本控制器設(shè)計的地標(biāo)指令讀取時隙糾錯方法,每組地標(biāo)傳感器有3個磁極信號采集輸入端,分別是觸發(fā)地標(biāo)南極S1、命令地標(biāo)南極S2、命令地標(biāo)北極N1,當(dāng)S極觸發(fā)記為字符S,N極觸發(fā)記為字符N。當(dāng)?shù)貥?biāo)S1被觸發(fā),產(chǎn)生上升沿信號輸入STM32的PF0口而觸發(fā)外部中斷0時,執(zhí)行中斷函數(shù)EXTI0_IRQHandler(),通過I2C總線觸發(fā)實時時鐘芯片的時鐘輸出功能,并產(chǎn)生32 Hz的脈沖輸入PB8口,觸發(fā)外部中斷8,執(zhí)行中斷函數(shù)EXTI9_5_IRQHandler(),開始計時指令讀取時間。當(dāng)指令讀取時間超過設(shè)定的時隙閾值時,則判定指令讀取出錯,此時自動清除地標(biāo)指令輸入存儲區(qū)的指令代碼,初始化指令存儲區(qū),重新開始讀取指令。本控制器設(shè)計的計時時隙閾值為6 s。

圖4 地標(biāo)指令處理流程圖

上述兩個中斷函數(shù)主要代碼如下:

void EXTI0_IRQHandler(void){

if(EXTI_GetITStatus(EXTI_Line0)!=RESET)

//判斷外部中斷0發(fā)生{

EXTI_ClearFlag(EXTI_Line0); //清除外部中斷0 標(biāo)志位

Trigger_Marker_En = 1;//觸發(fā)地標(biāo)標(biāo)志置位

RTC_CLKOUT_Control(Enable,Freq_32);

//使能實時時鐘產(chǎn)生32Hz時鐘

EXTI_ClearITPendingBit(EXTI_Line0);

}

}

//清除外部中斷0標(biāo)志位,退出中斷

void EXTI9_5_IRQHandler(void){

if(EXTI_GetITStatus(EXTI_Line8)!=RESET){

//判斷外部中斷8發(fā)生

EXTI_ClearFlag(EXTI_Line8);//清除外部中斷8標(biāo)志位

if(Slot_Count>65534)//判斷時隙計數(shù)值

Slot_Count = 0;//計數(shù)值歸零

else Slot_Count++;//否則繼續(xù)計數(shù)

EXTI_ClearITPendingBit(EXTI_Line8);

}

}//清除外部中斷8標(biāo)志位

2.4 運動控制任務(wù)

2.4.1磁導(dǎo)航偱跡偏差補(bǔ)償控制算法

AGV控制系統(tǒng)任務(wù)中導(dǎo)航循跡任務(wù)也是AGV平穩(wěn)運行的關(guān)鍵任務(wù)之一[9-10]。一旦導(dǎo)航偏差過大,將導(dǎo)致AGV脫軌。本系統(tǒng)設(shè)計了磁導(dǎo)航偱跡偏差補(bǔ)償控制算法。如圖5所示的算法模型,每個點的數(shù)值為其所在位置的權(quán)值,算法表達(dá)如下所示:

(1)

式(1)中,ai為每個位置磁導(dǎo)航傳感器的權(quán)值,N為被觸發(fā)磁導(dǎo)航傳感器的個數(shù),ε為磁導(dǎo)航偱跡偏移值。其中,第1組為直行行駛模型,傳感器8和9感應(yīng)到磁極信號而觸發(fā),ε=(8+9)/(1+1)-8.5=0。第2組為左轉(zhuǎn)彎模型,傳感器5、6感應(yīng)到磁極信號而觸發(fā),ε=(5+6)/(1+1)-8.5= -3。第3組為右轉(zhuǎn)彎模型,傳感器11、12感應(yīng)到磁極信號而觸發(fā),ε=(11+12)/(1+1)-8.5= 3。

圖5 偱跡算法模型

2.4.2軟件設(shè)計

本系統(tǒng)采用8位磁導(dǎo)航傳感器,即上述模型5、6、7、8、9、10、11、12共8個點作為磁導(dǎo)航傳感器的磁條信號采集點。如圖6所示為導(dǎo)航循跡流程圖。根據(jù)地標(biāo)傳感器觸發(fā)采集到的地標(biāo)指令,調(diào)用 Command_Analysis()函數(shù)解析指令,再調(diào)用Offset_Analysis()實時計算并反饋磁導(dǎo)航傳感器循跡偏移值,同時調(diào)用AGV_Motion_Control()函數(shù),將偏移值反饋給驅(qū)動信號輸入端進(jìn)行補(bǔ)償計算,再調(diào)用 WR_Speed()函數(shù)將補(bǔ)償計算后的值經(jīng)過D/A芯片轉(zhuǎn)換,輸出相應(yīng)驅(qū)動電壓信號,從而實現(xiàn)AGV直行、轉(zhuǎn)彎、加減速等功能。表3為AGV地標(biāo)指令功能編碼。

圖6 導(dǎo)航循跡流程圖

地標(biāo)指令編碼功能說明地標(biāo)指令編碼功能說明NNNS高速行駛SNNS調(diào)轉(zhuǎn)行駛NNSN中速行駛SNSN左轉(zhuǎn)彎行駛NNSS低速行駛SNSS右轉(zhuǎn)彎行駛NSNN停止行駛SSNN直線行駛

3 功能測試

圖7 AGV實驗平臺

功能測試主要對本文設(shè)計的控制器人機(jī)交互任務(wù)、障礙物檢測任務(wù)、運動控制任務(wù)、地標(biāo)指令讀取任務(wù)的功能及系統(tǒng)性能驗證。如圖7所示為搭載本文設(shè)計的AGV控制器實驗平臺。當(dāng)系統(tǒng)上電時,觸摸屏開啟,人機(jī)界面顯示AGV的電量、速度等狀態(tài)信息,系統(tǒng)上電默認(rèn)設(shè)置為中速直行,設(shè)定地標(biāo)指令讀取時隙閥值為6 s,如圖8所示為AGV運行過程中地標(biāo)指令界面。通過安裝在控制器主板上的驅(qū)動電壓信號采集裝置得到各驅(qū)動電機(jī)的驅(qū)動電壓信號,如表4所列。本控制器設(shè)計了4檔(零速、低速、中速、高速)速度驅(qū)動電壓信號,充分滿足實際生產(chǎn)中的運行需求。從采集的各個驅(qū)動輪驅(qū)動電壓信號可以驗證,當(dāng)AGV檢測到障礙物時,各檔速度模式下電機(jī)驅(qū)動均

立即輸出0 V的信號,使系統(tǒng)迅速停機(jī)。同時,當(dāng)本系統(tǒng)采用差速驅(qū)動方式實現(xiàn)AGV轉(zhuǎn)彎時,各檔速度模式下4個電機(jī)的驅(qū)動信號值均非常穩(wěn)定。實測表明,AGV系統(tǒng)運行穩(wěn)定可靠、行駛平穩(wěn),沒有出現(xiàn)AGV脫軌、車身行駛異常的情況。

圖8 地標(biāo)指令及行駛信息界面

驅(qū)動輪直行驅(qū)動電壓/V右轉(zhuǎn)驅(qū)動電壓/V左轉(zhuǎn)驅(qū)動電壓/V檢測到障礙物時驅(qū)動電壓/V零速低速中速高速零速低速中速高速零速低速中速高速零速低速中速高速前左00.61.73.601.02.14.000.31.43.00000前右00.61.73.600.21.33.200.92.13.80000后左00.61.73.601.02.14.000.41.53.10000后右00.61.73.600.21.33.201.02.13.90000

結(jié) 語

猜你喜歡
指令信號系統(tǒng)
聽我指令:大催眠術(shù)
Smartflower POP 一體式光伏系統(tǒng)
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
完形填空二則
ARINC661顯控指令快速驗證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
基于FPGA的多功能信號發(fā)生器的設(shè)計
電子制作(2018年11期)2018-08-04 03:25:42
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: 国产美女免费| 亚洲久悠悠色悠在线播放| 欧美专区在线观看| 亚洲码一区二区三区| 尤物视频一区| 欧美综合区自拍亚洲综合绿色| 一级毛片免费观看久| 日本道综合一本久久久88| 久久久久亚洲精品无码网站| 亚洲AⅤ综合在线欧美一区 | 内射人妻无套中出无码| 欧美中文一区| 欧美午夜在线观看| 99伊人精品| 精品1区2区3区| 国产精品v欧美| 老司机久久99久久精品播放| 最新加勒比隔壁人妻| 999精品色在线观看| AV熟女乱| 97在线视频免费观看| 亚洲一区二区成人| 在线视频亚洲欧美| 国产成人8x视频一区二区| 67194亚洲无码| 国产人人干| 国产无吗一区二区三区在线欢| 在线观看国产精品第一区免费| 国产喷水视频| 久久综合色天堂av| 国产在线第二页| 国产专区综合另类日韩一区| 国产成人免费手机在线观看视频 | 精品国产免费第一区二区三区日韩| 国产chinese男男gay视频网| 99久久精品无码专区免费| 国产亚洲精品在天天在线麻豆| 久久亚洲精少妇毛片午夜无码| 2021国产乱人伦在线播放 | 精品视频免费在线| 久久国语对白| 九九香蕉视频| 国产精品久久久久鬼色| 国产成人高清精品免费软件 | 久久青草热| 国产精品福利尤物youwu | 国产无遮挡猛进猛出免费软件| 婷婷色婷婷| 97色婷婷成人综合在线观看| 日韩大片免费观看视频播放| 制服丝袜一区二区三区在线| 国产精品成人免费综合| 性色生活片在线观看| 久久香蕉国产线| 国产精品无码一二三视频| 九色国产在线| 久久国产热| 亚洲综合片| 伊人国产无码高清视频| 亚洲精选高清无码| 网久久综合| 中国精品自拍| 中文字幕调教一区二区视频| 国产激情无码一区二区APP| 丝袜无码一区二区三区| 无码 在线 在线| 亚洲一级色| 99视频只有精品| 天天躁狠狠躁| 国产免费久久精品99re不卡| h网站在线播放| 国产女同自拍视频| 欧美爱爱网| 亚洲成肉网| 综合色88| 日韩欧美91| 亚洲最大综合网| 亚洲精品手机在线| 久久精品66| 99久久免费精品特色大片| 成人毛片在线播放| 午夜日本永久乱码免费播放片|