S32K144—基于MBD的BLDC六步换相算法

news2024/12/23 18:03:33

可以简单分为六个功能区域:

1、全局变量

全局变量的定义是建模过程中遇到的第一个难点,因为它涉及到我们软件开发中最基础的东西——数据类型定义(Data Types Definition)

在 Simulink 中可以通过 Bus Editor 构建自定义数据类型。

每次运行模型、生成代码之前都需要将创建好的数据类型加载到MATLAB 的工作空间中,不然会提示报错。

2、初始化模块

初始化任务执行的是对 MCU 外设的初始化配置,比如 Pin 脚、ADC、PDB、SPI、FTM、PIT、中断等。还包括外围 IC 的初始化,如本项目中的 GD3000 预驱芯片的初始化是通过TPP 模块实现的。

SPI

TPP

预驱芯片的初始化,

PDB

延时模块

ADC

ADC触发内部通道

ADC参数配置

FreeMASTER

FreeMASTER进行实时观测时,选择的串口还有波特率等参数

3、用户接口

两个按键(通过 GPI 边沿检测)和一个周期性的中断(通过 PIT实现,处理板上旋钮),这些接口都是通过中断服务程序(ISR)执行相应的任务。

4、状态机任务

完整的状态机在 FTM 的 ISR 中被调用执行,状态机有两个输入:“MotorOnOff”“FaultSetClear”,分别实现启停电机和处理失效情况。状态机简而言之就是实现在不同的状态下调用不同的函数/功能。

新增了两个并行状态:ReadADC 和 UpdateFTM。新增的两个状态,分别负责读取 ADC 采样数据(Input)和 PWM 输出(Output),而原本的状态机是算法部分,位于 Input和 Output 之间,它是作用是根据采集输入数据,及时地计算得到输出的控制信号。

电机控制框架模型中,状态机分为了三个阶段:

1) ReadADC:读取 ADC 采样数据,数据反馈;

2) StateMachine:状态切换、数据处理、控制算法等;

3) UpdateFTM:更新 PWM 占空比,控制算法的执行。

ReadADC

UpdateFTM

StateMachine

5、Hall任务

即采集 Hall 位置信号,还是靠的中断ISR实现。

6、系统任务

系统任务设置了三个部分:

1) LED 点灯;

2) 软件计数,以及将板上的按键信息传递到状态机输入变量中;

3) 自定义初始化,可以在生成的代码中插入自己需要的初始化功能。

7、任务过程

上图中,各个任务的中断优先级由下往上逐次增加。系统任务和状态机任务是周期性触发的,频率分别为 1 kHz 和 20 kHz。用户按键任务和 Hall 任务是随机触发的,只有按下按键或 Hall 信号发生了变化才会进入到相应的任务中。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【 shell 编程 】第5篇 文本编辑三剑客

文本编辑三剑客 文章目录文本编辑三剑客一、正则表达式1.基本正则表达式元字符2.拓展正则表达式元字符二、grep1.grep2.egrep3.fgrep三、sed四、awk一、正则表达式 1、简介:正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的…

点云算法-提取kitti路面点云

目录 一、ransac原理 二、ransac 地面分割原理 三、ransac常见应用 四、代码 五、截图 六、总结 一、ransac原理 RANSAC是“random sample consensus(随机抽样一致)”的缩写。它可以从一组包含“局外点”的观测数据集中,通过迭代方式估…

【408篇】C语言笔记-第二十一章(汇编语言)

文章目录第一节:汇编指令格式讲解1. 汇编指令格式2. 生成汇编方法第二节:汇编常用指令讲解1. 相关寄存器2. 常用指令3. 条件码第三节:各种变量赋值汇编实战1. 各种变量赋值汇编实战解析第四节:选择循环汇编实战1. 选择循环汇编实战…

基于ssm+mysql+jsp实现歇后语管理系统

基于ssmmysqljsp实现歇后语管理系统一、系统介绍二、系统展示1.歇后语大全2.歇后语排行榜3.歇后语管理4.用户管理三、其它系统四、获取源码一、系统介绍 本系统实现了 普通用户:歇后语大全、歇后语排行榜、歇后语管理 管理员用户:歇后语大全、歇后语排行…

一键替换Markdown文件的字体样式

功能说明 一键替换MD文件的字体样式:加粗字体—>橙色不加粗 也可以针对其它样式做切换,源码就一个demo类,修改正则匹配相关变量即可; 环境要求: windows jdk1.8 工具下载 百度网盘:提取码: ae16 …

week9

T1【深基18.例3】查找文献 题目描述 小K 喜欢翻看洛谷博客获取知识。每篇文章可能会有若干个(也有可能没有)参考文献的链接指向别的博客文章。小K 求知欲旺盛,如果他看了某篇文章,那么他一定会去看这篇文章的参考文献&#xff0…

7.1 定义抽象数据类型

文章目录定义改进的Sales_data 类定义成员函数引入this指针引入const成员函数类作用域和成员函数在类的外部定义成员函数定义返回this的函数类的静态成员定义类相关的非成员函数构造函数合成的默认构造函数某些类不能依赖合成的默认构造函数定义构造函数拷贝 赋值和析构某些类不…

11.2、基于Django4的可重用、用户注册和登录系统搭建(优化)

文章目录前端界面设计与优化完善登录界面的视图函数session会话和登出的视图函数将当前代码推送至Gitee添加图片验证码前端界面设计与优化 使用CSS框架 Bootstrap4,Bootstrap将CSS样式和JS都封装好了,可以直接使用。 下面使用的Bootstrap模板来自官方文…

AHB协议(1/2)

AHB协议(1/2) 以下内容为AMBA5 AHB Protocol Specification协议内容 Charpter 1 Introduction 1.1 关于AHB协议 AMBA AHB是一个支持高性能设计的总线接口。他在组件间,如主端(Master),互联结构&#xf…

云原生之使用Docker部署Dailynotes个人笔记管理工具

云原生之使用Docker部署Dailynotes个人笔记管理工具一、Dailynotes介绍二、检查本地docker环境1.检查docker版本2.检查docker状态三、下载Dailynotes镜像四、创建Dailynotes容器1.创建数据目录2.创建Dailynotes容器3.查看Dailynotes容器状态五、访问Dailynotes1.进入Dailynotes…

uniCloud云开发----5、uni-id-pages的使用

uni-id-pages的使用前言1、下载uni-id-pages插件2、查看登录页面3、配置项云端配置config.json前言 在开发过程中,会发现微信小程序的登录方式不断地更新和变化,这样导致我们在开发过程中非常的困难,uni-id-pages直接集成的页面和数据库来实…

67、【链表】leetcode——242. 有效的字母异位词(C++版本)

题目描述 原题链接:242. 有效的字母异位词 一、ASCII码作为Key 因s和t都为小写字母,因此可将s和t中字母用ASCII码数字表示,减去a,映射到0-25当中,作为Hash表映射结构。 首先,查看s和t的长度是否相同&…

09线性相关、基、维数

线性相关、基、维数 知识概要 ​ 从线性相关或线性无关的特征入手,介绍空间的的几个重要概念:基、维数 线性无关与线性相关 (1)背景知识: 谈论的概念都是基于向量组的,而不是基于矩阵。线 性无关,线性相关是向量组内的关系,基也是一个向量组,不要与矩阵概念混淆。 首先…

华为云工程师HCIA——服务器技术基础

服务器的定义 服务器是计算机的一种。他比普通计算机运行熟读更快、负载更高而且价格更高。 服务器是为用户提供服务的计算机,通常分为文件服务器、数据库服务器和应用程序服务器。 服务器特点 可用性可扩展性可管理性易用性可靠性 服务器硬件结构 Huawei2280…

01 大数据概述

01 大数据概述1、大数据: 主要用来解决海量数据的存储和海量数据的分析计算问题。 2、大数据的特点: 大量(Volume):一些大企业的数据量已经接近EB量级。高速(Velocity): 随着数据量的增大&…

B树的原理及代码实现、B+树和B*树介绍及应用

目录 一.B树介绍 (一).B树存在意义 (二).B树的规则 二.B树实现原理及代码 (一).实现原理 (二).代码 三.B树 (一).概念 (二).应…

Python批量采集某网站高清壁纸,这下不用担心没壁纸换了

前言 咳咳,担心壁纸不够用?想要一天换一张?ok ,今天就来搞搞壁纸网站 之前老有很多高质量的网站都不见了,趁着这个还在,赶紧多保存点 话不多说 马上开始 我的表演 代码 导入模块 所有 源码 点击 此处 领…

矩阵快速幂(新手做法)

1.通过一个代码来了解矩阵乘法2.基本快速幂3.那么最后就是矩阵快速幂了4.练习模板:5.进阶运用,蓝桥杯15届省赛c语言组第9题矩阵快速幂的学习流程: 矩阵乘法运算规则(线性代数基础)快速幂的模板 1.通过一个代码来了解矩…

S32K144—什么是SBC系统基础芯片?

SBC(System Basis Chip)芯片在汽车电子领域可谓占一席之地了。那么什么是SBC?怎么用?用在哪里?主要特性? 可以简单理解成:SBC是一类拥有特出功能(电源、通信、监控诊断、安全&#…

【附源码】基于fpga的自动售货机(使用三段式状态机实现)

目录 1、VL38 自动贩售机1 题目介绍 思路分析 代码实现 仿真文件 2、VL39 自动贩售机2 题目介绍: 题目分析 代码实现 仿真文件 3、状态机基本知识 1、VL38 自动贩售机1 题目介绍 设计一个自动贩售机,输入货币有三种,为0.5/1/2元&…