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