SimpleFOC之ESP32(十)

您所在的位置:网站首页 无刷电机如何提高扭矩 SimpleFOC之ESP32(十)

SimpleFOC之ESP32(十)

2024-07-15 08:37| 来源: 网络整理| 查看: 265

目录 说明一、ESP-NOP1.1、简介1.2、硬件准备1.3、代码演示1.3.1、官方示例1.3.2、代码改进简化 二、力矩反馈2.1、Dagor项目介绍2.2、ESP32drive的力矩反馈2.2.1、硬件准备2.2.2、修改代码2.2.3、根据串口输出调试2.2.4、观察电机运行2.2.5、实际应用2.2.6、调试总结 三、ESP32drive-Double的力矩反馈3.1、一个驱动器两个电机3.1.1、硬件准备3.1.2、代码演示3.1.3、串口查看3.2.4、观察电机运行 3.2、两个驱动器四个电机3.2.1、硬件准备3.2.2、代码演示3.2.3、串口查看3.2.4、观察电机运行   SimpleFOC教程目录:请点击  

说明

一 开始并没打算做ESP32的产品和教程,在B站无意中看到了老外的触觉控制(Haptic Control),觉得非常炫酷,甚是心动。仔细研究了Dagor这个项目,国内貌似没有销售这个产品(2021年8月份),板子上用的TI芯片正缺货,我就想能不能用分立元件搭建电路,实现同样的功能,凭借十几年的经验我觉得应该可以拿下。过程还算顺利,两个月做了四版PCB,实现了Dagor的全部功能。这个产品借鉴了老外的创意,参考了老外的代码,只能算半个原创吧! 在这里插入图片描述

Haptic Control,这个术语我专门百度翻译了下,触觉控制,但是大家都叫力矩反馈,只好随大流了。

ESP32drive这个产品目前最大的问题是没有应用场景,不知道这个产品能做什么用。工业环境下CAN或者485似乎更可靠,为什么要用无线通信呢。而我之所以要做这个技术完全是被esp-now的触觉控制所吸引,这么炫酷的技术肯定有它的价值,大概现在是超前市场了。

有一种传言,说国内的芯片都是找的国外研发机构设计的,国外设计好国内直接拿去生产,最典型的就是近两年突然冒出的很多可以兼容STM32F103的芯片。当然这不是本文要讨论的,我想说的是ESP32这个芯片会不会也是这种模式。《SimpleFOC之ESP32(二)—— 开环控制》文中 修改底层代码 一节,描述了一个问题,这个问题并不重要,重要的是创作者在这里放了一个网址:https://github.com/espressif/esp-idf/issues/5429,打开网址,描述了一个问题,大胆揣测,可以脑补出事件过程:国外专业研发机构设计的这个芯片,其中包含有MCPWM功能,但这个功能并没受到ESP的重视,因为当前的主要应用场景是物联网,网络通信是重点。研发部工程师(可能是一个211或985刚毕业的研究生 )根据功能写底层驱动,因为领导不太重视MCPWM这个功能,所以驱动写好以后简单测试下就上传了,工程师没多久也辞职了。不久老外发现了这个问题,厂家给解决了,但解决的并不利索,我编译的时候又遇到了问题。

对问题细节的推敲很好的解释了我的疑惑,为什么我做了这个产品却不知道能做什么用,因为ESP的厂家也不知道它能做什么用,芯片是老外设计的,老外知道做什么用,但是用法还没传到国内。   在这里插入图片描述在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

一、ESP-NOP 1.1、简介 ESP-NOW 是由乐鑫开发的另一款协议,可以使多个设备在没有或不使用 Wi-Fi 的情况下进行通信。这种协议类似常见于无线鼠标中的低功耗 2.4GHz 无线连接——设备在进行通信之前要进行配对。配对之后,设备之间的连接是持续的、点对点的,并且不需要握手协议,ESP-NOW可以是一对一双向通信,也可以是多设备两两通信,   1.2、硬件准备

因为是通信,所以至少2个设备, 在这里插入图片描述 或者 在这里插入图片描述

1.3、代码演示 1.3.1、官方示例

在这里插入图片描述

官方示例Master和Slave,刚好可以2个设备做验证,请注意,示例中专门做了说明,esp-now是没有主次概念的,这样命名只是为了更好的理解设置,代码中有一点小问题,通道不一致是不能通信的,下图 在这里插入图片描述  观察串口打印 在这里插入图片描述   1.3.2、代码改进简化 官方示例的功能很强大,不需要事先知道对方的MAC就可以连接,当然这也导致了代码看起来有点复杂,稍微做了点改进,用最简洁的代码实现ESP-NOW,前提是需要事先知道对方的MAC, //读取本机MAC #include void setup() { Serial.begin(115200); WiFi.mode(WIFI_MODE_STA); Serial.print("ESP32 Board MAC Address: "); Serial.println(WiFi.macAddress()); //打印本机MAC pinMode(2, OUTPUT); } void loop() { digitalWrite(2, HIGH); //turn on delay(500); digitalWrite(2, LOW); //turn off delay(500); }

把读取的MAC填入下图数组中,上传代码时选择对方的MAC 在这里插入图片描述  观察串口打印 在这里插入图片描述   二、力矩反馈 2.1、Dagor项目介绍 SimpleFOC的官网提到了Dagor(应该是个人名), 在这里插入图片描述  点进去到github,提供源码下载, 在这里插入图片描述  github上又提到了dagor的官网,点进去, 在这里插入图片描述Dagor提供代码下载,但是没有PCB或者原理图,我也没有找到详细的电机调试过程。  B站上老外的演示视频,请点击: 触觉无刷控制演示   2.2、ESP32drive的力矩反馈 本节可以参考SimpleFOC移植STM32(六)—— 双电机控制和力矩反馈,两篇文章可以互为参考,调试的结果一定要符合以下两个目标: 1、两个电机一个转动,另一个跟随,停止转动,另一个也停止,能够自稳。 2、拆掉一个电机,只接入任一个电机能够自稳。   2.2.1、硬件准备 调试阶段仍然需要串口,程序中有角度的输出,可以查看两个电机的角度,方便调试, 在这里插入图片描述

ESP32drive 购买链接:https://item.taobao.com/item.htm?ft=t&id=662591519566,图锐科技 电机 购买链接:https://item.taobao.com/item.htm?ft=t&id=643573104607,图锐科技  

2.2.2、修改代码 两个相同的电机用同一个代码,只需要修改MAC, 在这里插入图片描述  如果是不同的电机,除了修改MAC,还需要设置电机参数。此处不再赘述,如有不清楚请先学习之前的教程。 在这里插入图片描述   2.2.3、根据串口输出调试 输出的角度分别为thismotor和thatmotor,也就是本机的角度和对方的角度,角度值一定是要趋近的,在这里插入图片描述   2.2.4、观察电机运行

在这里插入图片描述

2.2.5、实际应用 ESP32drive带负载的演示,请点击:B站视频 在这里插入图片描述   2.2.6、调试总结

力矩反馈的代码已于20221115升级,代码更加简洁,调试更加容易。

在这里插入图片描述

三、ESP32drive-Double的力矩反馈 3.1、一个驱动器两个电机

这个功能与SimpleMotor类似,不需要无线通信

3.1.1、硬件准备 调试阶段仍需要接上串口查看电机的角度,方便调试 在这里插入图片描述

ESP32drive 购买链接:https://item.taobao.com/item.htm?ft=t&id=662591519566,图锐科技 电机 购买链接:https://item.taobao.com/item.htm?ft=t&id=643573104607,图锐科技  

3.1.2、代码演示 代码在双电机控制的基础上修改, 在这里插入图片描述   3.1.3、串口查看

在这里插入图片描述

3.2.4、观察电机运行

在这里插入图片描述

3.2、两个驱动器四个电机 3.2.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、代码演示 两个驱动器用同一个代码,需要修改MAC,其它电机的参数根据实际所用电机修改,此处不再赘述,如有不清楚请先学习之前的教程, 在这里插入图片描述   3.2.3、串口查看

在这里插入图片描述 在这里插入图片描述

3.2.4、观察电机运行

在这里插入图片描述     (完)     欢迎加入simpleFOC技术交流:923734429 (入群申请写:CSDN)     请继续阅读相关文章: 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 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3