热门标签 | 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控制信号,采用消抖算法,实现了机械臂的动作以及对物件的抓持机械臂夹持力度、通过算法保证工作的稳定性、提升控制精度以及灵活性、机械臂与程序功能的融合,以此达到其功能的实现。



推荐阅读
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 本文详细介绍了在不同操作系统中查找和设置网卡的方法,涵盖了Windows系统的具体步骤,并提供了关于网卡位置、无线网络设置及常见问题的解答。 ... [详细]
  • Ubuntu GamePack:专为游戏爱好者打造的Linux发行版
    随着Linux系统在游戏领域的应用越来越广泛,许多Linux用户开始寻求在自己的系统上畅玩游戏的方法。UALinux,一家致力于推广GNU/Linux使用的乌克兰公司,推出了基于Ubuntu 16.04的Ubuntu GamePack,旨在为Linux用户提供一个游戏友好型的操作环境。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • PostgreSQL 最新动态 —— 2022年4月6日
    了解 PostgreSQL 社区的最新进展和技术分享 ... [详细]
  • Linux环境下进程间通信:深入解析信号机制
    本文详细探讨了Linux系统中信号的生命周期,从信号生成到处理函数执行完毕的全过程,并介绍了信号编程中的注意事项和常见应用实例。通过分析信号在进程中的注册、注销及处理过程,帮助读者理解如何高效利用信号进行进程间通信。 ... [详细]
  • 优化SQL Server批量数据插入存储过程的实现
    本文介绍了一种改进的SQL Server存储过程,用于生成批量插入语句。该方法不仅提高了性能,还支持单行和多行模式,适用于SQL Server 2005及以上版本。 ... [详细]
  • 对于许多初学者而言,遇到总线错误(bus error)或段错误(segmentation fault/core dump)是极其令人困扰的。本文详细探讨了这两种错误的成因、表现形式及解决方法,并提供了实用的调试技巧。 ... [详细]
  • 本文详细介绍了如何在 Android 中使用值动画(ValueAnimator)来动态调整 ImageView 的高度,并探讨了相关的关键属性和方法,包括图片填充后的高度、原始图片高度、动画变化因子以及布局重置等。 ... [详细]
  • 本文详细对比了Windows 7家庭高级版与旗舰版之间的主要区别,包括技术支持期限、硬件兼容性及特色功能等方面。 ... [详细]
  • 云屏系统基于嵌入式微系统msOS,旨在解决当前嵌入式彩屏GUI编程中硬件要求高、软件开发复杂、界面效果不佳等问题。该系统通过结合MCU和Android技术,利用Html5+JavaScript实现高效、易用的图形用户界面开发,使嵌入式开发人员能够专注于业务逻辑。 ... [详细]
  • 小度科技完成B轮融资,估值突破330亿
    8月24日,百度宣布其智能生活事业群组业务——小度科技成功完成B轮融资,估值达到330亿元人民币。此次融资的具体投资方尚未公布。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
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社区 版权所有