电机线电流与转差率曲线[进行中...]

news2024/12/23 11:30:28

1.电机T型等效电路模型

1.1 Python代码 - 考虑转差率为负

import numpy as np
import matplotlib.pyplot as plt
# 设置已知参数值
rm = 11.421
lm = 553.9e-3
r2 = 7.553
l2 = 42.90e-3
freq_in = 50

# 设置频率值范围和步长
s = np.linspace(-0.05, 0.05, 1000)
im = 380/(rm+(lm+l2)*2*np.pi*freq_in*1j)/np.sqrt(3);

# 计算并绘制曲线
curr_in = (im + im*(rm+(lm+l2)*2*np.pi*freq_in*1j)/(r2 + l2*2*np.pi*freq_in*1j + (1-s)/s*r2))
plt.plot(np.abs(curr_in), s)
plt.xlabel('Absolute value of curr_in')
plt.ylabel('Power out')
plt.title('s of rated power is 2A, the max Y-axis = 5%(but engine''s rated s = 2%, I think it is wrong.)')
# 绘制横线
horiz_line = plt.axhline(y=0.05, color='r', linestyle='--', label='"s" == rated power of engine')
horiz_line = plt.axhline(y=0, color='r', linestyle='--', label='"s" == 0')
# 添加图例
plt.legend()

plt.show()

1.2 I-s曲线

8734698c34b84c3591617606a7f78f34.png

注意在s = 0附近:

184ea17193a949dc9cf9f995503667c8.png

你会发现输出电流最小的位置,并不在转差率 = 0是,而是在转差率达到某个负值的时候——转差率为负,意味着此时电机的负载等效电阻是个负值,在中和掉整个电路的视在等效电阻后,此时的电路转为纯感性电路,此时,电流才会出现极小值,越过这条线,转差率继续向负半周偏移——此时,电机并不是在做功,而是作为一台发电机在工作。就是此时电机正转,但是反拉,提供的力矩与旋转方向相反,克服掉重物的力矩,匀速下滑。

2.不同负载,上下行时的线电流差异

2.1 Python代码

import numpy as np
import matplotlib.pyplot as plt

# 设置已知参数值
rm = 11.421
lm = 553.9e-3
r2 = 7.553
l2 = 42.90e-3
freq_in = 50
im = 380/(rm+(lm+l2)*2*np.pi*freq_in*1j)/np.sqrt(3);

s = np.linspace(0, -0.05, 1000)
curr_in_download = (im + im*(rm+(lm+l2)*2*np.pi*freq_in*1j)/(r2 + l2*2*np.pi*freq_in*1j + (1-s)/s*r2))


# 设置频率值范围和步长
s = np.linspace(0, 0.05, 1000)
# 计算并绘制曲线
curr_in_upword = (im + im*(rm+(lm+l2)*2*np.pi*freq_in*1j)/(r2 + l2*2*np.pi*freq_in*1j + (1-s)/s*r2))


curr_diff_of_updown = curr_in_upword - curr_in_download

plt.plot(np.abs(curr_in_upword), s)
plt.plot(np.abs(curr_diff_of_updown), s)
plt.xlabel('Absolute value of curr_in')
plt.ylabel('Power out')
plt.title('s of rated power is 2A, the max Y-axis = 5%(but engine''s rated s = 2%, I think it is wrong.)')
# 绘制横线
horiz_line = plt.axhline(y=0.05, color='r', linestyle='--', label='"s" == rated power of engine')
horiz_line = plt.axhline(y=0, color='r', linestyle='--', label='"s" == 0')

# 添加图例
plt.legend()

plt.show()

2.2 dI_of(up2down)-s曲线

一个奇迹出现了——转差率和上下行电流差之间呈现出线性关系:(当然,它要考虑到电机的运行方向),此时电流的值是有正负号的。

3bab0b1409634ca4b8ecda0cfec6000c.png

2.3 代入实际数据校验:

2.3.1 数据筛选:

a7e2ece083c946e882b2e015a0c3aa17.png

上面这台电机,6日13:10分的最前面这笔数据看起来很像是先空钩下降,然后上升。这是一组完整的数据点,一对儿空钩的电流:

di1 = (21.84a -21.97a)    di = 0.13a,空钩

9d0f69f3b73943c492577efa80c2ee9d.png
 

6日 13:20似乎连续做了两次上下操作:
di2 = (22.06, 21.63) di = 0.43 ...
di3 = (22.12, 21.67) di = 0.45 

ee23fb0ef5624d6baf6779ecf09e25ff.png

di4,这里似乎是又一组:

di4 = (21.97, 21.80) di = 0.17a

找个电流大一点的:

d8c5885f17b84a0594aa711cae5f3ff2.png di5 = (23.87, 21.52) , di = 2.35a

现在把上述5个点,打印出来: 

2.3.2 数据呈现:

da10176853394bb6ab6b97c4759340b4.png

看起来能看到那个电机曲线的样子对吧?此时这几个数据点似乎还没有达到那个电流极值。 那个蝴蝶结可能无关紧要,仅仅是误差,或者原始数据读取错误。

2.3.3 数据及源码:

数据文件:

{
    "engine":"231015062",
    "date":"2024/07/06",
    "curr":[
    {
        "up":21.97,
        "down":21.84
    },
    {
        "up":22.06,
        "down":21.63
    },
    {
        "up":22.12,
        "down":21.67
    },
    {
        "up":21.97,
        "down":21.80
    },
    {
        "up":23.87,
        "down":21.52
    }
    ]
}

 

import numpy as np
import matplotlib.pyplot as plt
import json
from datetime import datetime

dbFile = "engine_curr.json"

# 读取原始数据文件
with open(dbFile, 'r', encoding='utf-8') as f:
    data = json.load(f)

# 选择id为10到20的数据,并提取需要的字段
ardt = []
armax = []
armin = []
for record in data["curr"]:
     armax.append(float(record["up"]))
     armin.append(float(record["down"]))
     ardt.append(armax[-1] - armin[-1])

ardt_neg = [element * -1.0 for element in ardt]

#绘制:
plt.plot(armax, ardt)
plt.plot(armin, ardt_neg)
plt.ylabel(f's * unknowRatio')
plt.xlabel('current (rms)')
plt.title(f'plc_{data["engine"]}_at{data["date"]}')
# 绘制横线
#horiz_line = plt.axhline(y=0.05, color='r', linestyle='--', label='"s" == rated power of engine')
#horiz_line = plt.axhline(y=0, color='r', linestyle='--', label='"s" == 0')
# 添加图例
plt.legend()
plt.show()

2.3.4 更多的数据校验 

 

 

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

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

相关文章

PyQt弹出式抽屉窗口

代码 from enum import Enum import sys from PyQt5.Qt import *class PopupOrientation(Enum):LEFT 0TOP 1RIGHT 2BOTTOM 3class PopupMaskDialogBase(QDialog):"""带有蒙版的对话框基类"""def __init__(self, parentNone):super().__init…

FedProto:跨异构客户端的联邦原型学习(论文阅读)

题目:FedProto: Federated Prototype Learning across Heterogeneous Clients 网址:http://arxiv.org/abs/2105.00243 摘要 在联邦学习(FL)中,当客户端知识在梯度空间中聚集时,客户端间的异构性通常会影响优化的收敛和泛化性能。…

携手AI人才 共赢智算未来丨誉天人工智能AI大模型首期班火热报名中

在数字化浪潮汹涌澎湃的今天,人工智能已成为推动社会进步与产业升级的关键力量。 回顾人工智能历史,自1956年诞生以来,历经三次发展热潮和两次低谷期。五十年代符号主义和逻辑推理的出现标志着人工智能的诞生,引发第一次发展浪潮&…

自动驾驶AVM环视算法–全景和标定全功能算法实现和exe测试demo

参考:全景和标定全功能算法实现和exe测试demo-金书世界 1、测试环境 opencv310vs2022 2、使用的编程语言 c和c 3、测试的demo的获取 更新:测试的exe程序,无需解压码就可以体验算法测试效果 百度网盘: 链接:http…

开发一个自己的chrom插件

开发一个自己的chrom插件 一、创建一个文件夹 二、配置文件manifest.json 创建名字为:manifest.json的配置文件,模板如下: {"manifest_version": 3,"name": "Hello World Extension","version": …

Go 语言 UUID 库 google/uuid 源码解析:UUID version7 的实现

google/uuid 库地址 建议阅读内容 在阅读此篇文章之前,建议先了解 UUIDv1 的构成、UUIDv4 的 API 以及掌握位运算。 了解 UUIDv1 的构成可以参考Go 语言 UUID 库 google/uuid 源码解析:UUID version1 的实现 或 RFC 9562。 了解 UUIDv4 的 API 可以看…

【数据结构】非线性表----树详解

树是一种非线性结构,它是由**n(n>0)**个有限结点组成一个具有层次关系的集合。具有层次关系则说明它的结构不再是线性表那样一对一,而是一对多的关系;随着层数的增加,每一层的元素个数也在不断变化&…

算法——双指针(day3)

611.有效三角形的个数 611. 有效三角形的个数 - 力扣(LeetCode) 题目解析: 三角形的判定很简单,任意两边之和大于第三边即可。按照正常情况,我们得判断3次才可以确认是否构成三角形。 因为c在本来就是最大的情况下与…

安全测试必学神器 --BurpSuite 安装及使用实操

BurpSuite是一款功能强大的集成化安全测试工具,专门用于攻击和测试Web应用程序的安全性。适合安全测试、渗透测试和开发人员使用。本篇文章基于BurpSuite安装及常用实操做详解,如果你是一名安全测试初学者,会大有收获! 一、BurpS…

C++ Qt 登录界面 Login

效果: 核心代码: #include "simpleapp.h" #include "ui_simpleapp.h" #include <QMessageBox>SimpleApp::SimpleApp(QWidget *parent): QMainWindow(parent), ui(new Ui::SimpleApp) {ui->setupUi(this); }SimpleApp::~SimpleApp() {delete ui; …

ROS、pix4、gazebo、qgc仿真ubuntu20.04

一、ubuntu、ros安装教程比较多&#xff0c;此文章不做详细讲解。该文章基于ubuntu20.04系统。 pix4参考地址&#xff1a;https://docs.px4.io/main/zh/index.html 二、安装pix4 1. git clone https://github.com/PX4/PX4-Autopilot.git --recursive 2. bash ./PX4-Autopilot…

MQTT服务端EMQX开源版安装和客户端MQTTX介绍

一、EMQX是什么 EMQX 是一款开源的大规模分布式 MQTT 消息服务器&#xff0c;功能丰富&#xff0c;专为物联网和实时通信应用而设计。EMQX 5.0 单集群支持 MQTT 并发连接数高达 1 亿条&#xff0c;单服务器的传输与处理吞吐量可达每秒百万级 MQTT 消息&#xff0c;同时保证毫秒…

C语言函数:编程世界的魔法钥匙(2)

引言 注&#xff1a;由于这部分内容比较抽象&#xff0c;而小编我又是一个刚刚进入编程世界的计算机小白&#xff0c;所以我的介绍可能会有点让人啼笑皆非。希望大家多多包涵&#xff01;万分感谢&#xff01;待到小编我学有所成&#xff0c;一定会把这块知识点重新介绍一遍&a…

Django前后端打通

跨域问题 【 0 】前言 ​ ​ 同源策略&#xff08;Same Origin Policy&#xff09;是浏览器安全策略的重要组成部分&#xff0c;它限制了来自不同源的网页之间的数据交互&#xff0c;以防止恶意攻击。当一个网页尝试执行与它的源&#xff08;即协议、域名和端口&#xff09…

Re:从零开始的C++世界——类和对象(下)

文章目录 前言1.再谈构造函数&#x1f34e;构造函数体赋值&#x1f34e;初始化列表&#x1f34e;特性&#x1f34c;特性一&#x1f34c;特性二&#x1f34c;特性三&#x1f34c;特性四&#x1f34c;特性五 &#x1f34e;explicit 关键字 2.static成员&#x1f34e;概念&#x1…

node.js动漫论坛-计算机毕业设计源码09947

摘 要 随着移动互联网的飞速发展&#xff0c;智能手机和移动互联网已经成为人们日常生活中不可或缺的一部分。在这样的背景下&#xff0c;微信小程序应运而生&#xff0c;凭借其无需下载安装、即用即走的特点&#xff0c;迅速成为连接用户与服务的桥梁。动漫作为一种深受年轻人…

《0基础》学习Python——第十六讲 __文件读写

<文件读写> 一、什么是文件读写 文件读写是指在Python程序中对文件进行读取和写入操作。通过文件读写&#xff0c;可以读取文件中的数据&#xff0c;或者向文件中写入数据。 Python提供了多种文件读写的方式&#xff0c;其中最常用的方式是使用open()函数打开一个文件&a…

ssrf复习(及ctfshow351-360)

1. SSRF 概述 服务器会根据用户提交的URL发送一个HTTP请求。使用用户指定的URL&#xff0c;Web应用可以获取图片或者文件资源等。典型的例子是百度识图功能。 如果没有对用户提交URL和远端服务器所返回的信息做合适的验证或过滤&#xff0c;就有可能存在“请求伪造"的缺陷…

huawei USG6001v1学习---信息安全概念

目录 1.什么是分布式&#xff1f; 2.什么是云计算&#xff1f; 3.APT攻击 4.安全风险能见度不足 5.常见的一些攻击 6.交换机转发原理&#xff1f; 7.各层攻击类型 7.1链路层&#xff1a; 7.2网络层&#xff1a; 7.3传输层&#xff1a; 7.4应用层&#xff1a; 1.什么…

mybatis plus json 格式转换踩坑记录

项目中有个字段存的是json数据。 我对应的实体类用的 fastjson2 中的 JsonObject 对象。 实体类&#xff1a; Data Accessors(chain true) TableName(value "plugin_template", autoResultMap true) public class PluginTemplateDo {TableId(type IdType.AUTO)p…