专栏首页电子电路开发学习[开源]基于Arduino+OpenCV的颠球机器人

[开源]基于Arduino+OpenCV的颠球机器人

最近在网上看到了个视频,挺好玩的,分享给大家。

其实作者在2014年就开始做这个了,最开始是这样的:

看完了,是不是觉得似曾相识呢?这不就是2017年的电赛B题目的升级版吗?17年电赛那个题目,常用的解决方案是把摄像头放在上面,而且小球只在平板上进行二维运动。这个项目是把摄像头放在了透明玻璃的下面,小球的高度和和摄像头采集的小球图像大小成比例关系,在二维运动的基础上升级为了三维立体运动。

上位机实时状态显示

这是一个基于步进电机 + Teensy 4.0 + OpenCV实现的乒乓球控制系统,整个项目实现原理的框图如下:

软件整体框图

主要分为上位机和下位机,上位机是通过摄像头采集的图像,使用OpenCV算法进行图像处理,计算出小球的三维位置,然后通过PID算法,计算出每个步进电机所需要运动的角度,然后通过串行总线把数据发送给下位机Teensy开发板,开发板根据上位机发来的数据,解析出4个步进电机所需的角度,然后通过PWM输出脉冲信号给驱动。

输出的控制方波

主要元器件

  • 1块Teensy 4.0开发板,主频600MHz,基于i.MX RT1060,可以使用Arduino开发。
  • 1个 DM442S 步进电机驱动器,可同时驱动4路步进电机
  • 4个Nema 17 42步进电机
  • 1个48V 8A的电源
  • 1个高分辨率的See3CAM_CU135摄像头
  • 1台安装OpenCV的Windows电脑主机

Teensy 4.0开发板,使用NXP RT1062,可以当做Arduino来使用。

Teensy 4.0开发板

所使用到的步进电机和驱动器。

步进电机和驱动器

3D打印的五金零部件。

零部件

零部件

组装效果。

组装完成

组装完成

资料下载

GitHub开源地址:

https://github.com/T-Kuhn/HighPrecisionStepperJuggler


本文分享自微信公众号 - 电子电路开发学习(mcu149),作者:wcc149

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-19

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 东芝半导体最新ARM开发板——TT_M3HQ开箱评测

    最近从面包板社区申请到一块东芝最新ARM Cortex-M3的开发板——TT_M3HQ,其实开发板收到好几天了,这几天一直在构思怎么来写这第一篇评测文章,看大家...

    单片机点灯小能手
  • 基于uFUN开发板和扩展板的联网校准时钟

    上周在uFUN试用群里看到管理员说试用活动快结束了,要抓紧完成评测总结,看大家的评测总结也都写了,我也不能落后啊!正好最近做的扩展板到手了,于是赶紧进行调试,做...

    单片机点灯小能手
  • 基于NXP i.MX28 MPU的疫情监控平台1-交叉编译环境搭建

    交叉编译器是在PC上运行的编译器,但是编译后得到的二进制程序却不能在PC 上运行,而只能在开发板上运行。交叉编译器命名方式一般遵循“处理器-系统-gcc”这样的...

    单片机点灯小能手
  • jenkins手把手教你从入门到放弃01-jenkins简介(详解)

      jenkins是一个可扩展的持续集成引擎。持续集成,也就是通常所说的CI(Continues Integration),可以说是现代软件技术开发的基础。持续...

    北京-宏哥
  • Jenkins X--(3)具备什么样的加速能力

    Jenkins X 重新构思了云原生时代下的 CI/CD 实现,这些想法受到了 DevOps 状态报告和近来大热的《Accelerate》一书的深刻影响,这本书...

    DevOps亮哥
  • python: remove 内建函数

    JNingWei
  • Android全屏的两种方法 博客分类: Android小技巧 AndroidXML

     然后在manifest.xml中,为想要全屏的activity加上android:theme="@style/Theme.NoTitle_FullScreen...

    chroya
  • 三辩三驳:这篇论文告诉你传统优化分析与现代DL有哪些不匹配

    从事机器学习方面相关研究的人都了解,网络模型的最终性能少不了优化。其中损失函数扮演了非常重要的角色,而随机梯度下降算法(SGD)由于其良好的收敛性,常常被用来进...

    机器之心
  • java调用.net asmx / wcf

    一、先用asmx与wcf写二个.net web service: 1.1 asmx web服务:asmx-service.asmx.cs 1 using Sy...

    菩提树下的杨过
  • windows 7以上操作系统文件共享

    windows 7以上操作系统文件共享后,通过其它计算机无法访问共享,需要对windows防火墙做相关设置才行,简单只需要如下三步:

    杨强生

扫码关注云+社区

领取腾讯云代金券