技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于STM32F107的搬運機器人電機控制系統(tǒng)設(shè)計

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

時間:2017-12-20 10:24:19來源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語:?隨著人工成本的不斷升高,用機器人代替人力去做一些重復(fù)性的高強度的勞動是現(xiàn)代機器人研究的一個重要方向。搬運機器人在導(dǎo)航尋跡中,需要后輪驅(qū)動電機和前輪舵機的協(xié)調(diào)工作。

隨著人工成本的不斷升高,用機器人代替人力去做一些重復(fù)性的高強度的勞動是現(xiàn)代機器人研究的一個重要方向。搬運機器人在導(dǎo)航尋跡中,需要后輪驅(qū)動電機和前輪舵機的協(xié)調(diào)工作。搬運機器人電機驅(qū)動有其特殊的應(yīng)用要求,對電機的動態(tài)性能要求較高,能在任意時刻到達控制需要的指定位置并且使舵機停止在任意角度;電機驅(qū)動的轉(zhuǎn)矩變化范圍大,既有空載平整路面行使的高速度、低轉(zhuǎn)矩工作環(huán)境,也有滿負載爬坡的運行工況,同時還要求保持較高的運行效率。根據(jù)以上的技術(shù)要求,本文選用了控制技術(shù)成熟,易于平滑調(diào)速的直流電機作為搬運機器人的執(zhí)行饑構(gòu)。

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

1.1機器人電機控制器硬件結(jié)構(gòu)

主控制器采用Cortex-M3內(nèi)核的STM32F107??刂破鲀?nèi)部共有8個定時器,其中TIM1_CH1和TIM8_CH1為高級控制定時器引腳,TIM1_CH1用于電機編碼器計數(shù)。TLM8_CH1用于舵機控制基準時間。通用定時器引腳TIM2CH1、TIM3CH1、TIM4_CH1、TIM5_CH1分別用于電機和舵機驅(qū)動電路上下橋壁PWM的產(chǎn)生。

觸發(fā)EXIT0中斷的PA0口和PB0口分別用于電機和舵機的過流中斷保護。觸發(fā)EXIT1中斷的PA1口和PB1口用于舵機兩側(cè)限位保護。電機驅(qū)動電路采用自舉升壓芯片IR2103和MOSFET管75N75,后輪電機和舵機的相電流采集是通過康銅絲轉(zhuǎn)換成電壓,通過放大濾波處理,分別送至STM32F107的A/D采樣引腳ADC12_IN1實現(xiàn)過電流保護。通過上位機串口通信或STM32F107內(nèi)部程序速度給定,控制電機的正反轉(zhuǎn)、速度及舵機的轉(zhuǎn)向。搬運機器人電機控制硬件結(jié)構(gòu)框圖。

1.2模塊的選擇與設(shè)計

1.2.1功率驅(qū)動的設(shè)計

電機的供電電源是由24V的蓄電池提供,額定功率為240W,由4個75N75組成橋式電路來實現(xiàn)。75N75是MOSFET功率管,其最高耐壓75V,最高耐流75A,電機驅(qū)動電路。

Q1、Q4和Q2、Q3分別組成兩個橋路,分別控制電機的正轉(zhuǎn)和反轉(zhuǎn)。高端驅(qū)動的MOS管導(dǎo)通時源極電壓和漏極電壓相同且都等于供電電樂VCC,所以要實現(xiàn)MOS管正常的驅(qū)動,柵極電壓要比VCC大,這就需要專門的升壓芯片IR2103??刂破鳟a(chǎn)生的PWM信號輸入HIN引腳,控制器I/O口輸出的EN1、EN2作為使能信號。輸出端HO就可得到比VCC要高的電壓,且高出的電壓值正好是充在電容兩端的電壓。二極管提高導(dǎo)通速度,使得75N75的導(dǎo)通電阻更小,降低了開關(guān)管的損失。同時IR2103的兩個輸出口HO、LO具有互鎖功能,防止由于軟件或硬件錯誤造成的電機上下橋臂直通造成短路。

1.2.2過流保護的設(shè)計

在電機控制系統(tǒng)中安裝過流保護有兩方面的意義:一是防止在電機正常運行時,電機出現(xiàn)超載或堵轉(zhuǎn)而使得電樞繞組電流過大損害電機甚至引發(fā)火災(zāi);另一方面是由于電機肩動時啟動電流很大,往往不能直接啟動,既需要等勵磁繞組逐漸建立磁場后再正常運行,又希望電機以盡量快的速度肩動起來。有了過流保護對電流進行斬波,可以使電機安全快速地啟動。過流保護原理圖如圖3所示。

電機的相電流通過康銅絲轉(zhuǎn)換成電壓信號Vtext,經(jīng)過運算放大器放大后的模擬量AD1送至控制器A/D轉(zhuǎn)換模塊,同時將經(jīng)過電壓比較器比較后的數(shù)字量EVA送至控制器的外部中斷口。

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

2.1μC/OS-II的體系結(jié)構(gòu)

μC/OS-II是一種可移植的、可植入ROM的、可裁剪的、搶占式的實時多任務(wù)操作系統(tǒng)內(nèi)核,具有執(zhí)行效率高、占用空間小、實時性能優(yōu)良和可擴展性強等特點,最小內(nèi)核可編譯至2KB。μC/OS-II是用C語言和匯編語言編寫的,其中絕大部分代碼郜是用C語言編寫的,只有極少部分與處理器密切相關(guān)的代碼是用匯編語言編寫。μC/OS-II僅僅包含了任務(wù)調(diào)度、任務(wù)管理、時間管理、內(nèi)存管理、任務(wù)間的通信和同步等基本功能。

2.2μC/OS-II系統(tǒng)下任務(wù)的分配

成功地將μC/OS-Ⅱ系統(tǒng)移植到STM32F107后,基于μC/OS-II的程序設(shè)計是將一個大的應(yīng)用程序分成相對獨立的多個任務(wù)來完成。定義好每個任務(wù)的優(yōu)先級,μC/OS-II內(nèi)核對這些任務(wù)進行調(diào)度和管理。

軟件設(shè)計思路是根據(jù)機器人實際運行的需要由上位機通過串口對電機轉(zhuǎn)速和舵機轉(zhuǎn)動位置進行給定。電機的轉(zhuǎn)速是由設(shè)定的速度值和由增量式編碼器的采集值相比較,經(jīng)過速度PID算法實現(xiàn)閉環(huán)控制。舵機的位置主要是由絕對值式編碼器反饋現(xiàn)在位置,根據(jù)動作時間要求調(diào)節(jié)舵機轉(zhuǎn)動的速度。本搬運機器人電機控制系統(tǒng)軟件要實現(xiàn)的功能如下:

◆上位機給定電機轉(zhuǎn)速、舵機轉(zhuǎn)動角度和動作時間;

◆要求電機轉(zhuǎn)速連續(xù)可調(diào)并且具有良好的靜、動態(tài)性能,轉(zhuǎn)速沒計采用PI算法調(diào)節(jié);

◆要求舵機快速到達指定角度,有位置反饋作為舵機給定轉(zhuǎn)速的調(diào)整;

◆具有一定的故障保護功能。當電機出現(xiàn)堵轉(zhuǎn)、電流過大以及舵機觸動限位開關(guān)時,要求停止驅(qū)動模塊工作。

針對以上要實現(xiàn)的功能,可以將應(yīng)用程序設(shè)計分為以下幾個任務(wù):

①啟動任務(wù)。對系統(tǒng)進行初始化,創(chuàng)建初始電機狀態(tài),然后自我刪除,啟動任務(wù)進入睡眠狀態(tài)。

②電機和舵機保護任務(wù)。用于在過流或限位開關(guān)動作時響應(yīng)外部中斷,進入中斷狀態(tài)通過發(fā)任務(wù)信號量,任務(wù)程序檢測信號量有效并響應(yīng)該任務(wù),停止輸出。任務(wù)優(yōu)先級設(shè)為0級。

③上位機給定任務(wù)。用于上位機控制電機和舵機,任務(wù)優(yōu)先級設(shè)為1級。上位機數(shù)據(jù)輸入寄存器時將產(chǎn)生一個中斷,該中斷將收到的字節(jié)送入緩沖區(qū)并釋放上位機給定任務(wù)的信號量;任務(wù)中檢測到信號量有效便開始執(zhí)行,將對應(yīng)的字節(jié)信息解析成對應(yīng)的電機轉(zhuǎn)速和舵機轉(zhuǎn)角位置信息給相應(yīng)變量賦值。

④電機轉(zhuǎn)速控制任務(wù)。用于電機的閉環(huán)調(diào)速,任務(wù)優(yōu)先級設(shè)為2級。

⑤舵機控制任務(wù)。用于控制舵機在規(guī)定時間內(nèi)到達指定位置,任務(wù)優(yōu)先級設(shè)為3級。

2.3啟動任務(wù)

主程序中,在調(diào)用μC/OS-II的其他任務(wù)之前,首先調(diào)用系統(tǒng)初始化函數(shù)OSInit(),初始化μC/OS-II所有的變量和數(shù)據(jù)結(jié)構(gòu);同時,建立空閑任務(wù)OS_TaskIdle(),這個任務(wù)總是處于就緒態(tài);調(diào)用OSTaskCreate()函數(shù)建立啟動任務(wù);調(diào)用OSStart(),將控制權(quán)交給μC/OS-II內(nèi)核,開始運行多任務(wù)。

啟動任務(wù)是在主程序中創(chuàng)建的,它主要有3個功能:

①用于系統(tǒng)初始化(PWM輸出模塊、串口、ADC模塊、輸入電平中斷功能、定時器)。

②建立系統(tǒng)所要用到的信號量。

③建立系統(tǒng)的其他任務(wù)。

最后調(diào)用OSTaskDel(OS_PRIO_SELF)進行自我刪除,啟動任務(wù)進入睡眠狀態(tài)。主程序任務(wù)流程如圖4所示。

2.4電機轉(zhuǎn)速控制任務(wù)

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

2.5舵機控制任務(wù)

舵機控制由一個定時器產(chǎn)生基準時間,每隔固定時間發(fā)送信號量,任務(wù)都將執(zhí)行一次。舵機控制任務(wù)將對絕對值編碼器測出的位置和給定的位置進行比較,根據(jù)剩余時間調(diào)整舵機的轉(zhuǎn)速。舵機控制任務(wù)流程如圖6所示。

3系統(tǒng)機電接口

機器人的舵機由直流電機外連一個30:1的減速機組成。絕對式位置編碼器同舵機相連,將舵機的角度信號送到驅(qū)動器控制板中。機器人前輪的兩個軸由傳動桿相連,其中一個軸由傳動帶與舵機相連,這樣在舵機轉(zhuǎn)動時,傳動帶帶動傳動桿,保證兩個前輪能夠同步轉(zhuǎn)動。后輪驅(qū)動電機為直流電機,直接與增量式編碼器相連,經(jīng)減速比為25:1減速機減速后,經(jīng)機械差速器驅(qū)動后輪轉(zhuǎn)動。增量式編碼器的信號同樣送到驅(qū)動器控制板中。機電系統(tǒng)結(jié)構(gòu)如圖7所示。

結(jié)語

本文實現(xiàn)了搬運機器人的電機和舵機控制器硬件的設(shè)計,成功地在STM32F107上嵌入了實時操作系統(tǒng)μC/OS-II,完成了電機和舵機的轉(zhuǎn)速閉環(huán)實驗。利用Cortex-M3內(nèi)核控制器和μC/OS-II系統(tǒng)多任務(wù)實時性的特點,為后續(xù)的機器人圖像視頻采集和導(dǎo)航尋跡提供了軟硬件基礎(chǔ)。如果對現(xiàn)有PI算法進行改進,并且能夠?qū)崿F(xiàn)電機速度和電流雙閉環(huán)控制,則機器人電機的特性將會更好,搬運機器人的應(yīng)用前景將更加廣闊。

 

標簽:

點贊

分享到:

上一篇:伺服電機和步進電機的性能比較

下一篇:小水電機電新技術(shù)的應(yīng)用

中國傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號