单片机点灯小能手 · 2020年08月21日

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

作者:王超
首发:电子电路开发学习

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

image.png

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

image.png

看完了,是不是觉得似曾相识呢?这不就是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来使用。

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

3D打印的五金零部件。

组装效果。

资料下载

GitHub开源地址: https://github.com/T-Kuhn/HighPrecisionStepperJuggler



推荐阅读

欢迎关注公众号:电子电路开发学习,id:mcu149
更多电子电路、单片机、嵌入式、物联网等技术文章欢迎关注电子电路开发学习专栏。
推荐阅读
关注数
3062
内容数
83
电子电路、单片机、嵌入式、物联网等技术文章分享。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息