电机控制个人学习路线及专业书籍资源分享

作者在2023年学习电机控制时,调整了学习策略,从抽象理论转向《现代电机控制技术》和《现代永磁同步电机控制原理》等书籍,并通过Matlab仿真和STM32实践,分享了矢量控制、BLDC速度控制等内容。学习过程中强调问题导向和自我适应的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        本人于2023年11月份开始学习电机控制领域的理论知识,下面这些是本人前期搜集整理的学习路线,分为理论和实践两个环节。

        前面两个月在硬啃《电机学》、《电力电子技术》,发现知识十分抽象、公式也难理解,后面调整思路,开始学习《现代电机控制技术》和《现代永磁同步电机控制原理及MATLAB仿真》 两本书,这两本书对于电机学理论知识的讲解较少,但对于电机控制学习已经足够,在学习这两本书的同时,一方面复现书上的案例,一方面发现遗漏的理论知识再回去补充。现在对于矢量控制策略已经了解的大框架,后面再逐步把框架内的小内容学习起来,目前已经学习完和实现的内容有:

1.矢量控制仿真模型搭建,开环、闭环均已实现;2.基于STM32对BLDC的速度开环控制。

        没有按照原定的学习路线进行学习,而是先把主干走通,再哪里不懂学哪里,可能基础不是那么的牢固、需要定期回来复习,但是学习到的所有新知识点都是带着问题有意识的输入,这种方法更适合自己。借用老叶的话:不要担心自己学习方法和别人不同而觉得自己是异类,每个人都是异类。

        也将自己用到的专业书电子档给大家分享出来,需要自取!

一、理论

        主要包括电机本体和控制策略(控制算法)理论知识补充

        1.电机原理

       (1) 汤蕴璆《电机学》

        2.控制策略

        (1)王成元《现代电机控制技术》

        (2)袁雷《现代永磁同步电机控制原理及MATLAB仿真》

       (3)陈伯时《电力拖动自动控制系统-运动控制系统》

        (4)赵子良的《电机与拖动技术基础》

        (5)胡寿松《自动控制原理》

        3.电力电子

        (1)王兆安《电力电子技术》

        4.综合系统

        (1)蒋栋《电力电子变换器的先进脉宽调制技术》

       (2)Seng-Ki Sul《电机传动系统控制》

二、实践

       1.DSP28335/STM32:

        基本外设使用:中断、时钟、定时、GPIO、SPI、IIC、SCI、EPWM、ADC、EQEP

        2.硬件设计

        3.Simulink仿真

           4.FOC驱动程序实操

三、专业书链接

专业书包括这些:

链接:https://pan.baidu.com/s/1V2QktxXEa46x-Cnsfx5iUQ?pwd=psl5
提取码:psl5

### ESP32 IDF 连接 WiFi 的示例代码及配置方法 以下是基于 ESP-IDF 使用 Wi-Fi Station 模式连接到路由器的完整流程和代码实现。 #### 配置环境 在使用 ESP-IDF 开发前,需完成以下准备工作: - 安装并配置好 ESP-IDF 工具链。 - 设置项目所需的 SDK 配置参数,例如启用 Wi-Fi 功能。 可以通过 `menuconfig` 菜单设置 Wi-Fi 相关选项。进入菜单后导航至 **Component config -> Wi-Fi** 并确认启用了必要的功能[^1]。 --- #### 示例代码 下面是一个完整的示例程序,展示如何通过 ESP-IDFESP32 设备作为 Station 模式连接到指定的 Wi-Fi 网络: ```c #include <stdio.h> #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "esp_system.h" #include "esp_wifi.h" #include "esp_event.h" #include "nvs_flash.h" static const char *TAG = "WIFI_STA"; // Wi-Fi 凭证 #define WIFI_SSID "YourSSID" // 替换为您的Wi-Fi SSID #define WIFI_PASSWORD "YourPassword" // 替换为您的Wi-Fi密码 void event_handler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) { if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_START) { printf("Starting connection...\n"); esp_wifi_connect(); } else if (event_base == IP_EVENT && event_id == IP_EVENT_STA_GOT_IP) { ip_event_got_ip_t* event = (ip_event_got_ip_t*) event_data; printf("Connected with IP Address: %s\n", inet_ntoa(event->ip_info.ip)); } else if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_DISCONNECTED) { printf("Disconnected from AP, retrying...\n"); esp_wifi_connect(); } } void wifi_init_sta() { // 初始化 NVS 存储 esp_err_t ret = nvs_flash_init(); if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) { ESP_ERROR_CHECK(nvs_flash_erase()); ret = nvs_flash_init(); } // 启动事件循环库 ESP_ERROR_CHECK(esp_netif_init()); // 创建默认的 Wi-Fi netif 接口 esp_netif_create_default_wifi_sta(); // 初始化 TCP/IP 堆栈中的事件处理机制 ESP_ERROR_CHECK(esp_event_loop_create_default()); // 注册事件处理器 ESP_ERROR_CHECK(esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL)); ESP_ERROR_CHECK(esp_event_handler_register(IP_EVENT, IP_EVENT_STA_GOT_IP, &event_handler, NULL)); // 配置 Wi-Fi 参数 wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); ESP_ERROR_CHECK(esp_wifi_init(&cfg)); // 设置工作模式为 station ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA)); // 配置 Wi-Fi STA 参数 wifi_config_t wifi_config = { .sta = { .ssid = WIFI_SSID, .password = WIFI_PASSWORD, }, }; ESP_LOGI(TAG, "Setting Wi-Fi configuration..."); ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config)); // 启动 Wi-Fi ESP_ERROR_CHECK(esp_wifi_start()); } void app_main() { // 初始化 Wi-Fi wifi_init_sta(); } ``` 上述代码实现了以下功能: 1. 初始化 NVS 和网卡接口。 2. 注册事件回调函数用于监听 Wi-Fi 状态变化。 3. 配置 Wi-Fi 凭据并通过 API 发起连接请求。 4. 处理连接成功后的 IP 地址分配以及断线重连逻辑[^2]。 --- #### 关键点解析 1. **NVS Flash 初始化** - 在调用任何 Wi-Fi 或蓝牙相关函数之前,必须先初始化 NVS(Non-Volatile Storage)。这一步骤存储了设备的一些持久化数据,如 MAC 地址等。 2. **Netif 接口创建** - 使用 `esp_netif_create_default_wifi_sta()` 方法可以快速创建一个默认的 Wi-Fi Station Netif 实例。 3. **事件注册** - 利用 `esp_event_handler_register` 可以为特定类型的事件绑定自定义回调函数。这里主要关注的是 Wi-Fi 断开、IP 获取成功等情况下的行为控制。 4. **Wi-Fi 配置结构体** - `wifi_config_t` 是核心的数据结构之一,包含了接入点的身份验证信息和其他必要字段。将其传递给 `esp_wifi_set_config` 来应用这些设定值。 5. **错误检测与日志记录** - 对于每一步操作都应加入状态检查语句 (`ESP_ERROR_CHECK`) ,以便及时发现潜在问题;同时借助 `printf` 输出调试消息辅助分析运行状况。 --- #### 注意事项 - 如果目标网络受到 WPA/WPA2 加密保护,则务必提供正确的密码字符串长度匹配加密算法需求。 - 主机名可通过 `esp_netif_set_hostname` 自定义设置,在某些场景下有助于识别多个客户端身份。 - 当尝试重新关联失败次数过多时可能触发看门狗超时异常,请合理调整时间间隔或者增加额外防护措施防止死锁现象发生。 ---
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值