triangle/v3
zrg f92fcb9d5a 修改参数 2023-07-04 19:22:04 +08:00
..
bin 修改参数 2023-07-04 19:22:04 +08:00
main 修改参数 2023-07-04 19:22:04 +08:00
README.md 发布V3版本-3205电机 2023-05-25 18:21:10 +08:00
开车套件-自平衡莱洛三角形V3_BOM.xlsx 发布V3版本-3205电机 2023-05-25 17:09:05 +08:00
自平衡莱洛三角形V3_BOM.xlsx 发布V3版本-3205电机 2023-05-25 17:09:05 +08:00

README.md

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

更新日志

2023/5/25V3升级明细相比V2因为电机无货原因请制作V3版本

  1. 将2715电机更改为存量大且自带磁环的3205无限位款电机感谢“初心不变”提供创意
  2. 将AS5600模块插接方案更改为MT6701焊接方案最大可能地避免了磁铁不对中、磁铁与磁编距离原因导致的PP check fail问题
  3. 将600mAh电池更改为800mAh电池将12V转5V DCDC电路Ti方案、5V转3.3V LDO方案全部改为国产DCDC方案增加续航35%以上;
  4. 充电电路将电流限制为1A避免极端环境下充电电感过热问题降低了电池自放电满电待机时间由一周增加至至少一个月
  5. 调整了电机PID参数使用的3205电机运行更平稳
  6. 设计了电池安装板,从背后看不露电池,更加美观;

项目介绍

自平衡莱洛三角形无刷驱动使用EG2133使用esp32-arduino的simplefoc驱动。

程序附件都在gitee https://gitee.com/coll45/foc

V3 图片中间为立创彩色丝印版本左右为最终V3版本磁编码器集成到pcb中心。均可以摇摆平衡使用3205电机

  • cn3300充电部分设计充电截至电压12.72V考虑到电池内阻最终充满电压为12.43V充电电流0.5A电感电流1A。充电功率为5W(充电会电感部分会烫,但不至于烧毁电路)

  • 电机可以适配3205无刷电机(之前使用的电机GB2204\2715均已缺货)

1 制作说明

gitee文件夹中V3有自平衡莱洛三角形V3_BOM.xlsx元器件请根据自己选择PCB空板还是SMT自行购买

原理图以及PCB图链接

  1. 在立创开源链接中,点击在编辑器中打开进入EDA页面双击对应的PCB上方导航栏找到-制造-PCB制板文件gerber-生成gerber-一键PCB/SMT下单。一定要进编辑器有遇到过开源链接的bom和真实bom对不上的情况
  2. 在下单页面中下单对应的pcb如需SMT机器贴片可以选需要SMT不选SMT会得到PCB空板
  3. 焊接是基本功,最好是有风枪+烙铁的情况下尝试制作。
  4. 焊接有焊接助手,在立创专业版点开对应的PCB,上方工具栏-焊接辅助工具

SMT注意

  • 选择需要SMT完成下单之后进入订单界面。SMT分板定位孔选择-嘉立创添加BOM与坐标清单选择-用我自己的BOM和坐标导出文件选择-立创EDA。
  • 需要上传的坐标文件和bom都是在EDA页面-莱洛三角形PCB-制造-物料清单BOM和坐标文件中导出。
  • 进入BOM匹配之后左上角贴片数量选择-做5贴2因为莱洛三角形制作一个需要两个PCB板一个有元器件一个空板贴片层-只贴顶层,产品类型-经济型,坐标文件生成方式-单板
  • 强烈建议删除所有扩展库以及推荐库后打板
  • SMT下单完成之后只需购买smt删除部分的元器件比如扩展库和推荐库

2 硬件特性

说明 参数
莱洛三角形尺寸 100*100 mm
动量轮尺寸 80*80 mm
电池*3 厚x长x宽:7.9mmx25mmx40mm 规格内均可
输入电压 3.7v锂电池*3
充电电压 5V 从Type-C口输入
充电芯片CN3300 5V输入,最大1A充电电流
均衡芯片CM1010-A 电池电压超过4.25V之后开始放电
主控芯片 ESP-WROOM-32
电机驱动芯片EG2133 引脚:32, 33, 25
稳压芯片MT2492 输出5V和3.3V
MT6701 编码器 SDA-23 SCL-5
MPU6050六轴传感器 SDA-19 SCL-18
RGB灯-WS2812 使用GPIO16控制
LED指示灯 功能
LED1 串口指示灯ESP32发送串口数据时会亮起
LED2 充电完成指示灯亮起表示充电完成充到亮起可能需要2-3小时
LED30 充电指示灯,亮起表示正在充电
LED3 typec的5V输入指示灯 接typec一定亮
LED4 3.3v指示灯 电池输入12v输出3.3V
LED5 由GPIO4控制电池电压低于9.5V时以1HZ频率闪烁
LED27\28\29 均衡指示灯亮起表示该电池电压高于4.25V正在通过22欧姆电阻放电中
触摸盘 功能
单击时长 100ms以上
长按时长 800ms以上
点赞触摸盘 GPOI13-Touch4-单击:开关RGB灯长按开关wifi和电机
投币触摸盘 GPOI15-Touch3-单击增加RGB灯亮度长按下一个RGB灯效
收藏触摸盘 GPOI2-Touch2-单击减少RGB灯亮度长按上一个RGB灯效

3 使用说明

  1. 下载完本git所有文件后打开文件夹V3/bin/flash_download_tool_3.9.2.exe
  2. 打开flash_download_tool后选择chip Type "ESP32",然后点OK在第五行选择target.bin烧录到0x000位置bin
  3. 使用CH340下载器将下载器的TXD\RXD\GND用杜邦线引出对准PCB的ESP32正上方的GND\RXD\TXD接法为TXD-TXD\RXD-RXD\GND-GND
  4. PCB焊好后打开电源同时按住boot和RESET按钮先松开RESET然后松开boot进入下载模式后点START开始程序烧录
  5. 如需修改参数长按点赞触摸盘可以打开wifi并停止电机。
  6. 打开本项目内的python_gui内的可执行文件_main内的main.exe并连接上WIFIESP32 。点击设置开始调参。
  7. 连接成功后点击disable然后逆时针拨动动量轮查看上位机中V参数是否为正值。注意如果 逆时针转为为负值 那么需要将电机线任意两线互换。 Image text
  8. 如果电机不能正常运行可以,点击上位机中最下方的 测试部分 ,打开电压或者速度测试,滑动滑条,查看电机能否正常运行。如还不能请检测硬件电路部分。
  9. 如果不能摇摆直立推荐调整的参数为TA、SA、SV
  10. K值可以用滑块调整拖动滑块就会发送参数命令但是调整到合适值之后需要自行在Arduino的main中修改再烧录一次
  11. 滑条:最左边输入框为滑块下限,右边是滑块上限,滑条等分成200份,命令是字符串,滑动滑块发送字符串 + 数值
  12. arduino文件夹为环境可以自行修改代码编译

比如让平衡角度为90度则输入TA90并且会存入eeprom的位置0中 注wifi发送命令不能过快因为每次都会保存进eepromK参数没有保存到EEPROM所以可以使用滑条调整。

参数命令 说明
TA target_angle平衡角度 例如TA89.3 设置平衡角度89.3
SV swing_up_voltage摇摆电压 左右摇摆的电压,越大越快到平衡态,但是过大会翻过头
SA swing_up_angle摇摆角度 离平衡角度还有几度时候,切换到自平衡控制
VP1 速度环的PID的P1是稳定在平衡角度之前的P值
VI1 速度环的PID的I1是稳定在平衡角度之前的I值
VP2 速度环的PID的P2是稳定后的P值
VI2 速度环的PID的I2是稳定后的I值
K为LQR参数 3和4是速度控制稳定前和后
K31 LQR的参数1稳定前的角度差值
K32 LQR的参数2稳定前的左右倾倒加速度
K33 LQR的参数3稳定前的当前速度
K41 LQR的参数1稳定后的角度差值
K42 LQR的参数2稳定后的左右倾倒加速度
K43 LQR的参数3稳定后的当前速度

LQR算法解释当三角形向←倾斜时需要产生向→的力回正。

在电压控制下回正力F直接和输出电压值挂钩向←倾斜电机提供正电压V动量轮向左加速转动产生向右的力F。

期望电压 = 角度差值x参数1 + 左右倾倒加速度x参数2 + 当前速度x参数3

在速度控制下回正力F和动量轮转速加速度a有关F = ma向←倾斜电机需要向左加速转动产生向右的力F。

期望速度 = 角度差值x参数1 + 左右倾倒加速度x参数2 + 当前速度x参数3

两者区别电压和速度控制都可以实现平衡但因为使用simpleFOC控制电机转速无法无限加速本电机实验最高转速180转电压到上限12v。

使用电压控制会遇到电机一下子就到了转速上限就不能提供稳定的力F参数调起来比较困难。

速度控制可以在偏差变大的时候根据期望速度产生最大电压12v并且不会超过电机最高转速。

4 硬件设计

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

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

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

5 Ctrl+C +V参考

Arduino上的控制算法是原作者的LQR无刷驱动为立创开源的EG2133方案。

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

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. CN3300 4串电池组板https://oshwhub.com/583703056a/dian-chi-zu-ban_copy_copy
  7. Arduino环境提供者https://github.com/kaliCYH

6 有用的地方

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

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

7 交流群

  1. 45coll电子交流群:824113552(已满)
  2. 45coll电子交流2群:587563225