【正文】
ERR=1:從機接收到的命令是非法的。其它都按從單片機向主單片機發(fā)送數(shù)據(jù)命令02H對待。否則開始接收數(shù)據(jù)和命令。,確認地址是否相符。若接收幀的RB8=0,則原數(shù)據(jù)到緩沖區(qū),并準備接收下幀信息。對于地址不符的從機,仍保持SM2=1,對主單片機隨后發(fā)來的數(shù)據(jù)不予理睬,直至發(fā)送新的地址幀。,其中8位地址,第9位為地址/數(shù)據(jù)信息的標志位。當SM2=0時,不管是地址還是數(shù)據(jù)信息,從機均接收。在串口通信方式2和方式3中,發(fā)送和接收的數(shù)據(jù)格式與SPCE061A的數(shù)據(jù)格式完全相同。 //恢復現(xiàn)場IRQ ON。CMP R5 0x0500。R1=R1 or R3。 //清移位寄存器R2=R2 LSL 4。 //取串行口的數(shù)據(jù)R1=R1 LSL 4。R5=0x01FF。CMP R3 0x0800; //判斷是否已經到達最大存儲單元JNE L_loop1;A: PUSH R3,R5 TO [SP] [P_UART_Data]=R5。 //將高8位發(fā)送到串行口R2=R3++。 //取存儲單元數(shù)據(jù)的高8位R1=[R3] LSR 4。R1=R1 and 0xFF00。L_loop1:R2=0x0000。 //檢查RxRDY是否為1TEST R4 [P_UART_Command2]。 //關中斷;PUSH R1,R4 FROM [SP]。 //允許發(fā)送接收R1=0x120; //設定PTR2000的工作基本參數(shù)[P_IOB_Attrib]=R1。[P_UART_BaudScalarLow]=R1。通過匯編語言對其編程[4]。特別需要注意的是在任意時刻讀出P_UART_Command2(7022)單元將清除UART IRQ中斷標志。表41 P_UART_Command1單元各位功能Table 41 The function of P_UART_Command1 unit’s bitsb7b6b5b4b3b2b1b0功能RxIntEnTxIntEnI_ResetParityP_Check1允許UART IRQ中斷(由RxRDY觸發(fā))0禁止UART IRQ中斷1允許UART IRQ中斷(由TxRDY觸發(fā))0禁止UART IRQ中斷1內部復位信號復位0內部復位信號置位1激活偶校驗0激活奇校驗1激活奇偶校驗0屏蔽奇偶校驗表42 P_UART_Command2單元(寫)各位功能Table 42 The function of the P_UART_Command2 unit(write)’s bitsb7b6b5b4b3b2b1b0RxPinEnTxPinEn1:允通接收引腳0:禁止接收引腳1:允通發(fā)送引腳0:禁止發(fā)送引腳示意性代碼如下:*P_IOB_Dir=0x0400;*P_IOB_Attrib=0x0480;*P_IOB_Data=0x0000;*P_UART_BaudScalarHigh=0x05;//波特率設置為9600bps*P_UART_BaudScalarLow=0x00;*P P_UART_Command1=0x00C0。這項工作通過設置寄存器P_UART_Command2的值實現(xiàn)。這是一個寫寄存器,作為UATR控制端口??傻贸踔礢cale為0500H。1)主單片機SPCE061A串口參數(shù)的初始化在具體操作中,首先對B口狀態(tài)進行設置,使用其特殊功能,將第7位設置為輸入口,作為接收引腳Tx。然后通過設置P_UART_BaudScalarLow(7024H)和P_UART_BaudScalarHigh(7025H)單元指定所需波特率。空閑位用高電位表示,用于等待傳送。最后是停止位為邏輯“1高電位。始終為邏輯0低電位,用于向接收設備表示發(fā)送端開始發(fā)送一幀信息。1)串行通信的異步傳送方式在異步通信中字符格式和波特率是兩個重要指標。借助于IOB口的特殊功能和UART IQR中斷,可以同時完成UART接口的接收發(fā)送數(shù)據(jù)的過程。4 履帶式移動機器人控制系統(tǒng)軟件設計本章在履帶式移動機器人控制系統(tǒng)硬件的基礎上,詳細介紹了該移動機器人控制系統(tǒng)的軟件編制過程。操作者在后方的控制中心,通過視覺臨場感設備掌握前方機器人觀察到的情況,同時通過跟蹤器等設備發(fā)命令給前方的移動機器人,控制機器人進行相應的動作。發(fā)射功率:0. 1~5W。頻段選擇CS的設定采用跳線的方式,接收發(fā)射控制TXEN由計算機串口的RTS控制[16]PTR2000(1)與計算機串口連接電路如圖324示。單片機支持串口通信功能,性價比高,是計算機控制機器人的理想中介。[15]圖323 PTR2000(2)與SPCE061A的接口電路圖Fig323 The interface circuit of PTR2000(2)and SPCE061A2) PTR2000(1)與計算機的接口電路設計遙控計算機和移動機器人雙向的數(shù)據(jù)交換也就是PC控制單元與機器人本體單元之間的無線通訊。PTR2000(2)的PWR與主單片機SPCE061A的IOB6相連。待機:當PWR=0時,PTR2000進入節(jié)電待機模式,此時的功耗大約為8,但在待機模式下不能接收和發(fā)射數(shù)據(jù)。然后在等待至少5ms后(接收到發(fā)射的轉換時間)才可以發(fā)送任意長度的數(shù)據(jù)。數(shù)據(jù)無線通訊系統(tǒng)[14],如圖322示。處于接收端的PTR2000(2)模塊處于接收模式。TXEN:發(fā)射接收控制,TXEN=1時模塊為發(fā)射狀態(tài),TXEN=0時模塊為接收狀態(tài)。D0:數(shù)據(jù)輸出。PTR2000模塊共有7個引腳,如圖321。工作頻率為國際通用的數(shù)傳頻段433MHz, FSK調制,工作電壓2. 7~5. 25V,功耗小。無線數(shù)據(jù)收發(fā)模塊采用基于nRF401無線通信單片機的PTR2000微小型、低功耗、高速率19. 2K無線收發(fā)數(shù)傳MODEM。這套遙控系統(tǒng)由遙控計算機、移動機器人、數(shù)據(jù)無線通信系統(tǒng),圖像無線傳輸系統(tǒng)組成。它由高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成,檢測距離范圍為50~200mm,接近開關1的電路如圖320所示。每個接近開關都接在EXT2,同時利用輸入口線作為多中斷端口情況下各中斷端口的識別線。兩條外部中斷請求輸人線用于輸入兩個外部中斷源的中斷請求信號,外部中斷是以負跳沿觸發(fā)方式來輸人中斷請求信號的。當有不明物體碰撞到移動機器人時,離其最近的接近開關動作,觸發(fā)單片機的中斷,移動機器人就停止運行,哪個接近開關,調用中斷程序做出相應的處理。由三個CD4502和一個24譯碼器擴展成一個雙10路的模擬開關。為了有效地避開“虛假”信號,需要進行軟件延時處理,從發(fā)射開始一直到“虛假發(fā)射波”結束為止,由于這段時間觸發(fā)器不能置1”從而不會發(fā)出中斷申請信號。我們的系統(tǒng)最大測距范圍為4m,脈沖時間間隔為,實際我們取。第一級為初級放大,“強”虛假反射波串入后對電路的沖擊影響,采用兩個二極管D1, :第二級位諧振選頻放大電路,放大40 kHz左右的超聲波信號,同時濾出其他頻率的干擾信號。超聲波傳感器收發(fā)電路圖如圖317所示。該履帶式移動機器人擬配備10個超聲傳感器,在機器人的前進方向按照15度的間隔配置7個,覆蓋前方105度的區(qū)域,另外三個分別安裝在正左方、正右方及正后方,可以用來探測穿過狹窄通道時的環(huán)境信息。因此選用的超聲換能器是收發(fā)一體型的EFR240RSC,它性價比高,體積小,工作頻率40kHz,使用溫度40~+80℃,防塵、防水,測距范圍0. 2~5m。超聲波障礙距離探測系統(tǒng)的原理如圖316所示。超聲波測距所用的方法一般有相位檢測法、聲波幅值檢測法和渡越時間法(TimeofFlight, TOF)三種。這些特性使之能應用于距離探測。當它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發(fā)生共振,并帶動共振板振動,便產生超聲波。它們所產生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。 超聲波傳感器的原理分析為了研究和利用超聲波,人們已經設計和制成了許多超聲波傳感器。 履帶式移動機器人的超聲波感知模塊設計超聲波傳感器具有成本低廉,采集信息速率快,距離分辨率高,質量輕、體積小、易于裝卸等優(yōu)點。而驅動時鐘電路行程開關從單片機XTAL1XTAL2RST復位電路主單片機步進電機驅動器圖315 從單片機控制結構圖 Fig315 The controlling circuit of subsidiary SCM器的FREE口為脫機模式此處不用,故懸空。從單片機與驅動器接線非常簡單,而且兩相驅動器與五相驅動器類似只是與電動機接線時多了三相。type and parameter of robot驅動部位電機型號驅動器型號相數(shù)輸出相電流/A供電電源履帶車130BYG550ESH5100858100VAC大臂回轉關節(jié)57BYG250BSH20806C2348VDC肩關節(jié)86BYG250BSH21006C26100VAC肘關節(jié)86BYG250BSH21006C24100VAC小臂回轉關節(jié)45BYG250BSH20402A224VDC腕關節(jié)45BYG250BSH20402A224VDC器。變頻信號源環(huán)形分配器功率放大器步進電機負載方向信號圖313典型步進電機控制驅動系統(tǒng)框圖Fig313 The frame of the controlling system of typical stepping motor driver變頻信號源是一個脈沖頻率從幾赫到幾十千赫可以連續(xù)變化的信號發(fā)生器,它為環(huán)形分配器提供脈沖序列。此種換向方式叫做單脈沖方式??刂葡到y(tǒng)提供給驅動器的信號主要有以下兩路:(1)步進脈沖信號CP:這是最重要的一路信號,因為步進電機驅動器的原理就是要把控制系統(tǒng)發(fā)出的脈沖信號轉化為步進電機的角位移,或者說,驅動器每接受一個脈沖信號CP就是驅動步進電機旋轉一個步距角,CP的頻率和步進電機的旋轉速度成正比,CP的脈沖個數(shù)決定了步進電機旋轉的角度。行程開關的電路圖如圖312所示。行程開關SWPB是接觸式開關,其工作原理是通過機械力使觸點閉合,通過復位彈簧使開關復位。三個構件中可任意固定一個,其余兩個一為主動一為從動,可實現(xiàn)減速或增速(固定傳動比),也可以變換成兩個輸入一個輸出,組成差動傳動。保持轉矩/Nm轉動慣量/大臂回轉關節(jié)57BYG250B32000肩關節(jié)86BYG250C64500肘關節(jié)86BYG250B43000腕關節(jié)45BYG250B83小臂回轉關節(jié)45BYG250B83由于電機是高轉速,低力矩的驅動部件,電機輸出軸要經過減速器進行減速,才能獲得所需的轉速和力矩。在大臂上有安放攝機用的云臺4。兩履帶在步進電機的驅動下,當兩步進電機由相同脈沖驅動時,履帶車直線前進或后退,改變脈沖頻率改變行進速度。當繞組內電流不變時,靜轉矩隨失調角在一個齒距角范圍內變化一個周期,在近似分析中視矩角特性為正弦曲線。步距角:在不帶任何減速裝置的情況下,輸入一個脈沖信號,步進電機所轉過的機械角位移即步距角。在小步距情況下,通常可以在超低速下高轉矩穩(wěn)定的運行。(5)控制性能好。(2)位移與輸入脈沖信號相對應,步距誤差不長期積累。分配脈沖的相序改變后,步進電機的轉向則隨之而變。其復位電路與時鐘電路如圖310,311所示。低功耗睡眠功能。內部RAM。兼容MCS51指令系統(tǒng)。于是我們選擇ATMEL[8]公司AT89系列中經濟低價的AT89C2051產品,它與MCS51結構基本一致,區(qū)別是減少了P0和P2端口,增加了一個模擬比較器。其網絡連接如圖37所示。UART數(shù)據(jù)格式SPCE061A的UART數(shù)據(jù)幀的格式同MCS51的串行方式3及多數(shù)的異步串行通信一樣,采用每幀11位(1位起始位、8位數(shù)據(jù)、l主單片機IOB10 IOB7TxD RxD從單片機1TxD RxD從單片機2TxD RxD從單片機7圖37主從單片機串行通信結構圖Fig 37 The frame of the serial munication between main SCM and subsidiary SCM復位電路接近開關A~D IOA0~3 IOB3 IOB6,9OSCI IOB7(Rx )OSCO IOB10(Tx)IOB0IOB1IOB11~14 IOB8,2時鐘電路存儲器SPR4096無線傳輸模塊PTR2000多路選通開關超聲波傳感器1~7從單片機11從單片機7圖38主單片機控制結構圖Fig 38 The controlling cir