這篇文章來源于DevicePlus.com英語(yǔ)網(wǎng)站的翻譯稿。
歡迎回到ArduRover系列的第二部分!在Arduino 探索漫游車1—底盤中我們構(gòu)建了一個(gè)可以在崎嶇地形行駛的六輪驅(qū)動(dòng)大型越野機(jī)器人。在本文中,我們將把重點(diǎn)放在電子設(shè)備上——我們需要大量的傳感器,巨型電池以及一些無(wú)線控制的工具。好,讓我們開始吧!
硬件
? 第一部分制作的ArduRover底盤
? 12 V 鉛酸電池(容量越大越好,我使用的是8.5Ah)
? Arduino Mega
? 帶串行接口的GPS模塊
? 帶串行接口的VC0706 JPEG相機(jī)
? 2x 9 g 微型伺服器
? 2x Pololu VNH5019 電機(jī)驅(qū)動(dòng)器(驅(qū)動(dòng)模塊,非開發(fā)板)
? ROHM 傳感器評(píng)估套件
? LoRenz 開發(fā)板 + SX1278模塊
? 將所有設(shè)備連接在一起的電纜和跨接線
工具
3D 打印機(jī)(推薦)
3D打印部件
? 相機(jī)支架–可在Thingiverse上獲取
? 傳感器盒–可在Thingiverse上獲取
在進(jìn)行布線之前,我們需要一個(gè)地方安置所有的電子設(shè)備—最好是一些防水的盒子。為了把這些盒子安裝到底盤上,我們需要一些輔助零件。那么,就讓我們回到車庫(kù)去來制作這些東西吧。完成后,我們還需要對(duì)底盤做一些最后的調(diào)整。
第六步:安裝電子設(shè)備的支架
在上一篇文章中,我詳細(xì)介紹了用鋁型材制作部件的過程,所以在本文中,我就將這一部分做一下簡(jiǎn)短介紹。畢竟,這些支架本身也都比較簡(jiǎn)單:它們由與控制臂相同的U型材制成,并且有兩個(gè)10mm的孔,可將其滑動(dòng)到兩個(gè)10mm的中央螺紋桿上。下圖是支架的照片:
圖1:放置電子設(shè)備盒的支架
這是將支架安裝到底盤后的樣子,兩側(cè)均用一個(gè)M10螺母將其進(jìn)行固定,為電子設(shè)備和電池提供了一個(gè)穩(wěn)定而堅(jiān)固的平臺(tái)。
圖2:安裝在框架上的支架
您可能已經(jīng)注意到了,我沒有提供支架的設(shè)計(jì)圖紙。那是因?yàn)槟赡軙?huì)使用不同的盒子來放置電子設(shè)備。比如,我使用的盒子尺寸是105 x 170 x 112 mm,所以我的支架長(zhǎng)170mm,兩端有兩個(gè)4mm的孔。您需要在這里進(jìn)行一些自定義的設(shè)計(jì),并且對(duì)方案進(jìn)行調(diào)整來滿足自己的需求。盡管如此,我還是建議您使用具有較高IP編碼的盒子。IP編碼代表的是防塵等級(jí)(第一個(gè)數(shù)字)和防水等級(jí)(第二個(gè)數(shù)字)。例如,我的盒子防護(hù)等級(jí)是IP65,這就意味著6級(jí)固態(tài)顆粒防護(hù)(防塵外殼)以及5級(jí)液體侵入防護(hù)(外殼可防噴水)。除了機(jī)器人要浸沒入大量水體中(或者駛?cè)胂窜囬g)的情況,我想這個(gè)等級(jí)就足夠了。
圖3:我用來裝電子設(shè)備的IP65盒
第七步:底盤的最后調(diào)整
由于我們的機(jī)器人將在自然環(huán)境中進(jìn)行移動(dòng),如果它安裝有一些傳感器來測(cè)量周邊環(huán)境的所有特征,那就太酷了。為了達(dá)到這個(gè)目的,我將使用ROHM 傳感器評(píng)估套件,可以幫助我們更加容易的實(shí)現(xiàn)對(duì)環(huán)境中物理特性的感知。用于各個(gè)傳感器的Arduino庫(kù)可以點(diǎn)擊下面的鏈接下載。在本項(xiàng)目中,我將使用以下傳感器:
? BM1422GMV– 磁力計(jì)
? RPR-0521RS – 環(huán)境光傳感器
? KX022-1020 – 加速度計(jì)
? BM1383GLV – 壓力傳感器
? ML8511A – 紫外線傳感器
? BD1020HFV – 溫度傳感器
但是有一個(gè)問題:所有傳感器都被設(shè)計(jì)為在插入開發(fā)板上的接口后工作。因?yàn)樵诿芊夂凶觾?nèi)的開發(fā)板將會(huì)被封閉,這樣一些傳感器,比如紫外線傳感器,將無(wú)法測(cè)量出任何有意義的物理量。另外,諸如加速度計(jì)和磁力計(jì)這樣的傳感器需要安裝在一個(gè)很穩(wěn)定的平臺(tái)上,如果僅僅將其插入開發(fā)板中,它們往往會(huì)發(fā)生大幅度的前后移動(dòng),這將會(huì)嚴(yán)重影響這些傳感器的測(cè)量性能。
解決這些問題的方法很簡(jiǎn)單。我們只需要一些用于這些傳感器的外殼即可,某種可以輕松地安裝在底盤任何部位,并且可以提供足夠的覆蓋力卻又不阻礙感知我們想要測(cè)量的環(huán)境特征的東西。這就是為什么我為所使用的傳感器設(shè)計(jì)了這些小外殼的原因。它們可以通過任何3D打印設(shè)備輕松的制造出來。關(guān)于這些小外殼的更多信息,請(qǐng)參加另一篇文章:ROHM傳感器評(píng)估套件的3D打印案例。
圖4:傳感器外殼
另一個(gè)需要這種外殼的部件是相機(jī)。我們也想把相機(jī)固定起來,這也是用9g伺服器的原因。起初,我想使用一種可以在網(wǎng)上找到的便宜的相機(jī)支架。事實(shí)證明這浪費(fèi)了5美元,因?yàn)檫@個(gè)支架在我第一次不小心撞到它時(shí)就折成了兩段。我沒有打算再買一個(gè)碰碰運(yùn)氣,而是選擇自己來完成設(shè)計(jì)然后用3D打印制作出來!這次制作出的產(chǎn)品比第一個(gè)堅(jiān)固得多,我們可以在它的輔助下拍到一些不錯(cuò)的照片了。
圖5:相機(jī)支架
該模型的相關(guān)文件都可以在Thingiverse上獲取,所以,如果您在任何項(xiàng)目中需要一個(gè)小尺寸、堅(jiān)固的相機(jī)支架,就通過3D打印來制作一個(gè)吧!
當(dāng)然,所有傳感器和相機(jī)必須固定在某些地方。我決定將它們安裝在一個(gè)3mm方形亞克力板上,它位于框架前方的頂部。然后,我們將傳感器的電纜連接到放置在它們正后方的電子設(shè)備盒中。
圖6:沒有相機(jī)時(shí)傳感器的安裝細(xì)節(jié)這些標(biāo)注分別顯示的是特定情況下使用的傳感器
圖7:傳感器和相機(jī)的最終安裝位置
您最后可能還要調(diào)整和更改抑制器的強(qiáng)度。因?yàn)槲沂褂玫氖谴笮豌U酸電池,所以大部分重量會(huì)集中在最后的一對(duì)懸架上。為了彌補(bǔ)這一點(diǎn),我將最后一對(duì)抑制器設(shè)置為最高強(qiáng)度,第一對(duì)設(shè)置為最小強(qiáng)度,中間的設(shè)置為中等強(qiáng)度。
圖8:設(shè)置為最高強(qiáng)度的抑制器(上)和設(shè)置為最低強(qiáng)度的抑制器(下)
該步驟取決于您所使用的電池型號(hào)。如果您的電池足夠輕,可能就沒必要更改抑制器強(qiáng)度。但是,我的電池比較龐大:具有8.5Ah的容量,重量達(dá)2.7 kg (5.95 lbs)。這是一個(gè)反復(fù)試驗(yàn)并糾錯(cuò)的過程,所以您需要做的就是把電池放到底盤上,然后修改設(shè)置,反復(fù)幾次后看看哪種設(shè)置的效果最好。理想情況下,底盤在一個(gè)平整的表面應(yīng)該是水平狀態(tài),不應(yīng)有向前或向后的傾斜。
第八步:連接邏輯端
現(xiàn)在要介紹的是本文中最具挑戰(zhàn)性的部分:將邏輯端、傳感器和Arduino連接在一起。即使我們使用兩個(gè)開發(fā)板(LoRenz開發(fā)板和ROHM傳感器評(píng)估套件擴(kuò)展板),還是有許多模塊需要連接。這里顯示的是接線的Fritzing示意圖。請(qǐng)注意,ROHM擴(kuò)展板沒有顯示在示意圖中,因?yàn)樗鼤?huì)覆蓋其他大部分的連線。
圖9:邏輯端連線的Fritzing示意圖
有點(diǎn)混亂是嗎?除了電機(jī)驅(qū)動(dòng)器直接由電池供電,其他所有組件都是由Arduino的5V穩(wěn)壓器來供電的。Arduino本身也是由該穩(wěn)壓器供電?,F(xiàn)在,我們來分別看一下那些重要的組件連接。我的建議是一次連接一個(gè)模塊,然后每次建立一個(gè)新的連接都進(jìn)行測(cè)試。
1. 伺服器。伺服器的信號(hào)與Arduino的引腳8和9連接,支持PWM(脈沖寬度調(diào)制)。
2. LoRenz 開發(fā)板。該開發(fā)板使用SPI總線。不好的一點(diǎn)是,在Arduino Mega上總線用的是50、51和52引腳,而這個(gè)開發(fā)板設(shè)計(jì)的是使用Arduino UNO,所以SPI總線應(yīng)該用13、12和11引腳。我們可以通過直接連接開發(fā)板上U/M接頭的引腳和Arduino Mega上的對(duì)應(yīng)引腳來解決這個(gè)問題。同時(shí),從機(jī)選擇引腳將會(huì)保留在默認(rèn)位置(引腳7)。
3. SD 卡模塊。和LoRenz開發(fā)板一樣,該模塊使用SPI總線。所以我們應(yīng)該直接將它連接到引腳50、51和52以及一些作為從機(jī)選擇的通用數(shù)字引腳就可以了,是這樣嗎?好吧,其實(shí)沒有那么簡(jiǎn)單。我們的Arduino具有5V邏輯電平—這意味著電壓電平5V(有一定的容差)會(huì)被釋義為邏輯1,而電壓0V(有較大容差)被視為邏輯0。LoRenz使用的無(wú)線模塊具有3.3V邏輯電平,但是已被適當(dāng)?shù)霓D(zhuǎn)為5V,來實(shí)現(xiàn)與Arduino之間的可靠通信。SD卡模塊也具有3.3V邏輯電平,但是,它只能在一個(gè)方向進(jìn)行轉(zhuǎn)換(因?yàn)檫@樣制造成本較低)。這意味著從模塊發(fā)出的所有信號(hào)仍然是3.3V邏輯電平。這使總線上的通信變得非常不可靠,或者有可能會(huì)直接破壞通信。這些話的含義是,如果您要處理的總線上的邏輯電平不同,而該總線上可能有兩個(gè)以上的設(shè)備,則正確的做法始終是對(duì)它們進(jìn)行轉(zhuǎn)換,確保避免在一個(gè)總線上混合使用不同的電壓電平。
幸運(yùn)的是,SPI通信非常簡(jiǎn)單,可以通過軟件來進(jìn)行。所以我們只需要把SD模塊連接到任何3個(gè)數(shù)字引腳,然后通過代碼進(jìn)行處理即可。我選擇的引腳是13、12和11。
4. VC0706 相機(jī)。相機(jī)使用RS-232(串行)總線進(jìn)行連接。再?gòu)?qiáng)調(diào)一下,相機(jī)具有3.3V的邏輯電平。因?yàn)橐淮沃荒軐蓚€(gè)設(shè)備連接到RS-232,所以只需要在Arduino RX線上使用一個(gè)簡(jiǎn)單的分壓器就夠了。相機(jī)使用的是Mega引腳16和17上的第三個(gè)硬件串行線(Arduino代碼中的Serial2)。
5. GPS 模塊。這是第二個(gè)使用串行線的模塊,因此我們可以將其放置在第四個(gè)串行端口(Serial3)的引腳14和15上。我故意略去了第二個(gè)端口(Serial1),因?yàn)橐_18和19都可用于觸發(fā)中斷,我們之后會(huì)需要將其用到傳感器上。
6. ROHM 傳感器擴(kuò)展板。該擴(kuò)展板位于LoRenz開發(fā)板上方。這里,我們需要把傳感器和中斷引腳連接起來。我按照以下方式對(duì)傳感器進(jìn)行連接:
傳感器名稱 | 擴(kuò)展板插槽 |
BM1422GMV | I2C_1 |
KX022-1020 | I2C_2 |
RPR-0521RS | I2C_4 |
BM1383GLV | I2C_5 |
BD1020HFV | ANALOG_1 |
ML8511A | ANALOG_2 |
因?yàn)長(zhǎng)oRenz已經(jīng)使用了中斷引腳2和3,我們不能簡(jiǎn)單地通過將擴(kuò)展板上的一些引腳短路來選擇它們(有關(guān)ROHM傳感器擴(kuò)展板上中斷工作方式的更多信息,請(qǐng)參閱RohmMultiSensor wiki)。BM1422GMV位于插槽I2C_1,該插槽連接到INT1。因此,我們將會(huì)把INT1連接到Arduino可以觸發(fā)中斷的引腳18。類似地,KX022-1020位于連接到INT3的插槽I2C_2,我們會(huì)將其連接到Arduino的引腳19上。
7. VNH5019 電機(jī)驅(qū)動(dòng)器。這些驅(qū)動(dòng)器不需要用專門的總線進(jìn)行連接,只需要兩個(gè)數(shù)字引腳控制方向、一個(gè)PWM引腳控制速度、一個(gè)模擬引腳(可選)來讀取流經(jīng)電機(jī)的電流即可。左側(cè)驅(qū)動(dòng)器連接到引腳41、43和45(PWM)以及A15(模擬),右側(cè)驅(qū)動(dòng)器連接到引腳40、42和44(PWM)以及A14(模擬)。
到目前為止您已經(jīng)都完成了嗎?太棒了,因?yàn)檫@是本文中最難的一部分!當(dāng)您完成布線后,應(yīng)該看到類似以下的內(nèi)容:
圖10:所有已完成連接的電子設(shè)備
第九步:電源端接線
下一步是連接電源:電池和電機(jī)。底盤上有六個(gè)電機(jī),但是我們僅有兩個(gè)VNH5019電機(jī)驅(qū)動(dòng)器。這樣一來,每個(gè)驅(qū)動(dòng)器需要用于三個(gè)電機(jī)。我們現(xiàn)在有兩種方式來連接這三個(gè)電機(jī):串聯(lián)或并聯(lián)。
1. 串聯(lián)連接
電機(jī)驅(qū)動(dòng)器提供的電流直接流經(jīng)三個(gè)電機(jī)。但是,每個(gè)電機(jī)上的電壓僅為驅(qū)動(dòng)器輸出電壓的三分之一(假設(shè)所有電機(jī)完全相同)。驅(qū)動(dòng)器的輸出電壓為12V,那么每個(gè)電機(jī)上分配的電壓為4V,這是不夠的,因?yàn)槊總€(gè)電機(jī)的額定電壓是12V。
2. 并聯(lián)連接
驅(qū)動(dòng)器的輸出電壓均等的施加到每個(gè)電機(jī)上,所以每個(gè)電機(jī)都有12V的電壓。在這種情況下,電流被分成了三部分,所以每個(gè)電機(jī)僅能得到驅(qū)動(dòng)器輸出電流的三分之一。電機(jī)的額定堵轉(zhuǎn)電流為5A。驅(qū)動(dòng)器可以提供持續(xù)電流12A以及峰值電流30A。這并不是十分理想,因?yàn)檫@種情況下驅(qū)動(dòng)器無(wú)法提供足夠的電流使三個(gè)電機(jī)都轉(zhuǎn),但是對(duì)于這個(gè)項(xiàng)目來說,不會(huì)影響工作的正常進(jìn)行。
因此,我們將進(jìn)行并聯(lián)連接。需要記住一點(diǎn),當(dāng)對(duì)負(fù)載進(jìn)行并聯(lián)連接時(shí),總電阻值將會(huì)下降。在我們的項(xiàng)目中,因?yàn)槲覀冞B接的電機(jī)大致相同,所以并聯(lián)之后的總電阻值恰好是一個(gè)電機(jī)電阻值的三分之一。這可能會(huì)導(dǎo)致一些有最小負(fù)載要求的電機(jī)驅(qū)動(dòng)器出現(xiàn)問題。幸運(yùn)的是,VNH5019沒有最小負(fù)載要求,所以我們可以順利地進(jìn)行工作。
這里是一個(gè)電源連接的示意圖。非常簡(jiǎn)單,在+12V線上有一個(gè)開關(guān),我們可以將其關(guān)閉來停止機(jī)器人的工作。電池連接到了驅(qū)動(dòng)器和LoRenz開發(fā)板上,后者上有螺旋式接線端子,可以直接連接到Arduino VIN和GND引腳。
圖11:電源接線原理圖
我認(rèn)為,這一步中最困難的部分是選擇將連接線放在底盤的什么位置。您需要將它們放置在不會(huì)干擾其他運(yùn)動(dòng)部件的位置。另外,應(yīng)該對(duì)這些連接線進(jìn)行一定程度的遮蓋,因?yàn)楫?dāng)機(jī)器人在戶外探索時(shí)我們不希望這些線被其他東西絆住。
當(dāng)您把所有的電機(jī)連接好后,就可以將它們放回電機(jī)模塊中了。然后將連接線固定在底盤上,并與調(diào)節(jié)器連接。
圖13:載有電子設(shè)備的ArduRover底盤成品
結(jié)論
現(xiàn)在,該進(jìn)行最后的接線測(cè)試了。使用萬(wàn)用表仔細(xì)地對(duì)所有的連接進(jìn)行測(cè)量,確保每一根線連接到正確的位置。這一步的重要性再怎么強(qiáng)調(diào)都不為過,因?yàn)橹灰桓B接錯(cuò)誤而造成電源與一個(gè)引腳之間短路的電纜,您的Arduino器件就會(huì)在煙霧中化為烏有,或者可能會(huì)造成使機(jī)器人工作的某些部件遭到毀壞。請(qǐng)記住,我們使用的是鉛酸電池,所有的電池都是為了—您知道的—啟動(dòng)機(jī)器!這意味著如果發(fā)生了短路,將會(huì)輸出大量電流,關(guān)于這種情況的后果,您可以在YouTube上搜索一下“鉛酸電池短路”就知道了。
當(dāng)把所有的電子設(shè)備和電池安裝好后,機(jī)器人的最終重量也確定了。由于使用了巨型電池,現(xiàn)在機(jī)器人的重量達(dá)到驚人的13公斤—接近29磅!實(shí)際上,我對(duì)懸架在這種負(fù)載下也可以正常工作而感到驚訝。但是既然這樣沒問題,那我們就終于可以把這臺(tái)機(jī)器人帶到戶外去,看看我們辛苦工作之后的成果了。
為了測(cè)試電機(jī)在自然環(huán)境中的運(yùn)行情況,我寫了一個(gè)簡(jiǎn)單的應(yīng)用程序,可以由我直接設(shè)置所有電機(jī)的轉(zhuǎn)速和轉(zhuǎn)向!該應(yīng)用程序在一臺(tái)計(jì)算機(jī)上運(yùn)行,通過一個(gè)串行端口向Arduino發(fā)送指令。然后Arduino通過LoRenz開發(fā)板將指令無(wú)線傳輸給機(jī)器人。坦率地說,用這種方式來控制機(jī)器人極具挑戰(zhàn)性。在上文中,您可以看到我嘗試控制漫游車的視頻,大多數(shù)情況是失敗的。非常感謝我的朋友Jan Karásek幫助我拍攝照片和錄制視頻。
下一個(gè)目標(biāo)是對(duì)機(jī)器人進(jìn)行編程,以收集所有傳感器相關(guān)的數(shù)據(jù)。目前為止,在機(jī)器人上運(yùn)行的程序僅能控制電機(jī),我需要寫出更好的控制程序。因?yàn)橥ㄟ^鍵盤這種控制裝置來對(duì)機(jī)器人進(jìn)行操控比較困難,尤其是在崎嶇地形上,我可能需要用一些其他的輸入設(shè)備,可能是一種可用于計(jì)算機(jī)的外接游戲機(jī)手柄風(fēng)格的控制器,甚至可能是一個(gè)Android手機(jī)。有關(guān)這些內(nèi)容以及更多的信息將會(huì)在下一部分中進(jìn)行介紹,請(qǐng)繼續(xù)關(guān)注!
Jan Gromes
Jan 目前在布爾諾工業(yè)大學(xué)學(xué)習(xí)電氣工程。他有多年使用Arduino和其他微控制器來構(gòu)建項(xiàng)目的經(jīng)驗(yàn),對(duì)于機(jī)器人系統(tǒng)的機(jī)械設(shè)計(jì)十分感興趣。
審核編輯黃宇
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
29615瀏覽量
212172 -
布線
+關(guān)注
關(guān)注
9文章
797瀏覽量
85000 -
Arduino
+關(guān)注
關(guān)注
189文章
6495瀏覽量
190462
發(fā)布評(píng)論請(qǐng)先 登錄
用 樹莓派 Zero 打造的智能漫游車!

Simcenter FLOEFD 電子元件冷卻模塊:實(shí)現(xiàn)電子設(shè)備的高精度熱仿真

電源技術(shù)對(duì)電子設(shè)備的影響
電位對(duì)電子設(shè)備的影響因素
降噪技術(shù)在電子設(shè)備中的應(yīng)用
PFC在電子設(shè)備中的應(yīng)用 如何選擇合適的PFC芯片
Made with KiCad(十二):JPL開源漫游車

評(píng)論