機器人畢業(yè)設(shè)計電控部分.doc
《機器人畢業(yè)設(shè)計電控部分.doc》由會員分享,可在線閱讀,更多相關(guān)《機器人畢業(yè)設(shè)計電控部分.doc(30頁珍藏版)》請在裝配圖網(wǎng)上搜索。
. —-可編輯修改,可打印—— 別找了你想要的都有! 精品教育資料 ——全冊教案,,試卷,教學(xué)課件,教學(xué)設(shè)計等一站式服務(wù)—— 全力滿足教學(xué)需求,真實規(guī)劃教學(xué)環(huán)節(jié) 最新全面教學(xué)資源,打造完美教學(xué)模式 第二篇 機器人控制部分 目錄 第二篇 機器人控制部分 1 第一章3輪全方位輪式結(jié)構(gòu)運動原理分析 2 1.1 3輪全方位輪式結(jié)構(gòu)數(shù)學(xué)模型 2 1.2 任意方向的直線運動 3 1.3其他方向 4 第二章 機器人電氣化系統(tǒng)設(shè)計 5 2.1電源模塊的設(shè)計 5 2.2主控芯片的選擇和模塊的設(shè)計 6 2.3電機驅(qū)動器的設(shè)計與選擇 10 2.4電池參數(shù)的計算與選擇 13 2.5傳感器信息采集模塊的設(shè)計 14 2.6手動機器人遙控手柄的設(shè)計與調(diào)試 16 2.7機器人人機界面的設(shè)計 22 2.9手動機器人電路總圖 23 第三章 嵌入式程序設(shè)計 26 第三章 嵌入式程序設(shè)計 26 3.1.1 系統(tǒng)的主程序 26 3.4.2 初始化任務(wù) 26 3.2遙控手柄程序流程圖及程序模塊 26 3.2人機界面程序模塊 27 3.3機器人紅方總程序 27 第四章 設(shè)計軟件的使用 28 4.1 Proteus 28 4.2 ICC AVR 29 第一章3輪全方位輪式結(jié)構(gòu)運動原理分析 1.1 3輪全方位輪式結(jié)構(gòu)數(shù)學(xué)模型 圖2-1-1三輪機器人運動分析圖 選擇固定在車體的坐標系(車體坐標系)XOY,如圖一所示: 根據(jù)運動合成與分解原理,車體的運動和驅(qū)動輪的運動之間的運動關(guān)系如下: : 三組驅(qū)動輪轉(zhuǎn)動的線速度。 : 分別是三組驅(qū)動輪的轉(zhuǎn)動角。 : 機器人平移速度在機器人車體坐標系下X和Y軸的分量。 :機器人自傳的角速度。 :分別是車體幾何中心到三組車輪中心的水平距離。 R :是車輪的半徑。 將速度改成角速度: 改寫成規(guī)范的矩陣形式: , 由這些公式可以很直觀的分析出機器人做簡單運動時三個驅(qū)動輪速度的大小。 1.2 任意方向的直線運動 此時機器人自轉(zhuǎn)角速度,即機器人平動。則: 兩種特殊的情況: 沿X軸方向是: 理論上Vx0,Vy=0。則其分量為 沿Y軸方向是: 理論上Vx=0,Vy0,的值由線速度決定。 1.3其他方向 可以直接使用這個公式推斷 原地旋轉(zhuǎn): 切線運動: 由于太復(fù)雜,暫時不考慮. 第二章 機器人電氣化系統(tǒng)設(shè)計 在開始這章具體內(nèi)容之前,有必要對我們的專業(yè)背景進行一下說明,以便能更好的明白我們?yōu)槭裁磿@樣設(shè)計我們的電路。 五年制復(fù)合型專業(yè):機械工程及自動化+軟件工程。這就意味著我們要有限的時間內(nèi)學(xué)習(xí)兩個專業(yè)的知識,現(xiàn)代機械設(shè)計和軟件嵌入式,但是嵌入式方向并沒有學(xué)模擬電路這門極其重要的基礎(chǔ)課,僅僅是學(xué)過數(shù)字電路,所以我們的硬件電路知識是很薄弱和不可靠,更多的是靠我們自學(xué),參考別人的電路模塊。所以采取了避開自己弱項,充分發(fā)揮自己強項的方法,盡量的使用數(shù)字電路而非模擬電路。 兩年的參賽經(jīng)驗:標準件、商業(yè)化的模塊才是可靠的。 很多時候我們喜歡自己設(shè)計一個模塊,為自己能設(shè)計制作出來而感到有成就感。但是這也容易帶來系統(tǒng)的不穩(wěn)定,也許一個模塊小小問題在單獨調(diào)試時并沒有顯示太大的缺點,但是一旦集成了一個大系統(tǒng)就容易出現(xiàn)各種不穩(wěn)定,這一點在09年亞太機器人大賽中感受尤為深切。 在09年的比賽中,大部分模塊都是隊友設(shè)計的,很多東西并不具有通用性,什么都需要定制。在北京的一周時間里,我們發(fā)現(xiàn)很多好的學(xué)校電路幾乎都是工業(yè)級模塊,工業(yè)級的產(chǎn)品是經(jīng)過市場長期檢驗的,同時具有售后技術(shù)服務(wù),性能可靠,而且具有互換性,不會因為自己當初制作時預(yù)算數(shù)量不夠,關(guān)鍵時候出現(xiàn)尷尬。 能把各種穩(wěn)定的模塊集成一個新的系統(tǒng)也是一種設(shè)計創(chuàng)新。 2.1電源模塊的設(shè)計 2.1.1 7805電源模塊的設(shè)計 圖2-2-1 7805電源模塊電路圖 單片機最常用的是5V與3.3V兩種電壓。本線路只用5V電壓。輸入峰值電壓不超過15V,最好使用8—12V電源。 二極管D1防止用戶插錯電源極性,可以換用1N4148或4007 2.1.2 LM2596電源模塊的設(shè)計 圖2-2-2 LM2596電源模塊電路圖 模塊性質(zhì):非隔離降壓模塊(buck) ;整流方式:非同步整流 輸入電壓:4.5-35V; 輸出電壓:連續(xù)可調(diào)(1.25-30V) 輸出電流:額定電流2A,最大3A(需加散熱片),如果輸出功率大于15W,需加上散熱片 轉(zhuǎn)換效率:最高92%(輸出電壓越高,效率越高) 開關(guān)頻率:150KHz; 最低壓差:2V 工作溫度:工業(yè)級(-40℃到 +85℃)(輸出功率10W 以內(nèi)) 滿載溫升:40℃;負載調(diào)整率:±0.5%;電壓調(diào)整率:±0.5% 輸出紋波:輸入12V 輸出5V 3A 60mV(MAX);輸入24V 輸出12V 3A 120mV(MAX) 20M帶寬;動態(tài)響應(yīng)速度:5% 200uS 短路保護:限流,自恢復(fù);輸入反接保護:無,或在輸入串聯(lián)二極管 接線方式:焊接,加引腳后可直接焊接在PCB上 2.2主控芯片的選擇和模塊的設(shè)計 對于主控芯片的選擇在設(shè)計之初大家都有些脫離具體實際情況,想到了用ARM和DSP等32位處理器系列,在2009年ABU Robocon 比賽中我們看到了很多好的學(xué)校使用這一類處理器,甚是羨慕。也想到過用16位的PIC或者FREESCAL芯片以及PLC工控模塊。但是慢慢的我們都冷靜下來,因為這些高端的處理器我們僅僅是了解大概,甚至僅僅是皮毛。我們很多隊友連8位的51單片機都還沒有在實際項目中用過。 盡管之前我們課程中都學(xué)過80C51和ARM,但基于大部分隊員只能掌握8位的CPU,另外由于我之前就已經(jīng)開始參加各類比賽,接觸51單片機比較早,后來又接觸了AVR系列單片機,被AVR的高性能嗦吸引,最后我們的目光還是鎖定在了三款8位的單片機80C51、Atmega16、Atmega128上面。 從芯片說明書的參數(shù)對比中我們看出各款芯片的優(yōu)劣勢,我們一致決定從最初的實驗開始就使用Atmega16。Atmega16一直伴隨我們完成了初期的各類實驗?;镜腁VR硬件線路,包括以下幾部分: 圖2-2-3 Atmega16系統(tǒng)電路圖 1) 復(fù)位線路:Mega16已經(jīng)內(nèi)置了上電復(fù)位設(shè)計。并且在熔絲位里,可以控制復(fù)位時的額外時間,故AVR外部的復(fù)位線路在上電時,可以設(shè)計得很簡單:直接拉一只10K的電阻到VCC即可(R0)。 為了可靠,再加上一只0.1uF的電容(C0)以消除干擾、雜波。 D3(1N4148)的作用有兩個:作用一是將復(fù)位輸入的最高電壓鉗在Vcc+0.5V 左右,另一作用是系統(tǒng)斷電時,將R0(10K)電阻短路,讓C0快速放電,讓下一次來電時,能產(chǎn)生有效的復(fù)位。 當AVR在工作時,按下S0開關(guān)時,復(fù)位腳變成低電平,觸發(fā)AVR芯片復(fù)位。 實際應(yīng)用時,如果不需要復(fù)位按鈕,復(fù)位腳可以不接任何的零件,AVR芯片也能穩(wěn)定工作。即這部分不需要任何的外圍零件。 圖2-2-4 Atmega16系統(tǒng)復(fù)位和晶振電路圖 2) 晶振線路:Mega16已經(jīng)內(nèi)置RC振蕩線路,可以產(chǎn)生1M、2M、4M、8M的振蕩頻率。早期的90S系列,晶振兩端均需要接22pF左右的電容。Mega系列實際使用時,這兩只小電容不接也能正常工作。不過為了線路的規(guī)范化,我們?nèi)越ㄗh接上。 實際應(yīng)用時,如果不需要太高精度的頻率,可以使用內(nèi)部RC振蕩。即這部分不需要任何的外圍零件。 圖2-2-5 Atmega16 AD轉(zhuǎn)換濾波及ISP線路圖 本系統(tǒng)的熔絲位配置如圖5-1所示:系統(tǒng)時鐘源采用外接8MHz的石英晶振配合片內(nèi)RC振蕩器的方式,CLKSEL[3:0]的值為“1111”;SUT[1:0]的值為“00”,RESET復(fù)位啟動延時時間/ms為65ms;JTAGEN值為“1”,禁止JTAG功能;SPIEN 值為“0”,允許SPI口下載程序;WDTON值為“1”,WDT定時器由程序控制;BOOTRST值為“1”,啟動時第一條執(zhí)行指令從0x0000開始執(zhí)行; 圖2-2-6 熔絲位配置 3) AD轉(zhuǎn)換濾波線路:為減小AD轉(zhuǎn)換的電源干擾,Mega16芯片有獨立的AD電源供電。官方文檔推薦在VCC串上一只10uH的電感(L1),然后接一只0.1uF的電容到地(C3)。Mega16內(nèi)帶2.56V標準參考電壓。也可以從外面輸入?yún)⒖茧妷?,比如在外面使用TL431基準電壓源。不過一般的應(yīng)用使用內(nèi)部自帶的參考電壓已經(jīng)足夠。習(xí)慣上在AREF腳接一只0.1uF的電容到地(C4)。 4) ISP下載接口:ISP下載接口,不需要任何的外圍零件。使用雙排2*5插座。由于沒有外圍零件,故PB5(MOSI)、PB6(MISO)、PB7(SCK)、復(fù)位腳仍可以正常使用,不受ISP的干擾。 5) JTAG仿真接口:這個功能很好很強大,但是一直習(xí)慣于用ISP下載然后直接在機器人上面調(diào)試所以沒有怎么使用,這里就不在介紹。 在機器人將開始整體聯(lián)機調(diào)試前,需要將試驗階段的各種小電路模塊集成整體電路,在此階段對立果斷的更換了內(nèi)部資源更多的Atmega128,二者的系統(tǒng)電路沒有區(qū)別,但極大的減少了芯片數(shù)量,減少了我們最薄弱的硬件電路,更好的集成了控制電路,使代碼具有更好的效率,也減少了犯錯的概率,為調(diào)試節(jié)約了寶貴的時間。 圖2-2-7 Atmega128模塊系統(tǒng)電路原理圖 圖2-2-8 Atmega128模塊系統(tǒng)實物圖 2.3電機驅(qū)動器的設(shè)計與選擇 在直流電機驅(qū)動電路的設(shè)計中,主要考慮以下幾點: 功能:電機是單向還是雙向轉(zhuǎn)動?需不需要調(diào)速?對于單向的電機驅(qū)動,只要用一個大功率三極管或場效應(yīng)管或繼電器直接帶動電機即可,當電機需要雙向轉(zhuǎn)動時,可以使用由4 個功率元件組成的H 橋電路或者使用一個雙刀雙擲或者兩個單刀雙擲的繼電器。如果不需要調(diào)速,只要使用繼電器即可;但如果需要調(diào)速,可以使用三極管,場效應(yīng)管等開關(guān)元件實現(xiàn)PWM(脈沖寬度調(diào)制)調(diào)速。 不需要調(diào)速但能實現(xiàn)電機雙向轉(zhuǎn)動的繼電器控制電路; 圖2-2-9 繼電器控制電路圖 對于PWM 調(diào)速的電機驅(qū)動電路,主要有以下性能指標。 1)輸出電流和電壓范圍,它決定著電路能驅(qū)動多大功率的電機。 2)效率,高的效率不僅意味著節(jié)省電源,也會減少驅(qū)動電路的發(fā)熱。要提高電路的效率,可以從保證功率器件的開關(guān)工作狀態(tài)和防止共態(tài)導(dǎo)通(H 橋或推挽電路可能出現(xiàn)的一個問題,即兩個功率器件同時導(dǎo)通使電源短路)入手。 3)對控制輸入端的影響。功率電路對其輸入端應(yīng)有良好的信號隔離,防止有高電壓大電流進入主控電路,這可以用高的輸入阻抗或者光電耦合器實現(xiàn)隔離。 4)對電源的影響。共態(tài)導(dǎo)通可以引起電源電壓的瞬間下降造成高頻電源污染;大的電流可能導(dǎo)致地線電位浮動。 5)可靠性。電機驅(qū)動電路應(yīng)該盡可能做到,無論加上何種控制信號,何種無源負載,電路都是安全的。 下面這個驅(qū)動器采用完整的全橋驅(qū)動芯片+極低內(nèi)阻的MOSFET組成。完整的全橋驅(qū)動芯片可靠的驅(qū)動方式,使MOSFET的開關(guān)損耗降至最低。提高電源利用率。MOSFET驅(qū)動芯片自帶硬件剎車功能和電能回饋功能。 本驅(qū)動器優(yōu)于功率芯片方案功率余量低和其他半橋組合方案中時序協(xié)調(diào)復(fù)雜問題和互補驅(qū)動問題。 MOSFET采用耐電流沖擊型,內(nèi)阻為0.005歐,可快速使MOSFET溝道打開,提高電機的加速曲率,同時也能迅速的為電機制動。這可以使的的小車能迅速啟動也能迅速殺車。驅(qū)動器可以工作在0%-100%的PWM調(diào)制占空比,也是普通驅(qū)動器無法做到的。 性能參數(shù):額定電壓:12V-28V;額定電流:20A;峰值電流:50A 外形尺寸:4.4cm*2.7cm*1.2cm 圖2-2-10全橋驅(qū)動電路圖及邏輯表 安裝方式:針腳孔是標準2.54mm間距,可與實驗板直接插接。 在高精度控制的電機上面我們還需要使用專門的電機控制器; MLSS4805直流伺服驅(qū)動器 圖2-2-12 MLSS4805直流伺服驅(qū)動器 適用范圍 ? 適合驅(qū)動有刷、永磁直流伺服電機,力矩電機,空心杯電機; ? 最大連續(xù)電流5A,最大峰值電流10A; ? 直流電源+12~48V; ? 功率200瓦,過載能力達400瓦; ? 速度、位置的四象限控制。 主要功能 ? 輸入脈沖、方向信號進行步進模式控制; ? 高精度PWM信號速度控制; ? 通過RS232實現(xiàn)參數(shù)調(diào)整、在線監(jiān)測; ? PID參數(shù)數(shù)字化存儲; ? 實時讀取驅(qū)動器內(nèi)部溫度; ? 過流、過載、過壓、欠壓保護; ? 溫度保護; ? 超調(diào)、失調(diào)保護,動態(tài)跟蹤誤差保護。 反饋元件:增量式編碼器。 接口定義 1 +12~48V 驅(qū)動器電源(輸入電機額定電壓) 輸入 電源 2 0V 驅(qū)動器電源地 輸入 3 MOT+ 電機驅(qū)動信號正 輸出 電機 4 MOT- 電機驅(qū)動信號負 輸出 5 +5V 編碼器正電源 輸出 編碼器 6 A 編碼器信號A通道 輸入 7 B 編碼器信號B通道 輸入 8 0V 編碼器電源地 輸出 9 TX RS-232發(fā)送端,與編碼器電源共地 輸出 RS232 10 RX RS-232接收端,與編碼器電源共地 輸入 11 VCC 控制信號公共電源(+4.75~5.25V) 輸入 控制信號 12 CLK / PWM 控制輸入(脈沖 / 脈寬)(隔離) 輸入 13 DIR 方向控制(只在步進模式有效,隔離) 輸入 14 EN / RST 外部使能控制(隔離) 輸入 15 FAULT 故障輸出(隔離) 輸出 16 GND 控制信號,和VCC由外部供給 輸入 串口連接 驅(qū)動器標號 顏色 DB9引腳號 TX 紅 2 RX 藍 3 0V 黃(或綠) 5 PWM速度控制模式 (1)信號來源:PWM信號 (2)設(shè)置模式:PWM速控模式,信號源:SCS2 (3)PWM信號規(guī)范: 頻率范圍:100-500Hz; 占空比范圍:1%≤占空比≤99%(推薦,在此范圍內(nèi),線性度能保證在0.1%以內(nèi))。占空比=50%,V = 0;占空比<50%,電機反轉(zhuǎn);占空比>50%,電機正轉(zhuǎn)。 計算公式:V = Vmax *(占空比*100 – 50)/50 例如:當設(shè)置SSP5000,占空比 = 5%時, V = 5000*(0.05*100 –50)/ 50 = -4500 RPM (4)為了保證 PWM占空比為50%時,電機速度為零,可用SMV指令設(shè)置最小速度; 2.4電池參數(shù)的計算與選擇 電池需要考慮芯片控制電路需要使用的電壓一般為5V,而動力驅(qū)動為24V,這樣就涉及二者到是否需要隔離??紤]到電機啟動對電路的穩(wěn)定影響很大,所以我們采用了兩種不同的電池為控制系統(tǒng)和動力系統(tǒng)提供電源。對于機器人電池我們從三個方面考慮:電壓,電流,容量: 手動機器人主要動力消耗有3臺25W的MAXON RE25底盤驅(qū)動電機,2臺45W的升降的空心杯電機以及2臺20W的手臂推塊用電機。 動力總功率: P=3*25+2*45+2*20=205W 電池電壓:U=24V 最大正常工作情況下總電路電流:I=P/U=205/24=8.5A 但實際正常工作的電路中不會出現(xiàn)上面所算出的那么大電流除非電機堵轉(zhuǎn)或者短路。 由流程圖可以看到機器人最大工作電流為升降時兩臺45W電機同時工作即90W,此時的電流I1=90/24=3.75A。 給電池留有余量所以I=I1*1.5=5.625A。 根據(jù)機器人的完成任務(wù)所需要的時間我們假設(shè)為10分鐘(實際上場比賽為90s,我們需要留有很大的余量,因為在備場調(diào)試還有等待的時間消耗)也就是1/6小時,那么整個動力電池的容量根據(jù)上面的定義將需要接近1AH。 在家調(diào)試的時候我們繼續(xù)使用的09年亞太機器人大賽留下來的磷酸鐵聚合物電池容量為10AH,最大瞬間電流10A。但是磷酸鐵聚合物電池體積大重量大,在所有機器人都調(diào)試完了準備去北京之前的半個月我們面臨超重的嚴峻問題,在經(jīng)過大家討論之后決定更換航模電池,其特點是容量大,放電電流大,重量輕。 串聯(lián)/并聯(lián): 當電池組串聯(lián)時,電壓疊加,容量不變;當電池組并聯(lián)時,容量疊加,電壓不變。根據(jù)串并聯(lián)原理我們需要得到24V的電池就需要串聯(lián)7個電池單元,最后我們得到的組合電池具體如下: 航模電池單元參數(shù) 芯片電5V航模電池單元參數(shù) 動力24V航模電池組裝參數(shù) 尺寸(mm):58x9x24 尺寸(mm):120x20x50 尺寸(mm):120x20x75 容量(mAh): 1200 容量(mAh): 1200 容量(mAh): 1200 放電倍率:18c 放電倍率:18c 放電倍率:18c 電壓(V):3.7V 電壓(V):7.4 電壓(V):25.9 重量(g):32g 重量(g):65 重量(g):250 航模電池具有專門的智能充電器,解決了很多后顧之憂。在后來的實踐中證明自己組裝的電池滿足我們機器人的使用。 圖2-2-11 航模電池單元及智能充電器 2.5傳感器信息采集模塊的設(shè)計 2.5.1編碼器 運動控制系統(tǒng)中反饋裝置的作用是將物理參數(shù)轉(zhuǎn)換成電信號,以便可由儀表轉(zhuǎn)換成數(shù)據(jù)表示,或者形成反饋通道給控制器提供決策的依據(jù)。為了實現(xiàn)運動控制系統(tǒng)的閉環(huán)控制,就需要反饋裝置把運動機構(gòu)的位置、速度、轉(zhuǎn)矩、電流和電壓等參數(shù)反饋給控制器。 編碼器分為碼尺和碼盤。碼尺是用來測量線性位移的,而碼盤是用來測量角度位移的。我們的足球機器人選用光電編碼器。光電編碼器是把表征物體運動狀態(tài)的物理量(位移、速度、加速度等)轉(zhuǎn)換成相應(yīng)的電學(xué)數(shù)字量,再通過微電子和計算機技術(shù)處理,實現(xiàn)自動檢測和自動控制,編碼器有兩種使用方法: 1) 通過安裝在編碼器軸上的從動輪在地面滾動的圈數(shù)計算,達到測量機器人在路面上行駛的位移的目的。 位移傳感器采用光電編碼盤。碼盤安裝在與主動輪同軸的從動輪上,與主動 輪同步轉(zhuǎn)動。設(shè)從動輪周長為L,碼盤線數(shù)為M,t時間內(nèi)碼盤輸出的脈沖數(shù)為N,輪子走過的距離S就是: 機器人選用的從動輪碼盤采用的500線的中空軸編碼盤,輸出A、B、Z三相脈沖。在電路實現(xiàn)上碼盤的四路信號,,,可經(jīng)過差分傳輸器形成兩路信號,且這兩路信號有90度的相差,也可以直接利用有90度相差的,兩路信號。在CPU中用一路信號對另一路信號進行鑒相就可以知道碼盤是正轉(zhuǎn)還是在反轉(zhuǎn),正轉(zhuǎn)時加計數(shù),反轉(zhuǎn)時減計數(shù)。 在碼盤轉(zhuǎn)軸上的輪轉(zhuǎn)一圈也就代表碼盤光柵也轉(zhuǎn)了一圈。所以可以根據(jù)從碼盤光柵轉(zhuǎn)動的輸出信號來判斷從動輪轉(zhuǎn)了多少圈,再根據(jù)其周長就能算出機器人運動的距離。 這里要注意碼盤上的從動輪一定要保證始終與地面有一定壓力接觸,不能丟圈。 圖2-2-12 增量光電編碼器工作原理 2) 安裝在電機軸上,信號反饋到控制器上實現(xiàn)對電機的閉環(huán)控制。 原理和上圖是一樣的,但測量對象發(fā)生了改變,通過對電機轉(zhuǎn)速的檢測實現(xiàn)電機的實時控制。伺服電機控制器(除步進電機外)的控制也是基于碼盤的。 圖2-2-13 HP 500線編碼器接線圖及和電機完整的裝配圖 2.5.2光電開關(guān) 品牌 GAODE 名稱 光電開關(guān) 漫反射型 型號 E3F-DS30C4 輸出方式 NPN三線常開 外形 直徑18毫米圓柱體 工作電壓 直流10-36VDC以內(nèi) 檢測距離 30厘米(CM) 距離可調(diào) 輸出電流 300毫安(MA) 檢測物體 不透明體 外殼材料 塑料ABS 常開型(NO)和常閉型(NC)的區(qū)別: 常開(NO)是平常狀態(tài)下信號輸出線為斷開狀態(tài),無信號輸出,當感應(yīng)到物體時才閉合,輸出信號。 常閉(NC)是平常狀態(tài)下信號輸出線為閉合狀態(tài),持續(xù)信號輸出,當感應(yīng)到物體時才斷開,關(guān)閉信號。 兩種類型接近開關(guān)或光電開關(guān)根據(jù)實際需要選用。 三根線的接法:粽色接電源的正極,蘭色接電源的負極,黑色接負載(信號輸出)。 2.5.3觸動/限位開關(guān) 最簡單最實用的傳感器,不在過多介紹。 2.6手動機器人遙控手柄的設(shè)計與調(diào)試 2.6.1矩陣按鍵式 使用最為廣泛的信號輸入設(shè)備。 2.6.2 PS游戲手柄 PS手柄針腳輸出: 面對插頭 ------------------------------- PIN 1->| o o o | o o o | o o o | \_____________________________/ 對應(yīng)針腳及作用 1) DATA 2) COMMAND 3) N/C (9 Volts unused) 4) GND 5) VCC 6) ATT 7) CLOCK 8) N/C 9) ACK 圖2-2-14 SONY PS手柄實物圖 DATA:信號流向從手柄到主機。此信號是一個8 bit的串行數(shù)據(jù),同步傳送于時鐘下降沿(輸入輸出信號在時鐘信號由高到低時變化,所有信號的讀取在時鐘前沿到電平變化之前完成。) COMMAND :信號流向從主機到手柄。此信號和DATA相對,同樣是一個8 bit的串行數(shù)據(jù),同步傳送于時鐘下降沿。 VCC:電源電壓從5V到3V原裝的索尼手柄都可以工作。主機主板上裝有表面安裝的750mA 保險絲 ,用于防止外設(shè)過載(750mA是包括左右手柄和記憶卡)。 ATT:ATT 用于提供手柄觸發(fā)信號。信號在通信期間處于低電平。又有人將此針腳叫做 Select, DTR 和 Command。 CLOCK:信號流向從主機到手柄。用于保持數(shù)據(jù)同步。 ACK:從手柄到主機的應(yīng)答信號。此信號在每個8 bits數(shù)據(jù)發(fā)送之后的最后一個時鐘周期變低,并且ATT 一直保低電平。如果ACK 信號不變低約60微秒PS主機會試另一個外設(shè)。 PS手柄信號: 所有通訊都是8 bit串行數(shù)據(jù)最低有效位先行。在PS 手柄總線的所有時碼在時鐘下降沿都是同步的。傳送一個字節(jié)的情況如下所示。 |BIT 0|BIT 1|BIT 2|BIT 3|BIT 4|BIT 5|BIT 6|BIT 7| CLOCK -----___---___---___---___---___---___---___---___----------- DATA -----000000111111222222333333444444555555666666777777-------- * * * * * * * * CMND -----000000111111222222333333444444555555666666777777-------- ACK ----------------------------------------------------------__- 數(shù)據(jù)線的邏輯電平在時鐘下降沿驅(qū)動下觸發(fā)改變。數(shù)據(jù)的接收讀取在時鐘的前沿(在記號*處)到電平變化之前完成。 在被選手柄接收每個COMMAND 信號之后,手柄需拉低ACK 電平在最后一個時鐘。如果被選手柄沒ACK 應(yīng)答主機將假定沒手柄接入。 當單片機主機想讀一個手柄的數(shù)據(jù)時,將會拉低ATT 線電平并發(fā)出一個開始命令 (0x01)。手柄將會回復(fù)它的ID (0x41=數(shù)字, 0x23=NegCon, 0x73=模擬紅燈, 0x53=模擬綠燈). 在手柄發(fā)送ID 字節(jié)的同時主機將傳送0x42 請求數(shù)據(jù)。隨后命令線將空閑和手柄送出 0x5A 意思說:“數(shù)據(jù)來了”。 下面是一個數(shù)字手柄的時鐘信號 ATT -______________________________________________________________ | Byte 1 | | Byte 2 | | Byte 3 | CLOCK ---_-_-_-_-_-_-_-_-----_-_-_-_-_-_-_-_-----_-_-_-_-_-_-_-_----- 0xFF 0x41 0x5A DATA -------------------------__________--__----__--__----__--__---- 0x01 0x42 CMND -----_____________-----__--________--__------------------------ ACK --------------------__-------------------__-----------------__- 在手柄執(zhí)行初始化命令之后將發(fā)送它所有的數(shù)據(jù)字節(jié)(數(shù)字手柄只有兩個字節(jié))。在最后字節(jié)發(fā)送之后使ATT 高電平,手柄無需ACK應(yīng)答。 數(shù)字手柄的數(shù)據(jù)傳送如下所示(這里A0,A1,A2...B6,B7 是兩個字節(jié)的數(shù)據(jù)比特)。 ATT _______________________________________------- | Byte 4 | | Byte 5 | CLOCK ---_-_-_-_-_-_-_-_-----_-_-_-_-_-_-_-_-------- DATA ---D0D1D2D3D4D5D6D7----E0E1E2E3E4E5E6E7------- CMND ---------------------------------------------- *** ACK --------------------__------------------------ 注意: 沒ACK. 2.6.3 SPI串行總線介紹 3) SPI總線的組成:串行外設(shè)接口SPI是由Freescale公司提出的一種采用串行同步方式的3線或4線通信接口,使用信號有使能信號、同步時鐘、同步數(shù)據(jù)輸入和輸出。典型的SPI總線系統(tǒng)包括一個主機和一個從機,雙方通過4根信號線相連,分別是: 4) 主機輸出/從機輸入(MOSI)。主機的數(shù)據(jù)傳入從機的通道。 5) 主機輸入/從機輸出(MISO)。從機的數(shù)據(jù)傳入主機的通道。 6) 同步時鐘信號(SCLK)。同步時鐘是由SPI主機產(chǎn)生的,并通過該信號線傳送給從機。主機與從機之間的數(shù)據(jù)接收和發(fā)送都以該同步時鐘信號為基準進行。 7) 從機選擇()。該信號由主機發(fā)出,從機只有在該信號有效時才響應(yīng)SCLK上的時鐘信號,參與通信。主機通過這一信號控制通信的起始和結(jié)束。 8) SPI通信地特點:SPI通信過程是一個串行移位的過程。當主機需要發(fā)起一次傳輸時,它首先拉低,然后在內(nèi)部產(chǎn)生的SCLK時鐘作用下,將SPI數(shù)據(jù)寄存器的內(nèi)容逐位移出,并通過MOSI信號線傳送至從機。而在從機一側(cè),一旦檢測到有效之后,在主機的SCLK時鐘作用下,也將自己寄存器中的內(nèi)容通過MISO信號線逐位移入主機寄存器中。當移位進行到雙方寄存器內(nèi)容交換完畢時,一次通信完成。如果沒有其他數(shù)據(jù)需要傳輸,則主機便抬高,停止SCLK時鐘,結(jié)束SPI通信。 9) 可以得出SPI通信的特點如下: 10) 主機控制具有完全的主導(dǎo)地位 11) SPI通信時一種全雙工高速的通信方式 12) SPI的傳輸始終是在主機控制之下,進行雙向同步的數(shù)據(jù)交換 AVR的SPI接口原理 SPI接口的主要特征: 全雙工、3線同步數(shù)據(jù)傳輸 可選擇的主/從操作模式 數(shù)據(jù)傳送時,可選擇LSB(低位在前)方式或MSB(高位在前)方式 7種可編程的位傳送速率 數(shù)據(jù)傳送結(jié)束中斷標志 寫沖突標志保護 從閑置模式下被喚醒(從機模式下) 倍速(CK/2)SPI傳送(主機模式下) SPI接口硬件: 數(shù)據(jù)寄存器 SPI接口的核心是一個8位移位寄存器,這個寄存器在時鐘信號的作用下,實現(xiàn)數(shù)據(jù)從低位移入,高位移出。一旦程序?qū)⑿枰l(fā)送的字節(jié)寫入該寄存器后,硬件就自動開始一次SPI通信的過程。通信結(jié)束之后,該寄存器中的內(nèi)容就被更新為收到的從機串出的字節(jié),供程序讀取。寫入發(fā)送的字節(jié)的操作需要在一字節(jié)傳輸結(jié)束之后進行。 時鐘邏輯 當配置為SPI主機時,時鐘信號由內(nèi)部分頻器對系統(tǒng)時鐘分頻產(chǎn)生。這個時鐘信號一方面被引入到移位寄存器,作為本機的移位時鐘;另一方面還被輸出到SCK引腳,以提供給從機使用。 當配備為SPI從機時,時鐘信號由SCK引腳引入到移位寄存器,與內(nèi)部時鐘無關(guān),此時SPI時鐘配置位無效。 引腳邏輯 SPI引腳方向定義: 引腳 主機方式 從機方式 MOSI(PB5) 用戶定義 輸入 MISO(PB6) 輸入 用戶定義 SCK(PB7) 用戶定義 輸入 (PB4) 用戶定義 輸入 注:對輸入引腳應(yīng)通過設(shè)置相應(yīng)位使能內(nèi)部的上拉電阻,以節(jié)省總線上外接的上拉電阻。 ⑷控制邏輯 控制邏輯單元主要完成以下功能: SPI接口各參數(shù)的設(shè)定,包括主、從模式、通信速率、數(shù)據(jù)格式等 傳輸過程的控制 SPI狀態(tài)標志,包括中斷標志(SPIF)的設(shè)置、寫沖突標志(WCOL)的置位等 SPI接口的設(shè)計應(yīng)用要點 ①初始化 正確選擇SPI的主/從機方式 正確設(shè)置通信參數(shù) 正確設(shè)置數(shù)據(jù)串出的順序 ②引腳的處理 在主機模式下,引腳方向的設(shè)置(PB4)會影響SPI接口的工作方式,盡量設(shè)置成輸出方式 在SPI(主機模式)操作過程中,并不會自動產(chǎn)生任何的控制信號,所有需要從輸出地控制信號均需通過用戶程序來完成 ③總線競爭的處理 產(chǎn)生總線競爭是當SPI總線上存在多主機情況下產(chǎn)生的,處理總線競爭不僅需要硬件具備相應(yīng)的功能,同時在SPI中斷程序中也需要包含對總線競爭的處理過程。為了防止總線沖突,本機的SPI接口將自動產(chǎn)生以下操作: 清除SPCR寄存器的MSTR(主機選擇)位,將自己設(shè)置為從機。MOSI和SCK引腳自動設(shè)為輸入 SPSR寄存器的SPIF置位,申請中斷 注:在不需要處理總線競爭的簡單SPI系統(tǒng)中,位保證本機作為SPI主機正常工作,應(yīng)將設(shè)置為輸出。如果將設(shè)置為輸入,則應(yīng)保證該引腳始終為高電平。 2.7機器人人機界面的設(shè)計 LED:最簡單的信號顯示裝置。 數(shù)碼管:要注意區(qū)分共陰和共陽。AVR的IO口能直接驅(qū)動數(shù)碼管。 LCD:為了顯示足夠的信息同時節(jié)約單片機的硬件資源我們使用了串行控制的12864LCD。 這次我們主要采用了LED和12864LCD作為人機界面。 圖2-2-15 12864與Atmega128接口圖 LCD液晶模塊采用128X64點陣的漢字圖形液晶顯示模塊,可顯示漢字及圖形,它的內(nèi)部配置8192個中文漢字、128個字符,方便程序編寫,而無需另外編寫字模。模塊可與CPU直接接口,它提供兩種界面來連接微處理機:8-位并行及串行兩種連接方式,本電路采用串行連接方式。 串行連接方式用到的接口有:VSS、VDD、V0、RS/CS、RW/SID、E/SCLK、PSB、RST、LED+、LED-。 VSS為電源地,VDD為邏輯電路提供電壓源(+5V),V0為調(diào)節(jié)液晶屏的亮度。 RS/CS、RW/SID、E/SCLK三根引腳為串行總線,RS/CS為雙向數(shù)據(jù)線,RW/SID為讀或者寫使能引腳,E/SCLK為使能信號線。 PSB為串行連接方式或者并行連接方式選擇引腳,低電平時為串行連接方式、高電平為并行連接方式;RST為復(fù)位引腳,低電平有效;LED+為背光燈正極;LED-為背光燈負極。 本系統(tǒng)的LCD液晶屏接口電路采用串口連接方式,其初始化流程圖如圖2-2-16,其初始化代碼如下: #define BIT(x) (1<- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
32 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 機器人 畢業(yè)設(shè)計 部分
鏈接地址:http://www.820124.com/p-1205445.html