首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

SimpleFOC之ESP32(一)—— 搭建开发环境

  • 23-09-28 03:42
  • 4111
  • 5269
blog.csdn.net

目录

  • 说明
  • 一、ESP32介绍
  • 二、Arduino IDE的ESP32开发环境搭建
    • 2.1、安装Arduino IDE
    • 2.2、安装SimpleFOC库
    • 2.3、安装ESP库文件
    • 2.5、安装Python
    • 2.6、选择ESP32开发板
  • 三、点亮LED
    • 3.1、ESP32-DevKitC方案
    • 3.2、ESP32drive方案
    • 3.3、示例演示
  • 四、系统打印

 
 
SimpleFOC教程目录:请点击
 

说明

    2016年春天的时候第一次接触ESP8266,用的ESP-12的模块,串口转wifi通信。本来是很简单的工作,串口发送数据完事,按照习惯看下手册,这一看把我绕晕了,它的与众不同的Xtensa内核,FreeRTOS系统和以开发应用的方式编程,简直就是单片机行业中的外星文明,再搭配超低的价格,深深的震撼了我。
  我学习了FreeRTOS,学习了Linux环境下的应用编程,并建议老板在这个芯片上多下点功夫,这个芯片以后一定会大放异彩,但是老板的兴趣显然不在这,没有了支持,我的学习也停留在,只能在ESP8266上做个点亮LED的小应用。
    2020年初因为公司业务发展学习了Python,发现ESP8266可以跑MicroPython,于是又拿出来曾经的模块演示一遍,这时候发现ESP的编程方式主要是在Arduino上,还有Lua和MicroPython这些新兴语言的支持。早期的ESP8266提供SDK API,Lubuntu安装包等,但目前的官方似乎已经不再强调这些,ESP中应用程序的开发已经完全软件化,这与STM32的keil编程方式大相径庭(当然keil的库函数和CubeMX也是软件化的一种体现)。
    硬件编程软件化是一个趋势,ESP会成为单片机多极化发展中的一极,我看好这个芯片!
 

一、ESP32介绍

  • ESP8266:乐鑫公司最早打出知名度的芯片,只有WIFI通信,32-bit LX6单核处理器,160MHz。
  • ESP32:有WIFI、BL4.2和BLE通信,32-bit LX6双核处理器,240MHz。
    在这里插入图片描述
  • 其它ESP32-S、ESP32-C系列为更高端的芯片,不做介绍。
  • ESP的芯片因为自带wifi和蓝牙,非专业人士设计电磁兼容有难度,所以原厂很体贴的把芯片电路设计好,以模块的方式对外出售,大大降低了普通开发者的使用难度。
  • ESP32官方提供三个系列的模块,分别是:
    • ESP32-SOLO 系列,低档,
    • ESP32-WROOM 系列,中档,
    • ESP32-WROVER 系列,高档,
    • 本系列教程以 ESP32-WROOM-32 模块为例。
      在这里插入图片描述
       
  • 官方不仅推出了ESP32的模块,还推出了最小系统板ESP32-DevKitC,
    在这里插入图片描述
     
  • 官方开发板上的USB转串口用的是CP2102,进口芯片价格偏高,市场上有很多改进版本采用国产芯片CH340,根据本人多年经验,国产同样好用。
    在这里插入图片描述
     

二、Arduino IDE的ESP32开发环境搭建

所谓搭建编译环境,就是在Arduino中添加ESP32的库文件和编译器,
你可以按照下面的步骤自己搭建,也可以直接下载本人搭建好的安装包。20220524
SimpleFOC v2.2.2 和 Arduino-1.8.19+STM32开发环境+ESP32开发环境:
链接: https://pan.baidu.com/s/1xT8sMJKPw3QdRs03gPPpUg
提取码: dayk

ESP32的开发环境搭建网上有很多种,为保持文章的完整性,简单说明。

2.1、安装Arduino IDE

Arduino IDE下载地址:https://www.arduino.cc/en/software
在这里插入图片描述
在这里插入图片描述
此软件免安装,下载的文件,放到不包含中文路径的文件夹中,解压后双击图标 打开软件,如果打开失败,可能是需要安装JDK,请先安装Java的JDK。
 

2.2、安装SimpleFOC库

  • 打开Arduino IDE,点击 工具—>管理库
    在这里插入图片描述
  • 在打开的小窗口中输入Simple FOC,选择最新版本,点击安装。
    在这里插入图片描述
     

2.3、安装ESP库文件

◆ 2.3.1、下载库文件

  • https://github.com/espressif,下载arduino-esp32,
    在这里插入图片描述
  • 下载压缩包,
    在这里插入图片描述

◆ 2.3.2、安装ESP32库文件

  • 解压压缩包,并修改文件夹名字为esp32,找到Arduino IDE的安装路径,在hardware文件夹下新建espressif文件夹,把解压后的esp32文件夹移动到当前位置,路径及解压后的文件如下图,
    在这里插入图片描述

◆ 2.3.3、安装ESP32编译器

  • 上面安装的是ESP32的库文件和示例,下面还要再安装编译器。网上主流的教程是:先安装python,然后运行tools文件夹下的 get.exe。(运行get.exe就是启动get.py,这是个python文件,所以必须要安装python。)
    在这里插入图片描述

  • 本人操作时等了半个小时没反应,网上搜到一篇文章比较专业:https://www.jianshu.com/p/a8f3fc166b5d,

  • 简单的说,要下载的编译器就是三个文件,分别是xtensa-esp32-elf-gcc、esptool_py、mkspiffs,安装ESP32编译器的本质就是去github下载这三个文件放入当前的tools文件夹中,
    在这里插入图片描述

  • 三个文件的下载路径如下:

    • https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-win32.zip
    • https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-windows.zip
    • https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-win32.zip
    • 可以直接下载,这样就不用再安装python,也不用在黑窗口里等待。
      在这里插入图片描述
       

2.5、安装Python

  python的安装方法也顺便说下吧,或许能用上。如果编译器已经安装好了可以不用安装python。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
 

2.6、选择ESP32开发板

重新打开Arduino IDE,选择ESP32-DevKitC开发板,
在这里插入图片描述
 
开发板确定后其它参数默认,如下图,
串口选择需要先把开发板接入USB才能识别出来,暂时先不处理,
在这里插入图片描述
ESP32的开发环境搭建完毕。
 

三、点亮LED

提供两种方案:ESP32-DevKitC方案或者ESP32drive方案,二选一,都可以实现本节实验。

3.1、ESP32-DevKitC方案

◆ 3.1.1、准备清单

序号名称数量
1ESP32-DevKitC1
2USB转串口1

在这里插入图片描述
◆ 3.1.2、硬件连接
在这里插入图片描述
 

3.2、ESP32drive方案

◆ 3.2.1、准备清单

序号名称数量
1ESP32drive1
2USB转串口1
312V电源1

在这里插入图片描述
ESP32drive 购买链接:某宝购买
 
◆ 3.2.2、硬件连接
USB转串口和ESP32drive的连接,只需接三根线,
GND——GND
RXD——TXD
TXD——RXD
在这里插入图片描述
 

3.3、示例演示

◆ 3.3.1、打开示例
在这里插入图片描述

◆ 3.3.2、修改代码
硬件上,LED对应的引脚为GPIO2,高电平亮,低电平灭,
在这里插入图片描述

◆ 3.3.3、选择配置
如果USB转串口接入电脑后不能识别,需要先安装驱动,本节实验所用USB转串口芯片为CH340。
在这里插入图片描述

◆ 3.3.4、编译下载

  • 先验证代码,保证没有错误,
  • ESP32模块先进入下载模式:按住Boot键不松手,按下复位键并松开,进入下载模式(此时可以松开Boot键),
  • 点击“上传”,等待上传结束。
    在这里插入图片描述
    ◆ 3.3.5、观察运行
    上传完成后按复位键,LED每隔1秒闪烁。
     

四、系统打印

  • 调试时会发现串口初始化和断电都有信息打印,ESP32-DevKitC因为通过USB供电,上后电脑识别串口的时候已经打印信息,只有按复位键可以看到初始化信息;而拔掉USB线的断电方式同时也断开了串口连接 ,所以看不到断电打印。
    在这里插入图片描述

  • ESP32模块上电打印可以通过配置GPIO15的引脚电平取消,
    ESP32drive在电路上设计了下拉电阻,所以上电没有打印,如果需要可以拆掉对应电阻,位置如下图。在这里插入图片描述

  • 断电打印:Brownout detector was triggered,这个需要通过配置ESP32的内核程序才能关闭。

  • 需要说明的是,ESP32运行的是FreeRTOS系统,我们在Arduino中写的代码只是它的一个应用,并不能修改系统,修改系统比较复杂,新手先不用考虑。
     
     
    (完)
     
     
     
    请继续阅读相关文章:
    SimpleFOC之ESP32(一)—— 搭建开发环境
    SimpleFOC之ESP32(二)—— 开环控制
    SimpleFOC之ESP32(三)—— 闭环控制
    SimpleFOC之ESP32(四)—— 电流闭环控制Inline
    SimpleFOC之ESP32(五)—— 电流闭环控制Lowside
    SimpleFOC之ESP32(六)—— 双电机控制
    SimpleFOC之ESP32(七)—— 霍尔电机
    SimpleFOC之ESP32(八)—— ABZ编码器电机
    SimpleFOC之ESP32(九)—— WIFI、UDP和TCP
    SimpleFOC之ESP32(十)—— ESP-NOW和力矩反馈

注:本文转载自blog.csdn.net的loop222的文章"https://blog.csdn.net/loop222/article/details/120783085"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top