使用PWM生成模式驱动BLDC三相无刷直流电机

引言

  在 TI 的无刷直流 (BLDC) DRV8x 产品系列使用的栅极驱动器应用中,通常使用一些控制模式来切换MOSFET 开关的输出栅极。这些控制模式包括:1x、3x、6x 和独立脉宽调制 (PWM) 模式。
  不过,DRV8x 产品系列(例如 DRV8311)中还有一项新技术,即 PWM 生成模式。PWM 生成模式允许用户通过德州仪器 (TI) SPI (tSPI) 写入器件寄存器来打开和关闭 MOSFET 栅极输出。这种新控制模式的优势在于其允许通过串行接口配置 PWM 周期、频率和占空比。
  因此,借助此控制模式,用户可以通过发送 SPI 读取/写入信号来实现具有稳健电机控制功能的更紧凑的系统,而无需使用来自 MCU 的多个 GPIO 输入。

tSPI 系统设计优势

  使用 DRV8311P(DRV8311 的 tSPI 型号)PWM 生成模式的一个系统级优势是消除了 INHx 和 INLx 引脚。
  BLDC DRV8x 器件通常需要三个 INHx 引脚和三个INLx 引脚来控制栅极驱动器输出。因此,如果用户想要驱动多个电机,则需要六倍于 MCU 中电机 GPIO 引脚数量的引脚。
  通过使用基于 tSPI 的 PWM 生成模式,使用四根导线即可通过 SPI 进行通信,如图 1 所示。此外,tSPI 允许随机访问 DRV8311P 器件,使用通用呼叫地址,并且能够以任何顺序执行读取/写入。
在这里插入图片描述

图 1. 使用 tSPI 实现多电机控制

  有关在多电机系统中使用 tSPI 的更多信息,请参阅使用 tSPI 协议减少下一个多电机 BLDC 设计中的导线数量。

PWM 生成模式

  在 PWM 生成模式下,可以使用以下换向方法:梯形、正弦和磁场定向控制 (FOC)。通过使用 SPI 将相位驱动器输出设置为正确状态,即可实现这些方法。例如,DRV8311P 允许用户写入 PWM_STATE 寄存器,从而控制每个相位的高侧和低侧 MOSFET 的行为。
此外,该控制模式允许用户以精确粒度配置 PWM 信号的占空比。例如,当 PWM 频率为 20kHz 时,用户可以实现每位 0.2% 的占空比粒度。要使用 DRV8311P实现这个值,请进行以下计算:

  1. 使用方程式 1,通过配置可生成指定 PWM 频率的PWM_PRD_OUT 位来设置 PWM 周期输出。
    在这里插入图片描述

• PWMPRD = PWM_PRD_OUT 值
• FSYS = 内部系统时钟频率(大约 20MHz)
• fPWM = PWM 频率

  1. 通过配置 PWM_Duty_OUTx 位来设置每个相位输出的占空比,使用以下公式:
    ∆value = 0.01 × PWMPRD × ∆per (2)
    • Δvalue = PWM_DUTY_OUTx 值
    • Δper = 占空比 (%)

  2. 要计算可实现的粒度级别,请根据方程式 2 对Δper 求解,该公式变形如下:
    ∆per =∆value/0.01 × PWMPRD
    (3)
    在本示例中,PWMPRD 为 500,Δvalue 设置为 250。
    通过使用方程式 3 求解 Δper,得出 Δper 为 50.0%。
    如果 Δvalue 增加 1(即 Δvalue = 251),Δper 变为50.2%。因此,20kHz PWM 频率下的占空比粒度为0.2%。

DRV8311P 占空比步长精度

  为展示上一节中提到的粒度级别,将 DRV8311P 的输入占空比从 50.0% 开始,按 0.2% 步长递增,直到输入占空比达到 51.0%。在本测试中,A 相的高侧 (HS)受 PWM 控制,B 相的低侧 (LS) 为导通状态,C 相的HS 和 LS 为关断状态。表 1 展示了观察到的粒度级别。

表 1. DRV8311P 占空比粒度

输入占空比 (%)测得的占空比(%)目标占空比步长 (%)测得的占空比步长 (%)
50.049.78--
50.249.980.200.20
50.450.180.200.20
50.650.380.200.20
50.850.580.200.20
51.050.780.200.20

  图 2 和图 3 是在占空比测量过程中,在 OUTA 上观察并捕获的波形,对应表 1 中的前两行数据。


在这里插入图片描述

图 2. DRV8311P 占空比为 50.0% 时测得的步长精度

在这里插入图片描述

图 3. DRV8311P 占空比为 50.2% 测得的步长精度

  如图 2 和图 3 所示,测得的占空比如预期一样增加了0.2%。

DRV8311H 占空比步长精度

  为与使用 PWM 生成模式的 DRV8311 tSPI 型号所观察到的精度水平进行比较,使用 DRV8311H(硬件型号)进行了相同的测试。同样,A 相 (INHA) 的高侧(HS) 受 PWM 控制,B 相 (INLB) 的低侧 (LS) 被拉高,C 相的 HS 和 LS 保持低电平。表 2 展示了DRV8311H 的占空比步进粒度。

表 2. DRV8311H 占空比粒度

输入占空比 (%)测得的占空比(%)目标占空比步长 (%)测得的占空比步长 (%)
50.050.13--
50.250.350.200.22
50.450.560.200.21
50.650.760.200.2
50.850.930.200.17

  图 4 和图 5 是在占空比测量过程中,在 OUTA 上观察并捕获的波形,对应表 2 中的前两行数据。通道 1(黄色)捕获输入 PWM 信号,而通道 2(蓝色)捕获测量的 PWM 信号。


在这里插入图片描述

图 4. DRV8311H 占空比为 50.0% 测得的步长精度

在这里插入图片描述

图 5. DRV8311H 占空比为 50.2% 测得的步长精度

结论

  如前所述,如果用户正确设计 PCB 并执行正确的系统操作,PWM 生成模式可以作为一个功能强大的工具,用于帮助减少系统中不必要信号的数量。根据本文所示的占空比步长精度数据,PWM 生成模式是可用于电机控制的可靠方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/954370.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

校园跑腿小程序---轮播图,导航栏开发

hello hello~ ,这里是 code袁~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 🦁作者简介:一名喜欢分享和记录学习的在校大学生…

SpringBoot入门实现简单增删改查

本例子的依赖 要实现的内容 通过get、post、put和delete接口,对数据库中的trade.categories表进行增删改查操作。 目录结构 com.test/ │ ├── controller/ │ ├── CateController.java │ ├── pojo/ │ ├── dto/ │ │ └── CategoryDto.java │ ├─…

doc、pdf转markdown

国外的一个网站可以: Convert A File Word, PDF, JPG Online 这个网站免费的,算是非常厚道了,但是大文件上传多了之后会扛不住 国内的一个网站也不错: TextIn-AI智能文档处理-图像处理技术-大模型加速器-在线免费体验 https://…

信号与系统初识---信号的分类

文章目录 0.引言1.介绍2.信号的分类3.关于周期大小的求解4.实信号和复信号5.奇信号和偶信号6.能量信号和功率信号 0.引言 学习这个自动控制原理一段时间了,但是只写了一篇博客,其实主要是因为最近在打这个华数杯,其次是因为在补这个数学知识…

Facebook 在新兴市场的发展策略:机遇与挑战并存

随着全球互联网的普及,新兴市场成为了全球科技公司关注的重点。这些地区的互联网用户数量快速增长,对于 Facebook(现 Meta)来说,这些市场不仅蕴藏着巨大的用户潜力,也带来了不少挑战。Facebook 在新兴市场的…

2006-2020年各省单位人口医疗卫生机构床位数数据

2006-2020年各省单位人口医疗卫生机构床位数数据2006-2020年各省单位人口医疗卫生机构床位数数据 1、时间:2006-2020年 2、来源:国家统计局、统计年鉴 3、指标:行政区划代码、地区名称、年份、单位人口医疗卫生机构床位数 4、范围&#x…

【Hive】新增字段(column)后,旧分区无法更新数据问题

TOC 【一】问题描述 Hive修改数据表结构的需求,比如:增加一个新字段。 如果使用如下语句新增列,可以成功添加列col1。但如果数据表tb已经有旧的分区(例如:dt20190101),则该旧分区中的col1将为…

vue3+elementPlus之后台管理系统(从0到1)(day1)

vue3官方文档:https://cn.vuejs.org/guide/introduction.html 1、项目创建 确保电脑已安装node 查看命令: node -v进入项目目录,创建项目 npm init vuelatest Need to install the following packages: create-vue3.13.0 Ok to procee…

添加计算机到AD域中

添加计算机到AD域中 一、确定计算机的DNS指向域中的DNS二、打开系统设置三、加域成功后 一、确定计算机的DNS指向域中的DNS 二、打开系统设置 输入域管理员的账密 三、加域成功后 这里有显示,就成功了。

hot100_240. 搜索二维矩阵 II

hot100_240. 搜索二维矩阵 II 直接遍历列减行增 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例 1: 输入:matrix [[1,4,7,1…

vim使用指南

🏝️专栏:计算机操作系统 🌅主页:猫咪-9527-CSDN博客 “欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。” 目录 一、Vim 的基本概念 1.Vim 的主要模式: 1.1普通模式 (Normal Mode) 1.2插入…

Web开发(一)HTML5

Web开发(一)HTML5 写在前面 参考黑马程序员前端Web教程做的笔记,主要是想后面自己搭建网页玩。 这部分是前端HTML5CSS3移动web视频教程的HTML5部分。主要涉及到HTML的基础语法。 HTML基础 标签定义 HTML定义 HTML(HyperText Markup Lan…

软件设计大致步骤

由于近期在做软件架构设计,这里总结下大致的设计流程 软件设计流程 1 首先要先写系统架构图,将该功能在整个系统的位置以及和大致的内部模块划分 2 然后写内部的结构图,讲内部的各个子系统,模块,组件之间的关系和调用…

Hadoop3.x 万字解析,从入门到剖析源码

💖 欢迎来到我的博客! 非常高兴能在这里与您相遇。在这里,您不仅能获得有趣的技术分享,还能感受到轻松愉快的氛围。无论您是编程新手,还是资深开发者,都能在这里找到属于您的知识宝藏,学习和成长…

UML系列之Rational Rose笔记九:组件图

一、新建组件图 二、组件图成品展示 三、工作台介绍 最主要的还是这个component组件; 然后还有这几个,正常是用不到的;基本的使用第四部分介绍一下: 四、基本使用示例 这些,主要是运用package还有package specifica…

RabbitMQ 高可用方案:原理、构建与运维全解析

文章目录 前言:1 集群方案的原理2 RabbitMQ高可用集群相关概念2.1 设计集群的目的2.2 集群配置方式2.3 节点类型 3 集群架构3.1 为什么使用集群3.2 集群的特点3.3 集群异常处理3.4 普通集群模式3.5 镜像集群模式 前言: 在实际生产中,RabbitM…

React Fiber框架中的Render渲染阶段——workLoop(performUnitOfWork【beginWork与completeWork】)

触发渲染过程——renderRoot renderRoot 是一个函数,用于触发渲染工作。它通常会调用并递归地执行一系列的渲染任务,直到完成整个更新过程。这个过程包括执行 Fiber 树中的 beginWork 和 completeWork,以及渲染新状态或 DOM。 function ren…

一体机cell服务器更换内存步骤

一体机cell服务器更换内存步骤: #1、确认grdidisk状态 cellcli -e list griddisk attribute name,asmmodestatus,asmdeactivationoutcome #2、offline griddisk cellcli -e alter griddisk all inactive #3、确认全部offline后进行关机操作 shutdown -h now #4、开…

uni-app编写微信小程序使用uni-popup搭配uni-popup-dialog组件在ios自动弹出键盘。

uni-popup-dialog 对话框 将 uni-popup 的type属性改为 dialog&#xff0c;并引入对应组件即可使用对话框 &#xff0c;该组件不支持单独使用 示例 <button click"open">打开弹窗</button> <uni-popup ref"popup" type"dialog"…

SYS_OP_MAP_NONNULL NULL的等值比较

无意在数据库中发现了这个操作SYS_OP_MAP_NONNULL。 SYS_OP_MAP_NONNULL应该不是数据库中的对象&#xff0c;因为在DBA_OBJECTS中根本找不到它&#xff0c;而在STANDARD和DBMS_STANDARD包中也找不到函数说明。 SQL> SELECT * 2 FROM DBA_OBJECTS 3 WHERE OBJECT_NAME…