ZhaJiHu/Cubli_Mini

C++C
This is stars and forks stats for /ZhaJiHu/Cubli_Mini repository. As of 11 May, 2024 this repository has 1063 stars and 193 forks.

Cubli_Mini项目 本项目ID是来源于苏黎世联邦理工学院的Cubli,电机驱动使用的是Simple FOC。低成本、小型化、简化后作为我的首个开源项目 项目完全开源,任何人都可以根据本Github内容自行白嫖,当然也可以顺手点个Star 介绍 本项目在原版Cubli的基础上去掉主动刹车,缩小体积和一定的简化。需要手动调整到平衡点附近,才可以实现边和点平衡。Cubli_Mini是一个10x10x10CM的立方体,集电机驱动、充放电一体化。满电状态下,点平衡在无扰动下续航≥5小时。 项目成本:≤800RMB 视频介绍:https://www.bilibili.com/video/BV1UR4y1c74B?spm_id_from=333.999.0.0 YouTube:https://youtu.be/JwiJBd6I_vY 资料更新说明(2022/6/7) 修复:修复PCB BOM表采购链接的部分链接错误问题,一共有4处,已经红色标红。已经下单的同学需要自己校验看元器件是否是正确 增加:PCB BOM表采购链接里的贴片按键增加备用链接 资料更新说明(2022/5/22) PCB BOM表添加采购链接 更新<写给小白的白嫖教程.pdf><代码和工程>,图文并茂说明如何解决头文件错误问题 资料更新说明(2022/5/21)c23 /6.Process/钣金件/,增加对应的step文件 /6.Process/3D打印/,增加对应的step文件 安全说明 动量轮比较危险,要注意安全,手远离动量轮 /2.Firmware/MCU1/control/cubli_mini.h,修改VOLTAGE_LIMIT的电压可以限制飞轮的最大输出,开始使用建议降低该参数,可以从4,5V开始 资料更新说明(2022/5/19) 最新发现动量轮有两个角忘了倒角了,理论上会影响大转速下的动平衡,因此对此进行修改。已经下单打样的同学也可以正常使用,因为电机KV值很低,我现在使用的也是漏倒角的动量轮。更新了/4.Model/Cubli_Mini.STEP文件。并且更新了/6.Process/钣金件/YC.JGJ.000002.4.*,文件版本号更新到.4 还有说一下结构件的采购数量和采购链接都在/6.Process/BOM/结构BOM.xls 物料采购的时候注意编码器模块需要3套物料 资料说明 3D模型设计源文件 主控模块、IMU模块、编码器模块、下载模块硬件工程 主控1、主控2软件工程 主控模块使用两颗ESP32 网络调试助手 WIFI调参使用 各类文档说明 对项目的一些说明,如调参,按键操作,控制原理等 打样文件 STL格式3D打印文件 DWG格式钣金文件 BOM表 结构BOM表 PCB元器件BOM表 结构设计 由于我只学了一周的SW,因此有些零件会漏画一些内容,如螺丝螺纹,铜柱内螺纹啥的 外框等钣金件采用的是成本较低的玻纤板,在保证刚性的情况下降低成本。动量轮采用的是304不锈钢,可以在小体积下提供较大的转动惯量。辅以少量3D打印件组成。连接件为了美观使用的是阳极氧化铝柱,当然也可以自行使用成本更低的铜柱。整体结构件成本为350块以内,铝柱更换铜柱可以降低到290以内 注意事项: Cubli_Mini的八个角点,是由两种不同的角组成,名字为角1和角2,各4个 外框和角的连接处的结构不是45°对称,所以是有安装方向的,详情看DoC/结构和安装说明 电路模块 主控模块: 主控模块集成了3个电机驱动电路,电池充放电路,降压稳压电路,CAN通讯电路 由于单颗ESP32只有6路电机PWM,因此使用了两颗ESP32模块,使用了CAN作为MCU间的通讯方式,由于两颗ESP32都是集成在同一个主板上,因此为了节省IC成本,可以把CAN修改为IIC,UART,SPI等各类短路径通讯方式,但是需要修改主控软硬件,有想法的同学可以自行修改 电机驱动电路参考Simple FOC开源电路,Simple FOC链接:https://github.com/simplefoc。电池充放电参考:https://oshwhub.com/qqj1228/zi-ping-heng-di-lai-luo-san-jiao_10-10-ban-ben IMU模块: 使用最为常见的MPU6050 为了防止应力,对IMU所在区域挖槽,减少安装应力。但使用了3颗螺丝硬连接,并不能避免应力问题,改进方案为使用软垫片并只拧紧一个螺丝进一步减少应力 由于IMU安装要求比较高,因此在贴片时,尽量保证MPU6050与PCB平行,且位于焊盘正中央 编码器模块: 采用的是成本较低的AS5600,在低速情况下便宜好用 自动下载模块: 为了尽量减少主控的面积,因此单独把自动下载电路摘出来,参考官方自动下载电路 注意事项: 正常情况下,自动下载模块焊接排针,主控不焊接任何排针/排母 固件说明 Cubli_Mini的核心内容为Simple FOC电机驱动库以及点平衡控制算法,运行在MCU1中。MCU2只是使用了Simple FOC库对电机2和电机3的控制,利用CAN反馈和接收控制命令。 MCU1固件说明: bsp:基于arduino库封装了一下LED,KEY,ADC,非易失储存等内容 comm:公用类,目前只封装了一个时间类,获取时间差,非延时等待等简单内容 control:核心库,内容为平衡算法和调参接口,调参参考Simple FOC格式。为方便使用,使用的是字符串,不使用传统的16进制协议 main:main文件,驱动的初始化和FreeRTOS任务创建 ESP32官方把WIFI,蓝牙类运行在Core0。因此在创建任务中,把WIFI任务创建在Core0中,其他则创建在Core1。只有运行于不同核心任务的数据交互我才加了互斥锁。 注意事项: 目前WIFI SSID和PSW,TCP Server IP Port全部是写死在固件里面,因此要想使用WIFI调参需要修改这些内容,详情请看Doc/使用和调参说明 打样说明 考虑到很多同学可能是第一次进行结构打样,因此提供了打样文件 3D打印: 文件位于:/6.Process/3D打印,该文件为STL格式,打样数量请查看同目录下的<3D打印加工说明>,可以在未来工厂或者嘉立创打样,首选光固化 文件名称使用的是料号,料号方便管理,尾号没有.X都代表为第一版 钣金件打样: 文件位于:/6.Process/钣金件,每个物料的都有对应的PDF和DWG文件,PDF文件方便查看,DWG文件用于激光切割/板材加工。打样数量请查看同目录下的<钣金加工说明>,可以找淘宝给图纸直接加工。由于加工精度要求不高,个人用途下,公差全看加工厂的心情 也可以直接找到对应的step文件给淘宝加工 PCB打样: 从硬件工程拿着PCB文件出门左转嘉立创白嫖 BOM表: 文件位于:/6.Process/BOM 结构BOM表,里面列有需要购买的结构物料和链接 PCB BOM表,里面列有需要购买的元器件物料,也可以自行找到AD工程导出 注意事项: PCB BOM表是从AD源文件导出,工程会有重复用料,需要注意 注意编码器需要3块,需要采购3套物料 DRV8313、ESP32、AS5600、IMU可以去淘宝购买,其他右转立创商城BOM表下单。 注意贴片型铝电解电容的封装,主控板有限高区域,限高高度为8mm 如文件有遗漏的地方望提醒 写给小白的白嫖教程: 文件位于:/Doc/写给小白的白嫖教程.pdf,手把手教你如何完成本项目的白嫖 控制算法 Cubli_Mini使用的是LQR来进行控制,也可以使用串级PID来进行控制。代码位于/需要修改/MCU1/control/cubli_mini 边平衡: 可以参考一阶倒立摆进行建模和求解参数。由于建立模型的参数比较难准确的获得,我求解得到的参数和最佳参数有些许出入。因此本项目大多数使用玄学调参工程师来整定参数 点平衡: 在边平衡的基础上添加对X,Z轴的控制。采用与边平衡一样的控制方法,详情看Doc/控制原理说明。 研究型: 请查看原版Cubli的论文 调参 调节方法: 可以使用UART和WIFI进行调参,WIFI需要连接到路由器,Cubli_Mini为TCP客户端 调节命令: 详情命令请查看Doc/调参命令说明
Read on GithubGithub Stats Page
repotechsstarsweeklyforksweekly
johnBuffer/AntSimulatorC++Other2.1k02770
MultiMC/LauncherC++CCMake4k08170
harfbuzz/harfbuzzC++CHack3.2k05850
M66B/FairEmailJavaC++C2.2k06460
KaTeX/KaTeXJavaScriptPerlHTML17.1k01.2k0
ahrm/chrome-fastreadJavaScriptHTMLCSS2370230
HeiSir2014/M3U8-DownloaderJavaScriptHTMLCSS2.8k04230
dabit3/polygon-ethereum-nextjs-marketplaceJavaScriptSolidityCSS1.2k08340
victornpb/undiscordJavaScriptHTMLCSS4.3k07170
dcajasn/Riskfolio-LibC++PythonOther2.3k04230