foc/v2
zrg 5cdd668232 发布V3版本-3205电机 2023-05-25 17:14:44 +08:00
..
main 发布V3版本-3205电机 2023-05-25 17:09:05 +08:00
BOM_SMT购买专用_莱洛三角V2.csv 更新V2 2022-03-15 18:21:02 +08:00
BOM_莱洛三角V2.csv 更新V2 2022-03-15 18:21:02 +08:00
README.md 发布V3版本-3205电机 2023-05-25 17:14:44 +08:00
ibom_莱洛三角形v2_焊接用.html 制作请点击对应的文件夹 2022-03-23 02:11:53 +08:00
淘宝购买.xlsx 发布V3版本-3205电机 2023-05-25 17:09:05 +08:00

README.md

自平衡莱洛三角形可充电版

介绍

在B站“基于LQR控制器的自平衡莱洛三角形” 基础上添加了充电模块 主控芯片使用ESP32并配置了调参上位机可以很方便的通过wifi无线调参。无刷控制使用灯哥开源FOC。制作出一个方便复刻的自平衡莱洛三角形在桌面上作为一个摆件还是非常不错的 展示视频

V1(图一)

V1

V2(图二)

V2

目前有两个版本

  • V1(图1)ESP32主控+L6234驱动+GB2204电机+CH340串口芯片+CS5095充电芯片
  • V2(图2)ESP32主控+EG2133+6mos驱动+2715电机+RGB+CM1010-A均衡芯片+CN3300充电芯片

推荐制作V2成功率高效果更好电机驱动芯片更便宜还有RGB

V1和V2**电路图以及代码**均在对应V1\V2文件夹(如需制作只要打开对应版本的文件夹即可里面有对应的README说明)

1 软件架构

自平衡控制为LQR算法输出期望速度,使动量轮加速运动从而控制三角形左右方向。并且代码的调参都可以通过连接ESP32的wifi调整。具体特性如下

  • 基于 Arduino:运行在 ESP32 Arduino 上
  • 自带测试模式:电压测试和速度测试,可以单独输出电压让电机转动,也可以设置指定速度让电机保持速度

Image text

2 硬件特性

说明 参数
莱洛三角形尺寸 100*100 mm
动量轮尺寸 80*80 mm
输入电压 3.7v锂电池*3
充电电压 5V 从Type-C口输入
主控芯片 ESP-WROOM-32
电机驱动 引脚:32, 33, 25
AS5600 编码器 SDA-23 SCL-5  芯片要离径向磁铁有 2mm以上高度
MPU6050六轴传感器 SDA-19 SCL-18

3 硬件设计

使用立创EDA绘制电路原理图LaserMaker绘制莱洛三角形和动量轮有激光切割机可以事先切割结构作为参考。将绘制完的图形导入到立创EDA中可作为PCB的外框。丝印图案分别是Gawr Guraouro kronii helicopter

LaserMaker绘制的plt在莱洛三角结构文件夹内,需要重新绘制电路图可以使用

感谢嘉立创的PCB制板使DIY电路制作变得非常便利PCB制作开源点击

4 Ctrl+C +V参考

Arduino上的控制算法是原作者的LQR无刷电机控制是灯哥开源FOC。电机控制引脚定义与传感器定义和灯哥开源FOC控制板2.0版一样。

EG2133无刷驱动为立创开源方案。

Python的GUI是以SimpleFOC的SimpleFOCStudio为基础添加wifi功能。

V1的充电电路是立创广场开源的CS5095充电方案。

V2的充电电路是在立创广场开源的《CN3300 4串电池组板》方案基础上改的3串锂电池

PCB以及原理图技术支持——muyan

wifi效果以及按键面修复代码作者——muyan

  1. 原作者基于LQR控制器的自平衡莱洛三角形BV19v411n7mN
  2. muyan 立创链接https://oshwhub.com/muyan2020?tab=project&page=1
  3. muyan git链接https://gitee.com/muyan3000
  4. EG2133驱动参考https://oshwhub.com/acmetech-lceda/minifoc
  5. 灯哥开源FOC https://gitee.com/ream_d/Deng-s-foc-controller
  6. CS5095充电芯片电路https://oshwhub.com/Aknice/cs5095e-san-jie-li-dian-chi-sheng-ya-chong-dian-dian-lu
  7. CN3300 4串电池组板https://oshwhub.com/583703056a/dian-chi-zu-ban_copy_copy
  8. Arduino-Esp32环境提供者https://github.com/kaliCYH

5 有用的地方

  1. Arduino的程序中的command.h、command.cpp可以支持任意的字符串输入。在其他项目中一样可以用无论是wifi接收到的字符串数据或者是串口的字符串数据。

  2. GUI上位机可以在其他wifi项目中可以继续使用用来调参还是很方便。

6 未解之谜

问题1在传感器读取当前角度pitch在0和360来回切换时候卡尔曼滤波值会慢慢变化得到的值无法反映正确的当前角度。导致有一个面无法摇摆平衡。已解决使用muyan的代码完美解决

问题2摇摆到平衡态时参数不太好时可能会摇摆过头或者一直左右摇摆不能到平衡态。就算调好参数也会偶尔发生摇摆过头现象。V2的2715电机可以让摇摆平衡的成功率提高到80%

7 交流Q群

45coll电子交流QQ群824113552

欢迎交流与沟通