西安交通大學(xué)agv設(shè)計(jì)自動(dòng)循跡代步輪椅設(shè)計(jì)說明書_第1頁
西安交通大學(xué)agv設(shè)計(jì)自動(dòng)循跡代步輪椅設(shè)計(jì)說明書_第2頁
西安交通大學(xué)agv設(shè)計(jì)自動(dòng)循跡代步輪椅設(shè)計(jì)說明書_第3頁
西安交通大學(xué)agv設(shè)計(jì)自動(dòng)循跡代步輪椅設(shè)計(jì)說明書_第4頁
西安交通大學(xué)agv設(shè)計(jì)自動(dòng)循跡代步輪椅設(shè)計(jì)說明書_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

..機(jī)自16班機(jī)械部分王劍虹2110101145電路部分機(jī)自16班機(jī)械部分王劍虹2110101145電路部分佀昶2110302019軟件部分羅運(yùn)運(yùn)2110101141自動(dòng)循跡代步輪椅設(shè)計(jì)說明書目錄1、概述11.1總體概述21.2市場(chǎng)背景21.3適用人群32、機(jī)械部分42.1設(shè)計(jì)要求42.2具體機(jī)構(gòu)設(shè)計(jì)和標(biāo)準(zhǔn)件選擇42.2.1車架設(shè)計(jì)42.2.1.1前車架設(shè)計(jì)52.2.1.2后車架設(shè)計(jì)62.2.2電機(jī)選擇62.2.3后輪選擇72.2.4前輪選擇82.3可靠性分析83、控制電路部分93.1主芯片選擇93.2位置檢查模塊123.3電機(jī)驅(qū)動(dòng)模塊選擇134.系統(tǒng)軟件的設(shè)計(jì)184.1應(yīng)用軟件的設(shè)計(jì)184.2軟件測(cè)試184.3電機(jī)選擇204.4輪椅轉(zhuǎn)向系統(tǒng)的設(shè)計(jì)264.5具體程序代碼28參考文獻(xiàn)371、概述1.1總體概述自動(dòng)循跡代步輪椅是一款輔助老人、殘疾人士出行的自動(dòng)循跡電動(dòng)輪椅。其整體外觀如圖1.1所示。其設(shè)計(jì)思想是使用光電循跡原理,結(jié)合軟件編程,機(jī)械控制等方法,達(dá)到自動(dòng)循跡的效果。此產(chǎn)品設(shè)計(jì)過程中綜合了機(jī)電一體化設(shè)計(jì)思想,將機(jī)械和電子有機(jī)結(jié)合起來,用電子輔助機(jī)械,使在功能不變的前提下結(jié)構(gòu)盡量簡(jiǎn)單,運(yùn)作可靠。產(chǎn)品的設(shè)計(jì)從用戶角度出發(fā),將產(chǎn)品設(shè)計(jì)得人性化。本產(chǎn)品使用電瓶作為動(dòng)力,能源清潔,獲取方便。車架選用鋼材結(jié)構(gòu),保證強(qiáng)度的前提下,使結(jié)構(gòu)緊湊可靠。輪胎使用實(shí)心橡膠輪胎,減震性能良好,避免用戶充氣的麻煩。圖1.1自動(dòng)循跡輪椅整體外觀1.2背景市場(chǎng)隨著能源短缺和環(huán)保需要,電動(dòng)車所占的比重越來越大。相對(duì)傳統(tǒng)機(jī)車,電動(dòng)車擁有結(jié)構(gòu)簡(jiǎn)單,能源清潔,重量輕,運(yùn)行可靠,維修方便,價(jià)格低廉等優(yōu)點(diǎn)。設(shè)計(jì)過程中采用了機(jī)電一體化設(shè)計(jì)思路,使機(jī)械與電子部分充分結(jié)合起來,機(jī)電一體化設(shè)計(jì)模式見圖1.2。圖1.2機(jī)電一體化設(shè)計(jì)模式簡(jiǎn)介近幾年,電動(dòng)輪椅也逐步發(fā)展起來,并且逐年改進(jìn),功能越來越完善。可見在電動(dòng)輪椅這個(gè)方向是很有市場(chǎng)前景的。本產(chǎn)品在結(jié)構(gòu)上對(duì)普通電動(dòng)輪椅進(jìn)行了優(yōu)化,使結(jié)構(gòu)簡(jiǎn)單,運(yùn)行可靠。在功能上加入了自動(dòng)循跡功能,主要使用對(duì)象是不能自主活動(dòng)的老人,病人和殘疾人。對(duì)比老式電動(dòng)輪椅,本產(chǎn)品主要有以下優(yōu)點(diǎn):1、結(jié)構(gòu)更加輕便、可靠;2、設(shè)計(jì)過程中采用了機(jī)電一體化設(shè)計(jì)思想,用電子控制機(jī)械,使功能更加齊全,結(jié)構(gòu)簡(jiǎn)單;3、加入了自動(dòng)循跡功能,特別適合用于醫(yī)院,療養(yǎng)院,養(yǎng)老院使用;4、電機(jī),電瓶等部件使用標(biāo)準(zhǔn)件,維修方便,價(jià)格低廉;1.3適用人群本產(chǎn)品主打功能是自動(dòng)循跡功能,即不需要外部人員和乘坐者的操作便可以循著事先規(guī)劃好的路線前進(jìn),到達(dá)標(biāo)準(zhǔn)位置停下,返回等過程。適合用于醫(yī)院,療養(yǎng)院,養(yǎng)老院使用。未至于本產(chǎn)品時(shí),一個(gè)護(hù)士或者工作人員只能照看一個(gè)病人,而在使用本產(chǎn)品后,一名護(hù)士可以同時(shí)照看多名病人。每位病人的輪椅按著事先安排好的路線前進(jìn),在病人運(yùn)輸,休閑散步等方面有著極大優(yōu)勢(shì)。相信本產(chǎn)品能為這些事業(yè)帶來極大的方便。2、機(jī)械設(shè)計(jì)部分2.1設(shè)計(jì)要求本產(chǎn)品要實(shí)現(xiàn)的功能主要有1、能載人正常行走,遇到緊急情況能安全停車;2、給老人、病人、殘疾人使用,要求避震效果好;3、能實(shí)現(xiàn)自動(dòng)循跡功能;4、結(jié)構(gòu)合理,安全可靠;因此具體的設(shè)計(jì)要求如下:1、能載重80kg以上,主要受力機(jī)構(gòu)應(yīng)力不超過需用值,保證一定的安全系數(shù),變形不查過許用值;2、通過對(duì)測(cè)得電路的分析,機(jī)械部分接受到電路部分的控制后能正確實(shí)現(xiàn)前進(jìn),后退,轉(zhuǎn)彎,停車等功能;3、有良好避震功能;4、為方便攜帶和搬運(yùn),重量不超過70kg;2.2具體機(jī)構(gòu)設(shè)計(jì)和標(biāo)準(zhǔn)件選擇車架設(shè)計(jì)為達(dá)到良好的避震效果,車架分為前后兩個(gè)部分,前后兩車架使用螺栓和減震機(jī)構(gòu)進(jìn)行連接。連接情況如圖1.3所示。圖1.3車架總體結(jié)構(gòu)2.2.1.1前車架設(shè)計(jì)前車架的主要結(jié)構(gòu)如圖1.4所示。前車架設(shè)計(jì)中重要使用了標(biāo)準(zhǔn)的方鋼和圓管,材料為低碳鋼,通過焊接的方式進(jìn)行連接。為保證強(qiáng)度和足夠空間,前車架采用雙層結(jié)構(gòu)設(shè)計(jì)。車架前方伸出圓管為連接腳踏板用。前車架通過螺栓與后車架和減震機(jī)構(gòu)連接。側(cè)邊的圓環(huán)是連接扶手和前車輪用。圖1.4前車架結(jié)構(gòu)展示2.2.1.2后車架設(shè)計(jì)后車架主要使用標(biāo)準(zhǔn)圓管焊接而成,主要結(jié)構(gòu)如圖1.5所示。前方通過螺栓與前車架連接,中間圓鋼與電機(jī)連接,圓鋼上焊接的方塊用于電機(jī)的定位。中間中空的部位用于放置電瓶,為保證足夠運(yùn)行時(shí)間和路程,預(yù)留了較大空間來存放大容量的電瓶。后方伸出的部分用于安裝防傾倒的后輪。圖1.5后車架結(jié)構(gòu)示意圖電機(jī)選擇計(jì)算電機(jī)所需轉(zhuǎn)速和扭矩,考慮減速器減速比,選擇直流電機(jī),12v電壓。電機(jī)和減速器外觀如圖1.6所示。圖1.6電機(jī)及減速器外形展示后輪選擇考慮到電機(jī)轉(zhuǎn)速和扭矩,所需的運(yùn)行速度為10km/h,有良好的減震性能。選擇14寸實(shí)心橡膠輪作為驅(qū)動(dòng)后輪。外形如圖1.7所示。輪轂為鋁合金材質(zhì),輪胎為實(shí)心橡膠。后輪為驅(qū)動(dòng)輪,通過兩個(gè)后輪的轉(zhuǎn)速差來實(shí)現(xiàn)轉(zhuǎn)向。選用實(shí)心橡膠輪胎在保證良好避震性能的前提下避免了用戶充氣的麻煩。圖1.7后輪外形圖前輪選擇前輪選擇8寸萬向輪,材質(zhì)為塑料和橡膠。在后輪的驅(qū)動(dòng)下,前輪隨著轉(zhuǎn)向。外形如圖1.8所示。圖1.8前輪外形展示2.3可行性分析取前車架和后車架主要部件進(jìn)行受理分析,受力分析報(bào)告見附錄。滿足強(qiáng)度要求。3.控制電路的設(shè)計(jì)控制電路作為控制程序的載體,主要分為主控芯片、位置檢測(cè)模塊和電機(jī)驅(qū)動(dòng)模塊。3.1主控芯片的選擇經(jīng)小組討論,我們決定采用技術(shù)成熟且被廣泛使用的80C51單片機(jī)。80C51單片機(jī)屬于MCS-51系列單片機(jī),由Intel公司開發(fā),其結(jié)構(gòu)是8048的延伸,改進(jìn)了8048的缺點(diǎn),增加了如乘〔MUL、除〔DIV、減〔SUBB、比較〔CMP、16位數(shù)據(jù)指針、布爾代數(shù)運(yùn)算等指令,以及串行通信能力和5個(gè)中斷源。采用40引腳雙列直插式DIP〔DualInLinePackage,內(nèi)有128個(gè)RAM單元及4K的ROM。80C51有兩個(gè)16位定時(shí)計(jì)數(shù)器,兩個(gè)外中斷,兩個(gè)定時(shí)計(jì)數(shù)中斷,及一個(gè)串行中斷,并有4個(gè)8位并行輸入口。80C51內(nèi)部有時(shí)鐘電路,但需要石英晶體和微調(diào)電容外接。由于80C51的系統(tǒng)性能滿足系統(tǒng)數(shù)據(jù)采集及時(shí)間精度的要求,而且產(chǎn)品產(chǎn)量豐富來源廣,應(yīng)用也很成熟,故采用來作為控制核心。以下對(duì)其管腳進(jìn)行簡(jiǎn)單的介紹。圖3.180C51管腳圖Vss<20腳>:接地Vcc〔40腳:主電源+5VXTAL1〔19腳:接外部晶體的一端。在片內(nèi)它是振蕩電路反相放大器的輸入端。在采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該端引腳必須接地;對(duì)于CHMOS單片機(jī),此引腳作為驅(qū)動(dòng)端。XTAL2〔18腳:接外部晶體的另一端。在片內(nèi)它是一個(gè)振蕩電路反相放大器的輸出端,振蕩電路的頻率是晶體振蕩頻率。若需采用外部時(shí)鐘電路,對(duì)于HMOS單片機(jī),該引腳輸入外部時(shí)鐘脈沖;對(duì)于CHMOS單片機(jī),此引腳應(yīng)懸浮。RST〔9腳:單片機(jī)剛接上電源時(shí),其內(nèi)部各寄存器處于隨機(jī)狀態(tài),在該腳輸入24個(gè)時(shí)鐘周期寬度以上的高電平將使單片機(jī)復(fù)位〔RESETPSEN〔29腳:在訪問片外程序存儲(chǔ)器時(shí),此端輸出負(fù)脈沖作為存儲(chǔ)器讀選通信號(hào)。CPU在向片外存儲(chǔ)器取指令期間,PSEN信號(hào)在12個(gè)時(shí)鐘周期中兩次生效。不過,在訪問片外數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效PSEN信號(hào)不出現(xiàn)。PSEN端同樣可驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。我們根據(jù)PSEN、ALE和XTAL2輸出端是否有信號(hào)輸出,可以判別80C51是否在工作。ALE/PROG〔30腳:在訪問片外程序存儲(chǔ)器時(shí),此端輸出負(fù)脈沖作為存儲(chǔ)器讀選通信號(hào)。CPU在向片外存儲(chǔ)器取指令期間,PSEN信號(hào)在12個(gè)時(shí)鐘周期中兩次生效。不過,在訪問片外數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效PSEN信號(hào)不出現(xiàn)。PSEN端同樣可驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。我們根據(jù)PSEN、ALE和XTAL2輸出端是否有信號(hào)輸出,可以判別80C51是否在工作。EA/VPP〔31腳:當(dāng)EA端輸入高電平時(shí),CPU從片內(nèi)程序存儲(chǔ)器地址0000H單元開始執(zhí)行程序。當(dāng)?shù)刂烦?KB時(shí),將自動(dòng)執(zhí)行片外程序存儲(chǔ)器的程序。當(dāng)EA輸入低電平時(shí),CPU僅訪問片外程序存儲(chǔ)器。在對(duì)87C51EPROM編程時(shí),此引腳用于施加編程電壓VPP。輸入/輸出引腳:〔1P0.0—P0.7<39腳—32腳>〔2P1.0—P1.7〔1腳—8腳〔3P2.0—P2.7〔26腳—21腳〔4P3.0—P3.7〔10腳—17腳圖3.2主控芯片外圍電路主控芯片選擇完畢后,還需對(duì)其外接電路進(jìn)行設(shè)計(jì)。外接電路要與電機(jī)控制模塊和位置檢測(cè)模塊相適應(yīng),同時(shí)一些基本的電路如晶振的接法和頻率的選擇,則參照有關(guān)資料進(jìn)行連接。下面結(jié)合實(shí)際電路來介紹一下。每個(gè)單片機(jī)系統(tǒng)里都有晶振,全稱是叫晶體震蕩器,在單片機(jī)系統(tǒng)里晶振的作用非常大,他結(jié)合單片機(jī)內(nèi)部的電路,產(chǎn)生單片機(jī)所必須的時(shí)鐘頻率,單片機(jī)的一切指令的執(zhí)行都是建立在這個(gè)基礎(chǔ)上的,晶振的提供的時(shí)鐘頻率越高,那單片機(jī)的運(yùn)行速度也就越快。其實(shí)晶振用一種能把電能和機(jī)械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻振蕩。在通常工作條件下,普通的晶振頻率絕對(duì)精度可達(dá)百萬分之五十。高級(jí)的精度更高。有些晶振還可以由外加電壓在一定范圍內(nèi)調(diào)整頻率,稱為壓控振蕩器〔VCO。晶振的作用是為系統(tǒng)提供基本的時(shí)鐘信號(hào)。通常一個(gè)系統(tǒng)共用一個(gè)晶振,便于各部分保持同步。有些通訊系統(tǒng)的基頻和射頻使用不同的晶振,而通過電子調(diào)整頻率的方法保持同步如上圖所示,給單片機(jī)加上晶振X1,查閱單片機(jī)資料。將其頻率調(diào)到22MHz。RC復(fù)位電路的工作原理是,上電前電容里的電荷放光,上電瞬間,電源通過電阻向電容充電,在充電過程中,RESET的電壓慢慢上升,對(duì)外部電路進(jìn)行復(fù)位,當(dāng)RESET上升到復(fù)位高電平時(shí),外部系統(tǒng)開始工作。這里存在兩個(gè)問題,一個(gè)是必須合理選擇電阻和電容的值否則復(fù)位時(shí)間過長(zhǎng)或過短都不能滿足要求,第二個(gè)問題是當(dāng)系統(tǒng)正常復(fù)位后在工作狀態(tài)下,電源突然有一個(gè)較短時(shí)間的大幅度抖動(dòng)。因此設(shè)計(jì)復(fù)位電路主要考慮這兩個(gè)問題來選取電阻電容值。P1.0—P1.5與L298N使能端和輸入端相連,P0.0—P0.2因?yàn)橛蠥D轉(zhuǎn)化功能,所以用來與光電檢測(cè)器相連,接受位置信號(hào)。2.2位置檢測(cè)模塊位置檢測(cè)采用反射式光電傳感器。其原理如下:圖3.3TCRT5000及其信號(hào)放大電路光電傳感器由兩部分組成,一個(gè)發(fā)光二極管和一個(gè)光敏二極管。給發(fā)光二極管通電,使其發(fā)光。若檢測(cè)到黑線,則發(fā)出的光被黑線吸收,光敏二極管接收不到反射回來的光,OUT端輸出則為低電平。反之則為高電平。我們通過市場(chǎng)調(diào)研,了解到TCRT5000比較常用,且性能可以滿足需求,所以決定采用TCRT5000作為位置檢測(cè)傳感器。以下為它的基本參數(shù):光學(xué)-反射式-模擬輸出檢測(cè)距離:0.591"<15mm>檢測(cè)方法:反射電壓-集電極發(fā)射極擊穿〔最大:70V電流-集電極<Ic>〔最大:100mA電流-DC正向<If>:60mA輸出類型:光電晶體管工作溫度:-25°C~85°C考慮到控制系統(tǒng)和整體性能,我們決定采用三個(gè)TCRT5000檢測(cè)位置。有關(guān)TCRT5000個(gè)數(shù)選擇,在控制算法設(shè)計(jì)中進(jìn)行具體介紹。2.3電機(jī)驅(qū)動(dòng)模塊的選擇經(jīng)討論,我們決定選擇L298N芯片對(duì)兩個(gè)直流電機(jī)進(jìn)行驅(qū)動(dòng)。L298N電機(jī)驅(qū)動(dòng)模塊具有以下特點(diǎn):可實(shí)現(xiàn)電機(jī)正反轉(zhuǎn)及調(diào)速;啟動(dòng)性能好,啟動(dòng)轉(zhuǎn)矩答;工作電壓可達(dá)到36V,4A;可同時(shí)驅(qū)動(dòng)兩臺(tái)直流電機(jī)。L298N是SGS公司的產(chǎn)品,即是15腳Multiwatt封裝的。內(nèi)部包含4通道邏輯驅(qū)動(dòng)電路,可以方便的驅(qū)動(dòng)兩個(gè)直流電機(jī)或一個(gè)兩相步進(jìn)電機(jī)。因采用單個(gè)直流電機(jī)驅(qū)動(dòng),故設(shè)計(jì)成單直流雙橋合并電路。暑促電壓最高可達(dá)50V,可以直接通過電源來調(diào)節(jié)輸出電壓,而且可以直接用單片機(jī)的IO口提供信號(hào),而且電路簡(jiǎn)單,使用方便。L298N使能端為高電平使能,使能端EN1、EN2可以接I/O口控制也可直接接電源正一直使能,至于使能端是接固定電平還是接I/O口,視具體情況而定,若I/O口資源夠用可接I/O口控制,若不夠用,可直接接高電平。同時(shí),控制電機(jī)的PWM脈沖也可以從兩個(gè)使能端輸入,那么四個(gè)輸入引腳IN1、IN2、IN3、IN4只需設(shè)置為相應(yīng)的高低電平可以控制電機(jī)的正反轉(zhuǎn),假如IN1給固定高電平,IN2給固定低電平電機(jī)正轉(zhuǎn),那么IN1給低IN2給高就可實(shí)現(xiàn)反轉(zhuǎn),IN3、IN4同理。L298N的基本參數(shù)如下:類型:半橋輸入類型:非反相輸出數(shù):4電流-輸出/通道:2A電流-峰值輸出:3A電源電壓:4.5V~46V工作溫度:-25°C~130°C安裝類型:通孔封裝/外殼:Multiwatt-15〔垂直,彎曲和錯(cuò)列引線供應(yīng)商設(shè)備封裝:15-Multiwatt包裝:管件器件型號(hào)L298N制造商STMicroelectronics產(chǎn)品型號(hào)MotionMotorControl圖3.4L298N管腳圖上圖是L298N的管腳圖VSS:芯片電壓5V。VCC:電機(jī)電壓,最大可接50V。GND:共地接法。OUT1~OUT4:輸出端,接電機(jī)。ENA、ENB:高電平有效,ENA、ENB分別為IN1和IN2、IN3和IN4的使能端。IN1~IN4:輸入端,輸入端電平和輸出端電平是對(duì)應(yīng)的。我們使用的是兩個(gè)直流電機(jī),其接線示意圖如下:圖3.5直流電機(jī)與L298N接線示意圖由于電機(jī)是感性負(fù)載,所以需要在L298的輸出端接四個(gè)快速二極管IN5822組成續(xù)流電路,將電機(jī)產(chǎn)生的感應(yīng)電流消耗,防止對(duì)電路產(chǎn)生影響。L298還提供了兩個(gè)負(fù)載電流的反饋引腳:1腳和15腳,將它們同時(shí)接一個(gè)0.1歐姆,1~2W的電流檢測(cè)電阻,再接地,此時(shí)就可以通過對(duì)1腳或者15腳進(jìn)行A/D采樣,來得到電路中負(fù)載電流,實(shí)現(xiàn)恒流控制。L298有4腳〔VS和9腳〔VSS兩個(gè)電源引腳,4腳為電機(jī)驅(qū)動(dòng)電源輸入端,該電壓需要比9腳輸入電壓大,否則將會(huì)影響芯片的正常工作,而9腳為芯片工作電壓輸入端。圖3.6控制電路總圖以上是控制電路的總圖。為了精簡(jiǎn)起見,采用總線將各部分連接起來。4.系統(tǒng)軟件的設(shè)計(jì)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)時(shí),通過根據(jù)具體要求現(xiàn)場(chǎng)調(diào)查分析,確定單片機(jī)應(yīng)用系統(tǒng)地目標(biāo),確定系統(tǒng)的功能與性能。系統(tǒng)的功能主要有數(shù)據(jù)采集、數(shù)據(jù)處理、輸出控制等,每一功能又細(xì)分若干子功能。比如,數(shù)據(jù)采集可分為模擬信號(hào)采集和數(shù)字信號(hào)采樣,數(shù)據(jù)處理可分為預(yù)處理、功能性處理、抗干擾處理等子功能;輸出控制按對(duì)象不同可分為各種控制功能,如機(jī)電控制、D/A轉(zhuǎn)換控制,數(shù)碼管顯示控制等。系統(tǒng)功能主要由控制精度、速度、功耗、體積、重量、價(jià)格、可靠性的技術(shù)指標(biāo)來衡量。而一旦這些指標(biāo)一旦確定下來,整個(gè)系統(tǒng)將在這些標(biāo)定下進(jìn)行設(shè)計(jì)。系統(tǒng)的速度、功耗、體積、重量、價(jià)格、可靠性的等指標(biāo)會(huì)左右系統(tǒng)軟硬件的功能劃分。4.1應(yīng)用軟件的設(shè)計(jì)應(yīng)用軟件是根據(jù)系統(tǒng)功能進(jìn)行設(shè)計(jì)的,應(yīng)盡可能的實(shí)現(xiàn)系統(tǒng)的各種功能,一般應(yīng)用軟件應(yīng)具有:=1\*GB2⑴軟件結(jié)構(gòu)清洗,簡(jiǎn)捷,流程合理。=2\*GB2⑵各功能程序事先模塊化、系統(tǒng)化。這樣既便于調(diào)試、連接,又便于移植、修改和維護(hù)。=3\*GB2⑶程序存儲(chǔ)區(qū)、數(shù)據(jù)存儲(chǔ)區(qū)規(guī)劃合理,既能節(jié)約存儲(chǔ)容量,又能給程序的設(shè)計(jì)與操作帶來方便。=4\*GB2⑷運(yùn)行程序?qū)崿F(xiàn)標(biāo)志化管理。各個(gè)功能程序運(yùn)行狀態(tài)、運(yùn)行結(jié)果以及運(yùn)行需求都設(shè)置標(biāo)志狀態(tài)設(shè)置標(biāo)志位以便于檢查,程序的轉(zhuǎn)移、運(yùn)行、控制都可通過狀態(tài)標(biāo)志來控制。=5\*GB2⑸經(jīng)過調(diào)試修改后的程序應(yīng)該進(jìn)行規(guī)范化,除去修改痕跡。規(guī)范化的程序便于交流、借鑒,也為軟件的模塊化、標(biāo)準(zhǔn)化打下基礎(chǔ)。=6\*GB2⑹實(shí)現(xiàn)全面軟件抗干擾設(shè)計(jì)。軟件抗干擾是計(jì)算機(jī)應(yīng)用系統(tǒng)提高可靠性的有力措施。=7\*GB2⑺為提高運(yùn)行的可靠性,在軟件中設(shè)置自診斷系統(tǒng),在系統(tǒng)運(yùn)行前先運(yùn)行自診斷程序,以檢查系統(tǒng)的各項(xiàng)參數(shù)是否正常。4.2軟件調(diào)試4.2.1軟件調(diào)試過程軟件調(diào)試是通過對(duì)用戶程序的匯編、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯(cuò)誤與邏輯錯(cuò)誤并加以排除糾正的過程。 圖4-1軟件調(diào)試過程圖4.2.2軟件調(diào)試一般方法=1\*GB2⑴先獨(dú)立后聯(lián)機(jī)軟件是硬件的靈魂,沒有軟件系統(tǒng)將無法工作;同時(shí)大多數(shù)軟件的運(yùn)行又依賴于硬件,當(dāng)軟件測(cè)試參數(shù)進(jìn)行事務(wù)處理時(shí),往往是和硬件無關(guān)的,即這樣可以通過對(duì)用戶程序的仔細(xì)分析,把與硬件無關(guān)的、功能相對(duì)獨(dú)立的程序抽取出來,形成與硬件無關(guān)和依賴硬件的兩大類用戶程序塊。在具有交叉匯編軟件或主機(jī)聯(lián)機(jī)仿真的基礎(chǔ)上,形成與硬件無關(guān)的程序調(diào)試與硬件同步進(jìn)行,以提高軟件調(diào)試速度。當(dāng)與硬件無關(guān)的程序塊全部調(diào)試完且用戶系統(tǒng)調(diào)試也已完成以后,可以將仿真機(jī)與主機(jī)、用戶系統(tǒng)連接,進(jìn)行系統(tǒng)聯(lián)調(diào),先對(duì)依賴于硬件的程序塊進(jìn)行調(diào)試,調(diào)試成功后,再進(jìn)行兩大程序的有機(jī)結(jié)合及總調(diào)試。=2\*GB2⑵先分塊后組合如果系統(tǒng)的用戶規(guī)模較大,任務(wù)較多,那么即使先行將用戶程序分為與硬件無關(guān)和依賴于硬件兩部分,如果這兩部分程序依舊較為龐大的話,采用順序從頭到尾的調(diào)試方法既浪費(fèi)時(shí)間又不易進(jìn)行錯(cuò)誤性定位,所以常規(guī)的調(diào)試方法都是分別對(duì)兩類程序塊進(jìn)一步采用分模塊調(diào)試,以提高軟件調(diào)試的有效性。每個(gè)程序模塊調(diào)試完畢后,將相互關(guān)聯(lián)的程序模塊組合起來加以調(diào)試,以解決在程序模塊連接中可能出現(xiàn)的邏輯錯(cuò)誤,對(duì)所有程序模塊的整體組合是在系統(tǒng)聯(lián)調(diào)中進(jìn)行得。由于各個(gè)程序模塊已通過調(diào)試排除了內(nèi)部錯(cuò)誤,所以軟件總體調(diào)試的錯(cuò)誤就大大減少了,而調(diào)試成功可能性就大大的提高了。=3\*GB2⑶先單步后連續(xù)調(diào)試好程序模塊的關(guān)鍵是實(shí)現(xiàn)對(duì)錯(cuò)誤的正確定位。準(zhǔn)確發(fā)現(xiàn)程序中錯(cuò)誤的最有效的方法是采用單步加斷點(diǎn)運(yùn)行的方法調(diào)試程序。單步運(yùn)行可以了解被調(diào)試程序中每條指令被執(zhí)行的情況,分析指令的運(yùn)行結(jié)果可以知道該指令的正確性,并且進(jìn)一步了解是硬件電路錯(cuò)誤、數(shù)據(jù)錯(cuò)誤還是程序設(shè)計(jì)錯(cuò)誤等引起該指令的執(zhí)行錯(cuò)誤,從而發(fā)現(xiàn)和排除錯(cuò)誤。但是所有程序都單步運(yùn)行的方式查找錯(cuò)誤,是一件費(fèi)時(shí)又費(fèi)力的工作,所以為了提高調(diào)試效率,一般采用先使用斷電運(yùn)行的方式來精確定位錯(cuò)誤所在,這樣做到調(diào)試的快捷和準(zhǔn)確。有些實(shí)時(shí)性操作利用單步運(yùn)行方法無法調(diào)試,必須采用連續(xù)運(yùn)行方法進(jìn)行調(diào)試,為了提高對(duì)錯(cuò)誤的定位,可使用連續(xù)加斷點(diǎn)運(yùn)行方式調(diào)試這類程序,即利用斷點(diǎn)定位的改變,一步步縮小范圍,直至最終確定出錯(cuò)誤位置并加以排除。4.2.3系統(tǒng)聯(lián)調(diào)系統(tǒng)聯(lián)調(diào)是讓用戶系統(tǒng)的軟件在其硬件上運(yùn)行,進(jìn)行軟、硬件聯(lián)合調(diào)試,從而發(fā)現(xiàn)硬件故障錯(cuò)誤或軟、硬件設(shè)計(jì)錯(cuò)誤。系統(tǒng)聯(lián)調(diào)主要解決以下問題:=1\*GB2⑴系統(tǒng)軟硬件是否能按預(yù)定的要求配合工作;=2\*GB2⑵系統(tǒng)運(yùn)行中是否有潛在的設(shè)計(jì)時(shí)難以預(yù)料的錯(cuò)誤;=3\*GB2⑶系統(tǒng)的動(dòng)態(tài)性能指標(biāo)是否滿足設(shè)計(jì)要求; 4.3電機(jī)的選擇 常用的電機(jī)驅(qū)動(dòng)技術(shù)有步進(jìn)驅(qū)動(dòng)、伺服驅(qū)動(dòng)、變頻驅(qū)動(dòng),其中伺服驅(qū)動(dòng)又分為開環(huán)、半閉環(huán)、閉環(huán)系統(tǒng)。圖4-2開環(huán)系統(tǒng)流程圖圖4-3半開環(huán)系統(tǒng)流程圖圖4-4閉環(huán)系統(tǒng)流程圖 4.3.1步進(jìn)電機(jī)的驅(qū)動(dòng)技術(shù)步進(jìn)電機(jī)是一種將數(shù)字式電脈沖信號(hào)轉(zhuǎn)換成機(jī)械角位移或線位移的機(jī)電元件。它的機(jī)械位移與輸入的數(shù)字脈沖信號(hào)有著嚴(yán)格的對(duì)應(yīng)關(guān)系,即一個(gè)脈沖信號(hào)可使步進(jìn)電動(dòng)機(jī)前進(jìn)一步,又由于它的輸入信號(hào)為脈沖電壓,因此又被稱作脈沖電動(dòng)機(jī)。步進(jìn)電動(dòng)機(jī)作為數(shù)字控制系統(tǒng)的佳配,它是一種比較理想的執(zhí)行元件。步進(jìn)電機(jī)驅(qū)動(dòng)技術(shù)是典型的開環(huán)控制系統(tǒng),主要用于位置或角位移變化的運(yùn)動(dòng)控制領(lǐng)域。圖4-5步進(jìn)電機(jī)選擇步進(jìn)電機(jī)驅(qū)動(dòng)技術(shù)主要特點(diǎn):位置控制,成本較低。圖4-6步進(jìn)電機(jī)驅(qū)動(dòng)器變頻驅(qū)動(dòng)技術(shù)變頻控制系統(tǒng)是一種能夠?qū)崿F(xiàn)機(jī)械平臺(tái)或回轉(zhuǎn)機(jī)構(gòu)的速度的自動(dòng)、連續(xù)、精確地復(fù)現(xiàn)輸入指令信號(hào)的變化規(guī)律的自動(dòng)控制系統(tǒng)。圖4-7變頻器通用系統(tǒng)框圖整流器:將交流電變換成直流的電力電子裝置,其輸入電壓為正弦波,輸入電流非正弦,帶有豐富的諧波。逆變器:將直流電轉(zhuǎn)換成交流電的電力電子裝置,其輸出電壓為非正弦波,輸出電流近似正弦。變頻驅(qū)動(dòng)技術(shù)主要用于轉(zhuǎn)速或頻率變化的節(jié)能環(huán)保領(lǐng)域。圖4-8雙極性SPWM回路圖4-9輸出電壓波示意圖變頻驅(qū)動(dòng)技術(shù)的主要特點(diǎn):速度控制,成本適中。4.3.3伺服驅(qū)動(dòng)技術(shù)伺服控制系統(tǒng)是一種能夠準(zhǔn)確、快速和穩(wěn)定地實(shí)現(xiàn)機(jī)械平臺(tái)或回轉(zhuǎn)機(jī)構(gòu)的位置、方位、速度、轉(zhuǎn)矩或者其它機(jī)械狀態(tài)的輸出被控量跟隨輸入目標(biāo)值<或給定值>的任意變化的自動(dòng)控制系統(tǒng)。伺服驅(qū)動(dòng)技術(shù)主要用于速度、位置和轉(zhuǎn)矩變化的全閉環(huán)準(zhǔn)確運(yùn)動(dòng)控制領(lǐng)域。伺服驅(qū)動(dòng)技術(shù)的主要特點(diǎn):速度、位置和轉(zhuǎn)矩的全閉環(huán)控制,成本較高。圖4-10常用伺服裝置比較4.3.4電機(jī)控制方式選擇不同的應(yīng)用場(chǎng)合,對(duì)控制用電動(dòng)機(jī)的性能密度的要求也有所不同。〔1>對(duì)于起停頻率低<如幾十次/分>,但要求低速平穩(wěn)和扭矩脈動(dòng)小,高速運(yùn)行時(shí)振動(dòng)、噪聲小,在整個(gè)調(diào)速范圍內(nèi)均可穩(wěn)定運(yùn)動(dòng)的機(jī)械,如NC工作機(jī)械的進(jìn)給運(yùn)動(dòng)、機(jī)器人的驅(qū)動(dòng)系統(tǒng),其功率密度是主要的性能指標(biāo);<2>對(duì)于起停頻率高<如數(shù)百次/分>,但不特別要求低速平穩(wěn)性的產(chǎn)品,如高速打印機(jī)、繪圖機(jī)、打孔機(jī)、集成電路焊接裝置等主要的性能指標(biāo)是高比功率。<3>在額定輸出功率相同的條件下,交流伺服電動(dòng)機(jī)的比功率最高、直流伺服電動(dòng)機(jī)次之、步進(jìn)電動(dòng)機(jī)最低。而我們的自動(dòng)循跡輪椅由于要求要有足夠的響應(yīng)速度,同時(shí)要能夠要有優(yōu)良的調(diào)速性能,并且在控制上能夠和軟件的設(shè)計(jì)進(jìn)行較好的結(jié)合,所以充分結(jié)合各種控制電機(jī)調(diào)速方式的優(yōu)缺點(diǎn),并且根據(jù)輪椅的能源裝置需要隨身攜帶,只能采用類似蓄電池式的能源裝置,我們選定直流調(diào)速電機(jī)作為驅(qū)動(dòng)裝置。為了便于控制,同時(shí)適應(yīng)3個(gè)光電對(duì)管的控制形式,只設(shè)置兩檔調(diào)速,實(shí)際情況可以增加多檔調(diào)速,同時(shí)將控制系統(tǒng)的復(fù)雜程度提高以適應(yīng)變速過程。4.4輪椅轉(zhuǎn)向系統(tǒng)的設(shè)計(jì)利用紅外式傳感器檢測(cè)地面上引導(dǎo)線的光強(qiáng)模擬信號(hào),3路模數(shù)轉(zhuǎn)換通道AD0~AD2與各個(gè)紅外式傳感器的反射信號(hào)相連,通過80C51自身的AD轉(zhuǎn)換通道處理數(shù)據(jù)。反射后光的強(qiáng)弱是通過模擬電壓來表征的,每一個(gè)接收管都對(duì)應(yīng)了一個(gè)模擬電壓,將他們進(jìn)行A/D轉(zhuǎn)換,并將所得的數(shù)值與每個(gè)光電管設(shè)置的閾值電平相比較,進(jìn)而判斷輪椅的行進(jìn)狀態(tài)是否需要改變,要進(jìn)行調(diào)整,將3個(gè)光電管同時(shí)位于檢測(cè)區(qū),安裝位置大致如圖4-11所示。圖4-11輪椅檢測(cè)位置示意圖 小車采用兩輪驅(qū)動(dòng),其中使用L298是控制直流電機(jī)的專用集成芯片,它是雙H橋高電壓功率大電流功率集成電路,可驅(qū)動(dòng)2個(gè)直流電動(dòng)機(jī)等感性負(fù)載。L298可以驅(qū)動(dòng)兩個(gè)電機(jī)運(yùn)動(dòng),A組控制電機(jī),B組控制另一個(gè)電機(jī)。其中,ENA、IN1、IN2為L(zhǎng)298的A組輸入使能控制,IN1與IN2為輸入端,輸出端為OUT1、OUT2。當(dāng)ENA=1,IN1=1,IN2=0時(shí),電動(dòng)機(jī)正轉(zhuǎn);當(dāng)ENA=1,IN1=0,IN2=1時(shí),電動(dòng)機(jī)反轉(zhuǎn);B組控制方式與A組是一樣的。反射式紅外二極管檢測(cè)地面引導(dǎo)線,通過A/D轉(zhuǎn)換得到一個(gè)值,反射光越強(qiáng),值越大;反射光越小,值越小。程序開始執(zhí)行時(shí),位置檢測(cè)裝置位于引導(dǎo)線上,測(cè)出引導(dǎo)線與地面背景值,求出平均值,作為閾值avg。規(guī)定:當(dāng)A/D轉(zhuǎn)換的檢測(cè)值大于閾值,令狀態(tài)dStatue=1;若A/D轉(zhuǎn)換的檢測(cè)值小于閾值,令狀態(tài)dStatue=0;用定時(shí)器1控制定時(shí)采樣輪椅的位置量,根據(jù)車的位置控制其運(yùn)動(dòng),程序流程圖如下:圖4-12系統(tǒng)控制流程圖具體程序代碼如下:#include<reg51.h>#defineTMOD_VALUE0x20//定義c/t1的工作方式#defineTH1_VALUE0xE6//定義TH1的值#defineTL1_VALUE0xE6//定義TL1的值typedefunsignedcharuchar;uchardatavalue[3]_at_0x40; //留意空格uchardataadNum;//AD通道號(hào)uchardataflag1;//完成3路數(shù)據(jù)采集,標(biāo)志=1uchardataflag2;//完成閾值計(jì)算,標(biāo)志=1uchardataavg;//閾值ucharxdataadAddr;//定義ADC0809地址,假設(shè)為0x2000ucharbdatadStatue=0;sbitdStatue_0=dStatue^0;sbitdStatue_1=dStatue^1;sbitdStatue_2=dStatue^2;sbitP1_0=P1^0;sbitP1_1=P1^1;sbitP1_2=P1^2;sbitP1_3=P1^3;sbitP1_4=P1^4;sbitP1_5=P1^5;voidiniTimer1<void>{ TMOD=TMOD_VALUE; //定時(shí)器1方式2 TH1=TH1_VALUE; //定時(shí)器1預(yù)置數(shù) TL1=TL1_VALUE; //定時(shí)器1置重裝載數(shù) TR1=1; //啟動(dòng)定時(shí)器 return;}voidcount<void>{ avg=value[0]/2+value[1]/2; //閾值計(jì)算完 flag2=1; return;}voiddelay<void> //延時(shí){ uchardatai; while<i<5000> { i++; } return;}voidturn<ucharx> //小車方向控制函數(shù){ if<x==0> //左轉(zhuǎn) { P1_3=1;P1_2=0;P1_4=0;P1_5=1; //使L298的ENA=1,ENB=1,右輪電機(jī)全速前進(jìn) while<1> { P1_1=1;P1_2=0; //左輪半速前進(jìn) delay<>; //延時(shí) P1_1=~P1_1;P1_2=~P1_2; //全速 delay<>; } } if<x==1> //右轉(zhuǎn) { P1_3=1;P1_2=0;P1_4=0;P1_5=1;//左輪電機(jī)全速 while<1> { P1_4=1;P1_5=0; //左輪電機(jī)半速 delay<>; P1_1=~P1_1;P1_2=~P1_2; //全速 delay<>; } } if<x==2>//前進(jìn) { P1_3=1;P1_0=1;//使L298的ENA=1,ENB=1; P1_1=1;P1_2=0;//左輪前進(jìn) P1_4=0;P1_5=1;//右輪前進(jìn) return; } if<x==3>//停止 { P1_3=0;P1_0=0;//使L298的ENA=0,ENB=0 P1_1=0;P1_2=0;//左輪停轉(zhuǎn) P1_4=0;P1_5=0;//右輪停轉(zhuǎn) return; }}voidmotorcontrol<ucharx>{ switch<x> { case0:turn<0>;break; case1:turn<1>;break; case2:turn<2>;break; case3:turn<3>;break; }}voidjudge<void>{ if<value[0]<avg>//小于閾值置位變量dState_0=0 dStatue_0=0; else dStatue_0=1;//AD轉(zhuǎn)換值大于閾值,置位變量dState_0=1 if<value[1]<avg> dStatue_0=0; else dStatue_0=1; if<value[2]<avg> dStatue_0=0; else dStatue_0=1; return;}main<>{ iniTimer1<>; adNum=0; IT1=1; EA=1; EX1=1; ET1=1; flag1=0; flag2=0; motorcontrol<2>; adAddr=adNum; while<1> { if<flag1==1> { if<flag2==0> { count<>; } flag1=0; judge<>; switch<dStatue> { case0:motorcontrol<3>;break; case1:motorcontrol<1>;break; case2:motorcontrol<2>;break; case4:motorcontrol<0>;break; default:motorcontrol<3>;break; } } }}voidtimerInt<void>interrupt3using3{ adAddr=adNum; return;}voidadcInt<void>interrupt2using2{ value[adNum]=adAddr; adNum++; if<adNum<3> { adNum++; return; } else { flag1=1; adNum=0; } return;}程序的設(shè)計(jì)定義,定義標(biāo)志flag1,當(dāng)3路紅外傳感器數(shù)據(jù)采集完成后,置flag1=1;否則置flag1=0。標(biāo)志flag2表示閾值的計(jì)算是否完成,如果完成則置flag2=1;否則,置flag2=0。閾值計(jì)算只需要在開始的時(shí)候需要。速度的控制采用簡(jiǎn)單控制:直線前進(jìn)時(shí),兩電機(jī)的速度相同,小車

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論