当前位置: 首页 > news >正文

【动手学电机驱动】 STM32-FOC(7)基于 MCSDK6.0 控制与调试速度环

STM32-FOC(1)STM32 电机控制的软件开发环境
STM32-FOC(2)STM32 导入和创建项目
STM32-FOC(3)STM32 三路互补 PWM 输出
STM32-FOC(4)IHM03 电机控制套件介绍
STM32-FOC(5)基于 IHM03 的无感FOC 控制
STM32-FOC(6)基于 IHM03 的无感方波控制
STM32-FOC(7)基于 MCSDK6.0 控制与调试速度环

【动手学电机驱动】 STM32-FOC(7)基于 MCSDK6.0 控制与调试速度环

    • 1. 准备工作
      • 1.1 开发环境
      • 1.2 硬件连接
    • 2. 基于 IHM03 的无感FOC 控制
      • 2.1 配置电机控制包
      • 2.2 图形化配置
      • 2.3 代码编辑、编译与调试
    • 3. 使用 MCSDK Pilot 控制与调试
      • 3.1 加载上位机 GUI
      • 3.2 从上位机控制电机运行
      • 3.3 从上位机监控电机运行
    • 4. 速度环控制器
      • 4.1 电流环 PI 控制器
      • 4.2 速度电流双闭环 PI 控制器


P-NUCLEO-IHM03 STM32电机控制套件,为三相、低压和低电流的 BLDC 或 PMSM 电机提供电机控制解决方案。此前我们已经学习了使用 IHM03 电机控制套件开发无感 FOC 电机控制程序的基础操作。
本节在使用 IHM03 电机控制套件开发无感速度环电机控制程序的基础上,详细介绍基于 MCSDK6.0 的速度环控制与调试方法。


1. 准备工作

1.1 开发环境

  1. 硬件要求
  • Windows PC
  • X-NUCLEO-IHM16M1 电机驱动扩展板
  • STM32 Nucleo 开发板
  • 直流电源,输出电压 12 VDC
  • 三相无刷电机
  • USB Type-A 或 Type-c 至 Micro-B 连接线缆
  1. 系统要求:
  • Windows 操作系统(Windows 7、Windows 8 和 Windows 10)、Linux 64-bit 或 macOS
  • USB Type-A 或 Type-c 至 Micro-B 连接线缆,用于将STM32 Nucleo板连接到 PC
  1. 开发工具
  • STM32 电机控制 SDK:X-CUBE-MCSDK
  • STM32 图形化配置工具:STM32CubeMX
  • 集成开发环境 IDE,可以选择一下三者之一:
    • STM32 集成开发环境(STM32CubeIDE)
    • Keil 开发套件(MDK-ARM-STR)
    • IAR 嵌入式开发环境(IAR-EWARM)

1.2 硬件连接

硬件连接的操作步骤简述如下。详细操作过程可以参见 STM32-FOC(5)基于 IHM03 的无感FOC 控制 第2部分。

  1. 根据使用的 STM32 Nucleo 开发板和操作模式,检查跳线位置和安装选项。
  2. 通过 ST-morpho连接器连接(CN7、CN10)X-NUCLEO-IHM16M1 驱动板与 STM32 NUCLEO 开发板。
  3. 将 3-pin 插接端子插入连接器 CN1 的 3/4/5 输出端,以连接无刷电机。
  4. 使用 USB 连接线将 STM32 Nucleo 开发板连接到 PC,并下载相应的预编译代码。
  5. 使用 12V 直流电源为电路板供电,可以选择以下二者之一:
    – 使用连接器 CN1 的 2(VIN)和 1(接地)接入 12VDC电源;
    – 使用 J4 插孔(2.1/2.5 mm,尖端正极)接入12VDC电源。
  6. 使用 STM32 电机控制 SDK(X-CUBE-MCSDK)开发和运行应用程序。

2. 基于 IHM03 的无感FOC 控制

基于 IHM03 的无感FOC 控制的操作步骤简述如下。详细操作过程可以参见 STM32-FOC(5)基于 IHM03 的无感FOC 控制 第3部分。

2.1 配置电机控制包

  1. 打开 电机控制软件开发套件(Motor Control WorkBench),创建新项目。
    单击"New Project"按钮,弹出"New Project"对话框。
    在 “General Info” 菜单中,设置项目名称为 IHM03_03,选择单电机(1 Motor)、FOC驱动控制算法、Modular 模式。

  2. 硬件配置。
    在 “Motors” 菜单选择电机为 GimBal GBM2804H-100T,在 “Power board” 菜单选择驱动板为 X-NUCLEO-IHM16M1 电机驱动板,在 “Control board” 菜单选择控制板为 NUCLEO-G431RB 控制板。

  3. 修改配置的电路板和电机的信息。
    如果配置的硬件信息与实际产品参数有差异,可以点击相应的模块(蓝色模块),进入该模块的参数配置页面进行修改。
    在本例中,电机 GimBal GBM2804H-100T 的默认设置(具体参数与SDK版本有关)为最大电压 10Vdc、最大电流 0.8Apk。这与本套件的配置不一致,因此要点击图中 Motor 蓝色模块,进入电机参数设置页面,将最大电压设为 14.8Vdc、最大电流设为 2.1Apk。

  4. 完成项目配置后,自动生成一个电机控制项目,并显示项目视图。


在这里插入图片描述


  1. 配置速度位置控制方案。

点击项目视图中的 “Speed Sensing” 蓝色模块,进入速度位置管理界面。在 Main Sensor – Sensor Selection 选项中,选择 Sensor-less(Observer+PLL),即采用无传感器(使用位置观测器+PLL获取实时的转子位置)进行控制。


  1. 项目生成。

选择菜单 “Generate the project” 按键,根据配置参数生成项目。
跳出 “Project generation” 窗口,选择 STM32CubeMX 版本、固件版本(Firmware Package Version),Target Toolchain 为 STM32CubeIDE。
默认使用 HAL 驱动。
点击 “GENERATE” 按键,生成代码。


2.2 图形化配置

项目生成完成后,点击 “RUN STM32CubeMX” 按键,打开 STM32CubeMX 进行图形化配置。

  1. 将PA5 管脚设置为 GPIO_Output,可以控制 LD2 灯的开关闪烁。
    LD2 闪灯与电机控制无关,但可以用来确认程序烧录和运行是否正常,帮助初学者分析和排除故障。

  2. 点击 “Project Manager” 菜单按钮,进入工程配置界面。

  • 输入项目名称为 “IHM03_03”,选择项目的保存路径。
  • 将Toolchain / IDE 设为 STM32CubeIDE(根据用户安装和使用的 IDE 选择,也可以选择 EWARM、MDK-ARM、MakeFile、CMake 等IDE工具)。
  • 点击右上角 “GENERATE CODE” 生成代码。

加载完毕后,弹出代码生成提示窗口。点击“ OPEN PROJECT”,进入 STM32CubeIDE。


2.3 代码编辑、编译与调试

  1. 打开 STM32CubeIDE,导入 IHM03_03 项目。
    如果是从 CubeMX 代码生成提示窗口点击“ OPEN PROJECT”,则进入 STM32CubeIDE后自动打开 IHM03_03 项目。

  2. 在左侧 Project Explorer 中,选择 IHM03_03 – Application – User,打开主程序 main.c ,中断服务程序 tm32g4xx_it.c,stm32g4xx_mc_it.c ,如下图所示。

加入 LED2 闪烁功能,只要在 while(1) 循环中添加以下程序(这与电机控制无关,只供参考):

    /* USER CODE BEGIN 3 */HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);/* Insert delay 500 ms */HAL_Delay(500);

在这里插入图片描述

  1. 程序编译与下载
  • 用 USB连接线,连接 PC 与 NUCLEO-G431RB 开发板。
  • 点击工具栏中 “Build Debug” 按键对程序代码进行编译。
  • 点击工具栏中 “Debug” 按键,将程序下载烧录到目标板 NUCLEO-G431RB 。

程序烧录完成后,显示内容如下。

STMicroelectronics ST-LINK GDB server. Version 7.8.0
...Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 19]
Download in Progress:File download complete
Time elapsed during download operation: 00:00:01.011Verifying ...
Download verified successfully 
Shutting down...
Exit.
  1. 程序的运行与调试
  • 对照 2.1 检查 IHM03 套件硬件连接和电源连接。
  • 接通 12Vdc电源。
  • 点击工具栏中 “Resume” 按键 或 F8 快捷键,运行程序。
    • LED2 灯闪烁(如果加入闪灯程序)。
    • 按下蓝色按键 B1,电机开始运行。
    • 按下黑色按键 B2,电机停止运行。

3. 使用 MCSDK Pilot 控制与调试

3.1 加载上位机 GUI

MC SDK 提供 UI 库,用于界面调试通讯使用,与 Workbench 之间的交互。

  1. 打开电机控制软件开发套件(Motor Control WorkBench),单击工具栏的 “Motor Pilot” 按钮,启动电机导向应用程序 ST Motor Pilot。

  2. 在 ST Motor Pilot 中,点击菜单 “GUI – Load GUI”,根据项目内容选择相应的 QML 图形界面文件,加载上位机程序。

QML(Qt Meta-Language)是一种基于JavaScript的声明性语言,用于描述用户界面和应用程序的行为。它是Qt框架的一部分,广泛应用于跨平台应用程序开发。QML由于其高度的模块化和可重用性,特别适合于嵌入式系统的开发。在QML能够帮助开发者以声明性的方式构建用户界面,这样就可以在不需要深入了解底层图形渲染机制的情况下,创建出性能良好的界面。

如下图所示,加载上位机 GUI 文件 MC_FOC_SDK.qml。

在这里插入图片描述

  1. 连接上位机。

P-NUCLEO-IHM03 STM32电机控制套件 通过串口与上位机(PC)通讯。
3.1 打开上位机(PC)的设备管理器,查看 ST Link 对应的串口的端口号(例如下图中串口为 COM3)。
在这里插入图片描述

3.2 在 ST Motor Pilot 中,在 “Port” 设置 ST Link 对应的串口位置,再点击按键 “Connect” 连接。
3.3 连接成功后,ST Motor Pilot 显示电机的运行状态和参数,包括:电机转速,直流母线电压,温度,功率,运行状态,故障代码等。如下图所示,电机处于 “IDLE” 状态。

在这里插入图片描述


3.2 从上位机控制电机运行

在 ST Motor Pilot 的左下角的 “Control” 布局框内,设有电机运行的控制按钮。

  • 控制环路包含 “SPEED”、“TORQUE” 两个选项。默认选项为 “SPEED”,采用速度环控制;可选选为 “TORQUE”,采用力矩环(电流环)控制。
  • 点击 “Start” 按钮,启动电机运行;
  • 点击 “Stop” 按钮,停止电机运行;
  • 点击 “Stop ramp” 按钮,停止爬坡。
  1. 点击 “Start” 按钮启动,电机旋转。点击 “Stop” 按钮,停止电机运行。

左侧运行状态栏 显示运行状态为 “RUN”,故障灯全灭 指示无故障;
电机转速表(Speed Control)显示当前的转速测量值;
指示计(Measures)显示电压、温度、功率值;
状态栏(Global Configuration)显示运行状态。

在这里插入图片描述

  1. 寄存器
    点击菜单栏中的 “Registers” 按钮,切换到寄存器显示界面,显示设定的寄存器参数的实时值。

在这里插入图片描述


3.3 从上位机监控电机运行

  1. 实时监控

在 寄存器显示界面,选择需要实时监控的参数,点击该参数所在行的 “Configure” 按钮,可以绘制实时变化图。

  • 选择速度参考值 SPEED_REF(ID=153),点击对应的 “Configure” 按钮,选择 “Send to new plot” 后按 “Apply”,自动建立绘图框 plot1,将 SPEED_REF 绘制到 plot1 绘图框。
  • 选择速度测量值 SPEED_MEAS(ID=89),点击对应的 “Configure” 按钮,选择 “plot1” 后按 “Apply”,将 SPEED_MEAS 也绘制到 plot1 绘图框。

点击 “Start” 按钮启动,点击 “Stopt” 按钮停止,plot1 绘图框实时显示 速度参考值 SPEED_REF、速度测量值 SPEED_MEAS 的运行曲线如下图所示。

在这里插入图片描述

  1. 调节电机运行速度

在上位机调节电机运行的速度参考值,通过电流环可以控制电机转速。

在 ST Motor Pilot 的转速表下方的 “Speed Ramp” 布局框内,用户可以设置电机速度参考值(Target Speed RPM)和斜坡时间(Speed ramp duration),控制电机运行。

6.1 在电机运行过程中,在 “Target Speed RPM” 选框输入转速参考值,斜坡时间不修改(默认值为0),在 plot1 绘图框观察实时显示的 速度参考值 SPEED_REF、速度测量值 SPEED_MEAS 的运行曲线,如下图所示。

在这里插入图片描述

6.2 在电机运行过程中,在 “Target Speed RPM” 选框输入转速参考值,同时在 “Duration” 选框输入斜坡时间,在 plot1 绘图框观察实时显示的 速度参考值 SPEED_REF、速度测量值 SPEED_MEAS 的运行曲线。

如下图所示,斜坡时间(Duration)主要影响转速参考值的变化时间,相应地也会影响速度参考值变化时的速度测量值的超调量。

在这里插入图片描述

  1. 调节速度环控制器参数

在 ST Motor Pilot 中,用户可以调整速度环、力矩环、磁链环的 PI 控制器参数。

  • 在 ST Motor Pilot 左下方点击 “Advanced Configuration”,打开右侧的状态栏。
  • 状态栏选择 Currents_Speed 状态,显示速度环 PI 控制器(Speed PI regulator)的参数 Kp、Ki。
  • 本项目中 Kp 默认值为 2730,将其修改为 300,Ki 默认值为 562 不变。

点击 “Start” 启动电机。在 plot1 绘图框观察实时显示的 速度参考值 SPEED_REF、速度测量值 SPEED_MEAS 的运行曲线,如下图所示。

减小 Kp 后,速度环的超调量较大。相应地,电流过冲大,容易触发过流保护。由此,速度环 控制器参数,对于电机的运行非常重要。下节将简单介绍速度环参数整定的基本原则和方法。

在这里插入图片描述
减小 Kp,超调量较大。电流过冲大,容易过流保护。

  1. 故障显示与处理

当电机运行发生故障保护时,自动停止运行,并在状态栏显示故障状态,如下图所示。

在这里插入图片描述

如果故障可以自动恢复,点击状态栏 “Ack Faults” 按钮可以使故障复位,进入空闲状态 “IDLE”。如果故障不能自动恢复,则需要断电重启。


4. 速度环控制器

本节是对电机控制速度环和参数整定的介绍。

4.1 电流环 PI 控制器

电流闭环控制,可以精确的控制电机的 Id、Iq 电流值。

电流环的主要作用是在电机启动过程中能够以最大的电流启动,同时对电网电压的波动起及时抗扰的作用,加快动态系统的响应速度,提高系统的稳定性。

在这里插入图片描述


4.2 速度电流双闭环 PI 控制器

实际应用通常期望控制电机以设定的转速变化,仅靠电流闭环不能实现。需要加入转速闭环,实现对转速的控制。转速控制器的输出为电流控制器的给定,转速控制器的输出要进行限幅,因为转速控制器的输出限幅值决定了所用电机的最大允许电流。

速度控制系统的拓扑结构,是速度外环、电流内环的双闭环控制系统,如下图所示。

在这里插入图片描述

增加𝐾𝑖对电机控制系统的影响与增加弹簧常数相似。系统的阻尼由⻓𝑝增益控制。增加阻尼将减少振荡。


### 4.3 电流环路带宽

电流回路带宽过高会导致电机承受过度的压力,因为高频电流瞬变和噪声会转化为高频扭矩瞬变和噪音。电流环路带宽还有另一个限制:采样频率。

在模拟系统中,电机反馈信号的任何变化都会立即开始对输出控制电压产生影响。但是,使用如图所示的数字控制系统,在PWM周期开始时通过ADC对电机信号进行采样,执行控制计算,并将得到的控制电压存入双缓冲PWM寄存器。这些值在PWM寄存器中处于未使用状态,直到它们在下一个PWM周期开始时被时钟记录到PWM输出。

在这里插入图片描述

由于电流控制器处理的带宽比速度回路高,因此通常是电流回路受 PWM 模块的 SH 效应影响最大。由于PWM 模块 SH与电流回路的信号路径串联,其幅度和相位贡献直接增加了电流控制器的开环响应。

在大多数设计中,可以保留 K p s 2 π L \frac{K_p^s}{2\pi L} 2πLKps至少比采样频率低一个数量级。利用这一假设以及速度环调谐过程的约束,可以编写一个通用的“经验法则”表达式:

10 L δ τ < K p s < 2 π L 10 T s \frac{10 L}{\delta \tau} < K_p^s < \frac{2 \pi L}{10 T_s} δτ10L<Kps<10Ts2πL


参考资料:

  1. P-NUCLEO-IHM03 STM32电机控制套件
  2. UM2505 - STM32G4 Nucleo-64 boards (MB1367), STMicroelectronics/意法半导体, 2021
  3. UM2538 - STM32 motor-control pack using the FOC algorithm for three-phase, low-voltage, and low‑current motor evaluationl, STMicroelectronics/意法半导体, 2023
  4. UM3027 - How to use STM32 motor-control SDK v6.0 workbenc, STMicroelectronics/意法半导体, 2022
  5. 许少伦等,STM32G4入门与电机控制实战,电子工业出版社,2023

版权声明:
欢迎订阅youcans@qq 原创作品 【动手学电机驱动专栏】
转载必须标注原文链接:(https://blog.csdn.net/youcans/category_12645064.html)
Copyright@youcans 2024
Crated:2024-11

相关文章:

【动手学电机驱动】 STM32-FOC(7)基于 MCSDK6.0 控制与调试速度环

STM32-FOC&#xff08;1&#xff09;STM32 电机控制的软件开发环境 STM32-FOC&#xff08;2&#xff09;STM32 导入和创建项目 STM32-FOC&#xff08;3&#xff09;STM32 三路互补 PWM 输出 STM32-FOC&#xff08;4&#xff09;IHM03 电机控制套件介绍 STM32-FOC&#xff08;5&…...

无人机飞手考证,地面站培训技术详解

无人机飞手考证及地面站培训技术涉及多个关键方面&#xff0c;以下是对这些方面的详细解析&#xff1a; 一、无人机飞手考证流程与要求 1. 证书类型 民用无人机驾驶员证书&#xff1a;这是国家民航局颁发的无人机操作人员资质证书&#xff0c;分为视距内驾驶员、超视距驾驶员…...

音视频入门基础:MPEG2-TS专题(3)——TS Header简介

注&#xff1a;本文有部分内容引用了维基百科&#xff1a;https://zh.wikipedia.org/wiki/MPEG2-TS 一、引言 本文对MPEG2-TS格式的TS Header进行简介。 进行简介之前&#xff0c;请各位先下载MPEG2-TS的官方文档。ITU-T和ISO/IEC都分别提供MPEG2-TS的官方文档。但是ITU提供的…...

Sam Altman:年底将有重磅更新,但不是GPT-5!

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;专注于分享AI全维度知识&#xff0c;包括但不限于AI科普&#xff0c;AI工…...

基于物联网的智能超市快速结算系统

摘 要 当今社会的商品层出不穷&#xff0c;人们因为越来越多大型仓储超市的出现使得生活更加便利&#xff0c;但许多随之而来的新问题也给人们带来了许多的不便&#xff0c;例如商家一直被更换标签不及时、货物丢失、超市内物品更换处理不及时、超市内人流高峰期人流控制不得…...

241111.学习日志——[CSDIY] Cpp零基础速成 [00]

CSDIY&#xff1a;这是一个非科班学生的努力之路&#xff0c;从今天开始这个系列会长期更新&#xff0c;&#xff08;最好做到日更&#xff09;&#xff0c;我会慢慢把自己目前对CS的努力逐一上传&#xff0c;帮助那些和我一样有着梦想的玩家取得胜利&#xff01;&#xff01;&…...

湘潭大学软件工程算法设计与分析实验-模拟退火算法

文章目录 写在前面代码分析 写在前面 总共是要四份代码&#xff0c;好像都是实现背包问题&#xff0c;前面三个都比较简单直观&#xff0c;朋友上周在机房给我讲解了一下之后&#xff0c;我大概弄清楚了&#xff0c;这周好像是最后一次算法课了&#xff0c;所以明天我得把剩下…...

Three.js 零基础+概念理解

文章目录 一、Three.js基础概念&#xff08;一&#xff09;什么是Three.js&#xff08;二&#xff09;核心对象&#xff08;三&#xff09;几何体&#xff08;Geometries&#xff09;和材质&#xff08;Materials&#xff09; 二、基础实例应用&#xff08;一&#xff09;创建一…...

c#使用COM接口设置excel单元格宽高匹配图片,如何计算?

c#使用COM接口设置excel单元格宽高如何换算 在实际工作中&#xff0c;经常需要在excel中插入图片。并设置单元格与图片对齐。但是excel单元格的宽度和高度使用不同的单位。单元格的宽度以字符宽度为单位&#xff0c;而高度以点为单位。如果按照实际值来设置&#xff0c;例如设…...

Excel模板下载\数据导出

pom <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version> </dependency><build><resources><resource><!--将xlsx打包到jar--><director…...

Vite初始化Vue3+Typescrpt项目

初始化项目 安装 Vite 首先&#xff0c;确保你的 Node.js 版本 > 12.0.0。然后在命令行中运行以下命令来创建一个 Vite Vue 3 TypeScript 的项目模板&#xff1a; npm init vitelatest进入项目目录 创建完成后&#xff0c;进入项目目录&#xff1a; cd vue3-demo启动…...

深入剖析【C++继承】:单一继承与多重继承的策略与实践,解锁代码复用和多态的编程精髓,迈向高级C++编程之旅

​​​​​​​ &#x1f31f;个人主页&#xff1a;落叶 &#x1f31f;当前专栏: C专栏 目录 继承的概念及定义 继承的概念 继承定义 定义格式 继承基类成员访问⽅式的变化 继承类模板 基类和派⽣类间的转换 继承中的作⽤域 隐藏规则 成员函数的隐藏 考察继承【作⽤…...

地级市能源消耗数据(2006至2021)含原始数据、计算过程、计算结果-最新出炉

能源消耗数据分析-2006-2021年地级市能源消耗数据&#xff08;原始数据计算过程结果&#xff09; 下载链接-点它&#x1f449;&#x1f449;&#x1f449;&#xff1a;https://download.csdn.net/download/qq_67479387/89911272 全国能源消耗概况 2021年&#xff0c;我国单位…...

MySQL技巧之跨服务器数据查询:基础篇-A数据库与B数据库查询合并

MySQL技巧之跨服务器数据查询&#xff1a;基础篇-A数据库与B数据库查询合并 上一篇已经描述&#xff1a;借用微软的SQL Server ODBC 即可实现MySQL跨服务器间的数据查询。 而且还介绍了如何获得一个在MS SQL Server 可以连接指定实例的MySQL数据库的链接名: MY_ODBC_MYSQL 以…...

AutoSAR CP DoIP规范导读

主要功能和用途 诊断通信协议实现 遵循标准&#xff1a;遵循ISO 13400 - 2标准&#xff0c;实现了诊断通信在IP网络上的传输协议和网络层服务&#xff0c;包括数据封装、传输、路由等功能。 多种消息支持 车辆识别与公告&#xff1a;能够进行车辆识别请求和响应&#xff0c;…...

Window下PHP安装最新sg11(php5.3-php8.3)

链接: https://pan.baidu.com/s/10yyqTJdwH_oQJnQtWcwIeA 提取码: qz8y 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 (链接失效联系L88467872) 1.下载后解压文件&#xff0c;将对应版本的ixed.xx.win文件放进php对应的ext目录下&#xff0c;如图所示 2.修改ph…...

2024华为OD机试真题---中文分词模拟器

华为OD机试中的中文分词模拟器题目&#xff0c;通常要求考生对给定的不包含空格的字符串进行精确分词。这个字符串仅包含英文小写字母及英文标点符号&#xff08;如逗号、分号、句号等&#xff09;&#xff0c;同时会提供一个词库作为分词依据。以下是对这类题目的详细解析 一…...

Kubernetes网络揭秘:从DNS到核心概念,一站式综述

文章目录 一.overlay vs underlayL2 underlayL3 underlay 二、calico vs flannel2.1 calico架构2.2 flannel架构 三、iptables四、Vxlan五、kubernetes网络架构综述六、DNS七、Kubernetes域名解析策略 一.overlay vs underlay overlay网络是在传统网络上虚拟出一个虚拟网络&am…...

C#封装EPPlus库为Excel导出工具

1&#xff0c;添加NUGet包 2&#xff0c;封装工具类 using OfficeOpenXml; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Reflection;namespace GMWPF.utils {public class ExcelUtil<T>{/// <summary>///…...

【LeetCode】【算法】461. 汉明距离

LeetCode 461. 汉明距离 题目描述 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数 x 和 y&#xff0c;计算并返回它们之间的汉明距离。 思路 思路&#xff1a;将两个数转成二进制后求异或结果&#xff0c;就是它们之间的汉明距离。…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

Python实现简单音频数据压缩与解压算法

Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中&#xff0c;压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言&#xff0c;提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...

解析两阶段提交与三阶段提交的核心差异及MySQL实现方案

引言 在分布式系统的事务处理中&#xff0c;如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议&#xff08;2PC&#xff09;通过准备阶段与提交阶段的协调机制&#xff0c;以同步决策模式确保事务原子性。其改进版本三阶段提交协议&#xff08;3PC&#xf…...