精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

自制爬樓小車diy全過程

454398 ? 作者:工程師吳畏 ? 2018-09-12 08:30 ? 次閱讀

近日心血來潮用Makeblock的零件搭了個自動爬樓梯的小車

下面給大家介紹一下如何搭建這個案例。由于是自動爬行,那么自然有各種傳感器。什么巡線(當接觸開關用),超聲波,限位開關,陀螺儀~~

首先先簡單介紹一下實現原理

額。。理想狀態下一共有8個階段,其中1號輪子和4號輪子都是帶電機的主動輪,其他都是從動輪,而且升降裝置裝在2號和4號輪子上

階段1

前進

階段2

超聲波檢測到前方有障礙(這里指的是樓梯)

車體上升,1號和2號升降裝置把1號和3號輪子升起來直到超聲波傳感器檢測不到樓梯

階段3

1號和4號輪子推動小車前進

階段4

2號輪子的巡線傳感器檢測碰到樓梯了,1號升降裝置把2號輪子收回去

階段5

1號和4號輪子推動小車前進

階段6

4號輪子上的限位開關檢測到4號輪子已經碰到樓梯,主動輪停止轉動,2號升降裝置把4號輪子收回去

階段7

1號輪子推動小車前進 也就是階段1

階段8

也就是階段2,小車繼續前進直到超聲波檢測到樓梯然后開始循環

額。。攀爬原理差不多就是這樣了,接下來給大家介紹一下搭建方法以及調試過程中碰到的一些問題

這個案例在機械結構方面的一個特色就是這個升降的裝置,既要可靠,又要比較迅速地升降。所以我選擇了齒條齒輪的配合方式,并且使用單孔梁作為滑軌,用3*3的同步帶固定片配合雙孔梁做了個簡易滑塊。

下面是搭建使用的材料和方法。

升降裝置1

雙孔梁032*4

雙孔梁160*2

M4*22螺絲*8

M4螺母*8

然后使用下面的材料把上面搭好的結構連接起來

3*3同步帶固定片*4

M4*8螺絲*16

額。。這樣滑塊就搭好了

拿兩根0808*312的單孔梁剛好能穿過滑塊

接下來我們來搭齒條

由于我們這個自動爬樓梯小車比較智能,能夠適應不同高度的樓梯,所以我們的滑軌和齒條都要準備的長一點,既然滑軌都有312mm那么長了,齒條肯定不能短

所以我使用了4段齒條拼接起來,至于為什么上面的材料圖片中有一根312的單孔梁呢,這是有原因的。光靠齒條拼接的話在升降過程中齒條與齒條之間的連接處會彎,這一彎齒輪和齒條的嚙合就出問題了,噠噠噠滑齒了。至于為什么我會發現這個問題呢,這個就不解釋了,說多了都是淚。所以我們要把齒條固定在這根單孔梁上。如下

接下來把導軌和齒條固定在一起

材料如下

144雙孔梁*1

M4*22螺絲*3

M4螺母*2

176雙孔梁*2

M4*22螺絲*6

M4螺母*6

裝上2號輪子(從動輪)

使用以下材料

輪胎*2

90T同步帶輪*2

螺絲軸*2

法蘭軸承*4

M4螺母*2

M3*5無頭螺絲*2

4*2塑料墊片*4

把輪子固定在雙控梁的端面

2號輪子和1號升降裝置搭建完畢

接下來搭建4號輪子和2號升降裝置

2號升降裝置結構和1號一樣

所需材料也一樣

只不過把032雙孔梁固定在下圖的位置

導軌和齒條的搭建與1號升降裝置一樣

上端的連接使用080雙孔梁替代144雙孔梁

128雙孔梁*1

M4*22螺絲*6

M4螺母*6

裝上L形支架,用

M4*14螺絲*2

M4螺母*2

固定在梁上

完成2號升降裝置的搭建后就可以開始搭建4號輪子(主動輪)

所需材料如下

25mm電機*1

90T同步帶輪

25mm電機支架

傳動固定盤

M3*5螺絲

M4*14螺絲

套上輪胎,用

M4*14螺絲*2

螺母*2

固定在L形支架上

完成1、2號升降裝置和2、4號輪子搭建,整車結構就完成一半了

接下來開始搭建主車架、1號和3號輪子

首先,把1號輪子(主動輪)搭建好

輪胎*2

90T同步帶輪*2

傳動固定盤*2

M4*14螺絲*8

M4螺母*4

M3*5螺絲*4

M3*5無頭螺絲*2

25mm電機*2

25mm電機支架*2

064雙孔梁*2

搭建前防撞杠

160雙孔梁*1

L形支架*2

M4*14螺絲*4

M4螺母*4

搭建主車架

192雙孔梁*2

防撞杠*1

前輪*2

M4*30螺絲*6

M4螺母*6

搭建3號輪子(從動輪)

輪胎*2

90T同步帶輪*2

088單孔梁*2

法蘭軸承*4

螺紋軸*2

4*2塑料墊片*4

螺母*2

M3*5無頭螺絲*2

使用

M4*22螺絲*4

M4螺母*4

把3號輪子固定在車架上

裝上2號升降裝置

使用M4*14螺絲*8

裝上1號升降裝置

使用M4*14螺絲*6

由于樓梯寬度有限,輪子又比較大所以只能把輪子錯開安裝,為了節約搭建時間和材料,4號輪組之用了一個電機和一個輪子

再安裝升級裝置的電機

37電機(裝好電機支架)*2

18T齒輪*2

M3*5無頭螺絲*2

M4*8螺絲*4

調整好齒輪和齒條的距離分別固定在1號、2號升降裝置雙孔梁的螺紋槽上

完成機械搭建

接下來開始安裝傳感器

限位開關*1

裝在2號升降裝置側面

限位開關*2

分別裝在1號2號升降裝置的梁上。(作用:限制抬升高度)

安裝電機驅動

安裝巡線傳感器

M4*22螺絲

4*10塑料圓柱

4*2塑料墊片*4

巡線傳感器*1

安裝陀螺儀

安裝超聲波傳感器

由于超聲波模塊沒辦法檢測0-30mm的距離,所以放里面去了 讓防撞桿去撞樓梯,小車撞上障礙后剛好是30mm多點,順利檢測到(這都是調試后才發現的~_~!!)

安裝主控板

安裝適配器(限位開關用)

額。。基本上傳感器安裝好了,現在介紹一下各個整車結構和傳感器

整車從左到右可以按輪子分成4個部分,其中1號輪子和4號輪子是主動輪(驅動輪),2號和3號輪子是從動輪

其中1號和2號升降裝置控制2號和4號輪子的位置

這里加裝陀螺儀是因為我們升降裝置用的是直流電機,沒辦法保證車體平衡,所以加入陀螺儀調整電機抬升速度

整車圖

接線圖

代碼如下:#include “MeOrion.h”

#include

MeGyro gyro;

MeDCMotor lifer1(PORT_1); //升降1

MeDCMotor lifer2(PORT_2); //升降2

MeDCMotor rw(M2); //1號驅動輪

MeDCMotor fw(M1); //4號驅動輪

MeLineFollower lineFinder1(PORT_7); // 巡線

MeLimitSwitch upWard1(PORT_3, SLOT2); // 1號升降限位開關

MeLimitSwitch forWard2(PORT_4, SLOT1); // 4號輪子限位開關

MeLimitSwitch upWard2(PORT_4, SLOT2); // 2號升降限位開關

MeUltrasonicSensor ultraSensor(PORT_8); // 1號輪子超聲波

void setup() // 初始化,前后升降裝置回收

{

Serial.begin(9600);

gyro.begin();

lifer1.run(-250);

while (!upWard1.touched());

lifer1.stop();

lifer2.run(-250);

while (!upWard2.touched());

lifer2.stop();

}

void Step2()

{

float p = 15;

float i = 0.01;

float angle = 0;

float targetAngle = 0;

float integration = 0;

float err = 0;

while (NotStop())

{

gyro.update();

float angle = gyro.getAngleX();

err = angle - targetAngle;

integration += err;

int speed1 = 200;

int speed2 = 200;

speed2 = speed1 + err * p;// + integration * i;

lifer1.run(speed1);

lifer2.run(speed2);

//delay(10);

}

lifer1.stop();

lifer2.stop();

}

int startTiming = 0;

unsigned long startTime = 0;

int NotStop()

{

int16_t distance;

distance = ultraSensor.distanceCm();

delay(10);

if (0 == startTiming)

{

if ((distance 《 10) && (distance 》 1))

{

return 1;

}

else

{

startTiming = 1;

startTime = millis();

return 1;

}

}

else

{

unsigned long currentTime = millis();

if (currentTime - startTime 《 2500) //超聲波檢測不到樓梯后延時2.5秒

{

return 1;

}

else

{

return 0;

}

}

}

void loop()

{

startTiming = 0;

startTime = 0;

//階段1 小車前進

fw.run(60);

rw.run(60); //1號 4號輪子推動小車前進

int16_t distance;

do

{

distance = ultraSensor.distanceCm();

delay(10);

}

//階段2 碰到樓梯 主動輪停止 整體車架上升

while (!((distance 《 4) && (distance 》 1))); //如果碰到樓梯

fw.stop();

rw.stop();

Step2();

//階段3 1號 4號輪子推動小車前進

fw.run(60);

rw.run(60);

//階段4 2號輪子巡線傳感器檢測到樓梯 主動輪停止 升降裝置1把2號輪子收回去

while (!(lineFinder1.readSensors() != S1_IN_S2_IN));

lifer1.run(-250);

fw.stop();

rw.stop();

while (!upWard1.touched()); //1號升降限位開關檢測升降結束

lifer1.stop();

Adjust();

//階段5 1號 4號輪子推動小車前進

fw.run(60);

rw.run(60);

//階段6 4號輪子限位開關檢測到4號輪子碰到樓梯 主動輪停止 2號升降裝置回收4號輪子

while (!forWard2.touched());

lifer2.run(-250);

fw.stop();

rw.stop();

while (!upWard2.touched()); //1號升降限位開關檢測升降結束

lifer2.stop();

//階段7 循環階段1

//階段8 循環階段2

}

void Adjust() //陀螺儀控制1、2號升降電機控制平衡

{

int p = 40;

//float i = 0.05;

float angle = 0;

float targetAngle = 4;

//float integration = 0;

//float err = 0;

do

{

gyro.update();

angle = gyro.getAngleX();

//err = (angle - targetAngle);

//integration += err;

lifer2.run((angle - targetAngle) * p);// + i * integration);

//delay(10);

}

while(fabs(angle - targetAngle) 》 1);

lifer2.stop();

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2548

    文章

    50678

    瀏覽量

    752017
  • Makeblock
    +關注

    關注

    1

    文章

    4

    瀏覽量

    3827
收藏 人收藏

    評論

    相關推薦

    工程師制作故事: 牛人自制WIFI雙菱天線全過程

    工程師制作故事: 牛人自制WIFI雙菱天線全過程,本制作參考網上搜集的圖紙。據說有大概11DB的增益,完成后測試確實如此。
    發表于 08-17 18:25 ?14.9w次閱讀
    工程師制作故事: 牛人<b class='flag-5'>自制</b>WIFI雙菱天線<b class='flag-5'>全過程</b>

    PCB 制作全過程

    `PCB 制作全過程。`
    發表于 08-05 22:43

    圖文詳解2000元電動汽車DIY全過程

    `圖文詳解2000元電動汽車DIY全過程`
    發表于 08-15 19:05

    音箱制作全過程

    音箱制作全過程
    發表于 08-16 17:00

    工程師制作故事 牛人自制WIFI雙菱天線全過程

    工程師制作故事 牛人自制WIFI雙菱天線全過程
    發表于 08-20 13:16

    自制單片機開發板全過程

    自制單片機開發板全過程
    發表于 12-20 22:30

    菜鳥制作51避障小車全過程記錄

    本人是個菜鳥很早之前就想做智能小車遲遲沒有動手 一是啥工具也沒有二是啥也不會 從零開始如今終于下決心 制作我的智能小車在淘寶上買了一些電子制作常用工具和電子元器件以此貼記錄我的智能小車制作全過
    發表于 06-18 09:18

    自制單片機開發板全過程pdf文件下載

    {:1:}自制單片機開發板全過程(精品).pdf 2015-7-25 14:04 上傳 點擊文件名下載附件 7.88 MB, 下載次數: 35
    發表于 07-19 04:08

    CPU制造全過程

    CPU制造全過程第1頁:由沙到晶圓,CPU誕生全過程     沙中含有25%的硅,是地殼中第二多元素,在經過氧化之后就成為了二氧化硅,在沙,尤其是石英中二氧
    發表于 09-22 08:08 ?77次下載

    圖解組裝筆記本全過程(DIY很簡單)

    圖解組裝筆記本全過程(DIY很簡單) 一、前言   對于許多臺式電腦的用戶來說,也許你已經享受過自己動手更換顯卡、CPU所帶來的樂
    發表于 01-21 10:50 ?3390次閱讀

    自制單片機開發板全過程(傻瓜式教程)

    最詳細自制單片機開發板全過程(傻瓜式教程)
    發表于 02-25 14:31 ?62次下載

    DIY安裝導航+可視倒車+行車記錄+GPS跟蹤全過程

    DIY安裝導航+可視倒車+行車記錄+GPS跟蹤全過程,感興趣的小伙伴們可以看看。
    發表于 08-03 16:47 ?106次下載

    手工制作pcb全過程

    手工制作pcb全過程介紹。
    發表于 06-19 10:18 ?0次下載

    【小知識】自制AT89S51單片機開發板全過程(傻瓜式教程)

    【小知識】自制AT89S51單片機開發板全過程(傻瓜式教程)
    發表于 11-13 12:21 ?14次下載
    【小知識】<b class='flag-5'>自制</b>AT89S51單片機開發板<b class='flag-5'>全過程</b>(傻瓜式教程)

    電磁爐的維修全過程分享

    電磁爐的維修全過程分享
    發表于 01-10 15:16 ?78次下載