tft每日頭條

 > 汽車

 > iForm造物課程麥克納姆輪小車

iForm造物課程麥克納姆輪小車

汽車 更新时间:2024-11-26 17:00:14
項目背景

無線遙控技術在人們日常生活中的使用範圍非常廣泛。相較于傳統的有線控制,無線遙控十分便捷,尤其是在遠距離控制場景中,例如拆彈機器人進行拆彈作業、衛星變軌、好奇号火星探索器等。作為一名創客老師,本着“自己動手,豐衣足食”的創客精神,使用無線遙控技術,就開始構思設計一個遙控車。

項目分析

在設計之初,我希望設計的是一款能夠多向運動的遙控車,同時可以使用常見的手柄來控制。

考慮到遙控車的移動需要比較靈活來應對複雜的地形,選擇使用麥克納姆輪,遙控車可以實現豎直運動、水平運動、斜向運動、角旋轉、中心旋轉、邊旋轉等。

遙控車使用Arduino作為主控闆,使用PCA9685模塊來作為電機驅動,HC-05模塊來進行藍牙通訊。使用4路直流電機作為動力輸出。遙控手柄使用PS2手柄來控制小車的運動。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)1

硬件設計

為了保證電機運動的穩定性,需要設計穩壓電路,采用5V 2A的穩壓輸出。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)2

Arduino中常用的馬達驅動無法精确控制電機運動,而PCA9685模塊,主要起到精确控制電機運動的作用,采用I2C通訊,隻需要幾根I2C線就可以控制16路PWM,周期和占空比都可控。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)3

電機這裡使用的是TT馬達。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)4

使用HC-05藍牙模塊進行通訊。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)5

使用PS2手柄來發送運動指令。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)6

Arduino與PCA9685模塊通過I2C進行通訊。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)7

硬件準備

Arduino主控闆*1

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)8

PCA9685集成電路闆*1

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)9

PS2手柄藍牙接收器*1

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)10

PS2手柄*1

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)11

TT馬達*4

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)12

麥克納姆輪*4和車架*1

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)13

18650電池盒*1

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)14

18650電池*2

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)15

模型搭建

Step 1、先将TT馬達安裝在底座上。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)16

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)17

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)18

Step 2、安裝麥克納姆輪

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)19

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)20

Step 3、安裝Arduino底座

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)21

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)22

Step 4、安裝Arduino

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)23

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)24

Step 5、安裝PCA9685集成電路闆

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)25

Step 6、安裝藍牙接收器,并接線

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)26

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)27

Step 7、将電池盒中安上電池,底部貼上雙面膠,粘在底闆上

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)28

程序編寫

全向麥輪控制原理

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)29

編程軟件使用Mixly,項目使用的是1.2.5版本,加載MotorShield拓展庫。拓展庫地址:

鍊接:

https:///s/1ZpXFBouasjTgFojlXRJqPA

提取碼:mld4

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)30

先編寫各個方向的運動程序。需要編寫的運動程序有:

1. 前進(moveForward)

2. 後退(moveBackward)

3. 左轉(moveLeft)

4. 右轉(moveRight)

5. 45°方向移動(move45)

6. 135°方向移動(move135)

7. 順時針旋轉(turnAroundCW)

8. 逆時針旋轉(turnAroundCCW)

9. 停止(moveStop)

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)31

手柄按鍵與運動方向的對應關系,如下圖所示。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)32

參考程序如下:

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)33

參考C 代碼:

#include <Wire.h> #include <PS2X_lib.h> #include <Adafruit_MS_PWMServoDriver.h> #include "QGPMaker_MotorShield.h" #include "QGPMaker_Encoder.h" QGPMaker_MotorShield AFMS = QGPMaker_MotorShield(); PS2X ps2x; QGPMaker_DCMotor *DCMotor_1 = AFMS.getMotor(1); QGPMaker_DCMotor *DCMotor_2 = AFMS.getMotor(2); QGPMaker_DCMotor *DCMotor_3 = AFMS.getMotor(3); QGPMaker_DCMotor *DCMotor_4 = AFMS.getMotor(4); void moveForward() { DCMotor_1->setSpeed(200); DCMotor_1->run(FORWARD); DCMotor_2->setSpeed(200); DCMotor_2->run(FORWARD); DCMotor_3->setSpeed(200); DCMotor_3->run(FORWARD); DCMotor_4->setSpeed(200); DCMotor_4->run(FORWARD); } void move45() { DCMotor_1->setSpeed(200); DCMotor_1->run(FORWARD); DCMotor_3->setSpeed(200); DCMotor_3->run(FORWARD); DCMotor_2->setSpeed(0); DCMotor_2->run(RELEASE); DCMotor_4->setSpeed(0); DCMotor_4->run(RELEASE); } void move135() { DCMotor_2->setSpeed(200); DCMotor_2->run(FORWARD); DCMotor_4->setSpeed(200); DCMotor_4->run(FORWARD); DCMotor_1->setSpeed(0); DCMotor_1->run(RELEASE); DCMotor_3->setSpeed(0); DCMotor_3->run(RELEASE); } void moveBackward() { DCMotor_1->setSpeed(200); DCMotor_1->run(BACKWARD); DCMotor_2->setSpeed(200); DCMotor_2->run(BACKWARD); DCMotor_3->setSpeed(200); DCMotor_3->run(BACKWARD); DCMotor_4->setSpeed(200); DCMotor_4->run(BACKWARD); } void turnAroundCW() { DCMotor_1->setSpeed(200); DCMotor_1->run(FORWARD); DCMotor_2->setSpeed(200); DCMotor_2->run(BACKWARD); DCMotor_3->setSpeed(200); DCMotor_3->run(BACKWARD); DCMotor_4->setSpeed(200); DCMotor_4->run(FORWARD); } void turnAroundCCW() { DCMotor_1->setSpeed(200); DCMotor_1->run(BACKWARD); DCMotor_2->setSpeed(200); DCMotor_2->run(FORWARD); DCMotor_3->setSpeed(200); DCMotor_3->run(FORWARD); DCMotor_4->setSpeed(200); DCMotor_4->run(BACKWARD); } void moveLeft() { DCMotor_1->setSpeed(200); DCMotor_1->run(BACKWARD); DCMotor_2->setSpeed(200); DCMotor_2->run(FORWARD); DCMotor_3->setSpeed(200); DCMotor_3->run(BACKWARD); DCMotor_4->setSpeed(200); DCMotor_4->run(FORWARD); } void moveRight() { DCMotor_1->setSpeed(200); DCMotor_1->run(FORWARD); DCMotor_2->setSpeed(200); DCMotor_2->run(BACKWARD); DCMotor_3->setSpeed(200); DCMotor_3->run(FORWARD); DCMotor_4->setSpeed(200); DCMotor_4->run(BACKWARD); } void moveStop() { DCMotor_1->setSpeed(0); DCMotor_1->run(RELEASE); DCMotor_2->setSpeed(0); DCMotor_2->run(RELEASE); DCMotor_3->setSpeed(0); DCMotor_3->run(RELEASE); DCMotor_4->setSpeed(0); DCMotor_4->run(RELEASE); } void setup() { AFMS.begin(50); int error = 0; do { error = ps2x.config_gamepad(13, 11, 10, 12, true, true); if (error == 0) { break; } else { delay(100); } } while (1); for (size_t i = 0; i < 50; i ) { ps2x.read_gamepad(false, 0); delay(10); } } void loop() { ps2x.read_gamepad(false, 0); delay(3); if (ps2x.Button(PSB_PAD_UP)) { moveForward(); } if (ps2x.Button(PSB_PAD_DOWN)) { moveBackward(); } if (ps2x.Button(PSB_PAD_LEFT)) { moveLeft(); } if (ps2x.Button(PSB_PAD_RIGHT)) { moveRight(); } if (ps2x.Button(PSB_CROSS)) { moveStop(); } if (ps2x.Button(PSB_CIRCLE)) { turnAroundCW(); } if (ps2x.Button(PSB_TRIANGLE)) { move45(); } if (ps2x.Button(PSB_SQUARE)) { turnAroundCCW(); } }

參考程序鍊接:

鍊接:

https:///s/1JzGkEWGkdWmkXn1dES2s7g

提取碼:aq8n

常見問題

問:遙控車,無法前進、後退。

答:遙控車接線錯誤,參考接線圖如下,将旋轉錯誤的引腳反接到另一端。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)34

問:遙控車無法左移、右移。

答:在安裝時,需要注意麥克納姆輪的安裝順序,參考下圖修改麥克納姆輪的安裝。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)35

外觀設計與安裝

麥克納姆輪小車的整體功能已經完畢,裸露的電線和主闆,并不美觀,對于一個作品來說,美的外觀也是重要的。先對麥克納姆輪小車的車殼進行3D建模。使用Rhino 7 來進行建模。Rhino是是美國Robert McNeel & Assoc.開發的PC上強大的專業3D造型軟件,它可以廣泛地應用于三維動畫制作、工業制造、科學研究以及機械設計等領域。建模完成導出stl格式。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)36

打開FlashPrint軟件,使用的是閃鑄的打印機,因此使用了FlashPrint軟件,導入stl文件,進行切片。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)37

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)38

放入到打印機中,進行打印。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)39

3D打印之後,模型就已經具備了,接下來需要對模型進行吸塑,制作外殼,吸塑使用的是iForm桌面式智能真空成型機。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)40

取一張1.0mm的HIPS,放入到吸塑機當中。旋轉把手,将HIPS耗材放入到上下夾闆 當中。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)41

擡升把手到頂部,将模型放入到吸塑平台當中,并設置吸塑參數為HIPS、1.0mm、 175℃、吹氣開,對耗材進行加熱。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)42

等待加熱完畢,下壓把手,進行吸塑,吸塑結束後,系統會自動進行冷卻并吹塑。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)43

取出模型,模型的細節也被很好地吸塑出來。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)44

裁剪多餘的耗材,将小車外殼裁剪下來。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)45

對小車外殼進行彩繪。在HIPS耗材上進行彩繪,丙烯顔料無法良好地附着在耗材上,需要先使用油漆進行預處理,再使用丙烯顔料繪制,這裡使用了黃色油漆,并在油漆上有黑色丙烯顔料繪制。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)46

最後在外殼底部粘上雙面膠,将外殼與車架粘在一起。别忘了打開電池開關,和手柄開關。就可以愉快地試驗了。

iForm造物課程麥克納姆輪小車(iForm造物課程麥克納姆輪小車)47

結束語

整個作品通過Arduino、3D打印、iForm吸塑機來實現,将創客領域常用的工具結合在一起。Arduino造就了作品的靈魂,3D打印賦予作品更多外延的結構,而iForm吸塑機對模型更加便捷地翻模制作、二次加工。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关汽車资讯推荐

热门汽車资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved