专栏首页QB杂货铺毕业设计,步进电机解魔方机器人

毕业设计,步进电机解魔方机器人

这周没什么好写的,设备驱动入门中,但还是想写点东西,能坚持每周写一篇的话还是写吧

想想毕业快半年了,把毕设简单写一下吧,短时间内估计也不会去折腾这些玩意了

没搞懂怎么插入视频,直接放地址吧

http://v.youku.com/v_show/id_XMTU4NjYxNjA1Ng

方案

方案上最开始想用舵机+机械爪,但后来觉得好麻烦,加工也贵,而且网上也有好多版本的了,大同小异。

后来看号称世界最快的,是步进电机,直接插入魔方中,就是这个

http://v.youku.com/v_show/id_XMTQ1NTAzOTIw

想想可以参考,而且实现也简单,目前DIY的似乎还没看到这么做的,于是就定为步进电机方案(其实就是懒==)

机械

机械上,需要的就是一个支架,用于固定步进电机,以及步进电机与魔方的连接件

支架,支架其实怎么搞都好,只要能固定,固定直接就是热熔胶,简单粗暴。最开始用个盒子,后来试了下纸杯,最后的版本才想搞个书立好看些,也好调整位置以及安装

连接件,参考的那个老外的版本,是在魔方上有洞,然后爪子插进去卡住,具体去看视频。感觉太麻烦,干脆去掉中间的外壳,用来固定吧,于是去掉中间的外壳,量了下尺寸,画个零件,直接3D打印,成本几块钱一个吧,还行。一端直接插入魔方,另一端留出孔插步进电机轴,也是够简单粗暴的。精度方面倒也还好。

电路

淘宝一个开关电源,供电用。

主控用STM32F407,主要原因是熟悉,够用。其实用F103应该也够了

步进电机驱动就直接买的A4988,用起来也简单,然后就是接线了,好多线

这里还有个小问题,驱动的时候,用电压控制A4988的力矩,但只有两路DA,后来就想到用PWM+二阶滤波,效果还行

然后串口跟电脑通信,可以直接接个TTL,也可以加一对蓝牙弄成无线的,我是加了蓝牙,调试的时候电脑好放些,不受串口线限制。

软件

软件分上下位机

下位机

STM32就是跑个小操作系统,用的freertos,然后接收上位机的控制指令,解析后,驱动步进电机执行动作

所以首先是调试好单个步进电机的驱动,这个比较重要

然后从串口解析指令调用驱动即可

不用操作系统也行,但既然有,为什么不用呢,又不需要自己移植

上位机

上位机,比较麻烦的是魔方算法,还好也有不少开源的,参考一下弄个层先法,C#其实做上位机挺不错,入门轻松

大概是,鼠标填色,计算解法,串口发出去就行了

但有个问题是层先法太挫了,还好,有牛逼的软件,CubeExplorer,二阶段算法,溜得不行,基本上十几步就能搞定。

还提供了网络接口,于是在上位机中加上网络调用CubeExplorer功能

演示视频的那个解法就是上位机调用CubeExplorer跑出来,再发送给下位机执行的,所以看起来就是无法理解,转来转去怎么就还原了

一个比较大的缺点是没有做视觉,手工鼠标填色确实费事。一是没时间,二是没经验,三是没必要,毕竟只是个毕设,就这个样子都是白天实习,晚上在宾馆一点点弄,才搞出来的

本文链接http://www.cnblogs.com/zqb-all/p/6160481.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 记一次uboot升级过程的两个坑

    之前做过一次uboot的升级,当时留下了一些记录,本文摘录其中比较有意思的两个问题。

    zqb_all
  • vim的配置与使用

    经历了一次source insight 一言不合就崩溃之后,决定还是花点时间好好配置和学习以下vim

    zqb_all
  • 日常开发技巧:使用notify-send发送通知

    在终端执行一些需要较长时间的命令时,会切换到别的界面。但为了知道是否执行完成,需要时不时地切换过去看一眼。很麻烦。

    zqb_all
  • 如何分析产品的用户体验?(课程笔记)

    http://www.kickerstudio.com/2011/07/introducing-the-kicker-tea-tumbler/

    宇相
  • AngularJS系列之表达式

    这节介绍一下AngularJS中表示式的用法。使用表达式可以把数据绑定到HTML中去,使用起来非常方便。不过在使用之前得先引用AngularJS文件,这个文件可...

    林老师带你学编程
  • 【RL-TCPnet网络教程】第38章 TFTP简单文件传输基础知识

    本章节为大家讲解TFTP(Trivial File Transfer Protocol,简单文件传输协议)的基础知识,方便后面章节的实战操作。

    armfly
  • 腾讯云FLV AV1扩展以及FFmpeg修改说明

    腾讯云对FLV协议部分做了扩展,用于支持FLV AV1的直播场景,并在FFmpeg 4.1.3/4.2中做了对应的实现,具体细节如下:

    腾讯云视频
  • 如何统计Excel非空单元格的个数?

    解答:什么叫非空单元格,就是单元格有内容的单元格,不管是空格,符号,数字,字体,只要单元格有内容。利用=counta函数可以快速统计出非空单元格的个数。

    砸漏
  • 【RL-TCPnet网络教程】第40章 RL-TCPnet之TFTP客户端(精简版)

    本章节为大家讲解RL-TCPnet的TFTP客户端应用,学习本章节前,务必要优先学习第38章的TFTP基础知识。有了这些基础知识之后,再搞本章节会有事半功倍的效...

    armfly
  • 疫情期间游戏行业网络攻击报告

    由于新型冠状病毒大流行,互联网对我们的生活产生了极大的影响,其中所有变化都会以某种方式影响数字安全。本文会从游戏行业出发,以信息安全的角度来研究我们周围的变化。

    FB客服

扫码关注云+社区

领取腾讯云代金券