章安福
(廣州市工貿(mào)技師學(xué)院,廣東廣州,510000)
世界技能大賽由世界技能組織舉辦,被譽(yù)為“技能奧林匹克”,是世界技能組織成員展示和交流職業(yè)技能的重要平臺。職業(yè)院校作為培養(yǎng)技能型人才主陣地,大力發(fā)展和弘揚(yáng)職業(yè)教育是制造業(yè)轉(zhuǎn)型升級的必經(jīng)之路,移動機(jī)器人項(xiàng)目作為制造與工程技術(shù)領(lǐng)域的項(xiàng)目之一,推廣移動機(jī)器人項(xiàng)目的技術(shù)應(yīng)用,對培養(yǎng)具有工程思維的技能人才有著積極的意義。
紅外測距傳感器是一種傳感裝置,是用紅外線為介質(zhì)的測量系統(tǒng),測量范圍廣,響應(yīng)時間短。紅外測距傳感器是由一個紅外信號發(fā)射二極管和一個接收二極管組成,通過發(fā)射二極管發(fā)射出的紅外光,在照射到物體后會發(fā)生反射的原理,反射光被接收二極管吸收,通過接收二極管吸收光線的強(qiáng)弱情況,由信號處電路處理后轉(zhuǎn)換為與物體的距離。
夏普GP2Y0A21YK0F傳感器紅外測距傳感器三個管腳,GND管腳接控制器的GND中,Vcc管腳接控制器的+5V中,Vo管腳接控制器的AI(模擬量輸入)信號中,紅外測距傳感器接收的數(shù)據(jù)為電壓值,電壓值與距離值的對應(yīng)關(guān)系如圖1所示,電壓與距離關(guān)系通過曲線擬合得出數(shù)學(xué)關(guān)系。
圖1 電壓值與距離值的對應(yīng)關(guān)系圖
新建一個程序,調(diào)用出編寫紅外測距傳感器所需的函數(shù)。因?yàn)榧t外測距傳感器讀取的數(shù)據(jù)是電壓值,用myRIO自帶的模擬量輸入快速VI編寫,其中紅外測距傳感器的信號線接在myRIO上端口要與程序端口對應(yīng),否則無法讀取相應(yīng)值。紅外測距傳感器對光線比較敏感,會造成紅外信號發(fā)生抖動,這時候要加一個均值濾波,采樣點(diǎn)數(shù)給10個點(diǎn)即可,這樣可以較好地抑制抖動,最終實(shí)現(xiàn)程序如圖2所示。
圖2 紅外傳感器均值濾波測試程序
套件中提供的是4路紅外巡線傳感器,其原理為紅外發(fā)射管發(fā)射的光線遇到不同色彩的表面反射率不同,發(fā)射的光線遇到亮色彩地面時會產(chǎn)生較強(qiáng)反射,接收管接收到強(qiáng)反射光,經(jīng)內(nèi)部電路處理后輸出低電平;當(dāng)發(fā)射的光線遇到暗色彩地面時則呈弱反射,接收管接收較弱的反射光,經(jīng)內(nèi)部電路處理后輸出高電平,紅外巡線傳感器有一個6P杜邦插針用于提供接地(GND)、電源(5 V)和信號(SIG),S1-S4四個管腳分別接控制器的AIO(數(shù)字量輸入)信號中。紅外巡線傳感器接收的數(shù)據(jù)為電壓值,所以我們判斷是否檢測到黑線,只需要判斷電壓是否大于某一個值就可以了。
新建一個程序,調(diào)用出編寫紅外巡線傳感器所需的函數(shù)。使用myRIO自帶的模擬量輸入快速VI編寫,程序端口對應(yīng),紅外巡線傳感器有4個信號通道,所以端口也要選擇4個。由于紅外測距傳感器對光線超級敏感,會造成不同光線輸出的電壓不一樣,導(dǎo)致巡線失敗,所以我們要對紅外測距傳感器進(jìn)行誤差校準(zhǔn)。且校準(zhǔn)參數(shù)可實(shí)時改變。
九軸姿態(tài)傳感器,其組成由3軸加速度計(jì)、3軸陀螺儀和3軸電子羅盤(地磁傳感器)三個部分,他們各自的作用不同,相互配合。在使用過程中,需要對三種傳感器反饋的數(shù)值進(jìn)行融合處理,從而得到較為理想的姿態(tài)數(shù)據(jù)。navX-Micro九軸姿態(tài)傳感器四個管腳,GND管腳接控制器的GND中,5V管腳接控制器的+5V中,SCL管腳接控制器的SCL信號中, SDA管腳接控制器的SDA信號中。navX-Micro姿態(tài)傳感器自帶的32位ARM處理器融合了軟件算法,而在機(jī)器人在平面場地運(yùn)動過程中只需要自身的角度,所以我們只需要通過I2C總線與ARM處理器通訊,將它寄存器里的Yaw(角度)數(shù)據(jù)讀出來即可。
圖3 校準(zhǔn)參數(shù)可調(diào)的巡線傳感器程序
新建調(diào)用navX-Micro九軸姿態(tài)傳感器所需的函數(shù),將傳感器的通訊線接在myRIO相應(yīng)端口要,I2C快速VI可以選擇Write模式、Read模式和WriteRead模式。navXMicro響應(yīng)I2C總線上的7位地址50(0x32),讀取角度的寄存器地址為0x16-0x17,給角度清零的寄存器地址為0x80。navX-Micro九軸姿態(tài)傳感器的角度讀取范圍為-180-0-+180,所以超過-180是回跳到+180,超過+180是回跳到-180,這屬于正?,F(xiàn)象。
navX-Micro九軸姿態(tài)傳感器除了軟件復(fù)位外,還可以進(jìn)行硬件復(fù)位,只要在硬件上按一下RST按鈕,然后等待一會即可復(fù)位。
超聲波傳感器是將超聲波信號轉(zhuǎn)換成其他能量信號(通常是電信號)的傳感器,超聲波測距傳感器通過發(fā)送和接收超聲波,利用時間差和聲音傳播速度計(jì)算出與前方障礙物的距離。聲波在空氣中的傳播的速度會收環(huán)境影響,假設(shè)測試環(huán)境中聲波傳播速度為V,由myRIO的處理器測量出發(fā)射聲波與接收聲波的時間差為Δt,則可以推算出超聲波傳感器與障礙物的距離S,即:S=V·Δt /2。
PING超聲波測距傳感器三個管腳,其中SIG管腳接控制器的DI0接口。根據(jù)超聲波測距傳感的器時序圖來編寫程序。初始化信號端口,然后發(fā)送觸發(fā)脈沖,給2μs低電平,再給5μs高電平,然后置為低電平,接著等待750μs后,不斷查詢是否有上升沿輸出,如果沒有輸出上升沿,查詢50次之后結(jié)束,如果輸出上升沿,則等待輸出下降沿,并記錄等待的時間,最大等待時間為18.5ms。將等待時間經(jīng)轉(zhuǎn)換函數(shù)計(jì)算出距離即可。
新建程序,調(diào)用出編寫超聲波所需的函數(shù),創(chuàng)建枚舉狀態(tài),把等待函數(shù)設(shè)為us。最后連線即可。因?yàn)槌暡y距傳感器程序?qū)嵲赗T上編寫,RT自帶的時鐘周期會根據(jù)自身運(yùn)行情況及輸入電壓發(fā)生變化,所以讀取出來的數(shù)值一致性較差,這屬于正?,F(xiàn)象。如需更準(zhǔn)確的讀取,以同樣的處理方法,在myRIO平臺的FPGA上編寫程序即可。
直流減速電機(jī)是在機(jī)器人設(shè)計(jì)中比較常見動力裝置,是由電機(jī)和減速箱組合起來的傳動機(jī)構(gòu),減速箱又分為普通減速箱、蝸輪蝸桿減速箱及中間減速箱,減速箱可以降低電機(jī)的轉(zhuǎn)速,獲得較大的轉(zhuǎn)動力矩。
圖4 九軸姿態(tài)傳感器控制程序
圖5 PING超聲波傳感器工作原理示意圖
圖6 PING超聲波等待下降沿程序
使用的直流減速電機(jī)轉(zhuǎn)速為100 rpm ,扭矩為700 ozin,具有內(nèi)置的高分辨率霍爾效應(yīng)編碼器,用于精確的電機(jī)控制,并配有編碼器電纜,電機(jī)的使用需要相應(yīng)的驅(qū)動板進(jìn)行調(diào)速,MXP-MD2是對應(yīng)的雙通道電機(jī)驅(qū)動板,具有大電流輸出和過載保護(hù)功能。電機(jī)兩根電源線顏色分別為紅色與黑色,紅色接驅(qū)動板的M0+,黑色接驅(qū)動板的M0-。編碼器接到相應(yīng)管腳上,用于對于電機(jī)的轉(zhuǎn)速調(diào)整,一般在近幾屆比賽中,使用脈寬調(diào)制(PWM)的方法,在控制電機(jī)的時候,電機(jī)驅(qū)動板并非持續(xù)地給電機(jī)通電,而是通過一個頻率區(qū)間或固定頻率的方波脈沖控制驅(qū)動板給電機(jī)通電,占空比的不同決定電機(jī)在每個控制周期中的得電時間,從而起到調(diào)速作用,具體程序編寫如圖7所示。
圖7 直流減速電機(jī)控制程序
舵機(jī)又稱為伺服電機(jī),舵機(jī)上的控制電路板接受來自信號線的控制信號(PWM),控制直流電機(jī)轉(zhuǎn)動,直流電機(jī)帶動齒輪組,減速后傳動至輸出舵盤。舵機(jī)的輸出軸和位置反饋電位器是相連的,舵盤轉(zhuǎn)動的同時,帶動位置反饋電位器,電位器將輸出一個電壓信號到控制電路板,進(jìn)行反饋,然后控制電路根據(jù)所在位置決定電機(jī)的轉(zhuǎn)動方向和速度,從而實(shí)現(xiàn)舵機(jī)角度位置的控制。
常見的舵控制由脈沖周期為20ms的方波,控制高電平的區(qū)間范圍為0.5ms~2.5ms,不同的占空比對應(yīng)著不同的控制角度。HS-7985MG大扭力數(shù)碼舵機(jī)使用了新一代的可編程電路,配合高性能空心杯電機(jī),雙滾珠軸承等,具有可編程的過載保護(hù)功能。
在使用myRIO控制舵機(jī)時,直流電機(jī)并非持續(xù)地得電,而是通過一個頻率區(qū)間的方波脈沖控制電機(jī)得電,0.5ms~2.5ms的方波信號能對直流電機(jī)起到調(diào)速作用,然后反饋電位器反饋舵機(jī)轉(zhuǎn)動的位置,到了目標(biāo)位置后,從而切斷直流電機(jī)的信號,內(nèi)部直流電機(jī)停,則舵機(jī)停,實(shí)現(xiàn)控制時,調(diào)用出控制舵機(jī)所需的函數(shù),頻率給定50Hz,改變占空比即可調(diào)整785舵機(jī)的位置,以實(shí)際控制抓取為例,抓取動作實(shí)現(xiàn)是有最大行程的,所以我們需要測試極限位置的最大占空比與最小占空比,不能讓舵機(jī)因機(jī)械限位而導(dǎo)致堵轉(zhuǎn)。并將設(shè)置值轉(zhuǎn)換,設(shè)定抓取閉合時設(shè)置值為0,抓取開啟式最大行程時設(shè)置值為100,所以設(shè)置值(set)在0~100之間。
圖8 舵機(jī)實(shí)現(xiàn)抓取控制程序