热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

嵌入式linux机械臂,一款基于ARM嵌入式的机械臂的设计与实现

吴家合张玉薇朱庆红蓝祝愿方敏摘要:机械臂在当今的医疗、工业等方面起着重要作用,为使机械臂更加适用、灵活、易于控制,基于ARM,

吴家合 张玉薇 朱庆红 蓝祝愿 方敏

d5324820fe90ded23e6e4a5e2dfe2f8f.png

7cd692f3c7b0b26ca58faa92cc38e1a3.png

摘要:机械臂在当今的医疗、工业等方面起着重要作用,为使机械臂更加适用、灵活、易于控制,基于ARM,通过依赖于ARM架构与ESP8266WiFi模块以及各种模块,实现机械臂的动作以及对物件的抓持。利用DsP算法使采集的信号转换为PWM控制信号,采用消抖算法,从而达到械臂在运行中的高稳定性。本机械臂可提升控制精度以及灵活性、机械臂与程序功能的融合。

关键词:机械臂;ARM;灵活性;控制

中图分类号:TP393 文献标识码:A 文章编号:1007-9416(2020)05-0137-02

机械臂是一种可以通过编译软件程序来完成的自动设备,它渐渐具备了有人的视觉以及判断能力。在工作的过程中,机械臂的控制的准确性和对环境的适应性,使其在各个领域都有着广阔的发展前景。特别是高级的机械臂,可以执行更加复杂的任务。机械臂是当今科研领域及工业领域的研究前沿和热点,兼有人行为意识和机械手的作业效能,因此在军事、医疗、空间、工业等领域有着广泛的应用前景。在国外,工业机器人的发展已经较为成熟,并且得到了非常广泛的应用,在国内,机械臂的设计还处于—个模仿的阶段。目前在机械臂的应用中,对于机械还的操控多为按键控制或者需要多个控制杆来控制一个机械臂的运动,其设计繁琐,操作复杂,给操作者使用带来很大不便。针对上述问题,侧重研究基于ARM的机械臂,旨在提升机械臂的传输信息实时性与控制精度以及灵活性,促进机械臂与程序功能的融合。

1系统功能分析

系统以ARM微型处理器架构为核心,以MG996R金属数字舵机、舵机驱动板PCA9685芯片、MMA7361三轴加速度传感器为主要外围元件,经A/D转换控制芯片采集相应的数字量信号,并编写控制算法程序调节输出PWM波的占空比,进而实现控制相应舵机运动的目的。通过CPU控制、三轴加速传感器对数据的采集以及消抖算法,使得机械臂的运行变得更加的稳定与协调,实现机械臂的灵活传动与自由制动。进而实现处理器架构与各模块之间功能。

2系统功能模块设计

在系统中,拟选择ARM作为主控单元,ARM可以使PwM信号的脉冲宽度实现微妙级的变化,从而提高舵机的转角精度。此舵机驱动板使用PCA9685芯片是16通道12bit,PWM舵机驱动,用两个引脚通过12C就可以驱动16个舵机。通过级联的方式最多级联62个驱动板,增强可扩展性,此外还解决驱动电路和控制电路隔离的问题。ARM再完成消抖控制算法,再将计算结果转化为PWM信号输出到舵机,由于单片机系统是一个数字系统,其控制信号的变化完全依靠硬件,所以受外界干扰较小,整个系统的工作性可靠,其原理框图如图1、图2所示。

系统利用触摸屏与串口通讯实现编译程序对机械臂的控制,实现操作者所输入编码的要求。再次根据机械臂控制系统的设计结构,以CPU为核心进行个模块问的总体设计,然后重点以协调为核心进行协控制器的功能和结构设计,分以下部分:舵机控制器模块、数据采集模块,并采用加速傳感器、仿真、已至加以实用。

3机械臂的软件设计

基于ARM的机械臂的软件测试,编译的主要环境是Windows7,选用的编程软件是KEIL5,通过输入一些关键的软件代码,通过串口烧录入硬件,实现我们的需要的功能。每一个模块都应该有一个属于自己模块的程序流程图,这样才能十分清晰的完成编译的目的,达到功能实现的效果。机械臂的主控制程序流程图详见图3所示。

4结语

基于ARM的机械臂综合多方的技术进行整合,依靠ESP8266 WiFi模块以及其他辅助模块,通过DSP算法使采集的信号转换为PWM控制信号,采用消抖算法,实现了机械臂的动作以及对物件的抓持机械臂夹持力度、通过算法保证工作的稳定性、提升控制精度以及灵活性、机械臂与程序功能的融合,以此达到其功能的实现。



推荐阅读
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 在OpenCV 3.1.0中实现SIFT与SURF特征检测
    本文介绍如何在OpenCV 3.1.0版本中通过Python 2.7环境使用SIFT和SURF算法进行图像特征点检测。由于这些高级功能在OpenCV 3.0.0及更高版本中被移至额外的contrib模块,因此需要特别处理才能正常使用。 ... [详细]
  • 本文介绍了一种方法,通过使用Python的ctypes库来调用C++代码。具体实例为实现一个简单的加法器,并详细说明了从编写C++代码到编译及最终在Python中调用的全过程。 ... [详细]
  • 吴石访谈:腾讯安全科恩实验室如何引领物联网安全研究
    腾讯安全科恩实验室曾两次成功破解特斯拉自动驾驶系统,并远程控制汽车,展示了其在汽车安全领域的强大实力。近日,该实验室负责人吴石接受了InfoQ的专访,详细介绍了团队未来的重点方向——物联网安全。 ... [详细]
  • Ubuntu系统下的GIF动画录制解决方案
    在撰写文章或教程时,GIF动态图能够有效地传达信息。对于Windows用户而言,ScreenToGif是一款非常实用的工具。而在Ubuntu系统中,用户同样拥有多种选择来创建GIF动画,本文将重点介绍两款录屏工具——Byzanz和Peek。 ... [详细]
  • 本文提供了一种有效的方法来解决当Android Studio因电脑意外重启而导致的所有import语句出现错误的问题。通过清除缓存和重建项目结构,可以快速恢复开发环境。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 知识图谱与图神经网络在金融科技中的应用探讨
    本文详细介绍了融慧金科AI Lab负责人张凯博士在2020爱分析·中国人工智能高峰论坛上的演讲,探讨了知识图谱与图神经网络模型如何在金融科技领域发挥重要作用。 ... [详细]
  • 龙蜥社区开发者访谈:技术生涯的三次蜕变 | 第3期
    龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ... [详细]
  • 数据类型--char一、char1.1char占用2个字节char取值范围:【0~65535】char采用unicode编码方式char类型的字面量用单引号括起来char可以存储一 ... [详细]
  • 本文探讨了在一个物理隔离的环境中构建数据交换平台所面临的挑战,包括但不限于数据加密、传输监控及确保文件交换的安全性和可靠性。同时,作者结合自身项目经验,分享了项目规划、实施过程中的关键决策及其背后的思考。 ... [详细]
author-avatar
儒志楼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有