这是我的机电一体化期末项目在斯科普里的机械工程学院。它的目标是开发一种设备,使真实的手臂运动能够与3D计算机模型交互。我把三个不同的领域整合在一个设备上,t.e.机械,电气和计算机工程:

  • 设计三维模型代表臂动作的3D模型。
  • Arduino Mega 2560卡用于连接真实世界与计算机。
  • MATLAB / SIMULINK以编程3D模型的控制


在下一个视频中,您可以看到项目的演示文稿。这是它的内容:

  • 一个介绍。在这里,我简要地谈一谈机电一体化作为一个研究领域,它使我能够开发这种设备。
  • Arduino Mega 2560。我在这个项目中使用的这个Arduino板的一些基本功能。
  • 在Simulink环境中的3D模型。如何使用SimMechanics链接将三维模型从Solidworks转换到Matlab / Simulink。
  • 设备的开发。在这里我谈到了我用来构建设备的组件和它们如何工作,以及Simulink模型,在Arduino板上运行的程序,使现实世界和计算机之间的交互成为可能

建筑设备


本项目中使用的零件

  • Arduino超级2560
  • 使用硬件加速计
  • 线性电位器X5


加速度计用于跟踪手臂的方向。当手臂移动时,来自加速度计的X、Y和Z轴的值会改变,并在Arduino板的模拟输入中读取。根据他们,3D模型也移动。

电位器用于跟踪手指的位置。我在每个电位器上都装了一个弹簧(笔形弹簧)。弹簧将电位器的滑块固定在一个特定的位置,当手指移动滑块时,滑块被拉动,电位器的电阻也随之改变。这些数值会通过Arduino板的模拟输入来读取3D模型的手指也会随之移动。

我用一个计算器的塑料外壳作为基础,在上面附加了五个电位器。我把面包板放在上面用胶带固定好Arduino板和加速度计。在下图中,你可以看到设备的最终外观。

电路器件示意图


三维模型


3D模型是人臂的表示。首先,我使用SolidWorks建模它,然后我使用它将其转移到Matlab / Simulink中使用simmeanchicslink.从Matworks。

在此处下载3D模型:

MATLAB / Simulink模型


在构建Simulink模型之前,我首先需要安装Arduino IO包,其中包含Simulink库,用于与Arduino板通信。还使用Arduino IDE,我必须上传代码到Arduino板,它附带的包来启用Simulink库。在这里我强烈推荐我的教程用于Matlab和Arduino的IO包,使您可以了解工作原理并查看代码。

我将我的Simulink模型组织成六个子系统:

  • 来自加速度计和电位器的值的Arduino模拟输入块
  • 根据我的需求校正模拟读数
  • PID控制变得更平滑的运动
  • 关节执行器块用于驱动三维模型的关节
  • 3D模型是使用SimMechanicsLink自动生成的
  • 用于跟踪3D模型位置的联合传感器块

你可以在这里下载Simulink模型:


检查我的扩展项目。

我重新编程了Arduino手套让它可以做游戏控制器。

Arduino游戏控制器

54岁的反应

  1. Humayun

    嘿岛,令人敬畏的工作。I really liked your informative videos and I finally understand how I2C works, which I never able to grasp before Thanks buddy.
    跟上关于如何工作的新项目和信息性bet188me的视频。你真的通过提出例子来简单地教导。竖起大拇指

    回复
  2. nilesh貂

    纽约的兄弟。这是一个很棒的项目。你是个天才。我想把这个项目作为期末项目。你把笔弹簧连接到什么上了??

    回复
  3. Tayyub.

    Ammazing兄弟. .
    我可以使用Arduino Atmega328P而不是Arduino Mega 2560?

    回复
  4. Tayyub.

    我是机电工程师,兄弟。并且我想做这个项目,请分享arduino....的代码

    回复
  5. Tayyub.

    神奇的兄弟。你做得很好。我是机电工程师,我也想做这个项目,能分享一下arduino代码吗?

    回复
  6. Shanjedul Hassan.

    好的项目兄弟......我只是想知道你在这个项目中使用的传感器......?你能给你使用的代码吗?我喜欢做......如果你帮助我,那将是如此善良......谢谢你的帖子......

    回复
  7. b

    你要做的第一件事就是做伟大的项目。bet188me第二点,也是最有价值的一点是,你在与公众分享这些信息。我真的很感激…

    回复
  8. b

    我可以把它翻译成土耳其语,使它对那些不会说英语的人有好处。

    回复
    • 德扬Nedelkovski

      我所有的项目和教程都是我bet188me投入大量时间和精力的原创作品。所有照片、视频和插图均受版权保护。只是把它们翻译成你的语言就像复制它们一样,这是不允许的。
      如果你想这样做,你应该用你自己的内容(照片、视频、插图、文本)重建(再创造)它们。
      感谢您的理解!

      回复
  9. 瓦希德

    hai…great work you have there…I’m wahid from malaysia..I’m doing my final year project this year..I want to ask, is it possible make the GUI for 5 axis robotic arms using the way you create yours?if it is possible, can you teach me how to do the integration between all the software?

    回复
  10. 萨米尔

    很棒的作品,非常有趣。你上传的3D Arm模型显示了Solidworks 2016中的重建错误。可以重新上传文件吗?

    回复
  11. 亚历克斯

    哇。你太完美了,我的朋友,太完美了!我真的很喜欢你做事的方式,太棒了!

    只有一个问题:它可以为其他3D模型工作,如Maya或3D Max模型吗?如果答案是肯定的,你可以指导我吗?

    谢谢。

    回复
  12. Shakil

    在您提供的Simulink模型中,我如何将Solidworks文件中导入的xml模型与arduino硬件连接起来?
    如果你帮助我,我会非常感激。
    谢谢

    回复
  13. 萨米尔

    出于好奇,我正在尝试构建您的系统,在您的帮助下,solidwork模型现在可以工作了,但是,我在Matlab 2015运行simulink模型时遇到了错误。它们表明在PID控制器内部存在一个代数环路误差。你是如何克服这个错误的?我如何做适当的simulink重建?等待你的帮助。谢谢。

    回复
  14. Valentin Dimitrov.

    你好,德詹!
    你做的太棒了!恭喜你!我有了这样的想法:跟随挖掘机的旋转底盘、吊杆、臂和铲斗,总是知道要挖多少。和你的项目很像。我很好奇结合加速度计和陀螺传感器能多准确地测量各部件之间的角度。剩下的就是数学了。
    欢迎您在这里展示的最佳教程!继续前进!

    回复
    • 德扬Nedelkovski

      你好,
      陀螺会漂移,会出错。有不同的过滤器可以减少这些错误,但它们可能是复杂的实现。
      所以,这样一个项目肯定会成功,尽管数学会很复杂,至于准确性,我可以说任何具体的东西。
      干杯!

      回复
  15. vinodkumar

    嗨德国
    那个很好的项目我不明白你是怎么链接到3d动画的,因为我觉得我不懂mat lab所以请放一个链接,我可以学习这三者的整合。所以我们可以做一些不同的东西

    回复
  16. Zalman.

    我非常喜欢这个教程!我想自己做一个。但是我找不到本教程中的arduino代码,如何使用SimMechanicsLink ?你能帮我一下吗?非常感谢!

    回复
    • 德扬Nedelkovski

      Arduino代码附带Arduino IO包,我在网站上有一个示例教程如何使用SimMechanicsLink。但是,请注意您的Matlab版本,因为最新版本不能与这个Arduino IO包一起工作,所以它们创建了一个不同的包。

      回复
  17. 亚当

    出色的工作!我也想做一个!能否分享更多关于这个项目的代码和其他细节?

    回复

留下一个回复

您的电子邮件地址将不会被公布。

推荐的

2019年初学者和爱好者的最佳进入级示波器

最好的示波器为初学者和爱好者

推荐的

8个最好的Arduino入门工具包,适合2019年初学者

8个最好的ARDUINO初学者工具包

推荐的

用于初学者和爱好者的最佳3D打印机 -  3D打印

初学者和爱好者的最佳3D打印机