zoukankan      html  css  js  c++  java
  • 毕业设计,步进电机解魔方机器人

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

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

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

    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

  • 相关阅读:
    解决ListView异步加载数据之后不能点击的问题
    android点击实现图片放大缩小 java技术博客
    关于 数据文件自增长 的一点理解
    RAC 实例不能启动 ORA1589 signalled during ALTER DATABASE OPEN
    Linux 超级用户的权利
    RAC 实例 迁移到 单实例 使用导出导入
    Shell 基本语法
    Linux 开机引导与关机过程
    RAC 实例不能启动 ORA1589 signalled during ALTER DATABASE OPEN
    Oracle RAC + Data Guard 环境搭建
  • 原文地址:https://www.cnblogs.com/zqb-all/p/6160481.html
Copyright © 2011-2022 走看看