0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

具有旋转轴的物体跟踪相机滑块的制作

454398 来源:工程师吴畏 2019-08-22 08:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:硬件设计+构建+ 3D打印

具有旋转轴的物体跟踪相机滑块的制作

作为构建滑块的第一步,我们将从物理部件开始。所有部件都设计为3D打印,STEP和STL文件可以在这里下载

从上面的图片可以看出,有很多单独的部件。我将在这里简要介绍一下他们的目的

电机安装 - 此部件用于保持负责横向移动摄像机的电机。这部分也像项目的立场。该部件通过10 mm螺纹杆和m10螺母连接到电子设备外壳。

电子设备外壳 - 此部件包含控制相机滑块的所有电子设备。 Arduino和Roboclaw电机控制器滑入主要的大型隔间。旁边是一个较小的电池隔间。我为这个电池调整了这个隔间的大小,但你可以修改我的电池文件。 2 M10螺母也可以插入凹孔,通过M10螺纹杆将电子设备外壳连接到电机座上。在电子元件支架的顶部,有一个用于屏幕的凹槽和用于旋转编码器和启动按钮的孔。

惰轮 - 与电机座+电子元件相对,在滑块的另一侧是惰轮侧。惰轮部分使用滚珠轴承让皮带自由旋转。该部件也通过M10螺纹杆固定在摄像机滑块上,使用M10螺母夹紧零件的两侧。

滑块底座 - 当滑块的主电机旋转时,该部分实际上是左右移动的部分。该部件通过每侧2 lm8uu轴承连接到8mm光滑杆上。我使用2个轴承来稳定平台并防止振动。该部件还在其底部印有Gt2皮带齿,因此您可以轻松地将皮带从电机座安装到该部件上。该部件在零件的两侧使用2个标准滑板轴承。这些轴承将摄像机安装部件连接到此滑块底座,使摄像机支架能够以最小的摩擦自由旋转。最后,还有将旋转马达连接到该部件的空间。电机座的设计使您可以在拧紧前滑动电机,以确保电机齿轮和摄像机支架齿轮之间的最佳连接。

相机装载 - 此部分也非常独特。它有一个四分之一英寸螺丝孔,可用于将零件连接到任何相机。该部件还有一个圆柱形挤压件,通过2个滚珠轴承安装在滑块底座内。这有助于防止摩擦。最后,该部件具有内部环形齿轮,其与滑块底座中的旋转电机连接,并有助于旋转摄像机支架。

我如何设计齿轮:

建立这个项目,我制作了大约30个原型,其中15-20个是齿轮。我想确保最大的平滑度和准确度,所以我不得不使用高传动比(大马达运动=小相机运动)。使用Fusion 360的McMaster集成,无需重新CAD即可轻松尝试不同的齿轮。通过点击Fusion 360中的添加部件选项卡,我可以打开整个McMaster部件目录,只需选择我需要的齿轮。这样做允许我将这些齿轮的CAD版本导入到我的项目中,我可以简单地将它们添加到我现有的零件中而无需自己加工。

第2步:电子

接下来让我们继续讨论电子产品。电子产品是该项目具有很大灵活性的地方。

让我们从这个项目的核心开始 - 2个有刷直流电机。

我选择有刷直流电机有几个原因。

步进电机相比,有刷电机的布线和操作更加简单

有刷直流电机比直流电机轻得多,这对于旋转轴电机尤其重要电机在相机上横向移动并使其尽可能轻,对于防止主摄像机滑块电机过度拉紧非常重要。

我选择了这种特殊的直流电机。这台电机给了我极大的扭矩,这是移动如此沉重的相机负载所必需的。此外,高传动装置意味着峰值RPM很慢,这意味着我可以拍摄较慢的运动,而高传动装置也会导致更高的位置精度,因为输出轴的360度旋转意味着电机编码器的计数为341.2。

这将我们带到了RoboClaw运动控制器。 Roboclaw电机双直流电机控制器通过简单的代码命令从Arduino获取简单的指令,并执行所有繁重的处理和电源传输,使您的电机按预期运行。 Arduino可以通过PWM,模拟电压,简单串行或数据包串行向Roboclaw发送信号。数据包序列是最好的方法,因为它允许您从Roboclaw获取信息,这是位置跟踪所必需的。我将在下一步(编程)深入深入了解Roboclaw的软件/编程部分。

从本质上讲,由于RoboClaw能够进行位置控制,Roboclaw可以将带有编码器的DC有刷电机转换为更像伺服。然而,与传统伺服不同,现在您的有刷直流电机具有更大的扭矩,由于高电机齿轮传动而具有更高的定位精度,最重要的是,您的直流电机可以连续旋转360度,这是传统伺服无法做到的。

下一个电子部件是屏幕。对于我的屏幕,我选择这款OLED面板因为它的尺寸和高对比度。这种高对比度令人难以置信,使得屏幕在阳光直射下非常容易使用,同时不会发出太多可能干扰潜在暗相机拍摄的光线。此屏幕可以轻松换成另一个U8G兼容屏幕。此处提供了兼容屏幕的完整列表。实际上这个项目是在U8G库周围有意编码的,所以像你这样的DIY建造者在他们的部件中有更多的灵活性

这个项目的最终电子部件是旋转编码器,以及用于启动滑块运动的按钮。编码器允许您导航屏幕菜单并仅使用一个拨盘配置所有滑块菜单。旋转编码器没有像传统电位器那样的“终点”位置,这对于调整屏幕上对象跟踪的x和y坐标特别有用。按钮专门用于启动滑块的运动,而无需摆动旋转编码器。

第3步:编程相机滑块

编码是迄今为止最难的挑战这个项目。你看,从一开始我就想让滑块可以在屏幕上控制。为了使这个项目与尽可能多的屏幕兼容,我不得不使用U8Glib库来代替Arduino。该库支持超过32个屏幕。但是,U8Glib库使用图片循环在屏幕上绘制菜单,这与Arduino同时收集摄像机角度计算功能所需的摄像机位置信息的能力相矛盾(这将在接下来的几段中介绍) )。 U8Glib2通过使用称为全页缓冲区选项的东西替代了图片循环,但是由于Arduino Uno的内存限制,库占用了太多内存并且难以适应其余代码。这意味着我被U8G困住了,不得不通过防止屏幕在滑块处于运动状态时更新屏幕并且Arduino需要从Roboclaw收集位置数据来解决这个问题。当我进入子菜单时,我也被迫触发滑块开始移动到菜单循环之外,我将进入图片循环,滑块将无法正常工作。我还通过单独的物理按钮触发滑块的移动来规避这个问题。

下一步我们来谈谈旋转跟踪元件。这部分看起来非常复杂,但它实际上相当简单。这个实现是在我的Arduino代码中的‘motor()’函数下。第一步是制作一个二维网格,并决定放置要跟踪的对象的位置。基于此,您可以在当前位置绘制三角形。您可以从电机的编码器值获取当前位置。如果要以cm/mm为单位配置被跟踪对象的位置,则需要将编码器值转换为cm/mm值。这可以通过将摄像机滑块移动1 cm并测量编码器值的增加来完成。您可以在encoder_mm变量下的代码顶部输入此值。

继续前进,现在我们将使用反正切函数来获取相机必须面对的角度以指向对象。反正切取自三角形的相对侧和相邻侧。三角形的另一侧永远不会改变,因为它是从滑块到对象的y距离。然而,相机滑块的相邻侧确实改变了。可以通过获取对象的x位置并从中减去当前位置来计算此相邻边。当滑块移动其运动范围时,它将继续更新编码器值上的Arduino。 Arduino将重复将此编码器值转换为cm/mm x位置值,然后计算相邻边长,最后计算相机需要始终面对的角度以指向对象。

现在我们的Arduino正在动态处理摄像机角度,我们可以解决将此角度转换为旋转电机移动到的位置值的问题。这让我们了解了RoboClaw这个项目的最大特色。通过赋予Roboclaw一个位置值,它基本上可以使DC有刷电机像伺服一样工作。除了伺服之外,我们的电机具有更大的扭矩,更高的精度,还可以旋转360度。

将Roboclaw移动到某个位置的Arduino代码如下:

roboclaw.SpeedAccelDeccelPositionM1(地址,‘速度’,‘加速’,‘减速’,‘你要去的位置’,1);

调整电机的位置值以对应使用相机角度,您需要手动将相机板移动180度。接下来看看从将摄像机板从0度移动到180度后编码器值的变化程度。这为您提供了编码器范围。您可以在将Arduino摄像机角度映射到位置值的电机功能中输入此范围。这也在代码中注释,因此应该很容易找到*****

RoboClaw还让我能够调整其他因素,如加速度,减速度和PID值。这进一步使我能够平滑旋转轴运动,特别是当角度变化很小并且增加了没有高“D”PID值的加速度时。您还可以通过Roboclaw的桌面应用程序自动调整PID值。

步骤4:操作相机滑块

现在我们来到有趣的部分,操作滑块菜单有4个主要选项卡。顶部标签专用于速度控制。菜单的中间行包含用于以mm为单位配置被跟踪对象的X和Y位置的选项卡,还可以配置我们是否希望滑块旋转和跟踪我们的对象,或者只是进行简单的滑动而不旋转。扭转旋转编码器允许我们导航菜单的不同选项。要配置任何选项,请导航至该选项并按下旋转编码器。按下后,旋转旋转编码器将改变突出显示的子菜单的值,而不是擦除菜单。达到所需值后,可以再次单击旋转编码器。现在您返回主菜单,可以在不同选项卡之间导航。准备好后,只需按下屏幕旁边的“开始”按钮,滑块即可完成任务!

确保完成使用相机滑块后,相机处于“原位”位置:滑块侧面开始。原因是电机编码器不是绝对编码器,这意味着Roboclaw/Arduino无法分辨编码器的位置。它们只能说明自上次上电以来编码器的变化程度。这意味着当您关闭相机滑块时,滑块将“忘记”滑块位置并将编码器重置为0.因此,如果关闭另一侧滑块的电源,打开电源时,滑块将尝试比边缘移动更多并撞到滑块墙。此编码器行为也是相机在每次相机滑动移动后重置其旋转角度的原因。旋转轴还保护自身不会撞到其运动范围的末端。

您可以通过在启动时添加终点停止和归位过程来解决此问题。这就是3d打印机使用的方法。

第5步:最后的想法+未来的改进

我强烈建议每个构建者自己制作这个滑块的版本而不是构建完全相同的滑块。调整我的设计将允许您根据您的确切规格构建滑块,同时更好地了解电子设备和代码的工作方式。

我使代码尽可能可读和可配置,以便您可以调整/校准滑块规格的不同代码变量。代码也完全围绕函数构建,因此如果要复制/调整/重写滑块的某些行为,则无需对整个代码进行反向工程和返工,而只需要编辑要编辑的部分。

最后,如果我制作了2.0版,我会做一些改进

旋转轴电机的齿轮比更高。较高的传动比意味着我可以做出更精确的小动作。当相机远离物体并且相机角度变化非常缓慢时,这一点尤其重要。目前,我的电机没有过高的转速,当相机滑块运行得太慢或旋转角度变化很小时,它可能导致略微不平稳的运动。添加高‘D’PID值有助于我摆脱这一点,但代价是略低的目标跟踪精度。

模块化长度。这是一个牵强附会的目标,但我希望相机滑块的长度模块化,这意味着您可以轻松地为更长的轨道连接相机滑上。这是非常困难的,因为完全必须对齐两个轨道并找出如何使带系统工作。不过,这将是一个很酷的升级!

自定义运动Keyframing。我很想将关键帧运动的概念引入此相机滑块。关键帧是一种在视频和音频制作中非常常用的技术。它可以实现非线性相机移动,相机移动到某个位置,等待,然后以不同的速度移动到另一个位置,等待,然后进入第三个位置等。

蓝牙/无线电话控制。能够无线配置摄像机滑块的参数并能够在难以访问的位置部署摄像机滑块真的很酷。手机应用程序还可以提供集成关键帧的机会,如上一段所述。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相机
    +关注

    关注

    5

    文章

    1605

    浏览量

    56019
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    机器人主控核心板米尔RK3576 + ROS2,NPU加速实现目标跟随与机械臂抓取

    根据当前关节角度实时发布end_effector_link → arm_base_link的动态TF。 通过tf2监听完整变换链,将物体坐标从相机系转换到机械臂基座系。 第四章:底盘移动跟随目标 当跟踪
    发表于 04-10 21:23

    AD2S83:高性能跟踪旋转变压器 - 数字转换器的深度解析

    AD2S83:高性能跟踪旋转变压器-数字转换器的深度解析 在电子工程领域,旋转变压器 - 数字转换器(RDC)是实现精确位置和速度测量的关键组件。AD2S83作为一款高性能的跟踪式R
    的头像 发表于 04-02 09:35 143次阅读

    解析AD2S83:高精度跟踪旋转变压器 - 数字转换器

    解析AD2S83:高精度跟踪旋转变压器 - 数字转换器 在电子工程领域,旋转变压器 - 数字转换器(R/D转换器)是实现角度测量和控制的关键组件。今天我们要深入探讨的AD2S83,就是一款具有
    的头像 发表于 03-29 16:15 447次阅读

    霍尔感应磁环内径是间隙配合还是过盈?

    在电机、磁编码器以及新能源汽车传感系统中,霍尔感应磁环通常安装在旋转轴上,用于配合霍尔传感器实现转速或位置检测。那么在实际设计中,磁环内径与轴之间是采用间隙配合还是过盈配合呢?
    的头像 发表于 03-17 11:29 208次阅读
    霍尔感应磁环内径是间隙配合还是过盈?

    从结构到性能:轴向磁通无刷电机全解析,引领清洁设备动力升级

    磁通路径与电机旋转轴平行的高性能电机,定子与转子呈面对面的盘状结构,具有 扁平紧凑、高扭矩密度、高效率 等显著优势,在清洁设备、机器人、新能源汽车等领域应用广泛。 一、核心定义与工作原理 1.
    的头像 发表于 02-02 11:38 906次阅读

    一文读懂:直线模组两个滑块距离能否调节?

    直线模组作为自动化设备中的核心传动部件,广泛应用于数控机床、自动化流水线、机器人等各类设备中,其滑块的安装与调节直接影响设备的运行精度和稳定性。不少从事设备安装、调试或选型的从业者都会面临一个
    的头像 发表于 12-29 15:47 431次阅读
    一文读懂:直线模组两个<b class='flag-5'>滑块</b>距离能否调节?

    智能变桨:基于DSP与CPLD协同处理的高动态飞行器主桨电动变桨距伺服控制系统

    电动式变桨距伺服控制系统是一种通过电动执行机构来调整飞行器主桨桨距角的高精度控制系统。其核心原理是通过改变桨叶迎风面与纵向旋转轴的夹角,即桨距角,来优化桨叶在不同飞行状态下的气动性能。
    的头像 发表于 11-22 15:06 1808次阅读
    智能变桨:基于DSP与CPLD协同处理的高动态飞行器主桨电动变桨距伺服控制系统

    干货分享!直线模组导轨与滑块松动的全面处理指南

    在自动化设备的运行体系中,直线模组扮演着至关重要的角色,而导轨与滑块作为直线模组的核心组成部分,它们的配合精度直接影响着设备的运行稳定性和工作效率。一旦出现导轨和滑块松动的情况,不仅会导致设备运行
    的头像 发表于 09-23 13:20 1039次阅读
    干货分享!直线模组导轨与<b class='flag-5'>滑块</b>松动的全面处理指南

    工业相机与智能相机的区别

    在机器视觉领域,工业相机和智能相机是两种常见的设备,它们各自具有独特的特点和应用场景。了解这两者之间的差异有助于我们在实际应用中做出更合适的选择。本文将从多个角度详细解析工业相机与智能
    的头像 发表于 08-11 14:44 1933次阅读
    工业<b class='flag-5'>相机</b>与智能<b class='flag-5'>相机</b>的区别

    什么是机床轴承如何安装

    机床轴承是机床主轴和各传动部件中的关键支撑元件,用于支撑旋转轴并承受各种载荷,确保机床具有高精度、高刚性和良好的运转性能。   主要类型   1. 滚动轴承 - 深沟球轴承:适用于高速轻载场合
    的头像 发表于 08-03 09:16 1316次阅读

    一文轻松搞定直线模组导轨和滑块松动难题

    在自动化设备的运行体系中,直线模组扮演着至关重要的角色,而导轨与滑块作为直线模组的核心组成部分,它们的配合精度直接影响着设备的运行稳定性和工作效率。一旦出现导轨和滑块松动的情况,不仅会导致设备运行
    的头像 发表于 07-29 11:32 1020次阅读
    一文轻松搞定直线模组导轨和<b class='flag-5'>滑块</b>松动难题

    FUTEK TRS150旋转扭矩传感器概述

    FUTEK 旋转扭矩传感器(或动态扭矩传感器)常用在旋转轴、发动机或固定电机上进行扭矩测量。传感器需要连接到轴上直线旋转,扭矩传感器配有滑环,可在旋转时传输扭矩信号(非接触式传感器)。
    的头像 发表于 06-18 16:42 1217次阅读

    相机模组胶水检测

    相机
    海伯森技术
    发布于 :2025年05月19日 15:07:45

    工业相机在焊缝跟踪中的关键作用有哪些

    工业相机在焊缝跟踪系统中,扮演了捕捉、处理与反馈焊缝位置信息的核心角色,通过高速、高分辨率的图像采集,并结合智能算法的实时图像处理,成为焊缝跟踪系统中的“眼睛”,能够在复杂焊接环境下实时识别焊缝位置
    的头像 发表于 05-13 17:56 839次阅读
    工业<b class='flag-5'>相机</b>在焊缝<b class='flag-5'>跟踪</b>中的关键作用有哪些

    使用CY3014USB芯片组制作了一台相机,视频显示延迟怎么解决?

    我使用 CY3014USB 芯片组制作了一台相机,视频从相机流向计算机,显示屏上显示出精美的图像。 我注意到摄像机前发生的事情和信息在屏幕上更新/流动之间存在延迟。 延迟时间几乎持续 1 秒。 这
    发表于 05-06 09:11