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

pc网站建设意见东莞互联网推广

pc网站建设意见,东莞互联网推广,手机排行榜2022最新,枣庄网站建设枣庄目录 Encoder 原理 STM32 Encoder 计数原理 模型仿真 模拟Encoder 基于Encoder计算角度和速度 关于启动的仿真 代码生成 运行演示 总结 总结一下基于STM32的Encoder接口的电机运行,相应的仿真和实验都是基于一个1024脉冲的增量式光电编码器,关于…

目录

Encoder 原理

STM32 Encoder 计数原理

模型仿真

模拟Encoder

基于Encoder计算角度和速度

关于启动的仿真

代码生成

运行演示

总结


总结一下基于STM32的Encoder接口的电机运行,相应的仿真和实验都是基于一个1024脉冲的增量式光电编码器,关于模型的建模也是基于实际的实验电机和实际的编码器。

Encoder 原理

实物图如下,2500P/R就是电机机械转360一共有2500个脉冲,实验用的是1024脉冲的,下图仅作参考

 线序

 内部结构

 对于工程应用来说,只需要知道它输出的信号有什么含义。如下:

A和B分别是脉冲数,不同的编码器可能电机转一圈的脉冲数不一样,精度越高,脉冲数越多

定义正转A超前,反转B超前

Z则表示电机已经转完一圈,如下图,机械一圈对应的电角度是2*2pi, 因为实验用的小电机是两对极的。

 从编码器的原理来看,想要得到电机的角度就需要计算脉冲数,当转速很高,脉冲频率也会很高,这个时候靠定时器来采样脉冲数变会变得不现实。这个时候就需要专用的Encoder接口了。

STM32 Encoder 计数原理

Stm32就提供了一个Encoder接口,根据其原理配置了Encoder的接口,工作原理如下,A对应TI1, B对应TI2,电机正向转动时计数器根据输入的AB信号,每一个上升沿加1,每一个下降沿也加1,这样对于1024脉冲的编码器,转一圈计数值就是4096。也可以配置成其他模型,这里我们配置成4096个计数值。

 Z信号的输入配置成一个外部中断,每触发一次把计数值清零,这样的话角度的计算值就限制在了0-4096也就对应成0-4pi的电角度了。如果不用外部中断触发的话直接读取计数器的值,这样角度就会从0-2^32。F401的Timer 2 计数寄存器是32位的。计算角度时对4096取模即可。这里实验配置成0-2^32。

模型仿真

根据STM32的Encoder接口可以知道,MCU底层能传递的只有0-2^32,反向递减的计数信息,因此生成代码的部分需要读取计数值,模拟Encoder的输出的角度信息,也就是模拟MCU的Encoder接口,最后加上控制系统把系统闭环。

模拟Encoder

如下,分别模拟了实际Encoder的信号以及STM32Encoder接口的输出,和实物一致。

 ABZ,以及当前电机的电角度

正转:                                                          反转:

 

 经过STM32的Encoder接口后,取模后

正转:                                                                反转:

基于Encoder计算角度和速度

底层Encoder接口拿到了脉冲计数,因此应用层需要把计算值转换成角度和速度信息,这部分是要生成代码的。在MCU里,角度的计算也放到ADC中断,也就是FOC计算的周期,这里是10Khz.

 两者角度完全重合在一起

 实际转速和Encoder计算的速度

关于启动的仿真

由于仿真的时候Encoder的初始计数值是0,电机的初始角度也是0,所以电机能正常启动并运行,但是实际中电机的初始角度和Encoder不可能完全在0位置对应且不变,这里通过模拟改变电机的初始位置。

如电机的初始位置改成10度,电机的实际位置和Encoder计算的角度就会有一个固定角度差,相电流也会因此变大。

 这个时候这里通过给定初始角度和Id, 让电机固定在一个初始位置,如0,这样就已知电机的初始角度为0,同时清除Encoder的计数值。如下是启动角度的变化:

其中,黄色是电机的真实角度,蓝色是Encoder计算出来的角度,红色是重置计数值的编码器的计数值计算出来的角度。电机初始不在零位置。

 

代码生成

底层只需要读取出Encoder的计数值,传递给模型生成的接口,启动前固定初始位置标志Encoder_Rest状态标志,当固定初始位置时把Encoder的计数值初始为0。

 集成代码,并下载到MCU

运行演示

在小风扇上安装一个编码器,并和开发板的Hall接口连接(接口支持Hall和Encoder),编码器和电机用联轴器连接,简单固定下进行测试。

 

ABZ编码器运行演示

总结

本实验通过仿真模拟了STM32单片机的Encoder接口,并对其进行角度计算,从仿真系统上实现了整个过程,也把启动和运行的流程通过模型生成代码在硬件上实现,验证了模型的可靠性。

http://www.dinnco.com/news/19407.html

相关文章:

  • 男女做的那些事情的网站免费发链接的网站
  • 渭南网站建设服务上海全国关键词排名优化
  • 最近几天的新闻长沙优化官网服务
  • 做一个租房卖房的网站怎么做广告主资源哪里找
  • dw制作一个环保网站模板下载如何做好一个营销方案
  • 有专业做网站的吗seo和sem的区别
  • dw做网站小技巧软文案例500字
  • 企业品牌网站建设注意事项无安全警告的浏览器
  • WordPress页面添加最新文章纵横seo
  • 门户类网站图片站长统计官方网站
  • 公司网站建设电话seo网站制作优化
  • b2b网站外包建设荆州网站seo
  • 石家庄哪里有做网站的苏州网站建设开发公司
  • 网站设计用什么软件做windows优化大师有哪些功能
  • 网站开发服务费会计分录百度关键词搜索热度查询
  • 深圳做网站的好公司有哪些百度账号申诉中心
  • 做网站找云无限福州seo结算
  • 宝安做网站怎么样专业网络推广公司排名
  • 哈尔滨做网站需要多少钱网站怎么让百度收录
  • wordpress主题威客河北搜索引擎优化
  • 镇江网站建设远航网络简述网络营销与传统营销的整合
  • 可以把网站建设在云主机上吗人大常委会委员长
  • 医疗培训网站建设举例说明什么是seo
  • 廊坊seo外包服务seo教程 seo之家
  • 北京专业网站制作大概费用免费建网站软件哪个好
  • 如何开发自己公司的网站郑州做网站公司排名
  • du制作网站济南专业seo推广公司
  • pycharm做网站网络优化工程师主要做什么
  • 网站安全保障机制如何做事件营销的经典案例
  • 哪里能注册免费的网站简单的个人主页网站制作