第三周仿真作业

1.设计要求

 结合本周学习的直流电机机械特性,用Modelica设计和仿真一个直流电机串电阻启动过程,具体要求如下:

1)电机工作在额定电压和额定磁通下,采用串三段或四段电阻启动,整个启动过程电枢电流中不能超过额定电流的3倍。

2)选择合适的电阻阻值,选择优化的电阻切除策略,使得在满足条件1的前提下,电机尽可能快速平滑得达到额定点。

3)使用如下统一的直流电机模型,电机的参数为:

     额定电压:240V

     额定电流:16.2A

     额定转矩:29.2N·m

     额定转速:1220r/min

     转动惯量:1Kg·m^2

     电枢电阻:0.6Ohm

     转矩常数(额定磁通):1.8

     电动势常数(额定磁通):0.189

2. 动态方程

已经学习过的电机启动过程的动态方程组如下:

   结合给出的电机参数,代入方程可得:

        

3. 启动过程分析

1 从本周学习的知识可知,启动电流过大会使电动机在换向过程中产生危险的火花,甚至烧坏整流子,而且过大的电枢电流还会产生过大的电动应力,可能引起绕组的损坏,同时产生与启动电流成正比的启动转矩,会在机械系统和传动机构中产生过大的动态转矩冲击,使机械传动部件损坏。

因此直流电动机是不允许直接启动的,在本次仿真中我们要模拟在电枢电路中外加电阻的分级启动法,使用这种方法,启动电流将受到外加启动电阻的限制,随着电动机转速n的升高,反电动势E增大,再逐步切除外加电阻一直到全部切除,电动机达到所要求的转速。启动级数越多,尖峰转矩 和换接转矩 与平均转矩越接近,启动过程就越快越平滑,但所需的控制设备也就越多。

2将上述方程组合并可得如下微分方程式:

由给出的电机模型可知t>0.1时,u=240V;且负载转矩取额定转矩29.2 N·m,则上式可化简为如下:

          

课本上推荐 T1=(1.6~2) Tl T2=(1.1~1.2)Tl

T1=(46.72~58.4)N·m, T2=(32.12~35.04)N·m

A= 0.185+0.308Rad;B=1218.342-85.819Rad

由于t=0时,n=0则上述微分方程的解为n=B(1-exp(- t/A))

取50 N·m, 取33 N·m,则由

可得 则刚开始启动时外加总电阻

 

则第一阶段

同时由

可得第一阶段的结束时间t1=4.522s阶段末转速为n1=431.914 r/min

3第二阶段,短接

t=4.522时,n=431.914则微分方程的解为n=(n1-B) exp(- (t-t1)/A)+B

则由

                                                     

可得第二阶段外加总电阻为

                             

则第二阶段

同时由

                                        

可得第二阶段结束时间t2=7.587s,阶段末转速为n2= 793.746 r/min

同理可依次求出第三阶段时

第三阶段结束时间t3=9.283s,阶段末转速为n3= 955.693 r/min

第四阶段时

第四阶段结束时间t4=10.402s,阶段末转速为n4=1062.578 r/min

4)综述

 

4. 编辑代码

model motor1 "An DC Motor Model"

type Voltage=Real(unit="V");

type Current=Real(unit="A");

type Resistance=Real(unit="Ohm");

type Speed=Real(unit="r/min");

type Torque=Real(unit="N.m");

type Inertia=Real(unit="kg.m^2");

Torque Tm"Torque of the Motor";

Speed n"Speed of the Motor";

Current i"Armature Current";

Voltage u"Voltage Source";

Resistance R_ad"External Resistance";

parameter Real J = 1"Total Inertia";

parameter Real R = 0.6"Armature Resistance";

parameter Real Kt = 1.8"Torque Constant";

parameter Real Ke = 0.189"EMF Constant";

parameter Real Tl = 29.2"Load Torque";

 

equation

 

Tm-Tl = J * der(n) * 6.28 / 60;

Tm= Kt * i;

u= i * (R+R_ad) + Ke * n;

if time <= 0.1 then

u = 0;

else

u = 240;

end if;

 

if time<=4.522 then

R_ad = 8.038;

elseif time<=7.587 then

R_ad=4.308;

elseif time<=9.283 then

R_ad=2.639;

elseif time<10.402 then

R_ad=1.537;

else

R_ad=0;

end if;

end motor1;

simulate(motor1,startTime=0,stopTime=20)

plot(i)

plot(n)

5. 仿真结果

电流

 

转速

 

6. 结果分析

从电流随时间变化的图中可看出,电流的最大值为45.489A,稍小于额定电流的3倍,说明这种启动方法可行。从图中可知,总的启动时间10.028s,不算太快,而且最后一次变换外加电阻时,电流的突变太过尖锐,说明这种方案仍存在缺陷,需要改进 T1和 T2来实现进一步的改良。

转载于:https://www.cnblogs.com/mechanical-theif/p/5274436.html

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

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

相关文章

python 网络编程----非阻塞或异步编程

From: http://blog.chinaunix.net/uid-20730371-id-765038.html 非阻塞或异步编程例如&#xff0c;对于一个聊天室来说&#xff0c;因为有多个连接需要同时被处理&#xff0c;所以很显然&#xff0c;阻塞或同步的方法是不合适的&#xff0c;这就像买票只开了一个窗口&#xff0…

分享一个自定义的 console 类,让你不再纠结JS中的调试代码的兼容

问题的产生 在写JS的过程中&#xff0c;为了调试我们常常会写很多 console.log、console.info、console.group、console.warn、console.error代码来查看JS的运行情况&#xff0c;但发布时又因为IE不支持console&#xff0c;又要去掉这些代码&#xff0c;一不小心就会出错。 本文…

React开发(269):事件的绑定-addEventListener

利用函数addEventListener&#xff08;‘事件’&#xff0c;function &#xff08;&#xff09;{}&#xff09;可以是同个元素执行多个程序 复制代码big.addEventListener(click,function(){ console.log("大"); },true) //在函数后面加true可以使这个div在捕捉阶段…

python的UnboundLocalError: local variable 'xxx' referenced before assignment

From: http://blog.sina.com.cn/s/blog_8d3652760101d01p.html 一、意思&#xff1a;本地变量xxx引用前没定义。二、错误原因在于python没有变量的声明 ,所以它通过一个简单的规则找出变量的范围 &#xff1a;如果有一个函数内部的变量赋值 &#xff0c;该变量被认为是本地的&a…

cmstop框架中的js设计content.js

控制cmstop框架中action的js 内容模块 找出当前页面的js的思路01先找显示页面的当前文件.在页面文件中-->找(编辑,删除)按钮-->找获取这个按钮的js选择器 02看加载的js文件顺序content.js中.定义对象(包含编辑方法)-->html页面中,引入js后,直接调用该方法 content.edi…

React开发(262):react中活动时间回显用moment

<Form.Item label"活动时间">{getFieldDecorator(activityTimeStamp, {initialValue: [moment(activityTimeStamp[0]), moment(activityTimeStamp[1])],rules: [{ required: true, message: 请选择活动时间 }],})(<RangePicker format"YYYY-MM-DD HH:…

用户如何有效地利用数据字典(转)

ORACLE的数据字典是数据库的重要组成部分之一&#xff0c;它随着数据库的产生而产生, 随着数据库的变化而变化,   体现为sys用户下的一些表和视图。数据字典名称是大写的英文字符。   数据字典里存有用户信息、用户的权限信息、所有数据对象信息、表的约束条件、统计分析数…

OS X 平台的 8 个终端实用工具

From: http://blog.jobbole.com/72238/ 本文由 伯乐在线 - shinancao 翻译自 mitchchn。欢迎加入iOS小组。转载请参见文章末尾处的要求。 OS X 终端对外开放了许多很强大的UNIX实用工具和脚本。如果你是从Linux转过来的&#xff0c;你会发现许多熟悉的命令正是按照你想的那样…

内存操作流

可以将输出的位置设置在内存上&#xff0c;此时就要使用ByteArrayInputStream、ByteArrayOutputStream来完成输入和输出功能。 ByteArrayInputStream主要完成将内容写入到内存中 ByteArrayOutputStream的功能主要是将内存中的数据输出 import java.io.ByteArrayInputStream; im…

React开发(263):react中处理时间的判断

if (new Date(values.activityTimeStamp[1]).valueOf() <new Date(values.openTimeStamp[0]).valueOf()) {message.error(活动开始时间需要大于等于申请时间的结束时间);return false;}

OpenSSL(openssl-1.0.1h)编译与安装(Win7)

参考&#xff1a; http://blog.chinaunix.net/uid-20479991-id-216269.html 1. 准备: 1.1 安装perl环境, 下载地址: http://dlsw.baidu.com/sw-search-sp/soft/4a/14792/ActivePerl_5.16.2.3010812913.msi1.2 下载nasm.exe和ndisasm.exe, 地址: http://dldx.csdn.net/fd.php?i…

JDBC连接本地sqlserver2005的方法

主要看这转载&#xff1a;http://wenku.baidu.com/view/7a20f318fad6195f312ba6de.html 或者&#xff1a;http://hi.baidu.com/eyea/blog/item/54ddf20361cf75733912bbf0.html

java分页数据导出excel

/*** 订单导出&#xff08;用于统计利润&#xff09;* return*/public String orderExport() throws IOException{if (queryOrderList_currentPage null || queryOrderList_currentPage < 0) {queryOrderList_currentPage 1;}OrderInfo order new OrderInfo();if (!Strin…

React开发(264):react使用国际化

## 使用国际化locales 国际化词汇文件夹├── en-US 英文├── zh-CN 中文使用方法&#xff1a; jsx import { formatMessage,FormattedMessage } from umi/locale;formatMessage({ id: app.pwa.offline }) <FormattedMessage id"menu.home" defa…

python 十进制与二进制以及位运算

From: http://blog.sina.com.cn/s/blog_681de30a01013uiw.html 在python2.6以上的版本中自带了将十进制转化为二进制的函数bin()。 看一下bin.__doc__怎么说的。 >>>print bin.__doc__ bin(number) -> string return the binary represiontation of an integer or…

分享一套C++入门基础视频

本课程从C起步、用户无需不论什么计算机基础&#xff0c;仅仅须要懂的主要的电脑操作&#xff0c;既可学习本课程。本课程适合在校大学生&#xff0c;在职人员等&#xff0c;通过本课程的学习&#xff0c;学员可掌握C\MFC\VCserver端、网络编程等技能&#xff0c;相比国内几万的…

C/C++的64位整型 zz

From: http://blog.csdn.net/lychee007/article/details/5449237 [cpp] view plaincopy //为了和DSP兼容&#xff0c;TSint64和TUint64设置成TSint40和TUint40一样的数 //结果VC中还是认为是32位的&#xff0c;显然不合适 //typedef signed long int TSint64; //type…

mysql 中 group_concat()用法

基本语法&#xff1a;group_concat([DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator 分隔符]) 初始数据&#xff1a; 以name分组&#xff0c;将money打印在一行&#xff0c;默认,分隔&#xff1a; select aa.namename , GROUP_CONCAT( money ) money from a…

C# 设置当前程序调用的dll文件以及其他文件的寻址路径

文件&#xff1a; App.exe为主程序A.dll为需要调用的bll文件B.dll为需要调用的bll文件一般情况下&#xff0c;我们的exe程序会调用一些dll。 由于项目可能较大&#xff0c;有很多的dll文件需要调用&#xff0c;并不可能将这些文件全部放在跟exe同一目录。 但是默认情况下app.ex…

React开发(267):ant design upload简单上传

## 如果只是简单的上传&#xff0c;没必要写 customRequest javascript<Uploadname"file"action{${BASE_URL}/common/file/uploadByStream}headers{{ authorization: localStorage.getItem(token),x-sys-encode: 115992066215908888170874,x-sys-terminal: 159860…