【第六届起重机创意大赛国一作品——资料分享】

文章目录

  • 前言
  • 一、比赛内容分析
  • 二、作品的机械设计
    • 作品介绍
    • 模型分享
  • 三、电路设计
    • 单片机选择与引脚分配
    • 拓展板的PCB设计
    • 外部电路设计
    • 材料清单
  • 四、代码分享
  • 五、工作过程视频
  • 总结


前言

在完成了第六届起重机大赛之后,有了一些收获,我一直想要把它记录下来。一是为了纪念自己的比赛经历,二是为了给后来的同门留下一点积累。本来想着快些写完,结果一拖再拖,拖了大半年。估计第七届的比赛应该快开始了,也是时候把它完成了。


一、比赛内容分析

举办方在通知里面对比赛内容做了如下描述:设计、制作一台起重机器人(以下简称作品),基于机器视觉, 对固定取物区具有特定颜色及形状标识的搬运物品进行识别,通过自主有序的控制方式将物品从取物区按通行规则搬运到堆码区。

  • 与往届不同,此次比赛要求自主有序,意味着起重机大赛规则再次升级,将不再允许遥控车的存在
  • 机器视觉一词可大可小,最低只要满足识别的要求即可,最高可以用作导航的一部分来实现作品的自主有序

二、作品的机械设计

作品介绍

在经历小型作品的失败之后,决定参考门式起重机的结构,做一个基于轨道的大型作品,力求结构简单,控制方便。最终作品实物如图:
【第六届起重机创意大赛国一作品——资料分享】_第1张图片

模型分享

1.作品模型文件链接:https://share.weiyun.com/2pI5BKcr

  • 模型装配是使用的SOLIDWORKS2020建立的,采用的是活动装配,可在起重机装配文件下拖动查看。

2.作品整体结构比较简单,复杂部分主要集中在大梁上的子装配动力滑环装配体上,对其做两点说明:下面提到的零件或者子装配命名来源于文件,全部加粗显示

  • 作为一个大型的比赛作品,手臂在大梁(红色箭头所指)上的行程太长,如果使用同步带加上轨道的方式,滑轨不但成本太高,而且还重。搞机械的兄弟想到了一个巧妙的办法,将同步带(文件中绿色部分梁上皮带)平铺拉紧且两端用铆钉(黄色箭头所指)铆接在大梁上,和手臂上的带轮组成齿轮齿条(实际是带轮带条)的结构,再使用一个打印件滑环套住大梁形成局部的轨道,成功省下了轨道的成本和重量,以及一半的同步带长度。
    【第六届起重机创意大赛国一作品——资料分享】_第2张图片
    蓝色部分是由很多个零件使用ab胶粘接起来的滑环装配体,红色箭头和黄色箭头处粘接了M3的螺母。整体的装配关系如爆炸图所示:
    【第六届起重机创意大赛国一作品——资料分享】_第3张图片
  • 手臂上提升的电机特地选择了蜗轮蜗杆电机,因为其自锁的特性,可以轻易将1.1kg的货物保持在某个位置不下落
  • 【第六届起重机创意大赛国一作品——资料分享】_第4张图片

三、电路设计

单片机选择与引脚分配

此次选择arduino的mega2560作为控制板,理由是上手简单,非官方板售价便宜,各种库还多。引脚功能在开发板正面有简单标记,其他更多功能也可以参照:https://www.xpstem.com/article/10065.

控制板的引脚分配:

  1. 单个编码器减速直流电机+L298N驱动板占用5个引脚,以motor0为例(见下表),引脚26、27、4(4是调速)连接驱动板,引脚2、22采集编码器的数据
  2. 为了缩小拓展板的空间,舵机与行程开关接口通用
  3. 除了串口0全部引出
  4. 为了方便调试,也仍旧引出了遥控器ps2接口
功能 引脚
motor0 26、27、4、2、22
motor1 28、29、5、3、23
motor2 30、31、6、20、24
motor3 32、33、7、21、25
servo(0-5) 8、9、10、11、12、13
uart1 19(RX)and 18(TX)
uart2 17(RX)and 16(TX)
uart3 15(RX)and 14(TX)
PS2 43、45、47、49

拓展板的PCB设计

因为需要用的模块有很多,使用杜邦线接线和故障排查费时费力。某宝现成的拓展板也不完全符合使用要求,而且还很贵,又恰逢嘉立创免费打样活动,于是自己画了一个arduino mega2560拓展板:https://oshwhub.com/tydd1/qi-zhong-ji-tai-sai-zhuan-jie-ban_copy_copy_copy/.

  • 拓展板上只有插在arduino mega2560的排针是在反面焊接,其他的接口、排针、排母都焊接在图示的正面:
    【第六届起重机创意大赛国一作品——资料分享】_第5张图片

  • 四路L298N需要先处理一下,加热拔掉蓝色的电机输出接口和控制电机的所有排针,并在反面全部换成排针重新焊接上,焊接后的反面如图示:
    【第六届起重机创意大赛国一作品——资料分享】_第6张图片

  • 大多数的焊盘都是排针和排母,所以多买一些较长的单排针和单排母剪开使用比买固定规格的要划算

外部电路设计

  • 上半部分是底盘的控制电路,下半部分是手臂的控制电路,手臂使用的两个电机是不同的,一个是普通的减速电机,另一个是蜗轮蜗杆减速电机,由于接口一样所以没做区分。
  • 天蓝色的粗线是简略的画法(例如其中一个限位开关详细的画出,其他的几个就简略了),而电机是有接口的,没必要去单根连线,所以也简略画出
  • OpenMV使用拓展板5V供电,但是实际调试过程中arduino接收数据时缓慢且断断续续,从拓展板引出arduino提供的3.3V引脚飞线过来解决了此问题(实在是不想重新设计pcb了)。

材料清单

控制部分的材料清单链接:https://share.weiyun.com/dJfwkBJQ

  • 不包含用到的各种线材,因为都是从往届遗留中找出来的,也比较好买,就没放进去
  • 也不包含气泵用到的软管和四通,也很好买,就不放进去了

四、代码分享

代码链接:https://share.weiyun.com/QYn7sYry

  • 代码中包括的内容很多就不在这篇写了,我打算另写一篇对代码的思路进行详细的说明,先留个坑。

五、工作过程视频

视频链接:https://www.bilibili.com/video/BV1954y1f7FW/


总结

在此特别感谢本组除了电控什么都行的付同学,建模效率高,想法多,最重要的是活好。
所有资料链接:https://share.weiyun.com/1vzRjFxG
arduino mega2560拓展板:https://oshwhub.com/tydd1/qi-zhong-ji-tai-sai-zhuan-jie-ban_copy_copy_copy/.

你可能感兴趣的:(单片机)