电路

如何使用Makeblock构建楼梯:32个步骤(带图片)

目录:

Anonim

首先,我们想向您介绍本案的工作原理。通常,在这种情况下,在理想条件下有8个阶段。车轮1和车轮4是配备有马达的驱动轮,而其他车轮是驱动轮。提升装置分别安装在车轮2和车轮4上。

阶段1
汽车前进了。

第2阶段

超声波传感器检测到前方的障碍物。

然后,该车上的提升装置将提升车轮1和车轮3,直到超声波传感器无法检测到障碍物。

注意:这里的“障碍物”指的是“楼梯”。

STAGE3

车轮1和车轮4驱动汽车继续前进。

第四阶段

如图所示,车轮2上的线跟随器检测到障碍物(楼梯),因此提升装置1将车轮2提升到下一个更高的楼梯。

第五阶段

车轮1和车轮4驱动汽车继续前进

第6阶段
当车轮4上的限位开关检测到楼梯时,驱动轮(车轮1和车轮4)将自动停止。然后,提升装置2将向上提升轮4。

第7阶段

在车轮1的驱动下,汽车继续前进

这就像我们再次回到第一阶段……

第8阶段
第8阶段,与第2阶段相同。机器人汽车继续向前移动,直到超声波传感器检测到障碍物……

通常,在这种情况下,工作原理从阶段1循环到阶段8。

从机械结构的角度来看,这种情况的独特之处在于提升装置的设计,当上下提升时需要既可靠又快速。因此,在这种情况下,我们使用齿轮和齿条来构建提升装置。如下面的描述所示,我们使用梁0808来构建滑动轨道,并且使用与梁0824连接的带连接器来构建简单的滑块。

学到更多

第2步:

接下来是每个步骤中使用的部件和构建方法。提升装置1

零件清单:

4 x Beam0824-032

2 x Beam0824-160

8 x螺丝M4x22

8 x坚果M4

使用以下部件连接结构。

第3步:

零件清单:

4 x皮带连接器

16 x螺丝M4x8

只需拧紧螺钉,我们就可以轻松地构建滑块。

抓住两个可以直接穿过滑块的Beam0808-312。

第4步:

现在让我们进入下一步:构建机架。

为了确保这款智能自动爬楼车适应不同高度的楼梯,滑轨和机架应足够长。滑轨长312mm,因此机架不应短

我们需要做的就是连接4个部分来构建机架。我们在这里使用Beam0808-312的原因是为了防止在提升过程中齿条部分的连接弯曲。如果齿条部分的连接处弯曲,齿轮和齿条之间将存在啮合问题。因此,我们应该将机架固定在Beam0808-312上,如下图所示:

第5步:

连接导轨和机架

零件清单:

1 x Beam0824-144

3 x螺丝M4x22

2 x坚果M4

第6步:

零件清单:

2 x Beam0824-176

6 x螺丝M4 x 22

6 x坚果M4

第7步:

安装轮2(啮合轮)

零件清单:

2 x轮胎64 * 16mm

2 x Timing Pulley 90T

2 x螺纹轴4x39mm

4个法兰轴承

2个螺丝M4

2 x无头固定螺钉M3x5

4 x Plastic Spacer4x7x2

将两个轮胎固定在Beam0824的两端

完成所有步骤后,我们完成了装配轮2和提升装置1的装配。

第8步:

让我们来看看下一步 - 装配轮4和提升装置2。

提升装置2的结构与提升装置1相同,以及用于组装的部件。

唯一的区别是你需要修复Beam 0824-032,如图所示。

组装导轨和机架与构建起重设备的步骤相同1.使用Beam0824-080代替Beam0824-144连接上端。

第9步:

要连接下端,我们使用以下部分:

1 x Beam0824-128

6 x螺丝M4x22

6 x坚果M4

第10步:

在Beam0824上安装支架L1

零件清单:

2 x螺丝M4x14

2 x坚果M4

第11步:

在完成建筑物升降装置2后,我们可以开始构建轮子4(驱动轮)

零件清单:

1个直流电机-25

1 x Timing Pulley 90T

1个直流电机-25支架

1 x轴连接器

1个无头固定螺钉M3x5

2 x螺丝M4x14

第12步:

安装轮胎

2 x螺丝M4x14

2 x坚果

在支架L1上安装上述结构

到现在为止,我们完成了这辆车的一半。

第13步:

下一步是建立汽车和车轮1和车轮3的主要结构。

首先构建车轮1(驱动轮)。

2 x轮胎64 * 16mm

2 x Timing Pulley 90T

2 x轴连接器

8 x螺丝M4x14

4 x坚果M4

4 x螺丝M3x5

4 x无头固定螺钉M3x5

2 x DC电机-25mm

2个直流电机-25支架

2 x Beam0824-064

第14步:

组装防撞杆

零件清单:

1 x Beam0824-160

2 x支架L1

4 x螺丝M4x14

4 x坚果M4

第15步:

组装汽车的主要结构

零件清单:

2 x Beam0824-192

1个防碰撞杆

2 x轮胎64 * 16mm

6 x螺丝M4x30

6 x坚果M4

第16步:

装配轮3(从动轮)

零件清单:

2 x轮胎64 * 16mm

2 x Timing Pulley 90T

2 x Beam0808-088

4个法兰轴承

2 x螺纹轴

4 x Plastic Spacer4x7x2

2 x坚果

2 x无头固定螺钉M3x5

第17步:

零件清单:

4 x螺丝M4x22

4 x坚果M4

将车轮3固定在车载支架上

第18步:

将提升装置2安装在车载支架上

零件清单:

8 x螺丝M4x14

第19步:

使用6螺丝M4x14安装固定装置1

楼梯的宽度是
限制和轮胎太大,所以我们不得不错开所有轮胎的位置。在车轮4中,我们只使用了电机和轮胎。

第20步:

安装起重装置电机

零件清单:

2 x直流电机-37

2 x Gear 18T

2 x无头固定螺钉M3 x 5

4 x螺丝M4 x 8

注意:在安装DC Motor-37之前,请先安装电机支架。

调整齿轮和齿条之间的距离,然后将电机单独固定在提升装置1和2上的Beam0824的螺纹槽中

一步一步,我们完成了这辆车的整体机械结构。

第21步:

让我们继续下一步安装传感器

1个限位开关

在提升装置2侧安装限位开关

2个限位开关

将这两个限位开关分别安装在提升装置1和2的梁上。

注意:限位开关用于限制提升高度。

第22步:

安装线跟随传感器

零件清单:

2 x螺丝M4 x 22

2 x塑料垫片4 * 7 * 10

4 x Plastic Spacer4x7x2

1 x Me线跟随器

第23步:

安装陀螺仪

第24步:

安装超声波传感器

众所周知,超声波传感器无法检测到距离为0-30mm的障碍物。所以在这种情况下,我们在车内安装了超声波传感器,让前面的防撞杆撞到了楼梯。通过这种方式,超声波恰好能够探测到障碍物 - 楼梯。

第25步:

安装我猎户座

第26步:

安装适配器(用于限位开关)

第27步:

完成所有传感器的安装,现在让我们来看看汽车和传感器的整体结构

根据轮胎数量,这辆车可分为4部分。

轮1和轮4是驱动轮,而轮2和轮3是驱动轮

(轮4轮3轮2轮1)

在该车中,提升装置1和2控制车轮2和车轮4的位置

(起重装置1,起重装置2)

(车轮2的线跟随器,车轮1的超声波传感器)

(电机驱动模块4轮驱动电机3升降装置限位开关2轮限位开关4升降装置2)

(陀螺仪1轮驱动电机1升降装置1轮1驱动电机2轮限位开关)

为什么我们需要陀螺仪?这里的陀螺仪用于调节电动机的提升速度,从而平衡汽车本身(提升装置中使用的电动机是不能平衡汽车的直流电动机)。

第28步:

整车:

第29步:

布线图

第30步:

mw_shl_code = applescript,true #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;浮角= 0; float targetAngle = 0; float integration = 0; float err = 0; while(NotStop()){gyro.update(); float angle = gyro.getAngleX(); err = angle - targetAngle;整合+ =错误; int speed1 = 200; int speed2 = 200; speed2 = speed1 + err * p; // + integration * i; lifer1.run(速度1); lifer2.run(SPEED2); //延迟(10); } lifer1.stop(); lifer2.stop(); } int startTiming = 0; unsigned long startTime = 0; int NotStop(){int16_t distance; distance = ultraSensor.distanceCm();延迟(10); if(0 == startTiming){if((distance <10)&&(distance> 1)){return 1; } else {startTiming = 1; startTime = millis();返回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();延迟(10); } //阶段2碰到楼梯主动轮停止整体车架上升while(!((distance <4)&&(distance> 1))); //如果碰到楼梯fw.stop(); rw.stop();第2步(); //阶段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();调整(); //阶段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;浮角= 0; float targetAngle = 4; // float integration = 0; // float err = 0;做{gyro.update(); angle = gyro.getAngleX(); // err =(angle - targetAngle); // integration + = err; lifer2.run((angle - targetAngle)* p); // + i * integration); //延迟(10); } while(fabs(angle-targetAngle)> 1); lifer2.stop(); } / mw_shl_code

第31步:

第32步:

安装电机驱动器Makeblock