让 ESP32-S3 程序带动一台虚拟电机
ESP32-S3 单电机例子已经能在电脑上读反馈、调整输出,也能暂停和单步查看。记录一下现在能做什么,以及接下来还要补什么。
做电机控制时,有些问题光看代码不太容易发现。反馈方向有没有接反,输出是不是一直顶在上限,往往要接上板子和电机才能看出来。我们在做 ESP32-S3 仿真,就是想把这类问题提前放到电脑上看。
最近,在 Botdraft 里跑通了一个单电机例子。面向 ESP32-S3 编译的控制程序已经能从项目界面运行:程序输出交给电机模型,模型的运动经过模拟编码器返回程序,再由程序决定下一步怎么控制。Botdraft 还是暂名。

目前跑通的是这个单电机例子。图为示意,不是产品截图。
现在可以怎么用
这个例子已经可以开始、暂停、单步和继续运行。暂停后,模型也停在同一时刻;往前走一步,程序读反馈、调整输出,界面里的电机姿态跟着计算结果更新。这样就能停下来看看某一步发生了什么,再继续往下走。
我们想先用它帮助调试控制程序:输出发出去了,模型有没有按预期变化?程序读到反馈后,又做了什么?这些是接上实物之前,希望能先看清楚的问题。
程序读到的反馈来自模型计算。
接下来还要补什么
现在只跑通了这个单电机例子,还不能随便拿一个 ESP32-S3 固件放进来运行。片上外设要继续补,整块开发板的电路也没有完整模拟。
电机模型用的还是测试参数,还没有拿实物对照过,不能据此判断某款真实电机的表现。仿真里的时间和电脑实际花的时间也不是一回事,运行速度还要继续优化。
接下来会继续做这个项目界面里的负载变化和反馈中断:加上负载后程序怎么响应,编码器不再更新时程序会怎么处理。这两部分在当前界面里还没跑完。外设模型和电机参数也会继续补,参数会结合能找到的厂商公开资料来核对。