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

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

3天内不再提示

详细讲解LPC553x双伺服电机控制方案的演示环境

恩智浦MCU加油站 来源:恩智浦MCU加油站 作者:恩智浦MCU加油站 2022-08-25 11:51 次阅读

本文紧接上文,详细讲解LPC553x双伺服电机控制方案的演示环境。

4.演示操作

4.1.项目文件结构

项目中源文件(*.c)和头文件(*.h)的总数较多。因此,我们只详细介绍关键项目文件,其余的将被分组描述。

主工程文件夹分为以下目录:

oardsdual_servo - 包含硬件板的初始化配置文件。

oardsdual_servoiar - 包含编译器所需的必要文件。

oardsdual_servomc_drivers - 包含各模块的驱动文件。

oardsdual_servomotor_control - 包含电机控制算法文件和状态机文件。

oardsdual_servoparameter - 包含参数头文件和配置文件。

CMSIS - Cortex微控制器软件接口标准。

deviceLPC55S36 - LPC55S36软件开发工具包。

FM_ControlPage - FreeMASTER控制页面文件。

middlewarefreemaster - FreeMASTER支持文件。

middlewareCM33F_RTCESL_4.6.2_IAR - 实时控制嵌入式软件电机控制和电源转换库。

文件夹中的文件:

M1_statemachine.c和M1_statemachine.h包含当应用程序处于特定状态或状态转换时执行的软件例程。

State_machine.c和state_machine.h包含应用程序状态机结构定义,并管理应用程序状态和应用程序状态转换之间的切换。

Motor_structure.c和motor_structure.h包含专门用于执行电机控制算法的结构定义和子程序(矢量控制算法、位置和速度估计算法、速度控制回路)。

Motor_def.h包含主控和故障结构定义。

4.2电机参数

本文中使用的电机是两个无刷直流伺服电机,带1000线的正交编码器。下表提供了电机的基本参数:

注:本文中的应用参数(位置、速度和电流控制器)是在电机轴上安装有塑料环的情况下设置的,使用参数空轴运行可能会出现速度振荡。

4.3建立双伺服演示

硬件需求:

LPC55S36-EVK板 REV.B

两个FRDM-MC-LVPMSM电机驱动板

两个24V伺服电机

一根Micro USB数据线

注意:请确保电源适配器在所有步骤之前关闭。使用FRDM-MC-LVPMSM板为EVK板供电时,板上的TPS54060 DC-DC转换器会产生电压毛刺。因此推荐将EVK板上的JP71跳线帽断开,并使用EVK板上的5V引脚为电机编码器供电以获得更好的效果。

要建立双伺服演示,请遵循以下步骤:

如图所示,将LPC55S36-EVK和FRDM-MC-LVPMSM电机驱动板通过Arduino接口连接在一起,并连接电机相线与编码器接口。

接通24V适配器,为电机驱动板供电。

将LPC55S36-EVK与PC间通过USB接口连接。

在软件包中打开“FM_DualServo.pmp”。(FREEMATER版本不应低于3.1.2)

选择Project->Options,配置串口通信属性与工程二进制文件地址。

点击GO!按钮,即可启用PC与LPC55S36-EVK之间的FreeMASTER通信,如下图所示。

打开DualServo页面。

单击Start按钮启用演示。

通过单击控制页面上的其他按钮来操作演示。

4.4参数配置

如果用户伺服电机的参数与本演示中默认电机的参数不同,则应重新配置参数以匹配不同的电机。

打开头文件M1_Params.h或M2_Params.h,将电机本体的基本参数输入到对应的位置。

转速环、位置环的PI控制参数需要在文件中手动输入并调试,而电流环被等效成二阶控制系统,可以通过设置衰减、带宽频率的方式自动生成对应的PI控制系数。而转速、电压的使用IIR滤波器,可以手动输入滤波器的截止频率进行调试。具体的控制器、滤波器参数会由公式计算得出并在程序运行时赋值到相关的结构体变量中执行。

4.5实验性能演示

首先,下面所有的实验结果都是在电机负载轻塑料环的情况下进行测试的,并且所有的实验波形与数据都来自FreeMASTER。

上图显示了电机启动到2500rpm时的速度和电流波形。

上方的显示窗口中红线是速度给定,绿线是电机实际转速,下方串口中红色线是转矩电流给定,蓝线是实际转矩电流。我们可以看到它可以在0.13s内加速到2500转,超调非常小,而且转矩电流的控制响应也很迅速。

上图显示了位置给定为10Hz正弦波且运动范围为180°机械角时的位置响应。我们可以看到转子位置(绿线)可以很好地跟踪给定值(红线)的变化,最大误差(蓝线)约为2°。

上图中顶部波形显示速度响应,底部波形显示位置响应。红线是转速与位置给定,绿线是实际响应值,蓝线表示它们之间的误差。设置电机反转180°位置给定的命令后,大约需要0.1秒就能到达预定位置。可以看到动态响应的误差很小,静态响应也很稳定。

如果我们先设定一个按照周期性变化的变量x,两个电机的位置给定分别设置为sin(x)与cos(x),然后将两个电机的转子位置分别作为横坐标与纵坐标,则坐标点的理想轨迹会是一个圆形,圆形的边沿越平滑意味着位置控制越精准。在FreeMASTER控制页面上点击“X-Y Graph ON”按键即可开启演示,实验结果如上图所示。

4.6CPU负荷和内存使用

以下信息适用于使用IAR Embedded WorkbenchIDE v8.50.9构建的演示应用程序,优化等级为高,开启Flash cache与预取指功能。表中显示内存使用和CPU负荷。内存使用是从.map文件(IAR IDE)计算的,包括在RAM中分配的4KB FreeMASTER记录器缓冲区。使用SysTick定时器测量CPU负荷。快速环周期数是在进入ADC中断后立即使能Systick计数器,并在快速环程序执行结束后停止计数,将两次计数器的差值用于计算CPU负载。需要注意的是,表中的CPU总负载一栏显示的是运行一段时间后统计的两个电机占用的负载的最大值之和,反映了最恶劣条件下的运行情况。

在此情况下,它适用于16kHz的快环频率和2kHz的慢环(速度和位置环)频率。

具体工程代码实现和更多详细细节请参考以下资料:

LPC553x参考手册:LPC553xRM

应用笔记:MCUXpresso SDK 3-Phase PMSM Control(LPC). (3PPMSMCLPCUG)

应用笔记:Dual Servo Motor Demo on LPC553x/LPC55S3x



审核编辑:刘清

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

    关注

    48

    文章

    7711

    浏览量

    152574
  • LPC
    LPC
    +关注

    关注

    8

    文章

    136

    浏览量

    77825
  • 伺服电机控制

    关注

    0

    文章

    17

    浏览量

    7561
  • 直流伺服电机

    关注

    4

    文章

    55

    浏览量

    10692

原文标题:LPC553x双伺服电机控制方案详解(下)

文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    相关推荐

    方案伺服电机驱动控制器AGV、AMR专用伺服电机驱动控制器带

    工业机器人数控机床XY机械手轴机器人堆垛机专用伺服电机驱动控制器48V 14ARMS带有STO功能,隔离高压CAN/RS485/US
    发表于 02-15 12:14

    伺服电机静电防护完整方案

    伺服电机静电防护完整方案 伺服电机是一种能够将电能转换为机械能的装置,通过接收控制信号来实现对
    的头像 发表于 01-09 14:28 230次阅读
    <b class='flag-5'>伺服</b><b class='flag-5'>电机</b>静电防护完整<b class='flag-5'>方案</b>

    伺服电机原理及控制应用

    伺服电机(Servo Motor)是一种高精度、高性能的电动机系统,广泛应用于需要精确控制位置、速度和加速度的场合。 一、伺服电机的工作原理
    的头像 发表于 10-22 16:58 1585次阅读

    AM243x/AM64x单芯片伺服电机控制实现和基准测试

    电子发烧友网站提供《AM243x/AM64x单芯片伺服电机控制实现和基准测试.pdf》资料免费下载
    发表于 09-04 10:35 0次下载
    AM243<b class='flag-5'>x</b>/AM64<b class='flag-5'>x</b>单芯片<b class='flag-5'>伺服</b><b class='flag-5'>电机</b><b class='flag-5'>控制</b>实现和基准测试

    伺服电机也是脉冲控制吗为什么

    伺服电机是一种高精度、高响应速度的电机,广泛应用于工业自动化、机器人、航空航天等领域。伺服电机控制
    的头像 发表于 07-14 10:37 1166次阅读

    直流伺服电机和交流伺服电机的差异

    直流伺服电机和交流伺服电机在多个方面存在显著的差异。以下是它们之间区别的详细阐述。
    的头像 发表于 06-19 18:24 1259次阅读

    伺服电机矢量控制原理详解

    伺服电机矢量控制作为现代电机控制技术的重要分支,广泛应用于工业自动化、精密加工、机器人技术等领域。其核心思想是通过模拟直流
    的头像 发表于 06-18 17:58 1314次阅读

    伺服驱动器对伺服电机控制要求

    :在各种负载和环境条件下,伺服系统应保持稳定运行,不出现振荡或失步。 响应速度 :伺服驱动器应能快速响应控制信号,以实现快速的动态响应。 扭矩控制
    的头像 发表于 06-14 15:24 978次阅读

    运动控制伺服电机如何控制

    运动控制伺服电机控制是现代工业自动化领域中一项重要的技术,它涉及到运动控制卡、伺服
    的头像 发表于 06-12 14:13 1146次阅读

    plc控制伺服电机的指令有哪些

    PLC(可编程逻辑控制器)是一种广泛应用于工业自动化领域的控制设备。伺服电机作为执行元件,可以通过PLC进行精确控制。以下是关于PLC
    的头像 发表于 06-12 11:39 2889次阅读

    plc如何控制伺服电机的速度和方向?

    PLC(可编程逻辑控制器)是一种广泛应用于工业自动化领域的控制设备。伺服电机是一种高精度、高响应速度的电机,广泛应用于各种自动化设备中。本文
    的头像 发表于 06-12 10:46 2463次阅读

    交流伺服电机与直流伺服电机的区别

    Servo Motor)两大类。两者在工作原理、控制方式、应用领域以及性能特点等方面存在显著的差异。本文将对交流伺服电机和直流伺服电机的区
    的头像 发表于 06-05 17:26 1534次阅读

    伺服电机控制器怎么调参数

    伺服电机控制器参数调整是确保伺服系统正常运行和达到预期性能的关键步骤。本文将详细介绍伺服
    的头像 发表于 06-05 15:47 2505次阅读

    伺服电机脉冲控制方式的基本原理

    伺服电机脉冲控制方式,作为伺服电机驱动技术的重要组成部分,以其高精度、高稳定性和快速响应的特点,在现代工业自动化领域中发挥着不可或缺的作用。
    的头像 发表于 06-05 15:03 3050次阅读

    浅谈伺服电机控制模式

    伺服电机作为现代工业自动化领域中不可或缺的重要组成部分,其控制模式的精确性和多样性对于实现高效、稳定、准确的运动控制至关重要。本文将详细介绍
    的头像 发表于 06-05 14:59 1775次阅读