章安福
(廣州市工貿技師學院,廣東廣州,510000)
世界技能大賽由世界技能組織舉辦,被譽為“技能奧林匹克”,是世界技能組織成員展示和交流職業技能的重要平臺。職業院校作為培養技能型人才主陣地,大力發展和弘揚職業教育是制造業轉型升級的必經之路,移動機器人項目作為制造與工程技術領域的項目之一,推廣移動機器人項目的技術應用,對培養具有工程思維的技能人才有著積極的意義。
紅外測距傳感器是一種傳感裝置,是用紅外線為介質的測量系統,測量范圍廣,響應時間短。紅外測距傳感器是由一個紅外信號發射二極管和一個接收二極管組成,通過發射二極管發射出的紅外光,在照射到物體后會發生反射的原理,反射光被接收二極管吸收,通過接收二極管吸收光線的強弱情況,由信號處電路處理后轉換為與物體的距離。
夏普GP2Y0A21YK0F傳感器紅外測距傳感器三個管腳,GND管腳接控制器的GND中,Vcc管腳接控制器的+5V中,Vo管腳接控制器的AI(模擬量輸入)信號中,紅外測距傳感器接收的數據為電壓值,電壓值與距離值的對應關系如圖1所示,電壓與距離關系通過曲線擬合得出數學關系。

圖1 電壓值與距離值的對應關系圖
新建一個程序,調用出編寫紅外測距傳感器所需的函數。因為紅外測距傳感器讀取的數據是電壓值,用myRIO自帶的模擬量輸入快速VI編寫,其中紅外測距傳感器的信號線接在myRIO上端口要與程序端口對應,否則無法讀取相應值。紅外測距傳感器對光線比較敏感,會造成紅外信號發生抖動,這時候要加一個均值濾波,采樣點數給10個點即可,這樣可以較好地抑制抖動,最終實現程序如圖2所示。

圖2 紅外傳感器均值濾波測試程序
套件中提供的是4路紅外巡線傳感器,其原理為紅外發射管發射的光線遇到不同色彩的表面反射率不同,發射的光線遇到亮色彩地面時會產生較強反射,接收管接收到強反射光,經內部電路處理后輸出低電平;當發射的光線遇到暗色彩地面時則呈弱反射,接收管接收較弱的反射光,經內部電路處理后輸出高電平,紅外巡線傳感器有一個6P杜邦插針用于提供接地(GND)、電源(5 V)和信號(SIG),S1-S4四個管腳分別接控制器的AIO(數字量輸入)信號中。紅外巡線傳感器接收的數據為電壓值,所以我們判斷是否檢測到黑線,只需要判斷電壓是否大于某一個值就可以了。
新建一個程序,調用出編寫紅外巡線傳感器所需的函數。使用myRIO自帶的模擬量輸入快速VI編寫,程序端口對應,紅外巡線傳感器有4個信號通道,所以端口也要選擇4個。由于紅外測距傳感器對光線超級敏感,會造成不同光線輸出的電壓不一樣,導致巡線失敗,所以我們要對紅外測距傳感器進行誤差校準。且校準參數可實時改變。
九軸姿態傳感器,其組成由3軸加速度計、3軸陀螺儀和3軸電子羅盤(地磁傳感器)三個部分,他們各自的作用不同,相互配合。在使用過程中,需要對三種傳感器反饋的數值進行融合處理,從而得到較為理想的姿態數據。navX-Micro九軸姿態傳感器四個管腳,GND管腳接控制器的GND中,5V管腳接控制器的+5V中,SCL管腳接控制器的SCL信號中, SDA管腳接控制器的SDA信號中。navX-Micro姿態傳感器自帶的32位ARM處理器融合了軟件算法,而在機器人在平面場地運動過程中只需要自身的角度,所以我們只需要通過I2C總線與ARM處理器通訊,將它寄存器里的Yaw(角度)數據讀出來即可。

圖3 校準參數可調的巡線傳感器程序
新建調用navX-Micro九軸姿態傳感器所需的函數,將傳感器的通訊線接在myRIO相應端口要,I2C快速VI可以選擇Write模式、Read模式和WriteRead模式。navXMicro響應I2C總線上的7位地址50(0x32),讀取角度的寄存器地址為0x16-0x17,給角度清零的寄存器地址為0x80。navX-Micro九軸姿態傳感器的角度讀取范圍為-180-0-+180,所以超過-180是回跳到+180,超過+180是回跳到-180,這屬于正常現象。
navX-Micro九軸姿態傳感器除了軟件復位外,還可以進行硬件復位,只要在硬件上按一下RST按鈕,然后等待一會即可復位。
超聲波傳感器是將超聲波信號轉換成其他能量信號(通常是電信號)的傳感器,超聲波測距傳感器通過發送和接收超聲波,利用時間差和聲音傳播速度計算出與前方障礙物的距離。聲波在空氣中的傳播的速度會收環境影響,假設測試環境中聲波傳播速度為V,由myRIO的處理器測量出發射聲波與接收聲波的時間差為Δt,則可以推算出超聲波傳感器與障礙物的距離S,即:S=V·Δt /2。
PING超聲波測距傳感器三個管腳,其中SIG管腳接控制器的DI0接口。根據超聲波測距傳感的器時序圖來編寫程序。初始化信號端口,然后發送觸發脈沖,給2μs低電平,再給5μs高電平,然后置為低電平,接著等待750μs后,不斷查詢是否有上升沿輸出,如果沒有輸出上升沿,查詢50次之后結束,如果輸出上升沿,則等待輸出下降沿,并記錄等待的時間,最大等待時間為18.5ms。將等待時間經轉換函數計算出距離即可。
新建程序,調用出編寫超聲波所需的函數,創建枚舉狀態,把等待函數設為us。最后連線即可。因為超聲波測距傳感器程序實在RT上編寫,RT自帶的時鐘周期會根據自身運行情況及輸入電壓發生變化,所以讀取出來的數值一致性較差,這屬于正常現象。如需更準確的讀取,以同樣的處理方法,在myRIO平臺的FPGA上編寫程序即可。
直流減速電機是在機器人設計中比較常見動力裝置,是由電機和減速箱組合起來的傳動機構,減速箱又分為普通減速箱、蝸輪蝸桿減速箱及中間減速箱,減速箱可以降低電機的轉速,獲得較大的轉動力矩。

圖4 九軸姿態傳感器控制程序

圖5 PING超聲波傳感器工作原理示意圖

圖6 PING超聲波等待下降沿程序
使用的直流減速電機轉速為100 rpm ,扭矩為700 ozin,具有內置的高分辨率霍爾效應編碼器,用于精確的電機控制,并配有編碼器電纜,電機的使用需要相應的驅動板進行調速,MXP-MD2是對應的雙通道電機驅動板,具有大電流輸出和過載保護功能。電機兩根電源線顏色分別為紅色與黑色,紅色接驅動板的M0+,黑色接驅動板的M0-。編碼器接到相應管腳上,用于對于電機的轉速調整,一般在近幾屆比賽中,使用脈寬調制(PWM)的方法,在控制電機的時候,電機驅動板并非持續地給電機通電,而是通過一個頻率區間或固定頻率的方波脈沖控制驅動板給電機通電,占空比的不同決定電機在每個控制周期中的得電時間,從而起到調速作用,具體程序編寫如圖7所示。

圖7 直流減速電機控制程序
舵機又稱為伺服電機,舵機上的控制電路板接受來自信號線的控制信號(PWM),控制直流電機轉動,直流電機帶動齒輪組,減速后傳動至輸出舵盤。舵機的輸出軸和位置反饋電位器是相連的,舵盤轉動的同時,帶動位置反饋電位器,電位器將輸出一個電壓信號到控制電路板,進行反饋,然后控制電路根據所在位置決定電機的轉動方向和速度,從而實現舵機角度位置的控制。
常見的舵控制由脈沖周期為20ms的方波,控制高電平的區間范圍為0.5ms~2.5ms,不同的占空比對應著不同的控制角度。HS-7985MG大扭力數碼舵機使用了新一代的可編程電路,配合高性能空心杯電機,雙滾珠軸承等,具有可編程的過載保護功能。
在使用myRIO控制舵機時,直流電機并非持續地得電,而是通過一個頻率區間的方波脈沖控制電機得電,0.5ms~2.5ms的方波信號能對直流電機起到調速作用,然后反饋電位器反饋舵機轉動的位置,到了目標位置后,從而切斷直流電機的信號,內部直流電機停,則舵機停,實現控制時,調用出控制舵機所需的函數,頻率給定50Hz,改變占空比即可調整785舵機的位置,以實際控制抓取為例,抓取動作實現是有最大行程的,所以我們需要測試極限位置的最大占空比與最小占空比,不能讓舵機因機械限位而導致堵轉。并將設置值轉換,設定抓取閉合時設置值為0,抓取開啟式最大行程時設置值為100,所以設置值(set)在0~100之間。

圖8 舵機實現抓取控制程序