2020年09月机器人六级实操答案及解析.pdfVIP

2020年09月机器人六级实操答案及解析.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

一、实操题

1、主题:通过串口控制步进电机转动

器件:ESP32主控、步进电机控制器、步进电机、LED灯2个等相关元器件。

要求:

1、通过串口监视器控制步进电机转动的位置。使用两个LED灯(LED_A和LED_B

),指示转动的方向。

2、系统通电后,步进电机的当前位置为初始零位。串口监视器出现“Inputnew

position:”的提示。

3、在串口监视器输入框中输入数值1024,点击【发送】。此时步进电机转动半周

后停止。转动过程中,串口监视器实时显示步进电机转动过程中当前的位置数值,

LED_A点亮,LED_B熄灭。

4、在串口监视器输入框中输入输入数值-1024,点击【发送】。此时步进电机反向

转动一周后停止。转动过程中,串口监视器实时显示步进电机转动过程中当前的位

置数值,LED_A熄灭,LED_B点亮。

5、当步进电机旋转到指定位置后,LED_A和LED_B均熄灭,串口监视器窗口显示

“End”和“Inputnewposition:”的提示。

6、程序中使用步进电机类库AccelStepper通过梯形加减速来控制步进电机的转

动。控制程序采用C/C++代码编写。

7、为了方便识别步进电机旋转,可以将车轮或纸片固定在马达转轴上。

8、未作规定处可自行处理,无明显与事实违背即可。

9、编写程序文件命名规则为:DJKS6_身份证号,考试完毕拷贝上交备案。

10、程序编写过程中不得打开库例程和其它程序,如发现,实操成绩按照0分处理

参考答案:

解析:【喵呜刷题小喵解析】该代码基于Arduino平台,使用C/C++语言编写。代

码的主要功能是通过串口控制步进电机的转动,并使用两个LED灯指示转动的方向

。1.

首先,通过`SoftwareSerial`库定义了一个软件串口,用于与电脑进行串口通讯。2.

然后,使用`AccelStepper`库定义了一个步进电机对象,用于控制步进电机的转动

。3.定义了两个LED灯,用于指示步进电机的转动方向。4.

在`setup()`函数中,初始化串口、步进电机和LED灯。5.

在`loop()`函数中,不断读取串口输入,根据输入值控制步进电机的转动。如果输

入值大于0,则步进电机正向转动,LED_A点亮,LED_B熄灭;如果输入值小于0

,则步进电机反向转动,LED_A熄灭,LED_B点亮。6.

在步进电机转动过程中,实时更新步进电机的位置,并在到达目标位置后熄灭两个

LED灯,并在串口显示“End”和“Inputnew

position:”的提示。该代码实现了题目要求的功能,并且使用了梯形加减速来控制步

进电机的转动。在编写程序时,需要注意代码的命名规范和注释,以便于理解和维

护。

2、说明:AccelStepper类库头文件和相关类库函数如下,供参考。

参考答案:

解析:【喵呜刷题小喵解析】:本题要求使用AccelStepper类库来控制步进电机。

根据题目给出的头文件和相关类库函数,我们可以创建一个AccelStepper对象来控

制步进电机。首先,我们需要包含AccelStepper的头文件,即`#include

AccelStepper.h`。然后,我们创建一个AccelStepper对象,需要指定步进电机的引

脚号、步进类型、驱动类型以及编码器类型。在这个例子中,我们将步进电机的引

脚号设置为1,步进类型设置为DRIVER,驱动类型设置为MS5611,编码器类型设

置为无编码器。在`setup()`函数中,我们需要设置步进电机的最大速度、加速度以

及目标位置。在这个例子中,我们将最大速度设置为100.0,加速度设置为500.0,

目标位置设置为1000。在`loop()`函数中,我们调用`stepper.run()`函数来运行步进电

机,使其向目标位置移动。注意,这个答案只是一个简单的示例,具体的实现可能

会因为具体的需求和硬件配置而有所不同。例如,步进电机的引脚号、步进类型、

驱动类型以及编码器类型都需要根据具体的硬件配置来设置。此外,还需要注意在

代码中处理可能出现的异常情况,比如步进电机卡住、电源中断等情况。

文档评论(0)

喵呜刷题 + 关注
实名认证
文档贡献者

来喵呜刷题,完成你的职业蜕变!

1亿VIP精品文档

相关文档