这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【Let'sdo|2026年第1期】【过程帖】静音步进电机控制实践 - MCU环

共1条 1/1 1 跳转至

【Let'sdo|2026年第1期】【过程帖】静音步进电机控制实践 - MCU环境搭建

菜鸟
2026-05-19 18:32:26     打赏

开发板介绍

本次所使用的开发板是FireBeetle 2 ESP32 P4,是一款基于ESP32-P4R32芯片设计的高性能微控制器(MCU)开发板,支持单精度FPU和 AI指令扩展,具有强大的AI处理能力。同时,开发板也拥有强大的图像处理能力,最高支持1080p@30fps图像采集和显示。开发板集成了ESP32-C6模组,扩展了WiFi和蓝牙功能。

开发板具有以下特性:

  • 双核RISC-V 360MHz + 单核RISC-V 40MHz处理器,提供强劲的计算能力

  • 支持单精度 FPU 和 AI 扩展,具有强大的边缘AI能力

  • 768KB L2MEM + 32MB PSRAM + 16MB FLASH,为数据、指令、代码提供高性能、大容量的存储

  • 板载MIPI-DSI接口,最高支持720p@88fps 或 1080p@30fps图像显示

  • 板载MIPI-CSI接口,最高支持720p@88fps 或 1080p@30fps图像采集

  • 集成ESP32-C6模组,支持WiFi6、Bluetooth 5通讯

  • 集成丰富易用的扩展接口:USB OTG 2.0高速、MIC、TF卡槽

整体参数是非常强大的,芯片具有360MHZ的主频,32MB的PSRAM等等,但是没有蓝牙、WIFI,需要外挂一个ESP32-C6。

image-202605181350360578ff5c345-0455-412e-a389-2b39b1be118d.png

开发环境

开发环境是在win系统上面,VS Code + ESP-IDF插件完成的。image-202605181337347538b1728ff-f1c6-4462-b2a2-59dc1408d7ae.png

在VS Code中集成了编译、烧录、打印等等功能,使用还是非常方便的,就是清除后全量编译速度有点慢,不知道是不是我电脑性能不太行。

在验证开发环境的时候踩了一个坑。提示如下信息:

A fatal error occurred: 'bootloader/bootloader.bin' requires chip revision in range [v3.1 - v3.99] (this chip is revision v1.3). Use the force argument to flash anyway.

信息还是很直观的,编译生成的 bootloader.bin 是为 ESP32-P4 v3.1 及以上版本 准备的,而手中的 FireBeetle 2 上的芯片是 ESP32-P4 v1.3,版本不匹配。

为什么还会出现硬件版本不匹配的情况?

于是查阅了ESP32-P4的时间节点:

时间节点关键进展

2023年9月官方首次公布 ESP32-P4 (RISC-V架构)
2023年12月芯片完成流片,开启客户登记
2025年中旬第三方核心板与开发板陆续上市
2026年上半年官方正式发布性能更强的 v3.x 版本

v3版本的硬件是今年上半年推出的,看内容还是更新了很多内容,具体的差异见:ESP32-P4 芯片版本 v3.x 使用指南 | 乐鑫科技文档

那应该修改下配置文件就行了,需要注意的时候CPU主频也得修改,硬件v3版本的是支持400MHz的,而手上的当前芯片版本为“revision v1.0”,主频配置为360MHz。

image-202605181402457977ec55377-e57d-43c0-ade0-31134ca30f3a.png

image-2026051814035101136a235dd-cf56-41e2-a1c2-e05c6134499b.png

点灯测试

创建一个空的ESP32-P4的项目工程文件夹

开发板上使用的是GPIO3作为一颗用户的LED,刚好用来测试环境和开发板搭建的有无问题

image-2026051814141178947ae2277-b3ec-4b76-8e7e-b73ede59caf1.png

初始化LED,然后就在while(1)中不断的翻转闪烁了

#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"

void LED_Init(void)
{
   gpio_config_t gpio_conf = {0};

   gpio_conf.pin_bit_mask = 1ull << GPIO_NUM_3;
   gpio_conf.mode = GPIO_MODE_OUTPUT;
   gpio_conf.pull_down_en = GPIO_PULLDOWN_DISABLE;
   gpio_conf.pull_up_en = GPIO_PULLUP_DISABLE;
   gpio_conf.intr_type = GPIO_INTR_DISABLE;
   gpio_config(&gpio_conf);
}

void app_main(void)
{
   LED_Init();

   while(1)
   {
        gpio_set_level(GPIO_NUM_3, 1);
        vTaskDelay(500);
        gpio_set_level(GPIO_NUM_3, 0);
        vTaskDelay(500);
   }
}





关键词: Let's do | 2026年第1期     静音步进电    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]