当前位置: 首页 > news >正文

网站 用php asp源码 比较好建设部执业考试网站

网站 用php asp源码 比较好,建设部执业考试网站,苏州行业网站建设,百度seo发帖推广上一节采用霍尔中断的方式进行六步换相,但是这样会导致定时器PWM通道配置的更改不会同时生效,因为我们在程序中是顺序执行更改配置的,因此配置的生效不会同时发生。stm32提供了一种采用COM事件的方式,能够使定时器PWM通道的配置同…

上一节采用霍尔中断的方式进行六步换相,但是这样会导致定时器PWM通道配置的更改不会同时生效,因为我们在程序中是顺序执行更改配置的,因此配置的生效不会同时发生。

stm32提供了一种采用COM事件的方式,能够使定时器PWM通道的配置同时生效。

首先看一下stm32官方手册关于COM事件的描述:

这张图片说得很清楚,就是OCXM、CCXE、CCXNE这几个位可以进行预装载,那么我们看一下这几个位分别代表什么意思,首先是OCXM,这个位存在于捕获/比较模式寄存器1(TIMX_CCMR1)和捕获/比较模式寄存器2(TIMX_CCMR2)

我们以OC1M为例:

可以看到,OC1M其实就是输出比较1模式,包括冻结,翻转,强制模式、PWM1和PWM2模式。

CCXE与CCXNE则属于捕获/比较使能寄存器(TIMX_CCER),相关定义如下所示:

这两个位,其实就是通道的使能位。

然后COM事件可以由软件触发,软件触发就是自己写一段程序,开启COM事件。软件触发一般采用以下函数:

HAL_TIM_GenerateEvent(&htim1, TIM_EVENTSOURCE_COM);  //软件触发COM事件

这个函数的定义如下:

当然了,我们也可以采用硬件触发,也就是通过TRGI上升沿来生成COM事件。那TRGI怎么来呢?其实是采用一个定时器的TRGO作为另外一个定时器的TRGI。也就是主定时器产生一个触发给从定时器,这个触发就是TRGO。本文中TIM4是主定时器,TIM1是从定时器。

首先贴出stm32官方手册中关于霍尔传感器的配置过程以及COM时间生成的时序图:

在cubemx中将定时器TIM4配置成霍尔传感器接口时,TIM_CH1、TIM_CH2、TIM_CH3三个通道做异或操作。

TIM4的CCR1保存两个霍尔信号之间的捕获值,TIM4的CCR2则是另外配置,根据CCR2的值来生成OC2REF,然后触发COM事件。那么我们怎么配置CCR2呢,虽然可以手写CCR2的配置,但是既然有CubmeMx,那么stm32官方应该是可以允许我们直接配置的。

我们可以看到上文中的红线部分,“所编程的延迟过后”这句话,其实就是指的可以自定义更改的CCR2的值,CCR2是占空比,因此相当于延迟。在TIM4的配置界面,Commutation Delay就是CCR2的值。

在HAL_TIMEx_HallSensor_Init函数中,有一段语句就是用来配置通道2的。其中Commutation Delay就是Pulse也等于CCR2

如果在cubemx中允许COM事件中断,那我们可以在COM事件中断中进行换相处理。

需要注意的是,除了允许COM中断,还需要在程序中加入中断开启的语句,比如:

HAL_TIMEx_ConfigCommutationEvent_IT(&htim1,TIM_TS_ITR3,TIM_COMMUTATION_TRGI);

这里为什么ITR3,可以参考以下这个主从定时器的对应关系:

顺便将TIM1的配置也贴出来:

进行这些配置之后,将六步换相和霍尔检测放入COM中断中即可。需要注意的是在电机静止时,TIM4的计数器一直在计数,等待霍尔信号来,但是这个时候静止是没有霍尔信号的,这样会计数器溢出,使得CCR2与CNT的比较一直在进行,也就导致OCR2REF一直在产生,一直可以触发COM事件,从而导致换相出错,因此在使用硬件触发COM事件时,需要在程序里面加入堵转和电机停止的判断语句。

理论上,如果没有这种"错误",是需要在主程序加入软件触发COM事件来启动电机的,但是恰恰因为这种"错误"导致不需要再添加软件触发语句了,因为刚刚已经说了,电机静止时,会一直触发COM事件,进入COM中断,执行换相程序。

在实际中,硬件COM用得很少,因为刚刚这种问题,大部分采用的还是软件COM。

http://www.dtcms.com/a/537309.html

相关文章:

  • 宜家有做自己的网站吗眼镜厂官网
  • JAVA1027抽象类;抽象类继承
  • AD22更新网表时总是显示 net with name XXX In already exists
  • 推荐一个免费的IP地址库:纯真社区版IP库
  • 4.前缀和
  • 网站开发技术 北京国内网站建设排名
  • 南通网站建设兼职中国沈阳app在哪里下载
  • MinIo纯前端使用文件上传预览
  • 学习记录-package.json的scripts添加参数的方式有那些
  • 【前端】avue组件分页勾选
  • 个人网站主页设计模板台州建网站
  • 修改网站主目录的位置云闪付当前页面设计隐私
  • 计算机图形学:【Games101】学习笔记02——变换(二维与三维、模型、视图、投影)
  • 解码固相萃取仪:如何实现复杂样品前处理的高效与重现性
  • Easyx图形库应用(直接显存操作)
  • 网站翻书效果网站建设费用 会计分录
  • Langchain从零开始到应用落地案例[AI智能助手]【4】---优化ocr识别编写,实现按文件类型进行调用识别
  • 如何添加网站logo天津网站定制公司
  • 做网站需要规划哪些内容南宁网站seo大概多少钱
  • 第15天:网络基础与故障排除
  • confluence or 语雀 or sward,知识管理工具一文全方位对比
  • 易语言中函数参数“参考”的基本概念
  • 阿里巴巴国际站的前台网址是西安美食网页设计
  • 制作网站需要怎么做苏州注册公司流程和步骤
  • 云栖实录 | 驰骋在数据洪流上:Flink+Hologres驱动零跑科技实时计算的应用与实践
  • 基层建设是哪个网站的工作总结及工作计划
  • 网站开发学习网站ui设计怎么自学
  • 整站优化工具wordpress joonla安全
  • 在Linux下循环创建N个子进程的实现与解析
  • Spring AI Alibaba 基于JWT的鉴权登录系统实现详解