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

Simcenter FLOEFD 電子元件冷卻模塊:實現電子設備的高精度熱仿真

評論