0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在没有 MCU 的情况下实现两轴机械臂控制器

李晶 来源:Ehunt 作者:Ehunt 2022-07-19 11:41 次阅读

机械臂广泛用于机器人应用中。它们可以做出类似于人手的动作。机器人手臂可以是一个独立的应用程序,也可以是更大机器人系统的一部分。机械臂在工业中主要用于取放应用。它们也存在于移动安全摄像头和玩具中。

机械臂通常由几个连杆组成,这些连杆通过可以旋转的关节连接起来。在这个项目中,我们将构建一个包含两个旋转关节的机械臂,一个用于 x 轴,另一个用于 y 轴。这些将由来自操纵杆模拟信号控制。该电路将采用GreenPAK SLG46620 芯片、两个 Tower Pro SG90 伺服电机和一个模拟操纵杆设计(图 1 和图 2)。

点击查看完整大小的图片

pYYBAGLVeOWAU154AAHriv5BF0M033.png


图 1. 系统框图。(来源:瑞萨电子

点击查看完整大小的图片

poYBAGLVeO2AG8zSAAFQ48PYbzs358.png


图 2. 电路原理图。(来源:瑞萨电子)

该项目不需要微控制器,因为 GreenPAK 芯片包含构建能够独立控制伺服电机的静态 IC 所需的所有元素。

工作原理

GreenPAK 芯片将执行系统的所有功能。它从操纵杆的 x 输出接收模拟信号,该信号在内部被数字化并用作伺服电机的 PWM 信号。然后将输入通道更改为从操纵杆的 y 输出读取,并重复该过程。模拟信号将每 10 ms 读取一次,在 x 和 y 输出之间交替。因此,每个信号每 20 ms 读取一次,因此输出频率为 50 Hz。这适用于伺服电机的操作。

伺服电机

两个 Tower Pro SG90 伺服电机(图 3)将用于构建机器人手臂。电机需要一个 PWM 信号来控制其旋转角度,从 0° 到 180° 不等。当引入 0.5 ms 脉冲宽度时,电机旋转到 0°。当脉冲宽度等于 2.5 ms 时,电机旋转 180°。因此,脉冲宽度必须在每 20 ms 0.5 – 2.5 ms 之间,以获得 0° 和 180° 之间的角度。

pYYBAGLVePGAcL32AABCcbp8pHY354.jpg


图 3. Tower Pro SG90 伺服电机。(来源:瑞萨电子)

模拟操纵杆

模拟操纵杆因其价格低廉且易于连接而广泛用于机器人应用。操纵杆由两个交叉放置的电位器组成(图 4)。它提供三个输出:x、y 和中间的按钮。我们应用程序中的操纵杆将提供伺服系统的手动控制。

为了获得适合 GreenPAK ADC 规格的范围,操纵杆将使用芯片的 VREF,而不是连接外部分压器。这将减少外部零件的数量。

pYYBAGLVePiAYEGlAAA6uJkVvVk827.jpg


图 4. 模拟操纵杆模块。(来源:瑞萨电子)

GreenPAK 设计

GreenPAK 设计是在免费的基于 GUI 的GreenPAK Designer 软件中创建的,它是 Go Configure™ 软件中心的一部分(链接到设计文件)。该设计由几个部分组成(图 5)。

点击查看完整大小的图片

poYBAGLVeP6AR8WzAAL8UJMb0xw464.png


图 5. GreenPAK 设计 - 矩阵 0。(来源:瑞萨电子)

模拟 MUX 根据定义的时间间隔接收来自两个不同输出的信号。100 Hz 的脉冲发生器每 10 ms 发出一个脉冲。在前 10 ms 接收 x 信号,在接下来的 10 ms 接收 y 信号。

Pin8 和 Pin9 配置为连接到配置为模拟多路复用器的 PGA 的模拟输入。来自 Pin16 的信号在其两个通道之间切换。当信号 CH Selector 设置为 HIGH 时,读数来自 Pin8,当设置为 LOW 时,读数来自 Pin9。模拟信号转换为数字信号后,从 FSM0 中读取。FSM0 从 ADC 模块的输出(ADC 数据)获取其输入。FSM0 配置为下降沿 DLY。

延迟时间=(计数器值+1)/时钟

时钟 = 256/2ms = 128kHz

FSM0 的 CLK 管脚通过 EXT CLK0 连接到 CNT5 输出以获得 128 kHz,因此当从 ADC 接收到 255 的值时,输出的脉冲宽度为 2 ms。因此,CNT5 的输出周期为 7.8125 µs,CNT5 数据为 210。

2-L0 逆变器和 CNT6 定义了 100 Hz 发生器,它每 10 ms 发出一个脉冲,以便每 20 ms 向两个伺服电机输出 PWM 信号。发生器的输出触发 CNT9,它被配置为下降沿 DLY,延迟时间为 0.5 ms。CNT9 输出触发 FSM0 输出一个宽度为 FSM 数据 + 0.5 的信号,该信号将在 0.5 和 2.5 ms 之间。这通过 LUT 传递到合适的伺服系统。

CNT0 用于在每个工作周期提供 2.5 ms 的脉冲宽度,作为将信号输出到伺服电机(每个依次)以防止任何错误的最大允许时间范围。

DFF0、2-L1、3-L2 用于控制输入通道,其中每 10 ms 在 PGA 的通道 1 和 2 之间进行周期性切换。Pin6 外部连接到 Pin16,该 Pin16 链接到 PGA 的 CH 选择器引脚。

4 位 LUT0、3 位 LUT0、3 位 LUT1 和 2-L2 构成解复用器,将 PWM 信号传递给请求的伺服电机(图 6)。

点击查看完整大小的图片

pYYBAGLVeQuAR4Z5AA0UH9zVBIE697.png


图 6. LUT 配置。(来源:瑞萨电子)

当 CH Selector 信号为 HIGH 时,读数来自通道 1 通过 Pin8,修改后的 PWM 信号通过 Pin4 传递到 x – 伺服电机。当 CH 选择器设置为 LOW 时,读数来自通道 2,信号传递到 Pin5,然后传递到 y - 伺服电机。

从周期开始经过 2.5 ms 后,通道随着 CNT0 输出的下降沿而改变,以在下一个周期开始时输出脉冲(参见图 7)。这为信号读取和稳定性提供了充足的时间。

点击查看完整大小的图片

poYBAGLVeRSASh3QAAEh_i6Av4o239.png


图 7.时序图。(来源:瑞萨电子)

为防止在信号较小(小于 40 mV)时 ADC 出现任何错误,DCMP0 用于将 ADC 值与寄存器 0 进行比较。如果值小于 9,角度将被视为 0°,输出CNT9 将直接传递给请求的伺服电机。

操纵杆来自 GreenPAK 芯片内部的 VREF0,因此操纵杆读取的信号在 ADC 的工作范围内。VREF0 连接到 Pin19,其中源选择器设置为 ACMP0,调整为 1200 mV。操纵杆包含一个可用于附加功能的按钮。使用 CNT8 构建去抖动器,改进后的信号通过 Pin20 输出。Pin12 配置为低压数字输入,因为操纵杆电压为 1200 mV(图 8)。

点击查看完整大小的图片

poYBAGLVeRmAffh1AAJPi50WrMk142.png


图 8. GreenPAK 设计 – 矩阵 1。(来源:瑞萨电子)

为了测试设计,GreenPAK Designer 的信号向导用于将不同的信号应用于输入(图 9)并监控输出(图 10)。

点击查看完整大小的图片

pYYBAGLVeSGAD9Y8AAcA2UGq160840.png


图 9. 生成锯齿波。(来源:瑞萨电子)

点击查看完整大小的图片

poYBAGLVeSmAD3ZLAAGvkKHyghw708.png


图 10. Pin8(黄色)、Pin9(蓝色)、Pin5(红色)和 Pin6(绿色)。(来源:瑞萨电子)

以下视频显示了工作项目,也可在此处获得。

结论

在本文中,我们使用 GreenPAK SLG46620 芯片构建了一个电路,该电路使用两个通过模拟操纵杆操作的伺服电机来控制两个关节 x 和 y 的机器人手臂。该芯片高效地将所有电路的重要元件集成在一个小空间内。不需要外部微控制器,并且只需要很少的外部元件。

通过连接多个芯片,这种设计可以扩展为构建自由度更大的机器人手臂。这样的系统可以应用于许多不同的工业应用。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16984

    浏览量

    350293
  • 控制器
    +关注

    关注

    112

    文章

    16197

    浏览量

    177394
  • 机械臂
    +关注

    关注

    12

    文章

    509

    浏览量

    24491
收藏 人收藏

    评论

    相关推荐

    plc什么情况下会导致程序丢失

    PLC(Programmable Logic Controller,可编程逻辑控制器)是一种广泛应用于工业自动化领域的设备。它通过执行用户编写的程序来实现机械设备的控制。然而,
    的头像 发表于 08-19 09:14 1068次阅读

    基于六维力传感机械自动装配应用

    六维力传感是一种特殊的力觉传感,可以测量物体笛卡尔坐标系三个轴向的力和力矩,其内部采用高度敏感的材料和精密机械构造,可以为
    的头像 发表于 06-06 13:49 693次阅读
    基于六维力传感<b class='flag-5'>器</b>的<b class='flag-5'>机械</b><b class='flag-5'>臂</b>自动装配应用

    能否没有中断的情况下使用SPI?

    我们能否没有中断的情况下使用 SPI? 所有示例仅显示了中断情况。 是否有示例代码? 请支持 !
    发表于 05-22 08:18

    电机控制器驱动板, 遇到报desaturation故障的情况怎么解决?

    引脚监视的是Vce端电压,IGBT通态情况下,当流过该管子的电流大于一定之后,Vce上会产生一个较大的压降,这个压降大于该芯片阈值后,就会上报DESAT故障。目前
    发表于 05-06 09:22

    自然语言控制机械:ChatGPT与机器人技术的融合创新(

    引言 我们的上一篇文章中,我们探索了如何将ChatGPT集成到myCobot 280机械臂中,实现了一个通过自然语言控制机械
    的头像 发表于 04-11 15:54 809次阅读
    自然语言<b class='flag-5'>控制</b><b class='flag-5'>机械</b><b class='flag-5'>臂</b>:ChatGPT与机器人技术的融合创新(<b class='flag-5'>下</b>)

    EtherCAT运动控制器ROS上的应用(

    正运动技术动态链接库环境配置以及EtherCAT运动控制器ROS的单运动。
    的头像 发表于 03-13 14:54 519次阅读
    EtherCAT运动<b class='flag-5'>控制器</b><b class='flag-5'>在</b>ROS上的应用(<b class='flag-5'>下</b>)

    如何去提升机械的位置控制性能?

    控制性能。   精度衡量:直接测量机械末端的位置比较困难,这里采用一种近似的方式,比较机械
    的头像 发表于 03-05 08:43 848次阅读
    如何去提升<b class='flag-5'>机械</b><b class='flag-5'>臂</b>的位置<b class='flag-5'>控制</b>性能?

    如何去提升机械的位置控制性能

    前馈+三环控制 这种策略是在三环反馈控制的基础上,加入前馈指令值。 驱动一般需工作CSP模式,前馈值的生成方式有种:
    发表于 02-23 10:19 543次阅读
    如何去提升<b class='flag-5'>机械</b><b class='flag-5'>臂</b>的位置<b class='flag-5'>控制</b>性能

    没有电位,用个按钮可以实现变频调速吗?

    没有电位,用个按钮可以实现变频调速吗? 变频是一种广泛应用于电机调速的设备,它能够调节电
    的头像 发表于 02-18 16:55 1721次阅读

    CCU8能否用于没有CPU干预的情况下生成SPWM信号?

    CPU 的情况下使用 CCU8 单元生成控制电机的必要信号,从而允许我程序中执行其他任务? 如果可能的话,有没有应用说明可以指导我实现
    发表于 01-22 08:02

    宏集七机械,以精准力控实现柔性抛光打磨!

    宏集推出七都带有扭矩传感的柔性机械,通过类人类触觉、力位控制策略与直观易用的打磨app,实现
    的头像 发表于 01-03 13:36 565次阅读
    宏集七<b class='flag-5'>轴</b><b class='flag-5'>机械</b><b class='flag-5'>臂</b>,以精准力控<b class='flag-5'>实现</b>柔性抛光打磨!

    ADIS16485没有磁力计的情况下怎么进行初始对准呢?

    读取了ADIS16485的数据发现陀螺仪几个的输出数据没有什么差别,那这个传感是不是不能敏感出地球自转角速度,如果是的话没有磁力计的
    发表于 12-27 07:01

    【开源获奖案例】四机械控制系统

    ——来自迪文开发者论坛本期为大家推送迪文开发者论坛获奖开源案例——四机械控制系统。工程师采用T5L智能屏,基于DGUS软件“旋转指示”控件实现
    的头像 发表于 12-23 08:13 1180次阅读
    【开源获奖案例】四<b class='flag-5'>轴</b><b class='flag-5'>机械</b><b class='flag-5'>臂</b><b class='flag-5'>控制</b>系统

    开源协作机械myArm视觉跟踪技术!

    处理技术,使用ArUco标记的机械系统可以实现更高级的自动化功能,如精确定位、导航和复杂动作的执行。 本案例旨在展示结合ArUco标记和机械
    的头像 发表于 12-18 11:14 1153次阅读
    七<b class='flag-5'>轴</b>开源协作<b class='flag-5'>机械</b><b class='flag-5'>臂</b>myArm视觉跟踪技术!

    开源六协作机械MechArm案例演示!

    介绍 今天,我将向大家展示一个我独立设计并实现机械模型。这个模型的核心功能是实现实时的手势追踪——只需用手轻轻拖拽,机械
    的头像 发表于 11-28 15:58 868次阅读
    开源六<b class='flag-5'>轴</b>协作<b class='flag-5'>机械</b><b class='flag-5'>臂</b>MechArm案例演示!