国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 基于STM32F107的搬運機器人電機控制系統(tǒng)設計

基于STM32F107的搬運機器人電機控制系統(tǒng)設計

作者: 時間:2012-05-03 來源:網(wǎng)絡 收藏

2.2 μC/OS-II系統(tǒng)下任務的分配
成功地將μC/OS-Ⅱ系統(tǒng)移植到后,μC/OS-II的程序是將一個大的應用程序分成相對獨立的多個任務來完成。定義好每個任務的優(yōu)先級,μC/OS-II內(nèi)核對這些任務進行調(diào)度和管理。
軟件思路是根據(jù)實際運行的需要由上位機通過串口對轉速和舵機轉動位置進行給定。的轉速是由設定的速度值和由增量式編碼器的采集值相比較,經(jīng)過速度PID算法實現(xiàn)閉環(huán)控制。舵機的位置主要是由絕對值式編碼器反饋現(xiàn)在位置,根據(jù)動作時間要求調(diào)節(jié)舵機轉動的速度。本軟件要實現(xiàn)的功能如下:
◆上位機給定電機轉速、舵機轉動角度和動作時間;
◆要求電機轉速連續(xù)可調(diào)并且具有良好的靜、動態(tài)性能,轉速沒計采用PI算法調(diào)節(jié);
◆要求舵機快速到達指定角度,有位置反饋作為舵機給定轉速的調(diào)整;
◆具有一定的故障保護功能。當電機出現(xiàn)堵轉、電流過大以及舵機觸動限位開關時,要求停止驅(qū)動模塊工作。
針對以上要實現(xiàn)的功能,可以將應用程序分為以下幾個任務:
①啟動任務。對系統(tǒng)進行初始化,創(chuàng)建初始電機狀態(tài),然后自我刪除,啟動任務進入睡眠狀態(tài)。
②電機和舵機保護任務。用于在過流或限位開關動作時響應外部中斷,進入中斷狀態(tài)通過發(fā)任務信號量,任務程序檢測信號量有效并響應該任務,停止輸出。任務優(yōu)先級設為0級。
③上位機給定任務。用于上位機控制電機和舵機,任務優(yōu)先級設為1級。上位機數(shù)據(jù)輸入寄存器時將產(chǎn)生一個中斷,該中斷將收到的字節(jié)送入緩沖區(qū)并釋放上位機給定任務的信號量;任務中檢測到信號量有效便開始執(zhí)行,將對應的字節(jié)信息解析成對應的電機轉速和舵機轉角位置信息給相應變量賦值。
④電機轉速控制任務。用于電機的閉環(huán)調(diào)速,任務優(yōu)先級設為2級。
⑤舵機控制任務。用于控制舵機在規(guī)定時間內(nèi)到達指定位置,任務優(yōu)先級設為3級。
2.3 啟動任務
主程序中,在調(diào)用μC/OS-II的其他任務之前,首先調(diào)用系統(tǒng)初始化函數(shù)OSInit(),初始化μC/OS-II所有的變量和數(shù)據(jù)結構;同時,建立空閑任務OS_TaskIdle(),這個任務總是處于就緒態(tài);調(diào)用OSTaskCreate()函數(shù)建立啟動任務;調(diào)用OSStart(),將控制權交給μC/OS-II內(nèi)核,開始運行多任務。
啟動任務是在主程序中創(chuàng)建的,它主要有3個功能:
①用于系統(tǒng)初始化(PWM輸出模塊、串口、ADC模塊、輸入電平中斷功能、定時器)。
②建立系統(tǒng)所要用到的信號量。
③建立系統(tǒng)的其他任務。
最后調(diào)用OSTaskDel(OS_PRIO_SELF)進行自我刪除,啟動任務進入睡眠狀態(tài)。主程序任務流程如圖4所示。

本文引用地址:http://m.ptau.cn/article/160667.htm

e.JPG


2.4 電機轉速控制任務
增量式編碼器每次產(chǎn)生外部中斷,在中斷狀態(tài)中發(fā)出任務信號量,任務程序檢測信號量有效并響應該任務,任務中通過測得電機當前轉速和給定速度對比實現(xiàn)閉環(huán)控制。電機轉速控制任務流程如圖5所示。

f.JPG



評論


相關推薦

技術專區(qū)

關閉