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

    文章

    7417

    浏览量

    150747
  • LPC
    LPC
    +关注

    关注

    8

    文章

    136

    浏览量

    77570
  • 伺服电机控制

    关注

    0

    文章

    13

    浏览量

    7486
  • 直流伺服电机

    关注

    4

    文章

    53

    浏览量

    10577

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

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

收藏 人收藏

    评论

    相关推荐

    伺服电机原理及控制应用

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

    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 654次阅读

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

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

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

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

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

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

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

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

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

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

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

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

    浅谈伺服电机控制模式

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

    交流伺服电机工作原理 交流伺服电机控制方式

    交流伺服电机是一种通过闭环反馈控制系统实现精确位置、速度和转矩控制电机。它在工业自动化、机械加工、机器人领域有着广泛的应用。本文将
    的头像 发表于 02-18 14:59 2009次阅读

    伺服电机工作原理 伺服电机控制方式有哪几种

    伺服电机是一种能够根据控制指令准确运动的电机,其工作原理基于电机的转矩及速度反馈。 伺服
    的头像 发表于 01-31 10:49 2576次阅读

    低温伺服电机和普通电机区别在哪里

    的基本概念。低温伺服电机是一种能够在低温环境下正常工作的伺服电机,它具有较高的精度和响应速度,适用于低温
    的头像 发表于 01-05 16:38 722次阅读

    plc怎么控制伺服电机正反转

    电机的正反转,本文将详细介绍其中的几种方法。 一、硬件控制 开关控制:最简单的方法是使用开关控制伺服
    的头像 发表于 12-25 11:16 3883次阅读

    一周新品推荐:NXP的 LPC553x/S3x MCU系列和PUI Audio 的触觉反馈元件

    DigiKey Daily  短视频 本期DigiKeyDaily 向大家推荐两款产品—— NXP的 LPC553x/S3x MCU系列和PUI Audio 的触觉反馈元件 1 产品一: NXP
    的头像 发表于 11-16 16:05 720次阅读
    一周新品推荐:NXP的 <b class='flag-5'>LPC553x</b>/S3<b class='flag-5'>x</b> MCU系列和PUI Audio 的触觉反馈元件