第1步:設計
我們首先在CATIA V5中創(chuàng)建基本設計。機器人由兩個分開的滑動機構(gòu)組成,安裝在PVC中心管上。每個滑動機構(gòu)都有三個固定在圓柱形軸環(huán)上的支腿,通過一個小連桿與滑動缸連接。
滑動時,彈簧可以實現(xiàn)伸展和壓縮運動。因此,如果腿被壓縮,機器人的直徑會減小。釋放此壓縮力后,機器人會自動伸展。在這兩種機構(gòu)之間,有一個電子元件的支架,呈長領狀。
在我們的設計中(如上圖所示),兩個前腿由兩個高度控制齒輪直流電動機。后腿沒有馬達,因為前腿足夠強大,可以驅(qū)動整個機構(gòu)。
第2步:工具和材料
1xArduino Uno(任何工作)
電機控制器
1x H橋(L298N)
22AWG實芯電線
220V SMD返修焊臺
其他電子產(chǎn)品
2x 12VDC電機
DPDT撥動開關(guān)(電源開關(guān))
SPDT滑動開關(guān)(用戶輸入)
熱縮管
硬件
6x激光切割鏈接(電機鏈接與其他鏈接略有不同)
6x PLA小鏈接(已打印)
2x項圈(已打印)
2x平移元素(已打印) )
1x電子零件支架(印刷)
2x堅固的矩形彈簧(印刷)
2x電動輪銷(印刷)
4x Link-whe el pin(已印刷)
2x電機襯套(已印刷)
4x 7mm軸承
18x 3mm螺栓
7x 2.5mm螺栓
7x拉鏈
6x機器人輪胎塑料輪
1x端部阻擋器
14x 2.5mm pgp-fasteners
36x 3mm螺母
14x 2.5mm螺母
50x 3mm墊片
1x 40mm PVC管
工具《
電鉆/鉆床(以及大量鉆頭)
激光切割機
3D打印機
鋼鋸
烙鐵
鉗子
內(nèi)六角扳手
各種螺絲刀
剝線鉗
C Clamp
標尺
步驟3:電機控制器
我們?yōu)榇藱C器人制造的電機控制器基于H橋芯片(L298N)。使用該芯片,每個電機需要兩個輸入才能工作(如果H橋的兩個引腳中的一個為高電平而另一個為低電平,那么電機將轉(zhuǎn)動,但如果它反轉(zhuǎn),則電機將反向轉(zhuǎn)向!)。
現(xiàn)在你需要控制這些電機的準確速度。您可以通過在Arduino的“HIGH”引腳上施加較低的電壓來實現(xiàn)此目的,因為任何高于5V的電壓都會產(chǎn)生相同的電機速度。
在將所有電子元件固定在支架上之后,我們將它們焊接到位并使用22AWG實芯電線進行連接。
步驟4:電源
為Arduino供電,使用9V堆棧。它具有三個串聯(lián)9V堆棧的公共接地。
為H橋和電機供電時,串聯(lián)使用3x 9V堆棧,提供27V電源。
步驟5:腿
腿是這個機器人最重要的部分,因為它們的設計決定了它們是否能夠支撐電機的重量和管道的壓力。我們決定從6個中選擇2個支腿,每個支腿由一個電機控制,另外4個支腿使用滾子軸承,使其具有低摩擦力。
為了制作支腿,我們激光切割了6 mm寬的木板。從上面的圖像可以看出,腿有兩種不同的切口,這是因為一個切口用于電機驅(qū)動的腿,另一個用于正常的腿。
第6步:構(gòu)建框架
腿部完成后,下一步是構(gòu)建一個框架,將電機和支腿固定到位。我們通過制作合適的銷/襯套(白色)來啟動框架,以將電機,支腿和車輪固定在一起。
為了將電機固定到支腿上,我們使用2個螺釘進入從整個支腿穿過電機的孔,我們還使用拉鏈系統(tǒng)來固定它。
除此之外,我們還使用銷釘將電機軸連接到車輪上。為了減少木材和塑料之間的摩擦,我們在支腿中心孔中固定襯套。之后,我們制作一個針(黑色)用于將正常腿連接到車輪上。
為了確保車輪自由旋轉(zhuǎn),我們在車腿內(nèi)放置了一個滾柱軸承,使銷可以隨車輪自由旋轉(zhuǎn)。然后我們用墊圈和鎖緊螺母將支腿穿過軸環(huán),將它們固定到位,讓它們在螺栓上自由旋轉(zhuǎn)。我們做同樣的事情來固定小連桿(白色連接到腿)與平移元件和腿。最后,我們將項圈固定,以確保它們固定在中心管上。
步驟7:電子平臺
我們設計了支架,以便更容易地修復所有電子元件。有一個Arduino船的地方,也在對面有一個H-briges,baterries和開關(guān)的地方。
最后,我們將Arduino和電機控制器擰入支架,我們使用拉鏈連接到固定開關(guān)和電池。
步驟8:連接機器人
下一步是連接所有電氣元件機器人在一起我們首先將長導線焊接到電機的觸點上。接下來,將腿上的花盆連接在一起。這是通過使用舊IDE電纜的帶狀電纜段完成的。電池接線,使它們都具有共同的接地和輸入電壓。輸入電壓連接到Arduino上的+ 9V引腳,兩根信號線焊接到接頭,然后連接到Arduino上的模擬輸入A0-A1。
接下來,我們連接數(shù)字輸出將Arduino上的引腳連接到電機控制器上的輸入端。
最后,我們在中心管上鉆一個孔,這樣我們就可以將電纜插入管中,直到管的開口端,我們在那里固定前腿。這樣做可以更容易地連接電機。然后我們通過撥動開關(guān)將每個電機電壓端子連接到9V電池組。
步驟9:編程
//This program is a simple program who will use motor drives (L298N) only to make the motor going straight forward than wait and then backward.
//Note that no regu-lation is used and the motor will just go at full speed (in the case of the pipe ro- bot, due to the degrees of freedom of the project this kind of method can be applied.
int mot1plus = 2; //initialisation of the motor pin
int mot1moins= 3;
int mot2plus = 4;
int mot2moins= 5;
int mot3plus = 6;
int mot3moins= 7;
float t_init , t_now , t; //initialisation of the time variables
float t_forward =8;
float t_back = 10;
float t_waiting = 1;
int motorSpeed=0;
void setup()
{
Serial.begin(9600);//give the values of the variables if mantioned inn the code (can be delete)
pinMode(mot1plus,OUTPUT);//initialisation of the pins as output
pinMode(mot1moins,OUTPUT);
pinMode(mot2plus,OUTPUT);
pinMode(mot2moins,OUTPUT);
pinMode(mot3plus,OUTPUT);
pinMode(mot3moins,OUTPUT);
t_init=millis(); //initialisation of the time as variable and start to count
t_forward *=1000;//transformation of the time in seconds
t_back*=1000;
t_waiting *=1000;
}
void loop()
{t_now=millis();
t=t_now-t_init;// use to calcul the time in the loop
if (t《=t_forward){ //first loop the robot goes forward
digitalWrite(mot1moins,LOW);
digitalWrite(mot1plus,HIGH);
digitalWrite(mot2moins,LOW);
digitalWrite(mot2plus,HIGH);
digitalWrite(mot3moins,LOW);
digitalWrite(mot3plus,HIGH);
}
if (t》t_forward) { if (t《=t_forward+t_wait){
digitalWrite(mot1moins,LOW);
digitalWrite(mot1plus,LOW);
digitalWrite(mot2moins,LOW);
digitalWrite(mot2plus,LOW);
digitalWrite(mot3moins,LOW);
digitalWrite(mot3plus,LOW);}
}
if (t_forward+t_waiting《=t){//third loop the robot come back
digitalWrite(mot1moins,HIGH);
digitalWrite(mot1plus,LOW);
digitalWrite(mot2moins,HIGH);
digitalWrite(mot2plus,LOW);
digitalWrite(mot3moins,HIGH);
digitalWrite(mot3plus,LOW);
}
while(t》=t_forward+t_waiting+t_back){ // the code is block in this loop and the robot stop
digitalWrite(mot1moins,LOW);
digitalWrite(mot1plus,LOW);
digitalWrite(mot2moins,LOW);
digitalWrite(mot2plus,LOW);
digitalWrite(mot3moins,LOW);
digitalWrite(mot3plus,LOW);
}
}
步驟10:測試和結(jié)果
最后,是時候進行測試了。
我們測試了不同直徑的機器人。第一次測試是在直徑小于260mm的管道中進行的,但它太壓縮而無法向前移動,它幾乎不在管道內(nèi)移動。
然而,它對其他直徑(300mm)表現(xiàn)相當不錯,320毫米)。此外,它被證明能夠在更大的直徑下工作,但作為汽車(沒有壓縮)。
此機器人設計用于水平圓柱形管道或略微傾斜的管道。然而,對于更大的傾斜角度或不平坦的表面,可能會有進一步的改進。
-
機器人
+關(guān)注
關(guān)注
211文章
28632瀏覽量
208126
發(fā)布評論請先 登錄
相關(guān)推薦
評論