找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

Flux电机有限元分析教程西莫团购入口 | 奖励入口当当网购物入口 | 奖励入口欢迎使用!西莫论坛App开放下载Motor-CAD电机多物理域设计教材购买入口 | 奖励入口
★新会员论坛须知★《西莫电机技术》第39期发售火热进行中Flux电机电磁阀有限元分析教程团购入口 | 奖励入口论坛微信公众平台欢迎入驻
西莫电机及相关产品供需交流群开放邀请★ 论坛VIP会员申请 ★Motor-CAD.MANATEE电磁热振动噪声教程 | 奖励入口西莫团队欢迎您的加盟!
宣传推广合作请联系QQ:25941174西莫电机论坛微信群正式开放Flux变压器与电抗器有限元分析团购入口 | 奖励入口西莫电机论坛技术版区QQ群汇总
查看: 3748|回复: 5

[原创] 异步启动永磁同步电机设计程序 (vb源码分享)福利1:b-h曲线查询

[复制链接]

该用户从未签到

发表于 2014-3-21 09:50 | 显示全部楼层 |阅读模式 来自: 中国安徽合肥

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
异步启动永磁同步电机设计程序 (vb源码分享)福利1:b-h曲线查询

主贴见:https://bbs.simol.cn/thread-131885-1-1.html

b-h曲线查询方法简介:
1、读入b-h曲线文件到二维数组
1、采用拉格朗日插值法查询值

'load B-H CURVE file读入b-h曲线文件到二维数组
    Dim a() As String
    Dim b() As String
    Dim i As Integer
    i = 0
    '''read text
    Open App.Path & "\" & "BH_" & materialfe & ".TXT" For Input As #1
    On Error GoTo h
    Do While Not EOF(1)
        ReDim Preserve a(i)
        ReDim Preserve b(i)
        Input #1, a(i), b(i)
        i = i + 1
    Loop
h:
    Close #1
    '''load into variable
    ReDim Preserve bh_fe(UBound(a), 1)
    For i = 0 To UBound(a)
        bh_fe(i, 0) = CDbl(a(i))
        bh_fe(i, 1) = CDbl(b(i))
        'show b-h curve
        'Formmain.Text_output.Text = Formmain.Text_output.Text & bh_fe(i, 1) & "," & bh_fe(i, 2) & vbCrLf
    Next



'插值算法
'lagrangeczfun  拉格朗日插值法
Public Function lag(a() As Double, ByVal u As Double) As Double  'a(1,n)存储n+1个节点,u为插值点
  Dim i As Integer, j As Integer, n As Integer
  Dim l As Double, v As Double
  v = 0
  n = UBound(a, 1)
  
  l = bh_fe(2, 0)
  s = materialfe
  l = br_20
  
  For j = 0 To n
    l = 1
   
    For i = 0 To n
      If (i <> j) Then
        l = l * (u - a(i, 0)) / (a(j, 0) - a(i, 0))
      Else
      End If
    Next i
   
    v = v + l * a(j, 1)
  Next j
  
  lag = v
End Function


'''''''''''''''''''''''''''''''''''''''''''''''''
'磁化曲线查询

Public Function b2h(b As Double) As Double 'lookup b-h curve
b2h = lag(bh_fe(), b)
End Function

评分

参与人数 1西莫币 +6 收起 理由
simeng + 6 感谢分享

查看全部评分

西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过

该用户从未签到

 楼主| 发表于 2014-3-21 15:33 | 显示全部楼层 来自: 中国安徽合肥
备注:拉格朗日插值当数据太多,会在中间值产生很大偏差,最好分段插值。又因为电机硅钢片b-h表很详细。
所以解决上述问题的方法是把查询的值近似到节点。上述最后一段查询代码要稍加修改。
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 2 天

连续签到: 2 天

[LV.1]初来乍到

发表于 2014-6-16 09:49 | 显示全部楼层 来自: 中国北京
谢谢,东西很好,我要学习
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 57 天

连续签到: 9 天

[LV.5]常住居民I

发表于 2017-3-29 08:25 | 显示全部楼层 来自: 中国湖北武汉
感谢楼主分享源码
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2019-4-13 15:52 | 显示全部楼层 来自: 中国山东济宁
好东西,真的值得拥有
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 57 天

连续签到: 9 天

[LV.5]常住居民I

发表于 2022-8-9 08:26 | 显示全部楼层 来自: 中国湖北武汉
谢谢李工分享源码
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

西莫电机论坛微信公众平台欢迎您的关注!

QQ|Archiver|手机版|小黑屋|西莫电机圈 ( 浙ICP备10025899号-3|浙公网安备:33028202000436号 )

GMT+8, 2024-12-22 19:50 , Processed in 0.073198 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表