ZHCAFT7 October   2025 CC2340R5

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
    1. 1.1 CC2340R5
    2. 1.2 DRV8329A
    3. 1.3 BLDC 电机
  5. 2BLDC 硬件
    1. 2.1 硬件设置
      1. 2.1.1 DRV8329AEVM 设置
    2. 2.2 连接图
  6. 3运行示例
    1. 3.1 依赖项
    2. 3.2 加载固件
    3. 3.3 电机连接测试
    4. 3.4 具有蓝牙® 低功耗且带霍尔传感器的 BLDC 电机陷阱运行
      1. 3.4.1 SimpleLink™ Connect 手机应用
  7. 4固件设计
    1. 4.1 代码流程描述
    2. 4.2 定制 TI 驱动器
      1. 4.2.1 PWM
      2. 4.2.2 ADCBuf
      3. 4.2.3 电源
    3. 4.3 应用事件
    4. 4.4 换向表
    5. 4.5 电机加速
    6. 4.6 ADC 运营
    7. 4.7 旋转检测功能
    8. 4.8 报告统计信息
    9. 4.9 蓝牙® 低功耗栈
  8. 5测试和结果
  9. 6总结
  10. 7参考资料

代码流程描述

图 4-1 展示了 CC2340R5 代码内部所用过程的简单代码方框图。该功能在 app_bldc_motor_control.c 文件中实现。

CC2340R5 BLDC 电机代码图图 4-1 BLDC 电机代码图

主函数初始化 BLDC 电机示例运行所需的所有 TI 驱动器和计时器。进入主 while 环路后,这会对由硬件回调设置的事件执行进一步的操作。通过子例程维护相应的操作后,会重置事件并且会自动重复该过程。

除一些例外情况外,所有硬件回调都只是发布一个事件以供主应用处理。一种例外情况是 ADCBuf 回调,它会立即处理状态,除非超过了窗口比较器阈值,否则不会从主应用程序环路调用任何进一步的操作。

实现了若干定义,用于定义电机的行为,这些定义在以下各节中会被引用。表 4-1 显示了位于 app_bldc_motor_control.h 中的可配置定义。

表 4-1 BLDC 电机应用定义
定义默认值单位功能
PWM_PERIOD40000HzPWM 周期除以 2(适用于上升或下降模式),因此为 20kHz
DUTY_MAX80%允许的最大 PWM 占空比
DUTY_MIN10%允许的最大 PWM 占空比
DUTY_INC5%UART 命令的 PWM 占空比增量
MAX_STRING20整数单个 UART 字符串中的最大字符数
SPIN_TIMEOUT1000000µs如果电机在此时间段内未完成一次旋转,则电机驱动器将停止
RPM_INTERVAL500000µs报告 RPM、CPU 负载和 ADC 测量计数的时间间隔
ACCEL_INTERVAL10000µs增加或减少 PWM 占空比之前的延时时间
CHANGE_DELAY1000000µs改变方向之前停止电机后的延迟
ADC_COUNT5整数启用的 ADC 通道的数量
ADC_INTERVAL100000µs对单个 ADC 序列进行采样的时间间隔(需要先停止然后重新启动 ADC DMA 缓冲器)
VSEN_THRESHOLD2000整数触发电机停止所需的原始电源 ADC 值
WINDOW_LOW1500整数低窗口监控器的原始电流 ADC 值
WINDOW_HIGH3000整数高窗口监控器的原始电流 ADC 值
ADCSAMPLESIZE128整数DMA 传输的 ADC 缓冲区大小