自平衡的莱洛三角_esp32_可充电_10*10版本 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

标准版 自平衡的莱洛三角_esp32_可充电_10*10版本

  • 13.2w
  • 172
  • 940

简介:esp32作为主控,5V充3串锂电池,可实现摇摆自平衡。

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2021-09-28 09:21:48
更新时间: 2024-04-12 18:00:58
描述
# 自平衡莱洛三角形可充电版 #### 介绍 **在B站[“基于LQR控制器的自平衡莱洛三角形”](https://www.bilibili.com/video/BV19v411n7mN)基础上添加了充电模块** 主控芯片使用ESP32,并配置了调参上位机,可以很方便的通过wifi无线调参。无刷控制使用灯哥开源FOC。制作出一个方便复刻的自平衡莱洛三角形,在桌面上作为一个摆件还是非常不错的 [展示视频](https://www.bilibili.com/video/BV1b3411x7za) (2202/3/15更新V2,增加RGB,更换电机驱动,平衡效果更好,优化bom更方便下单)[v2链接](https://oshwhub.com/45coll/zi-ping-heng-di-lai-luo-san-jiao_10-10-ban-ben_copy) [项目git](https://gitee.com/coll45/foc)程序在git自行下载。需要购买的东西也在git的物料清单。(后续更新内容都在git, 项目说明请以git为准 ) ![show.png](//image.lceda.cn/pullimage/1J4tZDuFlAX6OghOG517rzjJLVC02wVeecQuaeBh.png) 左:使用灯哥开源FOC2.0板测试 中:13*13cm立创紫PCB 右:10*10cm最终版本 #### 1 软件架构 在原作者的自平衡控制**电压**算法上进行修改,将电压控制改为**速度**控制。使对模型的控制在物理上更加容易理解。并且代码的调参都可以通过连接ESP32的wifi调整。具体特性如下: * **基于 Arduino**:运行在 ESP32 Arduino 上 * **控制模式丰富**:电压控制和速度控制 ![gui_main.jpg](//image.lceda.cn/pullimage/BoDIUnMlXEqEZHmU2tt4aOFpfQmCmfriyFRuxqIN.png) #### 2 硬件特性 | 说明 | 参数 | | --- | --- | | 莱洛三角形尺寸 | 100*100 mm | | 动量轮尺寸 | 80*80 mm | | 电池*3 | 厚x长x宽:7.9mmx25mmx40mm | | 输入电压 | 3.7v锂电池*3 | | 充电电压 | 5V 从Type-C口输入 | | 充电芯片CS5095 | 5V输入,最大1.2A充电电流 | | 串口芯片CH340C | 需要打开开关才能下载 | | 主控芯片 | ESP-WROOM-32 | | 电机驱动芯片L6234PD | 引脚:32, 33, 25, 22; 22为enable | | AS5600 编码器 | SDA-23 SCL-5 | | MPU6050六轴传感器 | SDA-19 SCL-18 | #### 3 使用说明 1. 下载完[项目git](https://gitee.com/coll45/foc)所有文件后,打开arduino文件夹,解压arduino.7z完成之后双击运行esp32_package_1.0.6.exe安装esp32库环境。注意:若之前有安装过arduino,请将路径`C:\Users\用户名\AppData\Local\`的Arduino15文件夹和`此电脑\文档`内的Arduino 删除 (~~也可自行下载Arduino并安装SimpleFOC~~)(但是可能会版本不对电机不动) 2. 打开解压后的arduino文件夹内的arduino.exe,导航栏-文件-打开。选择arduino\main里面的main.ino 3. 烧录程序到ESP32:选择工具-开发板-esp32 Arduino-ESP32 Dev module,然后连接USB口选择对应的com口,编译上传。 1.   如无法正常编译 1. 可能与原有arduino冲突,请查看使用说明第一条 2. 文件夹路径含有非法字符,可以把Arduino移动到硬盘根目录下,如D:\Arduino 4. 打开本项目内的`python_gui`内的`可执行文件_main`内的**main.exe**并连接上WIFI:ESP32 密码:12345678。点击设置开始调参。 5. 连接成功后,点击disable,然后逆时针拨动动量轮,查看上位机中V参数是否为正值。注意!如果 逆时针转为为负值 那么需要将电机线任 6. 如果电机不能正常运行可以,点击上位机中最下方的 测试部分 ,打开电压或者速度测试,滑动滑条,查看电机能否正常运行。如还不能请检测硬件电路部分。 7. 如果不能摇摆直立,推荐调整的参数为TA、SA、SV 8. K值可以用滑块调整,拖动滑块就会发送参数命令,但是调整到合适值之后需要自行在Arduino的main中修改再烧录一次 9. 滑条:最左边输入框为滑块下限,右边是滑块上限,滑条等分成**200**份,命令是**字符串**,滑动滑块发送**字符串** + **数值** 比如让平衡角度为90度,则输入:TA90,并且会存入eeprom的位置0中 注:wifi发送**命令不能过快**,因为每次都会保存进eeprom,K参数没有保存到EEPROM所以可以使用滑条调整。 | 参数命令 | 说明 | | ---------------- |---------------------- | | TA | target_angle平衡角度 例如TA89.3 设置平衡角度89.3| | SV | swing_up_voltage摇摆电压 左右摇摆的电压,越大越快到平衡态,但是过大会翻过头| |SA|swing_up_angle摇摆角度 离平衡角度还有几度时候,切换到自平衡控制| |VP1|速度环的PID的P,1是稳定在平衡角度之前的P值| |VI1|速度环的PID的I,1是稳定在平衡角度之前的I值| |VP2|速度环的PID的P,2是稳定后的P值| |VI2|速度环的PID的I,2是稳定后的I值| |K为LQR参数|**3和4**是速度控制稳定前和后| |K3**1**|LQR的参数1:稳定前的角度差值| |K3**2**|LQR的参数2:稳定前的左右倾倒加速度| |K3**3**|LQR的参数3:稳定前的当前速度| |K4**1**|LQR的参数1:稳定后的角度差值| |K4**2**|LQR的参数2:稳定后的左右倾倒加速度| |K4**3**|LQR的参数3:稳定后的当前速度|意两线互换。 #### 4 硬件设计 使用立创EDA绘制电路原理图,LaserMaker绘制莱洛三角形和动量轮(有激光切割机可以事先切割结构作为参考)。将绘制完的图形导入到立创EDA中可作为PCB的外框。丝印图案分别是**Gawr Gura**、**ouro kronii** ~~helicopter~~ LaserMaker绘制的plt在**莱洛三角结构**文件夹内 感谢嘉立创的PCB制板,使DIY电路制作变得非常便利 [莱洛三角形PCB](https://oshwhub.com/45coll/zi-ping-heng-di-lai-luo-san-jiao_10-10-ban-ben) [动量轮](https://oshwhub.com/45coll/lai-luo-san-jiao-dong-liang-lun) 具体需要购买的物品在**物料清单.xlsx**中 #### 5 Ctrl+C +V(参考) Arduino上的控制算法是原作者的LQR,无刷电机控制是灯哥开源FOC。电机控制引脚定义与传感器定义和灯哥开源FOC控制板2.0版一样。 Python的GUI是SimpleFOC的SimpleFOCStudio。 充电电路是立创广场开源的CS5095充电方案。 1. 原作者:基于LQR控制器的自平衡莱洛三角形[BV19v411n7mN](https://www.bilibili.com/video/BV19v411n7mN) 2. 灯哥开源FOC [https://gitee.com/ream_d/Deng-s-foc-controller](https://gitee.com/ream_d/Deng-s-foc-controller) 3. 充电芯片电路[https://oshwhub.com/Aknice/cs5095e-san-jie-li-dian-chi-sheng-ya-chong-dian-dian-lu](https://oshwhub.com/Aknice/cs5095e-san-jie-li-dian-chi-sheng-ya-chong-dian-dian-lu) 4. Arduino环境提供者[https://github.com/kaliCYH](https://github.com/kaliCYH) #### 6 有用的地方 1. Arduino的程序中的command.h、command.cpp可以支持任意的字符串输入。在其他项目中一样可以用,无论是wifi接收到的字符串数据或者是串口的字符串数据。 2. GUI上位机可以在其他wifi项目中可以继续使用,用来调参还是很方便。
设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
ID Name Designator Footprint Quantity
1 100nF C1,C2,C5,C6,C12,C20 C0603 6
2 10uF C3 CASE-A_3216 1
3 47uF C4,C7 CAP-TH_BD6.3-P2.50-D1.0-FD 2
4 10nF C8,C11,C17 C0603 3
5 1nF C9 C0603 1
6 47pF C10 C0603 1
7 10uF C13 C 1206_L 1
8 1uF C14,C16 C0603 2
9 22uF C15 C 1206_L 1
10 100uF C18,C21 CAP-TH_BD6.3-P2.50-D1.0-FD 2
11 220nF C19 C0603 1
12 SS36 D2 SMA_L4.3-W2.6-LS5.2-RD 1
13 SS34 D4 SMA 1
14 LBAT54SLT1G D5 SOT-23_L2.9-W1.3-P1.90-LS2.4-BR 1
15 HDR-M-2.54_1x2 J1,J2,J3 HDR-M-2.54_1X2 3
16 K2-3.6×6.1_SMD KEY1,KEY2 KEY-SMD_2P-L6.2-W3.6-LS8.0 2
17 6.8uH L1 IND-SMD_L6.0-W6.0_SWPA6045S 1
18 2.2uH L2 IND-SMD_L4.0-W4.0_SMNR4020 1
19 LED-0603_R LED2,LED3,LED4 LED0603_RED 3
20 WJ126V-5.0-3P P1 CONN-TH_3P-P5.00_WJ126V-5.0-3P 1
21 MPU6050模块 P2 MPU6050模块 1
22 2N3904(SOT-23) Q1,Q2 SOT-23-3_L2.9-W1.3-P1.90-LS2.4-TR 2
23 120R R1,R2 R0603 2
24 10.2K R3 R0603 1
25 332K R4 R0603 1
26 5k R5,R11,R16,R22 R0603 4
27 24.9K R6 R0603 1
28 3.24K R7 R0603 1
29 68.1K R8 R0603 1
30 12k R9,R10,R14 R0603 3
31 470R R12,R15 R0603 2
32 1K R13,R20,R21 R0603 3
33 10K R17 R 0805_L 1
34 82K R18 R 0805_L 1
35 100K R19 R 0805-HP_L 1
36 SK-12D02-VG5 SW2 SW-TH_SK-12D02-VG5 1
37 TPS54331DDAR U1 SOIC-8_L5.0-W4.0-P1.27-LS6.0-BL-EP 1
38 CH340C U2 SOP-16_L10.0-W3.9-P1.27-LS6.0-BL 1
39 ESP-WROOM-32 U3 WIFIM-SMD_ESP-WROOM-32 1
40 CS5095 U4 ESOP8_N 1
41 L6234PD013TR U5 POWERSO20_L15.9-W11.0-P1.27-LS14.2-BL-EP 1
42 AS5600_Modle U6 AS5600_MODLE 1
43 KH-TYPE-C-16P USB1 USB-C-SMD_KH-TYPE-C-16P 1

展开

工程视频/附件
序号 文件名称 下载次数
1

演示视频.mp4

12984
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP