查看: 7215|回复: 2

[LPC双核挑战赛] 桌面级机械臂(支持安卓上位机和串口通讯控制)

[复制链接]
  • TA的每日心情
    无聊
    2021-12-29 19:06
  • 签到天数: 47 天

    连续签到: 1 天

    [LV.5]常住居民I

    49

    主题

    188

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    1392
    最后登录
    2025-3-4
    发表于 2018-5-30 20:17:55 | 显示全部楼层 |阅读模式
    本帖最后由 day_day 于 2018-6-9 21:59 编辑

    感谢万利电子和nxp社区提供的板卡,感谢网友大道至简和论坛在开发过程中给予的帮助。


    (一)项目名称

    桌面级(端水)机械臂
    支持安卓上位机和串口通讯控制

    (二)项目概述
    1、整体设计
    一开始拟定开发带有语音功能和半闭环控制的桌面级机械臂,演示功能指定在端水上面。但由于开发过程的种种问题,目前语音功能和半闭环都还没能实现。目前可以实现基于顺解和逆解的定位定速控制。
    四月份整个月都把时间耗在了lpcopen库上面,结果哪个库死活无法生成双核代码,无奈在五月份换了SDK2.3,也因为这个原因,拖慢了开发的进度。此外,机械结构的建模和搭建也消耗了相当多的时间,以至于最终没能很好地实现预期功能。值得一提的是,网友在我换SDK的时候给我提供了建议以及SDK文档和DEMO例程,这里再次感谢。

    2、硬件设计
    机械臂的结构、驱动设计拟定为采用步进电机驱动的三轴机械臂。
    步进电机驱动方案采用CNC SHIELD驱动板+A4988模块。
    步进电机采用42BYGH40,额定电流达到1.7A,转矩420Nm。
    限位采用常开的三线式限位。
    无线模块采用esp8266。
    半闭环传感器拟定采用ADXL345倾角传感器。
    夹持轴舵机采用MG996R。
    水位控制采用5V水泵。
    通讯形式可选安卓apk上位机和串口通讯

    3、已实现功能与未实现功能说明
    42BYGH40这款步进电机的额定电流高达1.7A,调节电压需要调节到1.94V
    A4988调压.jpg
    但实际上最高只能调节到1.2V,扭矩无法达到最高值。而且之前更是没有严格计算过扭矩,所以目前的情况是末端装上夹头之后连安装舵机都会超过定力矩,就更别说夹持水杯了。(演示里面有翻车视频)
    另外,半闭环所选用的ADXL345倾角传感器的测量的突变点(水平位置、垂直位置)的值给逻辑判断带来了极大的麻烦,目前未能成功地将半闭环引入控制算法,因此算法仍是开环控制。


    (三)实现方案
    本项目主要在于控制逻辑的实现:
    1、程序设计
    1) 全局变量设计
    Ø步进电机驱动轴:主轴、副轴、回旋轴
    Ø系统空间坐标设计采用柱坐标:x、y、r
    Ø系统实时记录的坐标点位:
    限位值:碰到限位时候的数值
    原点值:人工设置的原点,碰到限位后回归,与限位值不同
    目前值
    目标值
    2) 程序框架设计
    现阶段首先设计开环控制程序。为了准确确定速度,采用定时器准确发出控制脉冲,并且在主循环阶段开启限位引脚的外部中断,保证运动的安全性。
    3) 主程序
    初始化:外设初始化——主轴副轴回退——碰到限位,将目前坐标设置为限位值——转到原点值——进入主循环
    主循环:接收信息——确定指令——传送到执行核心——运动逆解——栅格化——计算分频系数——启动定时器
    4) 定时器中断
    启动后,每单位时间中断一次。(单位时间设定为100us,通过分频系数与匹配寄存器设置)。
    清除所有步进驱动引脚的高电平状态——清除中断标志——拉高电平——修改目前主轴、副轴角度值——更新对应xy坐标值——判断等待每个轴低电平等待时间是否结束——未结束跳出中断——如果结束则判断是否到达——未到达则使能电平拉高定时器
    5) 外部限位的引脚中断
    某一轴碰到限位——进入中断,清除标志位——把对应轴的目前值和目标值都设为零点值——计算对应的xy坐标值——除能对应中断——回原点——使能中断

    2、双核运用上位机与lpc54110的通讯部分在m0+核心执行,其后指令传送到m4核心进行空间逆解运算和控制。相对而言可以避免发射和接收时间带来的延时误差。


    3、运动逆解
    运动逆解示意.png
    运动逆解计算.png

    3、中断间隔时间计算
    时间计算1.png
    时间计算2.png

    (四)实物图
    水泵和舵机(由于电机选型和机械臂结构设计的原因导致扭矩不足目前没能用上):
    1.jpg
    全家福:

    2.jpg

    三轴电机细节:

    3.jpg


    5.jpg


    6.jpg

    CNC SHIELD V4

    7.jpg

    没有使用的口通过长脚排座引出:

    8.jpg
    运行情况: IMG_20180609_213447.jpg

    (五)演示视频
    运行演示:

    夹持演示

    安卓apk上位机控制演示:



    (六)项目代码
    单核版本: 单核版.rar (5.26 MB, 下载次数: 6)

    评分

    参与人数 1 +5 收起 理由
    doatello + 5

    查看全部评分

    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-9-21 10:29
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    20

    主题

    98

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    731
    最后登录
    2023-2-2
    发表于 2018-6-8 09:05:13 | 显示全部楼层
    最后水杯没有夹起来吗??
    daka打卡www.nxpic.org.cn
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2021-12-29 19:06
  • 签到天数: 47 天

    连续签到: 1 天

    [LV.5]常住居民I

    49

    主题

    188

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    1392
    最后登录
    2025-3-4
     楼主| 发表于 2018-6-8 10:56:37 | 显示全部楼层
    乖乖妮 发表于 2018-6-8 09:05
    最后水杯没有夹起来吗??

    因为电机的扭矩没验算好,末端一装上舵机就抬不起来,现在改结构已经来不及了……
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-2 04:08 , Processed in 0.093940 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表