赞
踩
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会成为单片机多极化发展中的一极,我看好这个芯片!
所谓搭建编译环境,就是在Arduino中添加ESP32的库文件和编译器,
你可以按照下面的步骤自己搭建,也可以直接下载本人搭建好的安装包。20220524
SimpleFOC v2.2.2 和 Arduino-1.8.19+STM32开发环境+ESP32开发环境:
链接: https://pan.baidu.com/s/1xT8sMJKPw3QdRs03gPPpUg
提取码: dayk
ESP32的开发环境搭建网上有很多种,为保持文章的完整性,简单说明。
Arduino IDE下载地址:https://www.arduino.cc/en/software
此软件免安装,下载的文件,放到不包含中文路径的文件夹中,解压后双击图标 打开软件,如果打开失败,可能是需要安装JDK,请先安装Java的JDK。
◆ 2.3.1、下载库文件
◆ 2.3.2、安装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文件夹中,
三个文件的下载路径如下:
python的安装方法也顺便说下吧,或许能用上。如果编译器已经安装好了可以不用安装python。
重新打开Arduino IDE,选择ESP32-DevKitC开发板,
开发板确定后其它参数默认,如下图,
串口选择需要先把开发板接入USB才能识别出来,暂时先不处理,
ESP32的开发环境搭建完毕。
提供两种方案:ESP32-DevKitC方案或者ESP32drive方案,二选一,都可以实现本节实验。
◆ 3.1.1、准备清单
序号 | 名称 | 数量 |
---|---|---|
1 | ESP32-DevKitC | 1 |
2 | USB转串口 | 1 |
◆ 3.1.2、硬件连接
◆ 3.2.1、准备清单
序号 | 名称 | 数量 |
---|---|---|
1 | ESP32drive | 1 |
2 | USB转串口 | 1 |
3 | 12V电源 | 1 |
ESP32drive 购买链接:https://item.taobao.com/item.htm?ft=t&id=662591519566,图锐科技
电机 购买链接:https://item.taobao.com/item.htm?ft=t&id=643573104607,图锐科技
◆ 3.2.2、硬件连接
USB转串口和ESP32drive的连接,只需接三根线,
GND——GND
RXD——TXD
TXD——RXD
◆ 3.3.1、打开示例
◆ 3.3.2、修改代码
硬件上,LED对应的引脚为GPIO2,高电平亮,低电平灭,
◆ 3.3.3、选择配置
如果USB转串口接入电脑后不能识别,需要先安装驱动,本节实验所用USB转串口芯片为CH340。
◆ 3.3.4、编译下载
调试时会发现串口初始化和断电都有信息打印,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和力矩反馈
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。