隨著人工成本的不斷升高霹娄,用機(jī)器人代替人力去做一些重復(fù)性的高強(qiáng)度的勞動(dòng)是現(xiàn)代機(jī)器人研究的一個(gè)重要方向质礼。搬運(yùn)機(jī)器人在導(dǎo)航尋跡中市栗,需要后輪驅(qū)動(dòng)電機(jī)和前輪舵機(jī)的協(xié)調(diào)工作缀拭。搬運(yùn)機(jī)器人電機(jī)驅(qū)動(dòng)有其特殊的應(yīng)用要求,對(duì)電機(jī)的動(dòng)態(tài)性能要求較高填帽,能在任意時(shí)刻到達(dá)控制需要的指定位置并且使舵機(jī)停止在任意角度蛛淋;電機(jī)驅(qū)動(dòng)的轉(zhuǎn)矩變化范圍大,既有空載平整路面行使的高速度蔗须、低轉(zhuǎn)矩工作環(huán)境羊脾,也有滿負(fù)載爬坡的運(yùn)行工況,同時(shí)還要求保持較高的運(yùn)行效率玛耿。根據(jù)以上的技術(shù)要求认畦,本文選用了控制技術(shù)成熟,易于平滑調(diào)速的直流電機(jī)作為搬運(yùn)機(jī)器人的執(zhí)行饑構(gòu)漱蔬。
1 系統(tǒng)的硬件設(shè)計(jì)
1.1 機(jī)器人電機(jī)控制器硬件結(jié)構(gòu)
主控制器采用Cortex-M3內(nèi)核的STM32F107御颇。控制器內(nèi)部共有8個(gè)定時(shí)器语诈,其中TIM1_CH1和TIM8_CH1為高級(jí)控制定時(shí)器引腳材框,TIM1_CH1用于電機(jī)編碼器計(jì)數(shù)。TLM8_CH1用于舵機(jī)控制基準(zhǔn)時(shí)間该眨。通用定時(shí)器引腳TIM2 CH1筋氮、TIM3 CH1莫切、TIM4_CH1兢糯、TIM5_CH1分別用于電機(jī)和舵機(jī)驅(qū)動(dòng)電路上下橋壁PWM的產(chǎn)生心唆。
觸發(fā)EXIT0中斷的PA0口和PB0口分別用于電機(jī)和舵機(jī)的過流中斷保護(hù)。觸發(fā)EXIT1中斷的PA1口和PB1口用于舵機(jī)兩側(cè)限位保護(hù)勘天。電機(jī)驅(qū)動(dòng)電路采用自舉升壓芯片IR2103和MOSFET管75N75怔揩,后輪電機(jī)和舵機(jī)的相電流采集是通過康銅絲轉(zhuǎn)換成電壓,通過放大濾波處理脯丝,分別送至STM3 2F107的A/D采樣引腳ADC12_IN1實(shí)現(xiàn)過電流保護(hù)商膊。通過上位機(jī)串口通信或STM32F107內(nèi)部程序速度給定,控制電機(jī)的正反轉(zhuǎn)宠进、速度及舵機(jī)的轉(zhuǎn)向晕拆。搬運(yùn)機(jī)器人電機(jī)控制硬件結(jié)構(gòu)框圖如圖1所示。
1.2 模塊的選擇與設(shè)計(jì)
1.2.1 功率驅(qū)動(dòng)的設(shè)計(jì)
電機(jī)的供電電源是由24 V的蓄電池提供材蹬,額定功率為240W实幕,由4個(gè)75N75組成橋式電路來實(shí)現(xiàn)。75N75是MOSFET功率管堤器,其最高耐壓75V昆庇,最高耐流75 A,電機(jī)驅(qū)動(dòng)電路如圖2所示闸溃。
Q1整吆、Q4和Q2、Q3分別組成兩個(gè)橋路啥诈,分別控制電機(jī)的正轉(zhuǎn)和反轉(zhuǎn)绎揭。高端驅(qū)動(dòng)的MOS管導(dǎo)通時(shí)源極電壓和漏極電壓相同且都等于供電電樂VCC,所以要實(shí)現(xiàn)MOS管正常的驅(qū)動(dòng)专稼,柵極電壓要比VCC大稻悟,這就需要專門的升壓芯片IR2103¢遥控制器產(chǎn)生的PWM信號(hào)輸入HIN引腳碉榔,控制器I/O口輸出的EN1、EN2作為使能信號(hào)马窘。輸出端HO就可得到比VCC要高的電壓拄央,且高出的電壓值正好是充在電容兩端的電壓。二極管提高導(dǎo)通速度寡专,使得75N75的導(dǎo)通電阻更小存睬,降低了開關(guān)管的損失。同時(shí)IR2103的兩個(gè)輸出口HO茧伍、LO具有互鎖功能栽逸,防止由于軟件或硬件錯(cuò)誤造成的電機(jī)上下橋臂直通造成短路。
1.2.2 過流保護(hù)的設(shè)計(jì)
在電機(jī)控制系統(tǒng)中安裝過流保護(hù)有兩方面的意義:一是防止在電機(jī)正常運(yùn)行時(shí)咽安,電機(jī)出現(xiàn)超載或堵轉(zhuǎn)而使得電樞繞組電流過大損害電機(jī)甚至引發(fā)火災(zāi)伴网;另一方面是由于電機(jī)肩動(dòng)時(shí)啟動(dòng)電流很大蓬推,往往不能直接啟動(dòng),既需要等勵(lì)磁繞組逐漸建立磁場(chǎng)后再正常運(yùn)行澡腾,又希望電機(jī)以盡量快的速度肩動(dòng)起來沸伏。有了過流保護(hù)對(duì)電流進(jìn)行斬波,可以使電機(jī)安全快速地啟動(dòng)动分。過流保護(hù)原理圖如圖3所示毅糟。
電機(jī)的相電流通過康銅絲轉(zhuǎn)換成電壓信號(hào)Vtext,經(jīng)過運(yùn)算放大器放大后的模擬量AD1送至控制器A/D轉(zhuǎn)換模塊澜公,同時(shí)將經(jīng)過電壓比較器比較后的數(shù)字量EVA送至控制器的外部中斷口姆另。
2 系統(tǒng)的軟件設(shè)計(jì)
2.1 μC/OS-II的體系結(jié)構(gòu)
μC/OS-II是一種可移植的、可植入ROM的坟乾、可裁剪的蜕青、搶占式的實(shí)時(shí)多任務(wù)操作系統(tǒng)內(nèi)核,具有執(zhí)行效率高糊渊、占用空間小旋钓、實(shí)時(shí)性能優(yōu)良和可擴(kuò)展性強(qiáng)等特點(diǎn),最小內(nèi)核可編譯至2 KB舆骚。μC/OS-II是用C語言和匯編語言編寫的鱼谅,其中絕大部分代碼郜是用C語言編寫的,只有極少部分與處理器密切相關(guān)的代碼是用匯編語言編寫悉歼。μC/OS-II僅僅包含了任務(wù)調(diào)度益若、任務(wù)管理、時(shí)間管理洁操、內(nèi)存管理打气、任務(wù)間的通信和同步等基本功能。
2.2 μC/OS-II系統(tǒng)下任務(wù)的分配
成功地將μC/OS-Ⅱ系統(tǒng)移植到STM32F107后蛋揖,基于μC/OS-II的程序設(shè)計(jì)是將一個(gè)大的應(yīng)用程序分成相對(duì)獨(dú)立的多個(gè)任務(wù)來完成巡住。定義好每個(gè)任務(wù)的優(yōu)先級(jí),μC/OS-II內(nèi)核對(duì)這些任務(wù)進(jìn)行調(diào)度和管理溶孽。
軟件設(shè)計(jì)思路是根據(jù)機(jī)器人實(shí)際運(yùn)行的需要由上位機(jī)通過串口對(duì)電機(jī)轉(zhuǎn)速和舵機(jī)轉(zhuǎn)動(dòng)位置進(jìn)行給定趴贝。電機(jī)的轉(zhuǎn)速是由設(shè)定的速度值和由增量式編碼器的采集值相比較,經(jīng)過速度PID算法實(shí)現(xiàn)閉環(huán)控制沽怪。舵機(jī)的位置主要是由絕對(duì)值式編碼器反饋現(xiàn)在位置看锉,根據(jù)動(dòng)作時(shí)間要求調(diào)節(jié)舵機(jī)轉(zhuǎn)動(dòng)的速度。本搬運(yùn)機(jī)器人電機(jī)控制系統(tǒng)軟件要實(shí)現(xiàn)的功能如下:
◆上位機(jī)給定電機(jī)轉(zhuǎn)速塔鳍、舵機(jī)轉(zhuǎn)動(dòng)角度和動(dòng)作時(shí)間伯铣;
◆要求電機(jī)轉(zhuǎn)速連續(xù)可調(diào)并且具有良好的靜、動(dòng)態(tài)性能,轉(zhuǎn)速?zèng)]計(jì)采用PI算法調(diào)節(jié)腔寡;
◆要求舵機(jī)快速到達(dá)指定角度焚鲜,有位置反饋?zhàn)鳛槎鏅C(jī)給定轉(zhuǎn)速的調(diào)整;
◆具有一定的故障保護(hù)功能蹬蚁。當(dāng)電機(jī)出現(xiàn)堵轉(zhuǎn)、電流過大以及舵機(jī)觸動(dòng)限位開關(guān)時(shí)郑兴,要求停止驅(qū)動(dòng)模塊工作犀斋。
針對(duì)以上要實(shí)現(xiàn)的功能,可以將應(yīng)用程序設(shè)計(jì)分為以下幾個(gè)任務(wù):
①啟動(dòng)任務(wù)情连。對(duì)系統(tǒng)進(jìn)行初始化叽粹,創(chuàng)建初始電機(jī)狀態(tài),然后自我刪除却舀,啟動(dòng)任務(wù)進(jìn)入睡眠狀態(tài)盼饼。
②電機(jī)和舵機(jī)保護(hù)任務(wù)。用于在過流或限位開關(guān)動(dòng)作時(shí)響應(yīng)外部中斷了灾,進(jìn)入中斷狀態(tài)通過發(fā)任務(wù)信號(hào)量豺啦,任務(wù)程序檢測(cè)信號(hào)量有效并響應(yīng)該任務(wù),停止輸出胖直。任務(wù)優(yōu)先級(jí)設(shè)為0級(jí)肛劈。
③上位機(jī)給定任務(wù)。用于上位機(jī)控制電機(jī)和舵機(jī)腋民,任務(wù)優(yōu)先級(jí)設(shè)為1級(jí)遗时。上位機(jī)數(shù)據(jù)輸入寄存器時(shí)將產(chǎn)生一個(gè)中斷,該中斷將收到的字節(jié)送入緩沖區(qū)并釋放上位機(jī)給定任務(wù)的信號(hào)量项起;任務(wù)中檢測(cè)到信號(hào)量有效便開始執(zhí)行皆墅,將對(duì)應(yīng)的字節(jié)信息解析成對(duì)應(yīng)的電機(jī)轉(zhuǎn)速和舵機(jī)轉(zhuǎn)角位置信息給相應(yīng)變量賦值。
④電機(jī)轉(zhuǎn)速控制任務(wù)廊珊。用于電機(jī)的閉環(huán)調(diào)速灵您,任務(wù)優(yōu)先級(jí)設(shè)為2級(jí)。
⑤舵機(jī)控制任務(wù)答倡。用于控制舵機(jī)在規(guī)定時(shí)間內(nèi)到達(dá)指定位置默蚌,任務(wù)優(yōu)先級(jí)設(shè)為3級(jí)。
2.3 啟動(dòng)任務(wù)
主程序中苇羡,在調(diào)用μC/OS-II的其他任務(wù)之前绸吸,首先調(diào)用系統(tǒng)初始化函數(shù)OSInit(),初始化μC/OS-II所有的變量和數(shù)據(jù)結(jié)構(gòu)设江;同時(shí)锦茁,建立空閑任務(wù)OS_TaskIdle(),這個(gè)任務(wù)總是處于就緒態(tài);調(diào)用OSTaskCreate()函數(shù)建立啟動(dòng)任務(wù)码俩;調(diào)用OSStart()度帮,將控制權(quán)交給μC/OS-II內(nèi)核,開始運(yùn)行多任務(wù)稿存。
啟動(dòng)任務(wù)是在主程序中創(chuàng)建的笨篷,它主要有3個(gè)功能:
①用于系統(tǒng)初始化(PWM輸出模塊、串口瓣履、ADC模塊率翅、輸入電平中斷功能、定時(shí)器)靡玲。
②建立系統(tǒng)所要用到的信號(hào)量疙铜。
③建立系統(tǒng)的其他任務(wù)。
最后調(diào)用OSTaskDel(OS_PRIO_SELF)進(jìn)行自我刪除铆羡,啟動(dòng)任務(wù)進(jìn)入睡眠狀態(tài)帅邮。主程序任務(wù)流程如圖4所示。
2.4 電機(jī)轉(zhuǎn)速控制任務(wù)
增量式編碼器每次產(chǎn)生外部中斷能狼,在中斷狀態(tài)中發(fā)出任務(wù)信號(hào)量比邮,任務(wù)程序檢測(cè)信號(hào)量有效并響應(yīng)該任務(wù),任務(wù)中通過測(cè)得電機(jī)當(dāng)前轉(zhuǎn)速和給定速度對(duì)比實(shí)現(xiàn)閉環(huán)控制顺雪。電機(jī)轉(zhuǎn)速控制任務(wù)流程如圖5所示诸鲸。
2.5 舵機(jī)控制任務(wù)
舵機(jī)控制由一個(gè)定時(shí)器產(chǎn)生基準(zhǔn)時(shí)間,每隔固定時(shí)間發(fā)送信號(hào)量诈猎,任務(wù)都將執(zhí)行一次使驰。舵機(jī)控制任務(wù)將對(duì)絕對(duì)值編碼器測(cè)出的位置和給定的位置進(jìn)行比較,根據(jù)剩余時(shí)間調(diào)整舵機(jī)的轉(zhuǎn)速消忘。舵機(jī)控制任務(wù)流程如圖6所示骄娶。
3 系統(tǒng)機(jī)電接口
機(jī)器人的舵機(jī)由直流電機(jī)外連一個(gè)30:1的減速機(jī)組成。絕對(duì)式位置編碼器同舵機(jī)相連哩至,將舵機(jī)的角度信號(hào)送到驅(qū)動(dòng)器控制板中躏嚎。機(jī)器人前輪的兩個(gè)軸由傳動(dòng)桿相連,其中一個(gè)軸由傳動(dòng)帶與舵機(jī)相連菩貌,這樣在舵機(jī)轉(zhuǎn)動(dòng)時(shí)卢佣,傳動(dòng)帶帶動(dòng)傳動(dòng)桿,保證兩個(gè)前輪能夠同步轉(zhuǎn)動(dòng)箭阶。后輪驅(qū)動(dòng)電機(jī)為直流電機(jī)虚茶,直接與增量式編碼器相連,經(jīng)減速比為25:1減速機(jī)減速后仇参,經(jīng)機(jī)械差速器驅(qū)動(dòng)后輪轉(zhuǎn)動(dòng)嘹叫。增量式編碼器的信號(hào)同樣送到驅(qū)動(dòng)器控制板中婆殿。機(jī)電系統(tǒng)結(jié)構(gòu)如圖7所示。
結(jié)語
本文實(shí)現(xiàn)了搬運(yùn)機(jī)器人的電機(jī)和舵機(jī)控制器硬件的設(shè)計(jì)罩扇,成功地在STM32F107上嵌入了實(shí)時(shí)操作系統(tǒng)μC/OS-II婆芦,完成了電機(jī)和舵機(jī)的轉(zhuǎn)速閉環(huán)實(shí)驗(yàn)。利用Cortex-M3內(nèi)核控制器和μC/OS-II系統(tǒng)多任務(wù)實(shí)時(shí)性的特點(diǎn)喂饥,為后續(xù)的機(jī)器人圖像視頻采集和導(dǎo)航尋跡提供了軟硬件基礎(chǔ)绣摹。如果對(duì)現(xiàn)有PI算法進(jìn)行改進(jìn),并且能夠?qū)崿F(xiàn)電機(jī)速度和電流雙閉環(huán)控制陨楼,則機(jī)器人電機(jī)的特性將會(huì)更好辽嘹,搬運(yùn)機(jī)器人的應(yīng)用前景將更加廣闊。
聲明:本網(wǎng)站所收集的部分公開資料來源于互聯(lián)網(wǎng)辑奔,轉(zhuǎn)載的目的在于傳遞更多信息及用于網(wǎng)絡(luò)分享扫帝,并不代表本站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)撰征,也不構(gòu)成任何其他建議哲琼。本站部分作品是由網(wǎng)友自主投稿和發(fā)布、編輯整理上傳仔蟀,對(duì)此類作品本站僅提供交流平臺(tái)怖冷,不為其版權(quán)負(fù)責(zé)。如果您發(fā)現(xiàn)網(wǎng)站上所用視頻叼河、圖片俺膊、文字如涉及作品版權(quán)問題,請(qǐng)第一時(shí)間告知川愤,我們將根據(jù)您提供的證明材料確認(rèn)版權(quán)并按國(guó)家標(biāo)準(zhǔn)支付稿酬或立即刪除內(nèi)容月幌,以保證您的權(quán)益!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn悬蔽。
- 暫無反饋
編輯推薦
- 2025新年特刊:打造新質(zhì)生產(chǎn)力,智啟未來新篇章
- 定義制造業(yè)未來的數(shù)控加工中心技術(shù)專題
- 航空航天及交通領(lǐng)域先進(jìn)制造技術(shù)應(yīng)用專題
- 解碼消費(fèi)電子產(chǎn)品生產(chǎn)的數(shù)字化之路技術(shù)專題
- 精密智能機(jī)床盛撑,助力制造升級(jí)技術(shù)專題
- 汽車輕量化驅(qū)動(dòng)下的零部件加工應(yīng)用專題
- 高性能銑刀實(shí)現(xiàn)高精加工生產(chǎn)技術(shù)專題
- 航空航天發(fā)動(dòng)機(jī)解決方案專題
- 高效齒輪加工生產(chǎn)技術(shù)方案專題
- 金屬加工液的性能不止?jié)櫥夹g(shù)應(yīng)用專題