【动手学电机驱动】 TI InstaSPIN-FOC(1)电机驱动和控制测试平台

【动手学电机驱动】 TI InstaSPIN-FOC(1)电机驱动和控制测试平台

    • 1. 本系列的资源需求
      • 1.1 电机驱动控制概况
      • 1.2 InstaSPIN-FOC 电机控制方案
      • 1.3 资源需求
    • 2. 软件安装
      • 2.1 安装 CCS
      • 2.2 安装 MotorWare
      • 2.3 安装 ControlSUITE(可选)
    • 3. 硬件介绍
      • 3.1 LAUNCHXL-F28027F 控制板
      • 3.2 DRV8301 BoosterPack 电机驱动板
      • 3.3 硬件连接


本系列介绍使用德州仪器(TI)公司 Insta-FOC 实现永磁同步电机(PMSM)的 FOC 控制,学习电机驱动控制技术。本系列面向小白,从零开始,循序渐进,但强调动手实践,在实践中掌握和理解电机控制。

DRV8301 驱动板 和 F28027F 控制板 提供了一个完整的电机驱动和控制评估平台,与 TI 公司的 InstaSPIN FOC配合使用,提供无传感器控制解决方案。


1. 本系列的资源需求

1.1 电机驱动控制概况

电机的驱动控制通常是通过 MCU 专用芯片和嵌入式软件实现的。控制算法是 PMSM 电机控制的核心。从早期的方波控制向正弦波(SPWM)控制、空间矢量控制(SVPWM)、无感FOC的不断发展,算法复杂度也随之提升,对控制芯片的计算量和计算速度的要求也越来越高。目前,无感FOC控制算法,能够最大程度上实现高效率、低振动、低噪音以及高响应速度等控制目标,逐渐成为PMSM电机驱动控制的主流算法。无感FOC算法复杂,调试参数较多,对算法设计要求很高。

在电机驱动控制芯片领域,长期由德州仪器(TI)、意法半导体(ST)、英飞凌(Infineon)、瑞萨(Renesas)、微芯(Microchip)等国际大厂主导,2015年后国内电机驱动控制芯片行业逐渐走向市场,如兆易创新、华大、中颖、峰绍、凌鸥等公司。国内电机驱动控制主控芯片大多采用ARM公司Cortex-M内核架构。

芯片公司针对电机驱动控制的应用,通常都提供了学习板和 Demo 方案,供工程师学习和参考设计。本系列介绍使用德州仪器(TI)公司 Insta-FOC 实现永磁同步电机(PMSM)的 FOC 控制,学习电机驱动控制技术


1.2 InstaSPIN-FOC 电机控制方案

德州仪器 (TI) 公司推出的 MotorWare 库是一套全面的软件和技术资源,可以轻松集成先进的电机控制技术,提供 InstaSPIN-FOC 和 InstaSPIN-MOTION 电机控制解决方案。

  • InstaSPIN-FOC 技术可以为所有技能水平的设计人员提供强大的无传感器磁场定向电机控制技术,能自动识别、自动调节并完全控制各种三相电机。
  • InstaSPIN-MOTION 基于 InstaSPIN-FOC 技术构建,用于提供可靠的移动控制,使您能够对移动进行加速、定位和规划。

MotorWare 结构包含了运行每个电机控制项目所需的所有代码。

  • drivers - 外设驱动程序 API 代码。
  • ide - CCStudio 使用的通用连接器文件
  • modules - 电机控制使用的函数
  • solutions - 包含 CCStudio 项目,这些项目用于运行基于电机示例套件的软件解决方案。

德州仪器 (TI) 的 TMS320F2802xF、TMS320F2806xF 和 TMS320F2805xF 都支持 InstaSPIN-FOC,可以实现有效的三相磁场定向电机控制 (FOC)。


1.3 资源需求

LAUNCHXL-F28027F 和 BOOSTXL-DRV8301,适用于采用 6-24V 和最大 10A 连续电流电机的 F28027F 上的 InstaSPIN-FOC!

  • LAUNCHXL-F28027F 控制板
    LAUNCHXL-F28027F 基于 TMS320F28027F,集成了隔离式 XDS100v2 JTAG 仿真器。是一款价格低廉的评估平台,支持连接各种 BoosterPack。

  • LAUNCHXL-F28069M 控制板(可以用于替换 LAUNCHXL-F28027)
    LAUNCHXL-F28069M 基于 TMS320F28069M,集成了隔离式 XDS100v2 JTAG 仿真器。是一款价格低廉的评估平台,支持连接两个 BoosterPack。LAUNCHXL-F28069M 比 LAUNCHXL-F28027F 控制板的价格高,但可以同时带两块电机驱动板。

  • BOOSTXL-DRV8301 驱动板
    BOOSTXL-DRV8301 是基于 DRV8301 前置驱动器和 CSD18533Q5A NextFET 功率 MOSFET 的 10A 三相无刷直流驱动级。 适用于所有 LaunchPad XL,可以使用 MotorWare 支持 InstaSPIN-FOC 无传感控制解决方案。

  • BOOSTXL-DRV8305 驱动板(可以用于替换 BOOSTXL-DRV8301 )
    BOOSTXL-DRV8305EVM 是基于DRV8305预驱动器和 CSD18540Q5B NextFET 功率 MOSFET的 15A三相无刷直流驱动级。

总结:

  • 经济型:LAUNCHXL-F28027F 和 BOOSTXL-DRV8301
  • 升级款:LAUNCHXL-F28069M 和 2块 BOOSTXL-DRV8305
    当然,还需要一只三相永磁同步电机。DRV8301 驱动板的工作范围为 6~24V/10A,推荐使用 24A/1A 电机。

2. 软件安装

2.1 安装 CCS

Code Composer Studio 是适用于 TI 微控制器和处理器的集成开发环境 (IDE)。它包含一整套用于开发和调试嵌入式应用的工具。Code Composer Studio 可下载到 Windows®、Linux® 和 macOS® 桌面上。

Code Composer Studio 包含用于优化的 C/C++ 编译器、源代码编辑器、项目构建环境、调试器、性能分析器以及很多其他功能。

1、从【TI 官网:CCSTUDIO】下载 CCS 安装包。下载需要先注册 TI 用户。

CCSTUDIO — Code Composer Studio 集成式开发环境 (IDE)

2、运行 CCS 安装程序,如:ccs_setup_12.8.1.00005.exe。

安装路径可以任意选择,但路径必须是完全英文字符(不能包含中文字符)。
推荐安装在默认的 “C:\TI” 文件夹。

3、安装中提示选择开发所需的器件,可以根据需要选择,但选择的器件越多安装的内容也越多。本系列需要选择的器件是 C2000 32-bit Real-tine MCUs。

4、安装中提示选择仿真器的种类,相当于安装硬件驱动程序,可以根据需要选择。本系列需要选择的器件是 XDS200 Class Emulator Support。


2.2 安装 MotorWare

MotorWare 是用于为 F2802x、F2805x 和 F2806x 系列开发基于 InstaSPIN-FOC™ 和 InstaSPIN-MOTION™ 的应用的软件和文档包。

MotorWare 提供了很多个工程(PROJECT),示范了 InstaSPIN 解决方案的各种功能。例如:硬件验证、信号链验证、电机识别、硬件偏移校准、扭矩控制、速度控制、速度控制调优、定子电阻在线跟踪、磁场削弱、过调制、快速启动、振动补偿、霍尔启动、初始位置检测、惯性识别、先进的速度和位置控制器调优、运动曲线、运动时序控制和规划、双电机控制、有/无传感器电机控制,等等。

1、从【TI 官网:MOTORWARE】下载 MotorWare 安装包。

2、运行 MotorWare 安装程序,如:motorware_1_01_00_18_setup.exe。

安装路径可以任意选择,但路径必须是完全英文字符(不能包含中文字符)。推荐安装与 CCS 都在默认的 “C:\TI” 文件夹。

在这里插入图片描述


2.3 安装 ControlSUITE(可选)

controlSUITE 是一套全面的软件基础设施和软件工具集,是 C2000 MCU 的必备软件和开发工具。从特定于器件的驱动程序和支持软件到复杂系统应用中的完整系统示例,controlSUITETM 在每个开发和评估阶段都提供了程序库和示例。

在这里插入图片描述

1、从【TI 官网:ControlSUITE】下载 ControlSUITE 安装包。

2、运行 ControlSUITE 安装程序,如:controlSUITE3.4.9setup.exe 或 controlsuiteinstaller.exe。

安装路径可以任意选择,但路径必须是完全英文字符(不能包含中文字符)。推荐安装与 CCS 都在默认的 “C:\TI” 文件夹。


3. 硬件介绍

DRV8301 驱动板 和 F28027F 控制板 提供了一个完整的电机驱动和控制评估平台,与 TI 公司的 InstaSPIN FOC配合使用,提供无传感器控制解决方案。

3.1 LAUNCHXL-F28027F 控制板

LAUNCHXL-F28027F 控制板:C2000 Piccolo MCU F28027 LaunchPad™ 开发套件
器件型号: LAUNCHXL-F28027F
官网介绍:
https://www.ti.com.cn/tool/cn/LAUNCHXL-F28027?keyMatch=LAUNCHXL-F28027

主要特性:

  • 具有 InstaSPIN-FOC 的 C2000 Piccolo F28027F MCU
  • 利用内置隔离式 XDS100v2 JTAG 仿真器,可以通过 USB 进行实时系统内编程和调试
  • CPU 重置按钮和可编程按钮
  • Code Composer Studio 集成式开发环境 (IDE) v5 的免费无限制版
  • 免费下载 MotorWare 及驱动程序、模块和可配合使用各种 BoosterPack 的 InstaSPIN-FOC 项目

在这里插入图片描述


3.2 DRV8301 BoosterPack 电机驱动板

DRV8301 BoosterPack 电机驱动板:具有 DRV8301 和 NexFET™ MOSFET 的电机驱动 BoosterPack
器件型号: BOOSTXL-DRV8301
官网介绍:
https://www.ti.com.cn/tool/cn/BOOSTXL-DRV8301?keyMatch=BOOSTXL-DRV8301

BOOSTXL-DRV8301 是基于 DRV8301 前置驱动器和 CSD18533Q5A NextFET 功率 MOSFET 的 10A 三相无刷直流驱动级。 该模块包含 3 个低侧电流感应放大器(2 个在 DRV8301 内部,1 个在 DRV8301 外部)。 该模块还包含一个 1.5A 降压转换器,针对短路、过热和击穿提供充分的防护,并且可通过 SPI 接口轻松配置。
此套件适用于所有 LaunchPad XL,您可以通过 LAUNCHXL-F28027F 获取主要软件支持,即使用 MotorWare 支持 InstaSPIN-FOC 无传感控制解决方案。

主要特性:

  • 6V 到 24V 电源输入
  • 支持最大峰值 14A 的 10A 连续电流输出
  • 支持 InstaSPIN-FOC 无传感器控制解决方案的电压和电流反馈
  • 采用超小型全套无刷直流驱动平台 (2.2” x 2.3”)
  • 3 个低侧电流感应放大器,6 个功率 FET(小于 6.5mΩ)和 1.5A 降压转换器
  • 驱动平台受到针对短路、过热、击穿和欠压的全面保护。

说明:DRV8301 BoosterPack 也可以更换为 DRV8305 BoosterPack。


3.3 硬件连接

LaunchPad有两个独立的电源域,用于JTAG隔离。跳线JP1、JP2和JP3配置USB电源是否传递到目标设备。DRV8301 驱动板通过板载1.5-A降压降压转换器为 LaunchPad F28027F 控制板提供3.3V电源。TI 建议移除 LaunchPad 上连接3.3V仿真和控制器电源的跳线。

1、如下图所示,对于 F28027F 控制板,拆除 JP1、JP2 跳线帽,由驱动板提供 3.3V 电源。

2、对于 F28027F 控制板,将开关 S1 设置为 ON-ON-ON(向上),UART 开关 S4 设置为 OFF(向下)。

在这里插入图片描述

3、.如下图所示,将 DRV8301 驱动板 插入 F28027F 控制板。注意:接线端子插头应朝向USB连接器。

4、将三相 PMSM 电机连接到 DRV8301 驱动板的 3-pin 接线端子 J11。电机连接标记为 A、B、C,但可以以任何顺序连接。

5、将直流电源连接到 DRV8301 驱动板的 2-pin 接线端子 J2,注意电源正负极不要接反(正极接 PVDD,负极接 GND)。推荐使用 24V/10A 直流稳压电源。

在这里插入图片描述

6、打开连接到 DRV8301 驱动板的直流稳压电源。

7、启用控制算法并运行。


从下节开始,我们将连续介绍基于 LAUNCHXL-F28027F + BOOSTXL-DRV8301电机驱动和控制测试平台 的具体测试项目。

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

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

相关文章

neo4j部署保姆级教程

由于公司是基于大数据架构的,让部署neo4j数据库,之前没有接触过,然后紧急学了一下,并且从网上找了一些教程,决定还是记录下来,后续有时间了会在出一篇使用教程 环境准备(root用户) …

Spring Boot课程问答:技术难题专家解答

摘要 随着信息互联网信息的飞速发展,无纸化作业变成了一种趋势,针对这个问题开发一个专门适应师生交流形式的网站。本文介绍了课程答疑系统的开发全过程。通过分析企业对于课程答疑系统的需求,创建了一个计算机管理课程答疑系统的方案。文章介…

Windows docker 部署MiGPT+ 本地Ollama

1. 下载 MiGPT https://github.com/idootop/mi-gpt https://github.com/idootop/mi-gpt/releases/tag/v4.2.0 2. 运行 Ollama qwen模型 3.配置Mi GPT .env .migpt.js 运行docker 运行 需要上网 docker run -d --env-file D:\LLM\mi-gpt-4.2.0\.env -v D:\LLM\mi-gpt-4.2.0…

Oracle登录报错-ORA-01017: invalid username/password;logon denied

接上文:Oracle创建用户报错-ORA-65096: invalid common user or role name 我以为 按照上文在PDB里创建了用户,我以为就可以用PLSQL远程连接了,远程服务器上也安装了对应版本的Oracle客户端,但是我想多了,客户只是新建…

保姆级教程 | VMD输出局部结构及利用TkConsole实现旋转

背景 由于课题需要,现需要展示lammps模拟轨迹中的局部结构(主要是想可视化这里的结果:保姆级教程 | 输出分子动力学轨迹文件输出特定原子范围内的化学环境),因为ovito效果有点笨笨的,所以我这里选用VMD软件为例进行操作,效果图(超级好看夸夸): (说明:主要的分子构…

2024最新分别用sklearn和NumPy设计k-近邻法对鸢尾花数据集进行分类(包含详细注解与可视化结果)

本文章代码实现以下功能: 利用sklearn设计实现k-近邻法。 利用NumPy设计实现k-近邻法。 将设计的k-近邻法对鸢尾花数据集进行分类,通过准确率来验证所设计算法的正确性,并将分类结果可视化。 评估k取不同值时算法的精度,并通过…

HarmonyOS第一课 04 应用程序框架基础-习题分析

判断题 1.在基于Stage模型开发的应用项目中都存在一个app.json5配置文件、以及一个或多个module.json5配置文件。T 正确(True) 错误(False) 这个答案是T - AppScope > app.json5:app.json5配置文件,用于声明应用的全局配置信息,比如应用…

【红外传感器】STM32C8T6标准库使用红外对管

好好学习,天天向上 前言一、了解红外二、标准库的代码1.infrared.c2.infrared.h3.main.c4 现象 总结 前言 红外线:频率介于微波与可见光之间的电磁波。 参考如下 【STM32】标准库与HAL库对照学习教程外设篇–红外避障传感器 光电红外传感器详解&#…

SpringCloud Alibaba-01 入门简介

1.Spring Cloud Alibaba 是由阿里巴巴结合自身丰富的微服务实践而推出的微服务开发的一站式解决方案。它是 Spring Cloud 生态中的第二代实现,提供了包括服务注册与发现、分布式配置管理、服务限流降级、消息驱动能力、阿里云对象存储、分布式任务调度等在内的多种功…

C语言-数据结构 折半查找

在折半查找中,刚开始学可能会在下标处产生困惑,例如奇数个长度的数组怎么处理,偶数个长度的数组怎么处理,不需要修改代码吗?并且下标我从1开始算和0开始算影响代码吗?其实都可以用一样的代码,产…

Java项目-----图形验证码登陆实现

原理: 验证码在前端显示,但是是在后端生成, 将生成的验证码存入redis,待登录时,前端提交验证码,与后端生成的验证码比较. 详细解释: 图形验证码的原理(如下图代码).前端发起获取验证码的请求后, 1 后端接收请求,生成一个键key(随机的键) 然后生成一个验证码作为map的valu…

蒙特卡罗方法 - 不同的峰值之间的混合挑战篇

序言 蒙特卡罗方法,也称为统计模拟法或统计试验法,是一种以概率统计理论为基础的数值模拟方法。自 20 20 20世纪 40 40 40年代中期提出以来,它因能灵活处理复杂计算问题而广泛应用于多个领域,如金融工程学、宏观经济学和计算物理…

Transformer 模型和 BERT 模型:概述

语言模型发展历程Language modeling history 多年来,语言建模一直在不断发展。过去十年的最新突破,包括使用神经网络来表示文本,比如2013年的Word2vec和N元语法,2014年开发的序列到序列模型,如RNN和LSTM帮助提高机器学…

(C语言贪吃蛇)16.贪吃蛇食物位置随机(完结撒花)

目录 前言 修改方向 修改内容 效果展示 两个新的问题🙋 1.问题1 2.问题2 代码如下: 前言 我们上一节实现了贪吃蛇吃食物身体节点变长,但是食物的刷新位置不是随机的,并且初始化几次后食物就刷不见了,本节我们就来…

[AWS云]kafka调用和创建

背景:因为因为公司的项目需要使用AWS的kafka,但是在创建和使用过程中都遇到了一些报错和麻烦,毕竟老外的东西,和阿里云、华为使用起来还是不一样。 一、创建(创建的配置过程就略了,就是配置一下可用区、型号&#xff0…

RNN心脏病预测

本文为为🔗365天深度学习训练营内部文章 原作者:K同学啊 一 前期准备 1.数据导入 import pandas as pd from keras.optimizers import Adam from matplotlib import pyplot as plt from sklearn.model_selection import train_test_split from sklearn.p…

Flink job的提交流程

在Flink中,作业(Job)的提交流程是一个复杂的过程,涉及多个组件和模块,包括作业的编译、优化、序列化、任务分发、任务调度、资源分配等。Flink通过分布式架构来管理作业的生命周期,确保作业在不同节点上以高…

std::future::then的概念和使用方法

std::future::then是 C 中用于异步操作的一种机制,它允许在一个异步任务完成后,接着执行另一个操作(即延续操作)。以下是关于 std::future::then 的概念和使用方法: 1. 概念: std::future::then 的主要目…

python 边际分布图

import seaborn as snspenguins sns.load_dataset("penguins") colors {"Gentoo": #AE5259, "Adelie": #CF992C, "Chinstrap": #6B9DAA}# 分类散点图 sns.jointplot(datapenguins, x"bill_length_mm", y"bill_depth_…

MyBatisPlus分页查询

一、导入依赖 <!-- MyBatis-plus的依赖 --> <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.4</version> </dependency><!-- mysql的依赖 --> &l…