国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32和μC/OS-Ⅲ的服務(wù)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

2020-05-12 12:08:54陳光明
關(guān)鍵詞:低電平調(diào)試單片機(jī)

黃 旋 陳光明 趙 潮

(1南京農(nóng)業(yè)大學(xué)工學(xué)院,南京,210031;2 南京云岸信息科技有限公司,南京,211800)

0 引言

隨著科技的發(fā)展,機(jī)器人在一定程度上能幫助人們處理一些重復(fù)繁瑣的工作,尤其近幾年機(jī)器人行業(yè)的熱門興起,機(jī)器人正變得無處不在。隨著技術(shù)越來越成熟,機(jī)器人擁有著較強(qiáng)的能力和極好的魯棒性,且國(guó)家科學(xué)技術(shù)部已出臺(tái)《服務(wù)機(jī)器人科技發(fā)展“十二五”專項(xiàng)規(guī)劃》,要求重點(diǎn)培育和發(fā)展服務(wù)機(jī)器人新興產(chǎn)業(yè)[1]。

在這一服務(wù)機(jī)器人發(fā)展浪潮下,本文設(shè)計(jì)了一款基于STM32的服務(wù)機(jī)器人的樣機(jī),通過選用Visual Studio 2015軟件編寫服務(wù)機(jī)器人調(diào)試軟件作為上位機(jī),再以STM32單片機(jī)為核心作為下位機(jī),在基于μC/OS-Ⅲ實(shí)時(shí)嵌入式操作系統(tǒng)的基礎(chǔ)上設(shè)計(jì)并實(shí)現(xiàn)了服務(wù)機(jī)器人的硬件電路,編寫了驅(qū)動(dòng)程序,操作人員通過操作上位機(jī)服務(wù)機(jī)器人調(diào)試軟件即可發(fā)送命令傳至下位機(jī)中,下位機(jī)再控制運(yùn)動(dòng)執(zhí)行機(jī)構(gòu),使得服務(wù)機(jī)器人實(shí)現(xiàn)行走、旋轉(zhuǎn)、頭手部轉(zhuǎn)動(dòng)等功能。

1 服務(wù)機(jī)器人本體設(shè)計(jì)

服務(wù)機(jī)器人的外觀造型設(shè)計(jì)如圖1所示,為使機(jī)器人具有更強(qiáng)的互動(dòng)性,其頭部和手部均有一定的活動(dòng)空間,機(jī)器人主要參數(shù)如表1所示。

圖1 服務(wù)機(jī)器人外觀造型

表1 服務(wù)機(jī)器人主要參數(shù)

服務(wù)機(jī)器人頭部和手部選用帶有自鎖功能的直流蝸輪蝸桿減速電機(jī)進(jìn)行控制,電機(jī)布置如圖2所示,目的是防止突然斷電時(shí)手臂和頭部突然下落對(duì)元器件造成損傷,蝸輪蝸桿減速電機(jī)主要參數(shù)如表2所示。

圖2 蝸輪蝸桿減速電機(jī)布置

表2 蝸輪蝸桿電機(jī)主要技術(shù)參數(shù)

服務(wù)機(jī)器人內(nèi)部結(jié)構(gòu)如圖3所示,為使機(jī)器人能在工作環(huán)境中無約束地移動(dòng),其驅(qū)動(dòng)底盤采用雙驅(qū)動(dòng)輪差速驅(qū)動(dòng),直流電機(jī)主要參數(shù)如表3所示。

圖3 服務(wù)機(jī)器人內(nèi)部結(jié)構(gòu)

表3 底盤直流電機(jī)主要技術(shù)參數(shù)

2 服務(wù)機(jī)器人硬件模塊設(shè)計(jì)與實(shí)現(xiàn)

2.1 電源電路設(shè)計(jì)

服務(wù)機(jī)器人硬件電路中需要3種類型電壓,分別是編碼器5V、STM32單片機(jī)3.3V、電機(jī)驅(qū)動(dòng)模塊12V。

5V電壓轉(zhuǎn)換電路如圖4所示,本文選用可固定輸出5V電壓的LM2576芯片,該芯片只需4個(gè)外接元件,可以使用通用的標(biāo)準(zhǔn)電感,簡(jiǎn)化了開關(guān)電源電路的設(shè)計(jì)[2]。

圖4中,Vin表示芯片的輸入電壓;Vbat表示STM32單片機(jī)中監(jiān)控電池電壓的引腳;ON/OFF表示芯片控制引腳,高電平有效;FB為Feedback縮寫,表示芯片的反饋端引腳;Vout表示芯片的穩(wěn)壓輸出端。

圖4 5V電源轉(zhuǎn)換電路

STM32單片機(jī)工作電壓為3.3V,本文選用LM1117電壓轉(zhuǎn)換芯片實(shí)現(xiàn)3.3V電壓的轉(zhuǎn)換,若輸入電壓和輸出電壓的壓差太大會(huì)導(dǎo)致芯片嚴(yán)重發(fā)熱,因此輸入電壓選擇5V,同時(shí)在輸入輸出端兩側(cè)都添加電容抗干擾,如圖5所示。

圖5 3.3V電源轉(zhuǎn)換電路

12V電源的轉(zhuǎn)換同樣選用LM2576芯片進(jìn)行,轉(zhuǎn)換電路如圖6所示。

圖6 12V電源轉(zhuǎn)換電路

2.2 STM32核心電路設(shè)計(jì)

STM32的最小系統(tǒng)由電源電路、晶振電路、JTAG下載調(diào)試電路、復(fù)位電路、BOOT啟動(dòng)電路5部分組成。

1)電源電路。STM32單片機(jī)的工作電壓由3.3V轉(zhuǎn)換電路提供。但3.3V電源接入單片機(jī)中需要進(jìn)行濾波,其主要作用是濾除外界輻射的高頻干擾和濾除單片機(jī)工作時(shí)自身產(chǎn)生的脈沖干擾。

圖7 電源濾波電路

2)晶振電路。如圖8所示,晶振的作用是為單片機(jī)最小系統(tǒng)提供最基本的時(shí)鐘信號(hào),選用8MHz的晶振是方便倍頻,各外設(shè)模塊使用的不同的系統(tǒng)時(shí)鐘可以通過調(diào)整鎖相環(huán)PLL實(shí)現(xiàn)。

圖8 晶振電路

3)JTAG(Joint Test Action Group,聯(lián)合測(cè)試行為組織)下載調(diào)試電路和復(fù)位電路。 JTAG主要應(yīng)用于電路的邊界掃描測(cè)試和可編程芯片的在線系統(tǒng)編程。本文采用標(biāo)準(zhǔn)的4線的JTAG,外加一個(gè)復(fù)位線,用于燒錄程序時(shí)的復(fù)位,如圖9所示。圖9中,各引腳的功能分別為:JTMS為測(cè)試模式選擇;JTCK為測(cè)試時(shí)鐘輸入;JTDI為測(cè)試數(shù)據(jù)輸入;JTDO為測(cè)試數(shù)據(jù)輸出;JTRST為測(cè)試復(fù)位,低電平有效;NRST為STM32單片機(jī)上的復(fù)位引腳。服務(wù)機(jī)器人選擇的方式為上電復(fù)位,NRST連接至單片機(jī)復(fù)位引腳,在電源主開關(guān)開啟時(shí),單片機(jī)上電瞬間,電容充電,NRST出現(xiàn)短暫的低電平,單片機(jī)接收到低電平信號(hào)產(chǎn)生復(fù)位操作。

圖9 JTAG下載電路和復(fù)位電路

4)BOOT啟動(dòng)電路。STM32單片機(jī)有3種啟動(dòng)模式,如表4所示,其中,“0”表示引腳設(shè)置為低電平,“1”表示引腳設(shè)置為高電平,“x”代表引腳可設(shè)置為低電平或高電平。本文選擇從主閃存存儲(chǔ)器啟動(dòng),當(dāng)啟動(dòng)時(shí)直接運(yùn)行燒錄在主閃存存儲(chǔ)器中的程序,因此通過下拉電阻將BOOT0引腳和BOOT1引腳設(shè)置為低電平,如圖10所示。

表4 啟動(dòng)模式

圖10 BOOT電路

2.3 電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)

電機(jī)的驅(qū)動(dòng)采用4個(gè)IRFS3607 NMOSFET組成最常見的H橋驅(qū)動(dòng)電路,2個(gè)半橋電路組成1個(gè)H橋驅(qū)動(dòng)電路,其中半橋驅(qū)動(dòng)電路如圖11所示,選用型號(hào)為IR2104的半橋驅(qū)動(dòng)器芯片,其帶有Shutdown引腳(SD),用于接收低電平信號(hào)切斷輸出,可使用軟件實(shí)現(xiàn)關(guān)閉控制功能,即實(shí)現(xiàn)軟關(guān)斷,同時(shí)也用于硬件上的過流過壓保護(hù)。

圖11 半橋驅(qū)動(dòng)電路

2.4 串口通信電路

服務(wù)機(jī)器人上位機(jī)與下位機(jī)之間采用RS232串口通信,選用SP3232EEA芯片進(jìn)行232電平與TTL電平信號(hào)的轉(zhuǎn)換。串口通信原理圖如圖12所示,主控制板上設(shè)有DB9接口,通過串口線與上位機(jī)相連。

圖12 串口通信原理圖

2.5 服務(wù)機(jī)器人硬件部分實(shí)現(xiàn)

本文利用Altium Designer 16軟件完成各模塊電路的排布,將主控制板設(shè)計(jì)成雙層板。主控制板實(shí)物圖如圖13所示,左上角為控制電路,電機(jī)驅(qū)動(dòng)電路順序排布在兩側(cè),側(cè)邊留出電機(jī)接口。

圖13 主控制板

3 服務(wù)機(jī)器人下位機(jī)軟件設(shè)計(jì)

3.1 下位機(jī)驅(qū)動(dòng)程序規(guī)劃

服務(wù)機(jī)器人下位機(jī)軟件設(shè)計(jì)是基于移植的開源嵌入式操作系統(tǒng)μC/OS-Ⅲ的基礎(chǔ)上實(shí)現(xiàn)的,各硬件模塊部分程序規(guī)劃如圖14所示,通過編寫各部分驅(qū)動(dòng)程序即能實(shí)現(xiàn)服務(wù)機(jī)器人的行走、轉(zhuǎn)彎、點(diǎn)頭、搖頭、揮手和組合動(dòng)作等功能。

圖14 下位機(jī)驅(qū)動(dòng)程序規(guī)劃

3.2 電機(jī)速度閉環(huán)PID控制設(shè)計(jì)

PID控制是將比例、積分和微分控制整合到一個(gè)控制器中,是一個(gè)非常普遍的控制策略,對(duì)過程控制系統(tǒng)尤為有用。增量式PID是對(duì)某一時(shí)刻控制量的增量進(jìn)行調(diào)節(jié),不需要做誤差的累加,計(jì)算偏差的影響較小,在實(shí)際中得到廣泛應(yīng)用[3-4],其表示公式如式(1)所示,本設(shè)計(jì)中采用增量式PID控制直流電機(jī)。

如圖15所示,服務(wù)機(jī)器人中的電機(jī)控制需定義PID參數(shù),通過整定3個(gè)參數(shù)控制機(jī)器人是否能平順運(yùn)行。此外,電機(jī)運(yùn)行需讀取電機(jī)的編碼器脈沖數(shù)進(jìn)行PWM閉環(huán)控制,本文采用STM32單片機(jī)定時(shí)器中的正交編碼器功能進(jìn)行編碼器數(shù)據(jù)采集,其計(jì)數(shù)模式如圖16所示。

圖15 直流電機(jī)控制流程圖

圖16 編碼器計(jì)數(shù)模式

設(shè)置定時(shí)器TIMx的CH1和CH2通道為正交編碼器模式,通過對(duì)兩個(gè)通道信號(hào)的的上升沿捕獲,可用于編碼器脈沖計(jì)數(shù),通過定時(shí)讀取計(jì)數(shù)器數(shù)值即可獲得電機(jī)當(dāng)前轉(zhuǎn)速[5]。

4 服務(wù)機(jī)器人上位機(jī)調(diào)試軟件設(shè)計(jì)

上位機(jī)調(diào)試軟件主要包含左右驅(qū)動(dòng)輪調(diào)速模塊、頭部手部控制模塊、串口模塊、綜合控制模塊、指令顯示模塊等,操作人員通過人機(jī)交互界面各模塊按鍵即可進(jìn)行各項(xiàng)操作,調(diào)試軟件的結(jié)構(gòu)框圖如圖17所示。

通過對(duì)調(diào)試軟件的規(guī)劃可將上位機(jī)調(diào)試軟件的開發(fā)分為3部分:人機(jī)交互界面的制作、編寫按鍵代碼、串口通信的讀寫,3個(gè)部分的程序編寫均在Visual Studio 2015軟件中進(jìn)行,上位機(jī)調(diào)試軟件最終界面如圖18所示。

圖18 上位機(jī)調(diào)試軟件界面

5 服務(wù)機(jī)器人實(shí)驗(yàn)

5.1 直線行駛實(shí)驗(yàn)

直線行駛實(shí)驗(yàn)中給定行駛距離為4m,考慮到服務(wù)機(jī)器人一般應(yīng)用在人員較多、環(huán)境復(fù)雜的區(qū)域中,其速度不宜太快,因此指定電機(jī)轉(zhuǎn)速為45r/min,即服務(wù)機(jī)器人行駛速度為0.3m/s,實(shí)驗(yàn)現(xiàn)場(chǎng)和實(shí)驗(yàn)過程如圖19所示,地面上設(shè)有地標(biāo),總長(zhǎng)為4m。

圖19 直線行駛實(shí)驗(yàn)

直線行駛的加速度—時(shí)間曲線如圖20所示,服務(wù)機(jī)器人準(zhǔn)確到達(dá)目標(biāo)位置的整個(gè)運(yùn)行過程時(shí)間大約為15s,但在運(yùn)行過程中加速度變化較大,PID參數(shù)可繼續(xù)優(yōu)化。

圖20 直線行走加速度曲線

5.2 組合動(dòng)作實(shí)驗(yàn)

服務(wù)機(jī)器人的組合動(dòng)作實(shí)驗(yàn)是驗(yàn)證其頭部和手臂同時(shí)運(yùn)動(dòng)的效果,如點(diǎn)頭加左臂揮舞、搖頭加右臂揮舞、點(diǎn)頭加雙臂揮舞,點(diǎn)頭加搖頭加雙臂揮舞等,本實(shí)驗(yàn)以搖頭加點(diǎn)頭加雙臂揮舞為例進(jìn)行分析,其余組合動(dòng)作可參考。

實(shí)驗(yàn)過程如圖21所示。

a為服務(wù)機(jī)器人初始狀態(tài);

b為服務(wù)機(jī)器人開始搖頭動(dòng)作;

c為服務(wù)機(jī)器人開始點(diǎn)頭動(dòng)作,同時(shí)雙臂開始向上揮舞,且搖頭動(dòng)作繼續(xù)進(jìn)行;

d為雙臂向上揮動(dòng)動(dòng)作完成,雙臂開始向下?lián)]動(dòng)復(fù)位,同時(shí)搖頭與點(diǎn)頭動(dòng)作繼續(xù)進(jìn)行;

e為雙臂復(fù)位完成,頭部搖頭和點(diǎn)頭運(yùn)動(dòng)完成,服務(wù)機(jī)器人回到初始位置。

圖21 搖頭加點(diǎn)頭加雙臂揮舞實(shí)驗(yàn)

6 結(jié)論

本文為服務(wù)機(jī)器人提供了一種設(shè)計(jì)方案,選用STM32單片機(jī)作為下位機(jī)控制核心,圍繞該單片機(jī)實(shí)現(xiàn)了硬件電路的設(shè)計(jì),基于開源嵌入式操作系統(tǒng)μC/OS-Ⅲ的基礎(chǔ)上實(shí)現(xiàn)了電機(jī)的增量式PID閉環(huán)控制,最終實(shí)驗(yàn)結(jié)果表明服務(wù)機(jī)器人具有較好的控制效果,為服務(wù)機(jī)器人在室內(nèi)大廳的應(yīng)用奠定了基礎(chǔ)。

猜你喜歡
低電平調(diào)試單片機(jī)
數(shù)字電路中“邏輯非”的用法辨析
鐵道車輛高/低電平信號(hào)智能發(fā)生器設(shè)計(jì)
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測(cè)量?jī)x
電子制作(2019年9期)2019-05-30 09:42:02
2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車型低電平參考電壓總線電路圖
基于航拍無人機(jī)的設(shè)計(jì)與調(diào)試
電子制作(2018年12期)2018-08-01 00:47:44
FOCAS功能在機(jī)床調(diào)試中的開發(fā)與應(yīng)用
無線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
電子制作(2017年19期)2017-02-02 07:08:38
調(diào)壓柜的調(diào)試與試運(yùn)行探討
永济市| 临猗县| 贡嘎县| 宝应县| 体育| 抚顺市| 昆明市| 绩溪县| 阿勒泰市| 北碚区| 安图县| 孝昌县| 中宁县| 天祝| 博爱县| 青神县| 施秉县| 图木舒克市| 绥棱县| 青浦区| 类乌齐县| 阿合奇县| 旅游| 新宾| 威信县| 电白县| 怀远县| 太和县| 天津市| 桂平市| 普陀区| 湟源县| 金乡县| 罗城| 颍上县| 五华县| 清原| 象山县| 洛阳市| 浠水县| 远安县|