当前位置: 首页 > news >正文

设计一款用于捕捉动态产品视频的摄像机器人

如果你是一个想让别人关注你的项目的制作者,那么展示和执行同样重要。优秀的视频和照片至关重要,因为大多数观众对强烈的视觉效果的反应比对技术成就的反应更强烈。

我设计这个机器人就是为了让它更容易实现!

概述

这些机器人有两个自由度:一个旋转转台和一个旋转臂。拍摄对象放在转盘上,相机安装在手臂上。

我把它设计得非常结实,并且有非常强大的CubeMars驱动器,所以它可以处理沉重的单反和无反光镜相机而不会紧张。运动非常平滑,从而产生梦幻般的视频质量。

简单的控制可以让用户快速调整手臂角度,手臂运动速度,工作台旋转方向和工作台旋转速度。

添加一些基本的编辑(缩放,平移,旋转,速度斜坡等),你可以创建非常动态的产品照片。

我在Autodesk Fusion 360中将手臂的每个部分建模为一个组装,因此很容易修改和查找文件。定制的Arduino屏蔽,在KiCAD中设计,可以通过PCBWay订购,它大部分是通孔组件,便于焊接。

CamRo兼容Arduino Uno R4 Minima和Arduino Uno R4 WiFi。因为那些有不同的引脚为CAN总线连接,我设计了PCB,所以它可以工作(只是焊接适当的桥)。

制造信息

根据设计,CamRo需要几种不同的制造方法和工具:

•3D打印技术

•数控铣

•手动研磨

•手动车削(车床工作)

•MIG焊接

大多数结构部件都是金属——铝或低碳钢。这是为了使机器人尽可能的强壮。

然而,如果你没有能力使用金属,你可以3d打印所有的部件。机器人不会那么强壮,但这是一种选择。

或者,您可以使用PCBWay的数控铣削服务。所有手工加工的零件也可以用适当的数控铣床制造。

致动器的信息

CubeMars为这个项目提供了马达,他们的贡献是我开始这个项目的全部原因。机器人使用两个执行器:

•Ak80 - 64

•Ak60 - 6

坦率地说,以业余爱好者的标准来看,它们相当昂贵——尽管考虑到它们的高性能,以专业标准来看它们是合理的。这些都是非常强大和精确的。对于这个项目来说可能有点夸张,但它的手臂可以移动甚至是沉重的相机。

也许可以使用其他执行器,但我不确定。

这些由Arduino通过CAN总线控制。当您第一次设置它们时,您需要使用USB-to-TTL串行电缆和CubeMars Tool软件来配置它们。

特别是,您需要设置电机id以匹配Arduino草图!

3D打印你的零件

要开始,你会想要3d打印你的零件。我在Bambu Lab P1S上打印了所有我的,升级了金刚石喷嘴和硬化钢挤出机齿轮。

如果你打算像我一样使用PPA-CF灯丝,这些升级是很重要的。这种长丝很棒,因为它有很好的纹理,可以隐藏层线,而且非常坚固。但它是磨蚀性的,所以你不应该用普通的喷嘴和挤出机齿轮来打印它。

如果你喜欢,你可以使用另一种长丝材料,但零件不会那么坚固。

这是要打印的部分:

“滑动帽”和“桌子”部分不需要非常坚固,所以你可以打印PLA或PETG。

数控铣削您的零件

这些是你需要在数控铣床上加工的零件:

两个“滑动锁”部分被设计为从1/4“6061铝板/棒。

“轴承安装”和“AK80安装”部分被设计为从3/8“6061铝板/棒铣。

6061铝是很容易工作,你使这些相当轻型轧机。或者您也可以使用PCBWay的数控加工服务。

如果你让他们自己,利用欧特克融合360的CAM功能!它们非常好,您可以直接使用我提供的汇编文件中的模型。

手动加工零件

有几个部分,我设计的是手工铣削。其中有几个是低碳钢,对我的数控铣床来说太硬了,但在我的大型手工铣床上很容易切割。

也有一个轴来支持轴承上的手臂。你可以在车床上转动它,用任何你喜欢的金属。我的是黄铜,因为这是我手头的东西。

这些是你需要手工磨的钢部件:

我附上了所有这些部件的技术图纸供您参考。

或者,您可以使用PCBWay的数控机床服务,它可以处理低碳钢而不会出现问题。

“交叉支撑”部分是一个特殊的例外:

它是6061铝制的,但我手工磨的。我这样做是因为它需要操作在多个方向和对准是困难的数控铣削。

挖掘你的漏洞

包括在Autodesk Fusion 360组装钻模板模型。

这些都是3d打印的,将帮助你线标记螺丝孔的位置,所以你可以钻他们在钻床上(或手持电钻)。

钻完这些孔后,就可以攻丝了(M3和M5)。我建议使用高质量的水龙头,因为便宜的水龙头容易坏,而且非常令人沮丧。

焊接底座

你需要焊接两个“基础安装”部分的“基础”部分。这些都是低碳钢,所以MIG焊接是理想的。

在组装文件中有一个3d打印模板来帮助您定位这些模板。小心不要焊接外表面/边缘!这样做会使cnc铣削的支持部件不合适。

焊接后,可用带翻盖圆盘的角磨机对焊缝进行清理;

准备和涂装

你会想要油漆所有的金属部件,除了轴承轴。

但在此之前,你需要清除所有的油脂和污垢。丙酮是最好的,你要确保你非常彻底,擦洗所有的角落和缝隙。

一旦你的零件干净了,你就可以喷底漆了。使用你喜欢的任何品牌,但我建议使用自蚀刻底漆。

给它们涂几层,用更细的砂纸打磨它们,直到你得到光滑的表面。

然后你可以涂任何你喜欢的油漆。

再一次,你会想要打磨得到一个光滑的表面——最好是湿砂。

组装Arduino Shield

一旦你收到你的PCB从PCBWay和得到你的组件,你可以填充屏蔽。

这是相当直接的,因为它使用通孔组件,很容易焊接。有一个例外:用于指示机器人状态的WS2812b LED。这是一个表面贴装组件,这是有点棘手的焊接。

您可以订购裸WS2812b LED或从LED带中清除一个。然后你可以用烙铁把它放在板上,一个热风枪,热板,或烤箱是不必要的。

注意方向!截角应面向所示方向。

把桥焊好!与Arduino Uno R4 WiFi相比,Arduino Uno R4 Minima使用不同的引脚进行CAN连接。这种焊料桥使得相同的屏蔽与两者一起工作。只需在你正在使用的Arduino的侧面焊接即可。

从那里,焊接电位计,按钮,引脚头,和CAN收发器引脚。

配置电机和Flash Arduino

在使用CubeMars执行器之前,需要对其进行配置。为此,您需要PC上的CubeMars工具软件和USB-to-TTL串行电缆。

设置“控制器ID”、“波特率”和“速率(Hz)”。

我的代码假设Arm电机的控制器ID是106,Table电机的控制器ID是107。

您可以设置超时参数,如果你喜欢。但据我所知,这个函数实际上不起作用。

接下来,您可以以正常方式将提供的Arduino草图闪现到您的Arduino中。

如果您想了解它的工作原理或进行任何修改,我已经彻底注释了草图中的代码。

组装机器人

你需要按适当的顺序把零件组装起来,以便把所有的东西都装在一起。

•首先使用M5螺钉将AK80Mount连接到底座:

•然后用M3螺钉将AK80-64执行器固定在AK80Mount上:

•使用M4螺钉将ArmMotorMount连接到AK80-64执行器上:

•将608ZZ轴承装入轴承座,轴承轴装入ArmMotorMount;

•使用M5螺钉将轴承安装到底座上:

•使用M5螺钉和t型螺母将300mm长的铝型材连接到ArmMotorMount上:

•用M5螺钉和t型螺母将配重固定在铝型材上。

•使用M5螺钉将SlideCap部件连接到两个300mm铝型材的两端。

•使用M5螺钉和t型螺母将SlideLock部件连接到两个300mm铝型材上。

•使用十字支撑,M5螺钉和t型螺母将200mm铝型材连接到300mm铝型材上。

•使用M3螺钉将电源固定在底座上。

•使用M3螺钉将AK60-6执行器连接到阀盖上。

•使用提供的螺钉和PlugBezel连接插座。

•使用M3螺钉将表安装到AK60-6执行器上。

•把盖子放在底座上,但不要把螺丝放进去(在你这么做之前你需要加电线)。

•把桌子放在桌架上。它只是按/摩擦适合。

•使用M5螺钉将摆动停止连接到轴承座上。

•使用M5螺钉和t型螺母将CameraMount固定在200mm铝型材上。

这就是主组装!但你仍然需要完成布线并添加控制面板……

接线和总装

只剩下几件事要完成了。

•首先,连接插座和电源之间的电源线。电源与执行器之间,以及电源与屏蔽之间。

•然后,将CAN导线(由CubeMars提供的执行器)从Shield菊链连接到两个执行器。

•之后,使用M3螺钉将盖板固定在底座上。

•接下来,您需要使用烙铁(或专用工具)将M3热集插入到盖,控制面板和ControlPanelCover。

•接下来,使用M3螺钉将Arduino Uno R4连接到控制面板(没有屏蔽),并将控制面板连接到盖上。

•使用M3螺钉将护罩连接到ControlPanelCover上。

•将电线塞进盖板内,然后将Shield连接到Arduino Uno R4(连接引脚头)。

•用M3螺丝固定锅盖,装上电位器旋钮。

现在你完成了!

使用CamRo

我设计的控制是直观的,但这里是一个简短的概述:

1. 接通电源(后面的插座)。

2. 状态LED应为红色,表示您需要返回机器人。按Home键。

3. 在手臂完成归位过程后,状态LED应该变为绿色,表明它已经准备好了。

4. 最左边的旋钮调节手臂在移动之前摆动的角度。旁边的旋钮调节手臂运动速度。

5. 右旋钮调节转台的旋转方向和速度。把它居中,它就不动了。越逆时针旋转,表逆时针旋转的速度就越快(反之亦然)。

6. 按开始(播放)键开始运动。

7. 如果您想提前取消移动,请再次按“开始”。

http://www.dtcms.com/a/282963.html

相关文章:

  • 《透视定轴:CSS 3D魔方中视觉层级的秩序法则》
  • Linux下操作SQL SERVER
  • sqli-labs通关笔记-第03关 GET字符型注入(单引号括号闭合 手工注入+脚本注入两种方法)
  • github上传大文件
  • 2025 Python3 网络编程 Socket编程详解
  • 基于SD-WAN的智慧高速解决方案:高效、低成本的智能交通实践
  • AWS权限异常实时告警系统完整实现指南
  • 网络安全初级(XSS-labs 1-8)
  • WebView 性能调试与优化 解决资源加载与请求顺序问题
  • 5.更新-demo
  • Matlab数字图像处理——基于图像分割与模板匹配的的车牌识别系统
  • 7.17 滑动窗口
  • TCP粘包和拆包问题详解:原理与Netty解决方案
  • 命令解释器-shell
  • rtthread - V5.1.0版本 HOOK 钩子函数总结
  • VUEX 基础语法
  • BBDM: Image-to-image Translation with Brownian Bridge Diffusion Models 译读笔记
  • 汽车电子功能安全标准ISO26262解析(二)——需求部分
  • 使用JS编写一个购物车界面
  • 51c大模型~合集155
  • 求不重叠区间总和最大值
  • 【Linux】基本指令学习1
  • 【从树的视角理解递归】【递归 = 遍历 || 分解】
  • 薄板样条(TPS, Thin Plate Spline)数学原理推导
  • 从0到1开发网页版五子棋:我的Java实战之旅
  • 【ROS/DDS】FastDDS:C++编写一个发布者和订阅者应用程序(三)
  • OpenCV稠密光流估计的一个类cv::optflow::DenseRLOFOpticalFlow
  • hashMap原理(一)
  • FAISS深度学习指南:构建高效向量检索系统的完整方法论
  • SSH连接复用技术在海外云服务器环境下的稳定性验证与优化方案