查看: 137|回复: 0

[原创] 【FRDM-MCXA346】5.PWM运动模块

[复制链接]
  • TA的每日心情
    开心
    2019-3-5 08:47
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    117

    主题

    3464

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    9248
    最后登录
    2025-11-1
    发表于 6 天前 | 显示全部楼层 |阅读模式
    本帖最后由 jundao721 于 2025-10-26 20:36 编辑

    继续学习A346的外设,控制电机离不开速度控制,离不开MCU的PWM的使用。A346的特性中,专门为电机驱动设计了PWM模块,看datasheet,如图1所示:
    6-1.png
    图1

    这说明PWM模块拥有丰富的通道和输出能力。
    其支持2个FlexPWM模块,每个模块有4个子模块,每个子模块可输出一对或多路PWM信号。其特点如图2所示:
    6-2.png
    图2

    使用该模块时,一些关键点是要注意的,死区时间,同步多个子模块,对齐方式,互补输出,故障保护等等。
    为什么A346的PWM模块适合电机控制,
    1.多通道、互补输出、死区/故障机制齐全:为三相驱动、高侧/低侧桥臂控制提供硬件支持。
    2.高性能核心 +加速单元(MAU) + 强大外围:使得电机控制算法(如 FOC)可以在 MCU 内实时运行。
    3.与 ADC/比较器等模拟模块在同一芯片,减少延迟和同步问题。
    4.开发工具与应用范例完善:NXP 提供针对三相 PMSM 控制和应用笔记。

    看完理论,跃跃欲试哈。官方给出的PWM例程是一个控制三相电机的程序,可以先测试一下,使用示波器先看看波形,根据自己的需要再修改。
    定义死区时间,如下所示:
    1. deadTimeVal = ((uint64_t)pwmSourceClockInHz * 650) / 1000000000;
    复制代码

    死区时间放置高低桥臂MOSFET同时导通,导致短路。
    然后去配置PWM通道参数,如下所示:
    1.    pwmSignal[0].pwmChannel       = kPWM_PwmA;
    2.     pwmSignal[0].level            = kPWM_HighTrue;
    3.     pwmSignal[0].dutyCyclePercent = 50; /* 1 percent dutycycle */
    4.     pwmSignal[0].deadtimeValue    = deadTimeVal;
    5.     pwmSignal[0].faultState       = kPWM_PwmFaultState0;
    6.     pwmSignal[0].pwmchannelenable = true;
    复制代码

    配置子模块,如下:
    1.     PWM_SetupPwm(BOARD_PWM_BASEADDR, kPWM_Module_0, pwmSignal, 2, kPWM_SignedCenterAligned, pwmFrequencyInHz,
    2.                  pwmSourceClockInHz);
    复制代码
    启动:
    1.   PWM_StartTimer(BOARD_PWM_BASEADDR, kPWM_Control_Module_0 | kPWM_Control_Module_1 | kPWM_Control_Module_2);
    复制代码

    通过示波器测试互补波形,测试波形如图3所示:
    6-3.gif
    图3

    由于手头的示波器是两路的采集输入,所以波形都是分开看的,从图3中可以看到两路互补的信号输出。
    简单修改一下PWM的配置和输出,先单路PWM输出,看控制实体电机的状态,连接图如图4所示:
    6-6.jpg
    图4

    占空比调成固定占空比20%,也可以调成其他需要的速度。图形如图5所示:
    6-5.jpg
    图5
    电机控制效果如图6所示:
    6-4.gif
    暂时先测试到这里,下次测试接上eQDC,整体测试。



    加油哦
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-11-1 12:47 , Processed in 0.085670 second(s), 20 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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