打印

国产MCU之光 第25期: 公开GD32 定时器 & 电机测速 的花样用法

[复制链接]
9096|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
国产MCU之光 第25期:高阶玩家!公开GD32 定时器 & 电机测速 的花样用法


*阅读说明:详细过程及源码资料等请戳原链接查看


前言
在有感电机控制中,获取电机转速是非常重要的步骤,转速获取越准确,控制电机时越方便,抛开霍尔不谈,这里讨论电机编码器。

一、测频率法(M法)
二、测周期法(T法)
三、M/T法测速
四、如何在GD32单片机上实现上述过程
这里本人从M法测速开始,发现低转速速度误差太大,于是升级了M/T法测速,这里仅介绍这两种的实现,T法就不做实现,其实M/T能实现,T法就一定不会出问题啦。下文将逐步讲解我的开发历程。

1.    试验资料
a.GD32E230C8T6
   b. LME2500FE   2500线四倍频磁编码器
   c. 纸飞机串口助手
    d. 伺服电机+驱动器
2.    M法测速实现及试验结果

3. M/T法测速实现及试验结果
GD32E230之正交译码器的M/T法测速。
介于本篇文章篇幅已经很长了, 就不介绍定时器的正交译码器功能了,该功能网络上资料很多,这里不赘述,我们从代码入手……

总结
M/T法测速在增量型编码器中还是很常用的测速方式,再结合相应的滤波算法,可以得到非常精准的速度信息,同时MCU的译码器模式可同时获取到点击的旋转方向,可自行探索




前言:
本文主要着重于定时器的应用侧,在原理方面不会进行详细介绍,如果在简介原理时出现错误,还望各位见谅指正。硬件平台:GD32E230C8T6

SysTick 定时器
TIMER定时器

一个简单的PWM输出便完成了,但是当我们想平滑的控制一个灯的亮灭,总不能一直通过函数来进行不停地改变占空比,于是这里可以启用TIMER的DMA功能。

主从定时器(定时器互联)
三个相互级联的PWM输出

需求:一路固定以250HZ的频率输出PWM,二路以62.5Hz频率输出,三路以15.625Hz频率输出。
我们用代码实现效果
首先通过宏定义设置TIMER0的通道外设地址
定义DMA发送的数组
DMA初始化
初始化定时器0,开启通道和DMA
试验效果



由于开发板并未随机配带显示屏,为此利用其所配置的LCD接口,添加了一个SPI接口的显示屏,从而可以免去接线的麻烦。
由于GD32F303所配置的程序空间只有512K,故在需要较大存储空间时,就只能依赖板载的FLASH存储芯片和SD卡。
受程序空间的限制,当进行图片的显示,即使以FLASH芯片来存储数据是一件麻烦的事,需要执行多次才能将程序中的图片数据分批地转存到FLASH芯片中。
因此较合理的使用方式是将图片文件存放到SD卡中,以供数据读取来再现图片内容。
由于在例程资源中,只提供了SD卡的读写,因此要进行文件的读写,需要自行移植文件系统。
在完成文件系统的移植后,即可提供串口来显示SD卡的存储容量。

在此基础上,该如何读写文件呢?
1.读取函数及使用
2.写入函数及使用
3.图片文件显示


认识芯片特性
GD32E230/232系列
* 全系列采用嵌入式Flash
* 16K~64K Flash
* 4K~8K SRAM
* 1.8~3.6V供电,I/O口可承受5V电平
* -40~105 工业级温度范围
*全系列硬件管脚及软件兼容


GD32F303/305/307系列
* GD32F303Cortex®-M4增强型
* GD32F305/GD32F307均为Cortex®-M4互联型
* 128K~3072K Flash
* 32K~96K SRAM
* 2.6~3.6V供电,5V容忍I/O
* -40~85 工业级温度范围
*全系列硬件管脚及软件兼容
GD32F103/105/107系列相比:
  GD32F303向下Pin-to-Pin兼容GD32F103
  GD32F305/307向下Pin-to-Pin兼容GD32F105/107
  主频由108MHz提高到120MHz,且采用M4内核


使用特权

评论回复
沙发
cooldog123pp| | 2022-9-25 16:02 | 只看该作者
国产单片机越做越丰富了,希望在国内卷的同时也要向外输出,加油!

使用特权

评论回复
板凳
coody| | 2022-9-28 13:43 | 只看该作者
带编译码器测速没啥好说的。倒是普通的有刷电机无传感器无编码器的测速,才有点意思。

使用特权

评论回复
地板
fengxuwuzu| | 2022-11-3 11:31 | 只看该作者
coody 发表于 2022-9-28 13:43
带编译码器测速没啥好说的。倒是普通的有刷电机无传感器无编码器的测速,才有点意思。 ...

你好,有刷电机无编码器测速怎么实现啊?谢谢

使用特权

评论回复
评论
xiaofei558008 2022-11-11 12:50 回复TA
反电动势了解一下 
5
njshenxian| | 2022-11-13 15:56 | 只看该作者
这些大牌厂商都有这个,无速度传感器矢量控制技术。楼主分享算法很好。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

164

主题

702

帖子

30

粉丝