【动手学电机驱动】STM32-FOC(6)基于 IHM03 的无感方波控制

news2024/11/24 5:22:58

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(6)基于 IHM03 的无感方波控制

    • 1. 开发环境
    • 2. 硬件连接
    • 3. 无感方波电机控制
      • 3.1 配置电机控制包
      • 3.2 图形化配置
      • 3.3 代码编辑、编译与调试
    • 4. 电机参数设置

P-NUCLEO-IHM03 STM32电机控制套件,为三相、低压和低电流的 BLDC 或 PMSM 电机提供电机控制解决方案。此前我们已经学习了使用 IHM03 电机控制套件开发无感 FOC 电机控制程序的基础操作。
本节从 STM32 电机控制包配置开始,详细介绍使用 IHM03 电机控制套件开发无感方波电机控制程序的方法。


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)

2. 硬件连接

  1. X-NUCLEO-IHM16M1 电机驱动板必须通过位于两侧的 CN7 和 CN10 连接器插接到 NUCLEO-G431RB 控制板上, 堆叠如下图所示。
    NUCLEO-G431RB 板上的两个按钮(蓝色用户按钮B1和黑色重置按钮B2)必须保持未覆盖状态。

在这里插入图片描述

  1. 将三条电机线 U、V、W 连接到 X-NUCLEO-IHM16M1 电机驱动板上的 CN1连接器。

  2. 配置 NUCLEO-G431RB 控制板上的跳线:

  • 从 USB 为 NUCLEO-G431RB 供电时,要将JP5 的 5V-STLK 源设为 [1-2] 位置(跳线安装在 pin1、pin2 针脚);
  • JP8 的 VREF 设为 [1-1] 位置(跳线安装在 pin1、pin1 针脚);
  • JP6(IDD)设为 ON 状态(安装 2针跳线)。

在这里插入图片描述

  1. 配置控制板和驱动板的跳线,以选择所需的控制算法(如六步方波):
    NUCLEO-IHM16M1 电机驱动板的跳线设置:
  • J5 设为 ON 状态(安装 2针跳线);
  • J6 设为 ON 状态(安装 2针跳线);
    NUCLEO-G431RB 控制板的跳线设置:
  • JP4 和 JP7 设为 OFF 状态(不安装跳线);
  • J2 设为 [2-3] 位置(跳线安装在 pin2、pin3 针脚);
  • J3 设为 [1-2] 位置(跳线安装在 pin1、pin2 针脚)。

注意:更改控制模式之前,必须关闭电源电压。
在这里插入图片描述

  1. 将 12V/2A 直流电源连接到 NUCLEO-G431RB 控制板上的 CN1 连接端口(mini-USB),或连接到 X-NUCLEO-IHM16M1 电机驱动板上的 J4 连接器(电源插座),并通电(IHM03 套件中标配的云台电机的最大电压为12 VDC)。

3. 无感方波电机控制

3.1 配置电机控制包

  1. 打开 电机控制软件开发套件(Motor Control WorkBench),创建新项目。
    单击"New Project"按钮,弹出"New Project"对话框。
    在 “General Info” 菜单中进行设置:
    • 在 “Project name” 输入项目名称,例如 IHM03_02;
    • 在 “Num.Motors” 选择电机数量为 单电机:1 Motor;
    • 在 “Driving Algorithm” 选择驱动控制算法为 6步方波:6-Step;
    • 在 “Hardware Mode” 选择 Modular 模式。

在这里插入图片描述


  1. 进入 “Motors” 菜单,根据 IHM03 电机控制套件的配置,选择电机为 GimBal GBM2804H-100T。

在这里插入图片描述


  1. 进入 “Power board” 菜单,根据 IHM03 电机控制套件的配置,选择驱动板为 X-NUCLEO-IHM16M1 电机驱动板。

在这里插入图片描述


  1. 进入 “Control board” 菜单,根据 IHM03 电机控制套件的配置,选择控制板为 NUCLEO-G431RB 控制板。

在这里插入图片描述


  1. 完成项目配置后,点击窗口右下方 “>>OK” 按钮,就会自动生成一个电机控制项目,并显示项目视图如下。
    视图的内容取决于用户配置的电路板和电机的信息。
    如果用户的配置有错误(无效),则会弹出一个对话框,通知用户这些选择不允许创建项目,并要求用户修改配置。

在这里插入图片描述


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

在这里插入图片描述

完成电机参数修改后,点击 “>>OK” 确认,返回电机控制项目视图。如下图所示,此时 Motor 蓝色模块中的电机参数已经被修改为 “14.8Vdc/2.1Apk” 。

在这里插入图片描述

在这个界面,还可以对电机直接进行控制,具体使用方法将在以后的文章中介绍。


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

点击项目视图中的 “Speed Sensing” 蓝色模块,进入速度位置管理界面。

在 Main Sensor – Sensor Selection 选项中,选择 Sensorless - ADC,即采用无传感器(基于ADC 采样检测过零点)进行控制。

六步方波的驱动方式,就是在同一时刻只有两相绕组通电,一相输入、另一相输出、第三相悬空,以此类推换向 6步,分别是U+V-,U+W-,V+W-,V+U-,W+U-,W+V-。一个周期内每一相的导通时间保持120度的电角度。
当 BLDC 电机转动时,反电势过零点发生在浮空相。通过检测各相各相对地电压,并与直流母线电压对比。当端电压等于直流母线电压一半时,即发生过零事件。在基于ADC的过零点检测方案中,同时测量端电压与直流母线电压并进行对比,获得过零信号。
检测到过零发生并延迟30度,等待转子转过“死点”时进行换向,就能保证电机的持续运行。

在这里插入图片描述


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

注意选择的固件包的版本,如果没有安装相应版本的固件包,则会自动下载。

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

在这里插入图片描述


3.2 图形化配置

在 Motor Control WorkBench)中生成项目,点击 “RUN STM32CubeMX” 按键,打开 STM32CubeMX,如下图所示。

参考点灯实验程序,可以将PA5 管脚设置为 GPIO_Output——这与电机控制无关,只供参考。

在这里插入图片描述


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

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

在这里插入图片描述

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


3.3 代码编辑、编译与调试

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

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

在这里插入图片描述

  • 主程序 main.c

  /******************************************************************************
  * @file           : main.c
  * @brief          : Main program body
  ******************************************************************************/


  • 中断服务程序 tm32g4xx_it.c
  /******************************************************************************
  * @file    stm32g4xx_it.c
  * @brief   Interrupt Service Routines.
  ******************************************************************************/

  • 中断服务程序 stm32g4xx_mc_it.c,
  /******************************************************************************
  * @file    stm32g4xx_mc_it.c
  * @author  Motor Control SDK Team, ST Microelectronics
  * @brief   Main Interrupt Service Routines.
  *          This file provides exceptions handler and peripherals interrupt
  *          service routine related to Motor Control for the STM32G4 Family.
  ******************************************************************************/

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

  /* Infinite loop */
  while (1)
  {
    /* USER CODE BEGIN WHILE */
	HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);
	/* Insert delay 500 ms */
	HAL_Delay(500);
    /* USER CODE END WHILE */
  }

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

在这里插入图片描述

  1. 程序下载烧录到目标板
  • 点击工具栏中 “Debug” 按键,将程序下载烧录到目标板 NUCLEO-G431RB 。

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

STMicroelectronics ST-LINK GDB server. Version 7.8.0
Copyright (c) 2024, STMicroelectronics. All rights reserved.

Starting server with the following options:
        Persistent Mode            : Disabled
        Logging Level              : 1
        Listen Port Number         : 61234
        Status Refresh Delay       : 15s
        Verbose Mode               : Disabled
        SWD Debug                  : Enabled
        InitWhile                  : Enabled

Waiting for debugger connection...
Debugger connected
Waiting for debugger connection...
Debugger connected
Waiting for debugger connection...
      -------------------------------------------------------------------
                       STM32CubeProgrammer v2.17.0                  
      -------------------------------------------------------------------

Log output file:   C:\Users\huang\AppData\Local\Temp\STM32CubeProgrammer_a24036.log
ST-LINK SN  : 003E00363432511230343838
ST-LINK FW  : V3J15M7
Board       : NUCLEO-G431RB
Voltage     : 3.28V
SWD freq    : 8000 KHz
Connect mode: Under Reset
Reset mode  : Hardware reset
Device ID   : 0x468
Revision ID : Rev X
Device name : STM32G43x/G44x
Flash size  : 128 KBytes
Device type : MCU
Device CPU  : Cortex-M4
BL Version  : 0xD4

Memory Programming ...
Opening and parsing file: ST-LINK_GDB_server_a24036.srec
  File          : ST-LINK_GDB_server_a24036.srec
  Size          : 35.75 KB 
  Address       : 0x08000000 

Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 17]
Download in Progress:
File download complete
Time elapsed during download operation: 00:00:00.944

Verifying ...
Download verified successfully 

在这里插入图片描述

  1. 程序的运行与调试
  • 对照 2.1 检查 IHM03 套件硬件连接和电源连接。
  • 接通 12Vdc电源。
  • 点击工具栏中 “Resume” 按键 或 F8 快捷键,运行程序。
    • LED2 灯闪烁(如果加入闪灯程序)。
    • 按下蓝色按键 B1,电机开始运行。
    • 按下黑色按键 B2,电机停止运行。

实验结果如下:

在这里插入图片描述

至此,我们就完成了使用 IHM03 电机控制套件开发基本的无感方波电机控制程序。


4. 电机参数设置

我们更换另一种型号的直流电机 KJ230F,该电机的主要参数为:

  • 极对数:6
  • 电阻:3.4ohm
  • 电感:0.54mH

在这里插入图片描述

我们首先介绍 如何在程序中设置电机参数。

  1. 打开中断处理程序 stm32g4xx_mc_it.c,鼠标选中 “parameters_conversion.h” 后按 F3 按键打开;
/*   * @file    stm32g4xx_mc_it.c */
/* Includes ------------------------------------------------------------------*/
#include "mc_config.h"
#include "mc_type.h"
//cstat -MISRAC2012-Rule-3.1
#include "mc_tasks.h"
//cstat +MISRAC2012-Rule-3.1
#include "parameters_conversion.h"
  1. 打开包含文件 parameters_conversion.h,鼠标选中 “pmsm_motor_parameters.h” 后按 F3 按键打开;
/*     * @file    parameters_conversion.h */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef PARAMETERS_CONVERSION_H
#define PARAMETERS_CONVERSION_H

#include "mc_math.h"
#include "parameters_conversion_g4xx.h"
#include "pmsm_motor_parameters.h"
#include "drive_parameters.h"
#include "power_stage_parameters.h"
  1. 打开电机参数定义文件 pmsm_motor_parameters.h,找到其中的电机电气参数定义部分 “MOTOR ELECTRICAL PARAMETERS”,修改如下:
  • 将极对数 POLE_PAIR_NUM 修改为 6;
  • 将定子电阻 RS 修改为 3.4 (ohm);
  • 将定子电感 LS 修改为 0.00058 (H)。

修改后的程序如下。

  * @file    pmsm_motor_parameters.h
/*     * @file    parameters_conversion.h */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef PMSM_MOTOR_PARAMETERS_H
#define PMSM_MOTOR_PARAMETERS_H

/************************
 *** Motor Parameters ***
 ************************/

/***************** MOTOR ELECTRICAL PARAMETERS  ******************************/
#define POLE_PAIR_NUM           6 /* Number of motor pole pairs */
#define RS                      3.4 /* Stator resistance , ohm*/
#define LS                      0.00058 /* Stator inductance, H
                                                 For I-PMSM it is equal to Lq */
/* When using Id = 0, NOMINAL_CURRENT is utilized to saturate the output of the
   PID for speed regulation (i.e. reference torque).
   Transformation of real currents (A) into int16_t format must be done accordingly with
   formula:
   Phase current (int16_t 0-to-peak) = (Phase current (A 0-to-peak)* 32767 * Rshunt *
                                   *Amplifying network gain)/(MCU supply voltage/2)
*/

#define MOTOR_MAX_SPEED_RPM     1572 /*!< Maximum rated speed  */
#define MOTOR_VOLTAGE_CONSTANT  5.0 /*!< Volts RMS ph-ph /kRPM */
#define NOMINAL_CURRENT_A       2.160
  1. 重新编译程序,将程序下载烧录到目标板 NUCLEO-G431RB 。
  • 对照 2.1 检查 IHM03 套件硬件连接和电源连接。
  • 驱动板、控制板上电后:
    • LED2 灯闪烁(如果加入闪灯程序)。
    • 按下蓝色按键 B1,电机开始运行。
    • 按下黑色按键 B2,电机停止运行。

至此,我们就完成了对新电机的参数设置。
如果电机运行异常,例如噪音大,卡顿,则需要进一步调节控制环路的 PI 参数,对此将在后文介绍。
请添加图片描述


参考资料:

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


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

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

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

相关文章

CNN实现地铁短时客流预测

项目源码获取方式见文章末尾&#xff01; 600多个深度学习项目资料&#xff0c;快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【基于CNN-RNN的影像报告生成】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生成】 4.【CNN模型实现…

SDL打开YUV视频

文章目录 问题1&#xff1a;如何控制帧率&#xff1f;问题2&#xff1a;如何触发退出事件&#xff1f;问题3&#xff1a;如何实时调整视频窗口的大小问题4&#xff1a;YUV如何一次读取一帧的数据&#xff1f; 问题1&#xff1a;如何控制帧率&#xff1f; 单独用一个子线程给主线…

Linux 系统结构

Linux系统一般有4个主要部分&#xff1a;内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构&#xff0c;它们使得用户可以运行程序、管理文件并使用系统。 1. linux内核 内核是操作系统的核心&#xff0c;具有很多最基本功能&#xff0c;它…

使用vscode 连接linux进行开发

1. 在Vscode中安装扩展功能remote ssh 2. 打开命令窗口 3. 在弹出的命令窗口输入ssh&#xff0c;并从弹出的提示中选择 Add New SSH Host 4. 在弹出的输入窗口中输入类似下面形式的 连接地址&#xff1a; 5. 输入回车后出现下面的对话框&#xff0c;这个对话框是说你要用哪个…

【C++】 C++游戏设计---五子棋小游戏

1. 游戏介绍 一个简单的 C 五子棋小游戏 1.1 游戏规则&#xff1a; 双人轮流输入下入点坐标横竖撇捺先成五子连线者胜同一坐标点不允许重复输入 1.2 初始化与游戏界面 初始化界面 X 输入坐标后 O 输入坐标后 X 先达到胜出条件 2. 源代码 #include <iostream> #i…

计算机新手练级攻略——如何搜索问题

目录 计算机学生新手练级攻略——如何搜索问题1.明确搜索意图2.使用精确关键词3.使用专业引擎搜索4.利用好技术社区1. Stack Overflow2. GitHub3. IEEE Xplore4. DBLP 5.使用代码搜索工具1. GitHub 代码搜索2. Stack Overflow 代码搜索3. Papers with Code4. IEEE Xplore 6.查阅…

【MySQL】MySQL基础知识复习(下)

前言 上一篇博客介绍了MySQL的库操作&#xff0c;表操作以及CRUD。 【MySQL】MySQL基础知识复习&#xff08;上&#xff09;-CSDN博客 本篇将进一步介绍CRUD操作&#xff0c;尤其是查找操作 目录 一.数据库约束 1.约束类型 1.1NULL约束 1.2UNIQUE&#xff1a;唯一约束 …

从0开始学docker (每日更新 24-11-6)

限制容器运行的资源 限制容器的内存使用 容器的内存包括两部分&#xff1a;物理内存和交换空间&#xff08;swap&#xff09; 用户内存限制 -m,--memory&#xff1a;容器可用的最大内存&#xff0c;该值最低为4MB --memory-swap&#xff1a;允许容器置入磁盘交换空间的内存…

C++初阶——vector

一、什么是vector vector是表示可变大小的数组的序列容器&#xff0c;就像数组一样&#xff0c;vector也采用连续空间来存储元素。也就是说它的访问和数组一样高效&#xff0c;但是它的大小是动态可变的&#xff0c;并且它的大小会被容器自动处理。 二、vector的构造 常用的构…

GIT的基本使用与进阶

GIT的简单入门 一.什么是git&#xff1f; Git 是一个开源的分布式版本控制系统&#xff0c;用于跟踪文件更改、管理代码版本以及协作开发。它主要由 Linus Torvalds 于 2005 年创建&#xff0c;最初是为 Linux 内核开发而设计的。如今&#xff0c;Git 已经成为现代软件开发中…

CulturalBench :一个旨在评估大型语言模型在全球不同文化背景下知识掌握情况的基准测试数据集

2024-10-04&#xff0c;为了提升大型语言模型在不同文化背景下的实用性&#xff0c;华盛顿大学、艾伦人工智能研究所等机构联合创建了CulturalBench。这个数据集包含1,227个由人类编写和验证的问题&#xff0c;覆盖了包括被边缘化地区在内的45个全球区域。CulturalBench的推出&…

C语言中,“extern”关键字的含义与用法

在C语言中&#xff0c;extern 关键字用于声明一个已经在其他地方定义的变量或函数。它的主要作用是告诉编译器&#xff0c;某个变量或函数是在当前文件之外定义的&#xff0c;编译器应该在链接阶段找到这个变量或函数的实际定义。以下是 extern 的一些常见用途和用法&#xff1…

「Mac玩转仓颉内测版1」入门篇1 - Cangjie环境的搭建

本篇详细介绍在Mac系统上快速搭建Cangjie开发环境的步骤&#xff0c;涵盖VSCode的下载与安装、Cangjie插件的离线安装、工具链的配置及验证。通过这些步骤&#xff0c;确保开发环境配置完成&#xff0c;为Cangjie项目开发提供稳定的基础支持。 关键词 Cangjie开发环境搭建VSC…

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…

飞凌嵌入式FET527N-C核心板现已适配Android 13

飞凌嵌入式FET527N-C核心板现已成功适配Android13&#xff0c;新系统的支持能够为用户提供更优质的使用体验。那么&#xff0c;运行Android13系统的FET527N-C核心板具有哪些突出的优势呢&#xff1f; 1、性能与兼容性提升 飞凌嵌入式FET527N-C核心板搭载了全志T527系列高性能处…

破解仓库管理难题!库存管理流程详解

随着市场竞争加剧和客户需求不断提升&#xff0c;企业的仓库管理在日益复杂的供应链环境中面临诸多挑战。许多企业在仓库管理上仍停留在传统手工操作或基础的数字化管理阶段&#xff0c;这种方式容易导致库存信息不准确、管理效率低下、数据滞后等问题。 企业现状 当前&#…

电缆管道高效智能化管理:智能电缆管道可视化机器人

电缆管道高效智能化管理&#xff1a;智能电缆管道可视化机器人 电缆管道作为城市“生命线”的重要组成部分&#xff0c;其安全性和可靠性日益受到重视。然而&#xff0c;传统的人工巡检方式存在诸多不足&#xff0c;如巡检效率低下、安全隐患大、难以发现隐蔽故障等。 很多电力…

tomcat启动失败和缓存清理办法

tomcat只在学校接触过并且是在window xp和win7的电脑上配置过&#xff08;中途升级过电脑系统&#xff09;&#xff0c;只记得在windows系统上可以将其设置成服务管理。但我已毕业10多年了&#xff0c;学的知识早就不知道丢哪里了。这次为了修改一个07&#xff0c;08年的项目&a…

RDD 算子全面解析:从基础到进阶与面试要点

Spark 的介绍与搭建&#xff1a;从理论到实践_spark环境搭建-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交&#xff1a;本地与集群模式全解析-CSDN博客 Spark on YARN&#xff1a;Spark集群模式…

如何在CentOS 7上搭建SMB服务

如何在CentOS 7上搭建SMB服务 因项目测试需求&#xff0c;需要自行搭建SMB服务&#xff0c;**SMB&#xff08;Server Message Block&#xff09;**协议是一种常用的文件共享方式&#xff0c;它可以让不同操作系统之间共享文件、打印机等资源。本文将带你一步步搭建一个简单的S…