基于matlab的步进电机仿真(一)

这里写目录标题

  • 环境准备
  • 基础准备
  • 模型参数
    • 输入和输出
  • 仿真原理图
  • 仿真资源

环境准备

  • MatLab2021b

基础准备

打开Matlab,在帮助文档里面搜索step motor,我们这里选择如下模型
step motor
该模型实现了一个通用的步进电机模型:

  • 可变磁阻步进电机
  • 永磁或混合步进电机

下面我们看下永磁步进电机,其余介绍参考matlab的help文档
永磁步进电机模型
上图显示了永磁 (PM) 或混合步进电机中一相的等效电路:
在该模型中,Ra 和 La 分别代表 A 相绕组的电阻和电感。 由于磁体引入的气隙值较大,PM 或混合式步进电机的绕组电感可以被认为与转子位置无关。 电压源 ea(θ) 表示电机反电动势 (EMF),它是转子位置的正弦函数:
ea(θ)=−pψmsin(pθ)dθdte_a(\theta) = -p\psi_msin(p\theta){d\theta\over dt} ea(θ)=pψmsin(pθ)dtdθ

p 是极对数。 极对数 p 由 p = Nr/2 给出。
ψm 是电机最大磁通量。
注意,在参考位置 (θ = 0),转子上的北极与 A 轴极完全对齐,以实现 A 相反电动势的零值。

两相 PM 或混合式步进电机产生的电磁转矩等于相电流和磁铁产生的磁通量相互作用产生的转矩与转子凸极产生的制动转矩的总和.

模型参数

这里以永磁/混合为例进行说明:

参数说明
电机类型选择永磁/混合(默认)以实现 PM 或混合步进电机
相数选择 2(默认)或 4 相
绕组电感每相绕组的电感 La,以 H 为单位。默认值为 10e-3。
绕组电阻每相绕组的电阻 Ra,单位为欧姆。默认值为 1.2。
步距角转子运动的步距角,以度为单位。默认值为 30。
最大磁链由磁铁产生的最大磁链 ψm,以 V.s 为单位。默认值为 0.04。
最大定位扭矩最大制动扭矩,Tdm,以 N.m 为单位,由转子的凸极产生。默认值为 0.02。
总惯量电机和负载的总惯性动量 J,以 kg.m2 为单位。默认值为 1e-4/5。
总粘性摩擦系数电机和负载的总粘性摩擦系数 B,单位为 N.m.s。默认值为 1e-3。
初速度初始旋转速度,ω0,以 rad/s 为单位。默认值为 0。
初始位置初始转子位置,Θ0,以度为单位。默认值为 0。
采样时间(-1 表示继承)指定步进电机采样时间,以 s 为单位。指定 –1 以继承模型中 powergui 模块的采样时间。默认值为 –1。

输入和输出

TL:机械负载扭矩,单位 N.m TL 在电动机运行时为正,在发电机运行时为负。

SignalDefinitionUnitsSymbol
1PhasevoltageV
2Phasecurrent AIph
3ElectromagnetictorqueN.m
4Rotor speedrad/sw
5Rotor positionradTheta

模块的 Simulink® 输出是一个包含五个信号的向量。 您可以使用 Simulink 库中提供的 Bus Selector 模块对这些信号进行解复用。

仿真原理图

在这里插入图片描述
负载为0时进行仿真:
在这里插入图片描述
在这里插入图片描述
增加负载扭矩到8T.m,再次观察波形:
在这里插入图片描述

仿真资源

  • 两线步进电机matlab仿真图

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

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

相关文章

java自定义类加载器

前言 java反射,最常用的Class.forName()方法。做毕设的时候,接收到代码字符串,通过 JavaCompiler将代码字符串生成A.class文件(存放在classpath下,也就是eclipse项目中的bin目录里),然后通过jav…

常用网址

MDN : 一个不错的前端学习网站 https://developer.mozilla.org/zh-CN/  https://developer.mozilla.org/en-US/ CodePen 是一个网站前端设计开发平台,是一个针对网站前端代码设计的开发工具。 RunJS - 在线编辑、展示、分享、交流你的 JavaScript 代码 : http://r…

repo介绍(一)

repo简介 Repo 是我们以 Git 为基础构建的代码库管理工具,可以组织多个仓库的上传和下载。它是由一系列的Python脚本组成,封装了一系列的Git命令,用来统一管理多个Git仓库 一个大型的项目可能由很多小的仓库组合而成的,为了方便统一管理各个…

hash长度扩展攻击

作为一个信息安全的人,打各个学校的CTF比赛是比较重要的! 最近一个朋友发了道题目过来,发现有道题目比较有意思,这里跟大家分享下 这串代码的大致意思是: 这段代码首先引入了一个名为"flag.php"的文件&am…

repo介绍(二)

这篇文章来实例操作 安装repo,参考repo介绍这一节创建repo存放default.xml 的git仓库 初始化repo,repo init -u https://gitee.com/angerial/repo-test.git 这个时候会在当前目录生成如下文件 参考repo组成,修改.repo/manifest.xml,这里我的…

springmvc环境搭建以及常见问题解决

1.新建maven工程 a) 打开eclipse,file->new->project->Maven->Maven Project b) 下一步 c) 选择创建的工程为webapp,下一步 d) 填写项目的group id和artifact id。一般情况下,group id写域名的倒序,artifact id…

eclipse build workspace太慢或者 js出错问题解决

1.js文件错误解决办法 右键项目->properties->Builders(注:JavaScript Validator也会引起 build workspace太慢) 2.Eclipse 一直不停 building workspace完美解决总结(来自: http://blog.163.com/shadow_wolf/blog/static/18346909720145279519222…

HttpUrlConnection发送url请求(后台springmvc)

1.HttpURLConnection发送url请求 public class JavaRequest {private static final String BASE_URL "http://localhost:8080/dsdemo/";public static String userToken null;public static String problemName null;public static String sendPost(String sufUrl…

springmvc+jpa实现分页的两种方式

1.工具类 public final class QueryTool {public static PageRequest buildPageRequest(int pageNumber, int pageSize, String sortType){Sort sort null;if("auto".equals(sortType)) {sort new Sort(Direction.DESC, "ctime");} else {sort new Sort…

不使用session,借助redis实现验证码

1.首先看一下基本的流程 2.看一下代码 注:其中用到的一些工具类,可以到我的github上去下载 https://github.com/hjzgg/usually_util/tree/master/utils windows 下的 redis下载 https://github.com/hjzgg/redis 获取验证码的tooken RequestMapping(value…

PS批处理的使用

一、 前言 做开发的时候,最多的时候就是图片的使用了。有时候图片的处理都按照同样的步骤,比如说统一将图片的大小调整为固定大小,或者统一在所有的图片的的某个位置上加入文字或者小图片等等,这时候PS的批处理可以帮你完成这些重…

exe4j的使用

下载:http://download.cnet.com/exe4j/3000-2070_4-144405.html 参考:http://blog.chinaunix.net/uid-25749806-id-4380850.html 注:打包成jar包的一般就是src目录,其他目录放到目标文件夹中,目录结构如下 如何解决exe…

c语言指针和数组的联系

c语言指针与数组**一、指针与一维数组**1.一维数组的存储方式2. 对一维数组名的理解3. 数组下标和指针的关系4.一位数组名与取数组首地址的区别**二、指针与二维数组**1.二维数组的存储方式2.二维数组下标和指针的对应关系例题:怀着忐忑的心情写了人生第一篇博客......诚惶诚恐…

android模拟器默认位置的修改

1.创建ANDROID_SDK_HOME环境变量,如ANDROID_SDK_HOMED:\eclipse_android\android-sdk 2.在ANDROID_SDK_HOME目录下,建立.android目录 3.默认的avd路径是C:\Users\Administrator\.android, 将里面的内容放入到ANDROID_SDK_HOME中的.android目录下 4.windo…

python 求出4行5列的二维数组周边元素之和

题目:求出4行5列的二维数组周边元素之和 代码: import random x [[random.randint(1,10)for j in range(5)]for i in range(4)] for item in x:print(item) y [x[0][0],x[0][1],x[0][2],x[0][3],x[0][4],x[1][0],x[1][4],x[2][0],x[2][4],x[3][0],x[3][4]] prin…

android表白app

一、前言 马上就要520和521了,是不是还有像我一样的单身狗啊。我就知道有,所以这两天简单写了这个小程序(其实是替别人写的),虽然我并不会用去骗女孩子(因为最近太忙了,实习完之后要搞毕设&…

c语言:malloc函数的简介

文章目录一、为什么需要malloc函数?二、如何使用malloc函数?三、用malloc函数自定义数组长度一、为什么需要malloc函数? 用于解决传统数组以下缺点。 ①传统数组的长度必须要事先指定。 ②传统数组的内存无法手动释放。 ③传统数组的长度定义…

webpack+react+es6开发模式

一、前言 实习了两个月,把在公司用到的前端开发模式做个简单的整理。公司里前端开发模式webpackreactreduxes6,这里去掉了redux。 webpack, react, redux等学习网址:http://www.cnblogs.com/hujunzheng/p/5405780.html 二、简单的步骤条组件 …

c语言输入字符时控制符%c前加空格的原因解释

文章目录一、前景知识1、缓冲区2、标准输入流二、scanf语句的执行1、scanf对于整形%d的输入2、scanf对于字符%c的输入在编一个代码时偶然间发现一个知识盲点…用scanf语句输入字符时需要在控制符%c前加空格。在解释相关这个原因前我们需要了解几个相关知识点。 一、前景知识 1…

git命令分类图

转载于:https://www.cnblogs.com/hujunzheng/p/5560826.html