母线电容及其计算方法
1.母线电容是什么?
2.母线电容有什么作用?
3.母线电容的参数。
4.母线电容参数计算。
工程定义:
(1)在电机控制器中,电池包的直流电作为输入电源,需要通过直流母线与电机控制器连接,该方式叫DC-LINK或者直流支撑,其中的电容我们称之为母线电容或者支撑电容或者DC-Link电容。由于电机控制器从电池包得到有效值或者峰值很高的脉冲电流的同时,会在直流支撑上产生很高的脉冲电压使得电机控制器难以承受,所以需要选择母线电容来连接。
(2)在进线经过整流后部分的电容就是直流母线电容。直流母线电容一般分为变频器直流母线电容、逆变器直流母线电容。

在电机控制器中:
(1)平滑母线电压,使电机控制器的母线电压在IGBT开关的时仍比较平滑;
(2)降低电机控制器IGBT端到动力电池端线路的电感参数,削弱母线的尖峰电压;
(3)吸收电机控制器母线端的高脉冲电流;
(4)防止母线端电压的过充和瞬时电压对电机控制器的影响。
直流母线电容在变频器或者逆变器当中的作用:
变频器带感性负载时,无功能量只能靠直流环节中滤波器的储能元件来缓冲。电压型变频器用电容储能,而电流型变频器用电感储能。具体有以下几种:
(5)补偿以电源频率两倍或六倍变化的逆变器所需功率与整流桥输出功率之差;
(6)提供逆变器或变频器开关频率的输入电流;
(7)减小开关频率的电流谐波进入电网;
(8)吸收急停状态时所有功率开关器件关断下的电机去磁能量;
(9)提供瞬时峰值功率;
(10)保护逆变器或变频器免受电网瞬时峰值冲击。


常用定制电容
电解电容与薄膜电容的对比:
(1)、电解电容的优点是容量比薄膜电容大;
(2)、薄膜电容相对于电解电容优势;
(3)、薄膜电容具有更良好的温度和频率特性;
(4)、薄膜电容没有极性,能够承受反向电压;
(5)、薄膜电容额定电压高,不需要串联平衡电阻;
(6)、薄膜电容采用干式设计,没有电解液泄露的危险,没有酸污染;
(7)、薄膜电容更低的ESR,更强的耐纹波电流的能力;
(8)、薄膜电容更强的抗脉冲电压能力;
(9)、薄膜电容更长的寿命;
(10)、薄膜电容更加灵活的外形设计,可根据不同的需求进行定制。

额定电压:
电机控制母线电压除了正常的纹波电压的波动,还包括IGBT动作时电流激烈的变化产生尖峰电压和电机反转时的反电动势,薄膜电容在使用中允许有1.2倍额定电压值的脉冲,理论上可以选择额定电压较低的薄膜电容。
如现在的320V的电机控制器系统一般选用500VDC的薄膜电容,540V的电机控制器系统选用900V或者1000V的薄膜电容。
纹波电压:直流电压本来应该是一个固定的值, 但是很多时候它是通过交流电压整流、滤波后得来的,由于滤波不彻底,就会有剩余的交流成分,即使采用电池供电也会因负载的波动而产生波纹。事实上,即便是最好的基准电压源器件,其输出电压也是有波纹的。
对于母线纹波电压来说:主要的纹波来自开关谐波分量。
纹波电流:纹波电流是指流经母线电容的交流分量,电机控制器的输出电流为三相正弦基波电流与高频谐波电流的叠加,两者均会在直流母线侧产生相应的纹波电流。

母线电容在中间回路衔接整流和逆变两个环节,具有稳压、滤波功能,还能给电机负载提供无功功率,在系统中起着重要的作用。
控制器膜电容位置尽量靠近功率器件和驱动模块,以此来减小杂散电感等寄生参数的影响。
(1)起动母线电容(逆变器母线电容)
①额定容量计算
母线电容一个开关周期内释放的能量为:

其中:
U:直流母线电压
ΔU:母线纹波电压
通常认为在一个开关周期内,母线电容可提供一半的能量,即。


其中:
f:MOS或IGBT的开关频率
P:最大输出功率
η:控制器效率
按照效率100%,进一步计算可得:

一般的,直流母线电压的波动值按照2.5%计算,即纹波电压值Δu=U*2.5%。
②最大纹波电流计算
经验公式:

其中:
M为调制比
I0为相电流峰值
cosθ为功率因数。
(2)整流母线电容参数计算
①额定容量计算
经验公式如下:

②允许最大纹波电流
工程经验公式:

我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
我正在尝试设置一个puppet节点,但rubygems似乎不正常。如果我通过它自己的二进制文件(/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter)在cli上运行facter,它工作正常,但如果我通过由rubygems(/usr/bin/facter)安装的二进制文件,它抛出:/usr/lib/ruby/1.8/facter/uptime.rb:11:undefinedmethod`get_uptime'forFacter::Util::Uptime:Module(NoMethodError)from/usr/lib/ruby
我想了解Ruby方法methods()是如何工作的。我尝试使用“ruby方法”在Google上搜索,但这不是我需要的。我也看过ruby-doc.org,但我没有找到这种方法。你能详细解释一下它是如何工作的或者给我一个链接吗?更新我用methods()方法做了实验,得到了这样的结果:'labrat'代码classFirstdeffirst_instance_mymethodenddefself.first_class_mymethodendendclassSecond使用类#returnsavailablemethodslistforclassandancestorsputsSeco
我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer
设置:狂欢ruby1.9.2高线(1.6.13)描述:我已经相当习惯在其他一些项目中使用highline,但已经有几个月没有使用它了。现在,在Ruby1.9.2上全新安装时,它似乎不允许在同一行回答提示。所以以前我会看到类似的东西:require"highline/import"ask"Whatisyourfavoritecolor?"并得到:Whatisyourfavoritecolor?|现在我看到类似的东西:Whatisyourfavoritecolor?|竖线(|)符号是我的终端光标。知道为什么会发生这种变化吗? 最佳答案
我已经从我的命令行中获得了一切,所以我可以运行rubymyfile并且它可以正常工作。但是当我尝试从sublime中运行它时,我得到了undefinedmethod`require_relative'formain:Object有人知道我的sublime设置中缺少什么吗?我正在使用OSX并安装了rvm。 最佳答案 或者,您可以只使用“require”,它应该可以正常工作。我认为“require_relative”仅适用于ruby1.9+ 关于ruby-主要:Objectwhenrun
这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,
我有一个具有一些属性的模型:attr1、attr2和attr3。我需要在不执行回调和验证的情况下更新此属性。我找到了update_column方法,但我想同时更新三个属性。我需要这样的东西:update_columns({attr1:val1,attr2:val2,attr3:val3})代替update_column(attr1,val1)update_column(attr2,val2)update_column(attr3,val3) 最佳答案 您可以使用update_columns(attr1:val1,attr2:val2