自学无刷电机-定时器,内部软件触发

1 篇文章 0 订阅
1 篇文章 0 订阅

自学野火电机的教程, 其中TIM5(主) 和 TIM8 (从)是怎么配合的花了点时间梳理了下. 以便日后自己查看. 

--其中TIM8为高级定时器(从定时器),配置了PWM输出, 野火用了H_PWM_L_High的方式. 其中HAL_TIMEx_ConfigCommutationEvent 配置了触发源, 和另一个定时器TIM5交互.具体该函数的实现方式

  1. 配置了ITR3作为触发输入
  2. CCPC位置1 (如果有预装载, 则仅当发生换向事件 (COM) 时才会对CCxE、CCxNE位进行更新)

  3. CCUS位置0 (预装载只能COMG软件更新, TGRI更新功能不激活)

 --TIM5配置了霍尔传感器三相的输入捕获. 其中使用 HAL_TIMEx_HallSensor_Init 配置了作为主定时器的一部分设置.

  1. 配置CR2的TI1S位(把3个输入用一个异或连接,只要其中一个电平跳变都会发生触发中断)

  2. 配置SMCR的TS位(TIM_TS_TI1F_ED), 为从模式控制器提供复位控制

  3. 触发重置功能; SMCR的SMS位(TIM_SLAVEMODE_RESET)

  4. 配置TRGO位OC2REF为触发输出; CR2的MMS位

 

使能TIM5的触发中断和更新中断; 只要霍尔三相中有跳变,触发中断使能(调用其中的换向函数).

只要TIM5的ARR值溢出,则开启更新中断(检查堵转的情况).

TIM8和TIM5 两个定时器的配合流程应为:

  1. 霍尔TIM5接收到跳变信号,通过TI1F_ED触发中断
  2. 通过从模式控制器(复位设置),TIM5计数器被复位
  3. 进入TIM5中断触发函数, 写入TIM8的PWM输出设置
  4. 同时TIM5通过设置的OC2REF输出触发TGRO
  5. TGRO被TIM8的ITR3通道接收激活, 开始新的PWM输出

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值