# BalanceFocCar **Repository Path**: harold-gitee-hub/balance-foc-car ## Basic Information - **Project Name**: BalanceFocCar - **Description**: 本项目旨在利用ESP32-S3微控制器和SimpleFOC库,结合Arduino平台,打造一款自平衡两轮机器人。通过精细的电机控制和实时姿态反馈,实现车辆的稳定行驶和精准操控。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 75 - **Forks**: 22 - **Created**: 2024-07-06 - **Last Updated**: 2025-11-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ESP32 Arduino Foc平衡车            开源不易,感谢点赞(Star) --- - B站视频:[演示视频链接](https://space.bilibili.com/387125514/lists/4980059?type=season) - 立创开源:[立创开源链接](https://oshwhub.com/yeharold/foc-balance-caresp32s3arduino) --- ## 项目简介 基于ESP32S3芯片和Arduino框架下Simplefoc库开发的无刷电机平衡车,支持手机APP控制。车身结构设计参考B站[手工饭](https://www.bilibili.com/video/BV1iF411S7Jr/?spm_id_from=333.337.search-card.all.click&vd_source=a9a1f86750f9704588ee3bc66da9ada5),电路和程序选用完全不同方案进行设计(采用ESP32-S3FN8单芯片控制方案和Arduino框架)。 - **硬件** 采用ESP32-S3FN8单芯片控制方案,有感无刷电机Foc驱动设计(低端电流采样),USB-C 10W快充电路、PCB高度集成一体化设计([硬件电路全开源](https://oshwhub.com/yeharold/foc-balance-caresp32s3arduino ))。 - **软件**:采用Arduino框架和Simplefoc库开发极大降低新手编程和理解门槛、采用HTML5开发了手机APP可远程遥控([软件代码全开源](https://gitee.com/harold-gitee-hub/balance-foc-car))。 --- ## 项目展示 ### 顶部PCB - 电路设计:电池盒、IP2326芯片2S(2串)均衡锂电池充电及接口、可编程WS2812 RGB车灯、电源一键开关控制电路、下板DC-DC(TPS63070RNMR芯片)降压电路,电池防反接电路 - 功能介绍:18650 2S电池供电、USB-C 10W快充(PD充满LED指示),RGB可调车灯,DC-DC降压(为下板供电),防反接保护,电源一键开关。 ![输入图片说明](3D/image/%E9%A1%B6PCB.png) ### 底部PCB - 电路设计:ESP32S3-FN8主控电路(板载贴片天线设计)、MPU6050陀螺仪模块、双路无刷电机驱动电路(DRV8300DRGER)、低端电流采用电路(INA181A2IDBVR)、USB-串口程序自动下载电路(CH343P)、LDO稳压电路、蜂鸣器电路、编码器和电机接口。 - 功能介绍:ESP32S3主控、双路无刷电机驱动器,低端电流采样、MPU6050陀螺仪、蜂鸣器、程序下载等。 ![输入图片说明](3D/image/%E5%BA%95PCB.png) ### 编码器 - 电路设计:AS5600编码器、LED指示、编码器接口等电路 - 功能介绍:AS5600 高精度12位I2C接口角度传感器,用于精确的电机位置反馈。 ![输入图片说明](3D/image/%E5%BA%95PCB.png) ### 手机APP - 功能介绍:支持模拟手柄遥控方向控制、动态IP连接,RGB灯效控制、关机控制等 - 手机app安装包位于 App-Phone/unpackage/release/apk目录下 ![输入图片说明](3D/image/%E6%89%8B%E6%9C%BAapp%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97.png) --- ### 制作与组装 - PCB在嘉立创打样后,采购原件焊接完成(BOM见Bom清单) - 车架、轮毂均采用3D打印完成(模型文件见PCB&3D) - [PCB原件BOM清单](https://gitee.com/harold-gitee-hub/balance-foc-car/raw/master/BOM/PCB%E5%8E%9F%E4%BB%B6BOM%E6%B8%85%E5%8D%95-%E8%B4%AD%E4%B9%B0%E6%8E%A8%E8%8D%90.xlsx)和[配件清单](https://gitee.com/harold-gitee-hub/balance-foc-car/raw/master/BOM/%E9%85%8D%E4%BB%B6%E6%B8%85%E5%8D%95.xlsx)位于BOM文件夹 - [动态展示视频 B站](https://www.bilibili.com/video/BV1QW421R75i/?spm_id_from=333.1387.homepage.video_card.click&vd_source=a9a1f86750f9704588ee3bc66da9ada5) ![输入图片说明](3D/image/%E5%B0%8F%E8%BD%A6%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B.png) ![输入图片说明](3D/image/BalanceCar.jpg) --- ## BOM和配件清单 - [ **PCB原件清单** ](https://gitee.com/harold-gitee-hub/balance-foc-car/raw/master/BOM/PCB%E5%8E%9F%E4%BB%B6BOM%E6%B8%85%E5%8D%95-%E8%B4%AD%E4%B9%B0%E6%8E%A8%E8%8D%90.xlsx) ![输入图片说明](3D/image/PCB_BOM.png) - [ **配件清单** ](https://gitee.com/harold-gitee-hub/balance-foc-car/raw/master/BOM/%E9%85%8D%E4%BB%B6%E6%B8%85%E5%8D%95.xlsx) | 配件名称 | 型号 | 数量 | 备注详情 | | ---------------- | ----------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | PCB制作配件清单 | 顶、底、编码器 | N | 参考各块PCB BOM,不清楚可加群询问 | | 无刷电机 | ZD2808 | 2 | [购买链接(B款)](https://item.taobao.com/item.htm?abbucket=14&id=709889303024&ns=1&pisk=gsbZeCvzWEXCLR5PdaYqYH8U4wT98Ey77Z9XisfD1dvMCsADu9Xb6d10Bt72KsI_6nwtgfQFUqg_BlCmuET0F8a7P1E9kE2SJGpxaAd6iV4XICDHWItTdWMQP1C9Hfk0NM4S33sjVfmDntYHxQdyoCAMi6VegIODodxmKDAkKEvcnh0n-QdjoVYD) | | 供电电池 | 18650动力电池 | 2 | [购买链接(尖头)](https://item.taobao.com/item.htm?id=857905561525&pisk=gv--mBDpMxeRJRhta3u0xHuB26HDvqvrkQJ_x6fuRIdvspXhZwvIv9OMMwZnzgbdvI1Dq_vlVkQBpIWhNpjov9OMMBQEU6fC9BvBrxmijLJPYM9KscmGIxhTGQFCNzMChOWEnTOUon6lYMGi9rqCzcIe_OWe0u9jH9X3VuOCNt9fg9B5OB15lS6OQMsCAB_XhOXdO9_7A) | | 电池盒 | 18650两节电池盒 | 1 | [购买链接(两节)](https://item.taobao.com/item.htm?_u=akg4uf80bbf&id=772802658706&pisk=gTL46E6EkNvS_zdeFeba4Aa9j7bAxNkIIF61sCAGGtXmXsgg7CRh1jHtM35MCLhtMZOGQdJ5eP1sDAUwUKOHci96cOfGELAblOgAbdRBpdaskn1g7LOOjdTw6P5MsdhACjnWMIQOSvMBb2OvMCYRPrL4Sz0kw6EcI0s004RjNvMIRVo0ZNkqdKOdRA) | | 直径52mm轮胎 | T6097胎皮(宽28) | 2 | [购买链接(T6097款)](https://item.taobao.com/item.htm?_u=bkg4uf811e1&id=632096988987&pisk=gq0g64sHhJ6W5P8k59a62UlQdzxp1PajuxQYHre2YJyBGGI91oPqix0xXjyYoxDmnRE2CP3mKbGv1qd_7EVqev4x6RexKIDtGZp6cPQVnAGyCfev1q24KAk0cCwY3-DxgcdpyUhs1raqiLLJyOxbSBMG_-7wgwPTaBFwOc8q4ra2eKjdulTulYw5SN) | | 内六角螺丝 | M3*12 | 4颗 | [购买链接](https://detail.tmall.com/item.htm?abbucket=19&id=548922356901&pisk=gDci3JXHcksWloKLpXN6eBbkWtJdC5NbImCYDSE2LkrI6rL6C-A4x4y95mnxKomExlomlFa40mo0DAppwVg_GS--oQd-5GK_xjoGQl7euzUVbeeNEMnbGS-J2IXd8RtTgcU7c4RFLzZU7rz40ebUkzV4uPP2-kz0Po5Z0m83YrU5gizaQBSUukWNgsWa) | | 内六角螺丝 | M2.5*10 | 2颗 | [购买链接(固定电机与轮毂)](https://detail.tmall.com/item.htm?_u=dkg4uf8bf16&id=548922356901&pisk=gOWgs1G3leg7zdyuC29_wJmHw-PL5d9f3ZHvkKL4Te8QcfhTfI-VmZXA6i8vnZbcoFd45dBc-gsYftE6Q-xVywvAXFLA-obOcxU_GdHqoNsz5GLYftY2-N7DGlTvuEbA01ELe8I1fK9Vmze8epk1dk7iun-40v-2jkKaA1yVaK94yrcK3CwkhatS5) | | 内六角螺丝 | M3*10 | 4颗 | [购买链接](https://detail.tmall.com/item.htm?abbucket=19&id=640743806005&pisk=goxZFh1rXiAQJo1OSHs48wzr52jOXil7Qn1fnKvcC1fi6ZZV0IJNoo9sWxkVTIC15Gx2JoJJHhMOcAI9BiImNbiWudpODadlSj-Vx6XfEmNGIljOxV8RTbiSVdpUCODWK0t1PksRQrqDiNb3-TC3iOXMiwqhH6qGnljctv5dtlXgjs23xt6aslAcn9vh) | | 内六角螺丝 | M3*6 | 8颗 | [购买链接](https://detail.tmall.com/item.htm?abbucket=19&id=640743806005&pisk=goxZFh1rXiAQJo1OSHs48wzr52jOXil7Qn1fnKvcC1fi6ZZV0IJNoo9sWxkVTIC15Gx2JoJJHhMOcAI9BiImNbiWudpODadlSj-Vx6XfEmNGIljOxV8RTbiSVdpUCODWK0t1PksRQrqDiNb3-TC3iOXMiwqhH6qGnljctv5dtlXgjs23xt6aslAcn9vh) | | 内六角螺丝 | M2*5 | 8颗 | [购买链接(自攻螺丝)](https://detail.tmall.com/item.htm?abbucket=19&id=521095316622&pisk=gvFrFaiNwXqjZ_n-ESGe3x7aJxG-_XS6zWiI-y4nP0ml2vOETkzrKBa5ew7E0knSFbVUHBzTJ7_-Oah8yXhhfG1_LzU-9KdBZGVEiq0KR69HE0c-iTyt0G111zU2P4b_o1NSCnsxzpA3xYDDnVnDx40uxxAmJmAo-QcnmZoxmHvkEQAmo2uBrX0oKj4m) | | 单头六角铜柱 | M3*6+6 | 4颗 | [购买链接](https://detail.tmall.com/item.htm?abbucket=19&id=40124718500&pisk=g08SnwtdlpLqcK7LOgcVGIw6j8_BdjuaVW1psBUz9aQRdMpwdXVy998CRKvAvU7yaKNkldaUzYmk9y_FJAkZ7VRoqwbKQ_yKINyla6C-8MURMafE48Xj7VRkZ9V7pf-x7JswqFyLv9pdkiC16wE8y9hfD15dJzILyIBAntQd99UdHiC1T6U8JpCvM65UJ) | | 双通六角铜柱 | M3*10 | 4颗 | [购买链接](https://detail.tmall.com/item.htm?abbucket=19&id=595867680212&pisk=gRAnFK2iVGZb7YiOBC1IHfxNhKHtd615K3FR2_IrQGS69a3IdTcPjEWKR3KJIgxwjM-kP2_P43-l2pHtMeTCN_ovrjhvR_7_0NtlLa5a7F_YYwkOLYEt__oxDjhoLP5oxmKdh7sj_ZbVawWPzNuGkZNPaT7e7VbPykSPY3uiSab44WWPzOWNzw5zLJ7U) | | 十字扁平头螺丝 | M2*12头径5 | 2颗 | [购买链接(固定磁铁插入电机)](https://detail.tmall.com/item.htm?abbucket=19&id=784480573375&pisk=gRQrFh9ayeXjkWJJqZTE0nWGx48Jzeysaw9Bt6fHNLvueHge895yx2172WPe39pWVUbFD25O9aNJR7LRweL3CRa1Y_CJJled4A_eomA6ayinq4YJouS93Ra_5_CqNQV1iP_Wfr_vaD0hK3xmmCpmqbvlKn0D9K0kt4YHnSJvnQDHt0cDmBOnrvXnrjAD) | | 径向磁铁 | 高3mm 直径5mm | 2颗 | [购买链接](https://item.taobao.com/item.htm?_u=dkg4uf8e618&id=600814072949&pisk=ggdb6BvONhdyJ8mMEn0PPUGwcCf1f4lE6P_9-FF4WsCAC5L2ANPNQxb_1gTKoikinh9WX3XVDGWN1NtFqEPZoEus1FLdD1JV0NKyf3220CSw4fTHAtP2WCzDEH8LgIkc_51cs1nEYXlEnEfG6ZpXjkE0ywQK_oIOXsf8YiaqpXleoUaVk28-TIWEar) | | SH1.0 4P连接线 | 4P 双头(反向) | 4条 | [购买链接(5mm~10mm)](https://item.taobao.com/item.htm?id=607123451921&ns=1&pisk=gPmKeT9-6dBKYmRvTD8Gq0J-hN9ieFDetXkfq7VhPfhtF5jkLkYz2bFtaW43AWj82YhrZbHyL8NSNbFo-FxmLvrzVIDJmnDEjSL3jXe7V59738PWIy1KdkWQVIAD2NX_8BqSt-7ych__35wQF7wBBlw4ewZ7PWt6B8wlOasINdH__85CVgwSCGw0ewZ7Fu1_f8eP) | | 电线 | 18AWG | 1M | [购买链接](https://detail.tmall.com/item.htm?_u=dkg4uf815a5&id=577049388623&pisk=g_0g_tjHhJ6SNhYk59a62ef32E-pWPajuxQYHre2YJyBGGI91oPqix0xXjyYoxDmnRE2CP3mKbGv1qd_7EVqev4x6RexKIDtGZp6cPQVnAGyCfev1q24KAk0cCwY3-DxgcdpyUhs1raqiLLJyy7sRBkG35y2gMP7MBFwOc8q4ra2eKjdulTulYNW5) | | 连接器 | MR30-F | 2个 | [购买链接](https://item.taobao.com/item.htm?_u=dkg4uf8e1d9&id=599495214277&pisk=g46Y_WZOyunv8fULutPoIOPmrPZok7jV4ZSIIFYm1aQRWMnciCYM1dQFJCMggKA9BaTlnEjDhhO1Sw1DlsYiBOQPkxDMhN295M5zbExcncK1NZHGiiYcwcpVEsDMorJOfwvT-y23KiS2Hda3-IZu4k9BcftjSCG7FdxOZiGmAiS2QFio5Wf50VhOgw) | | 连接器 | XT30U | 1对 | [购买链接](https://item.taobao.com/item.htm?abbucket=14&id=599542302840&ns=1&pisk=g44jEeqtPRUPko6gq-frN7NnKG3sh_7ehCGTt5L26q3xBuN3Cx5GmqrSC8eSHE5cmcH_nqng0AkqCVNgd_WF8wP0iV0VL97FGHofKqhxMfhO6bhsT_lvhaucMV0OLOtyWmbISJchjS-v2bHo1fL9kR3JyfcIWfhxW_M-1Xx9HReTw_Gsthp9DVLJ) | | 内六角螺丝刀批头 | H1.5、H2 H2.5、H3 | 50mm 4只 | [购买链接](https://detail.tmall.com/item.htm?abbucket=14&id=577814667871&ns=1&pisk=gmL-e-cpHjFRo9MtUUo0-elRDWcmemArELR_-9XuAKpvOt4naamFJpBvLTjlPT4dJBpeKpdEa66BdpBHqm0MaQ7FRAAKSVArAFa3ZLUCVqGC__CSigwJNaP5RADiJoVf4YbBE1yFuqZf_t15O__IMZ1P9u_CA_OjM613FkaWdjdf36z5N_6Qlr1) | | mini棘轮扳手 | 推荐购买 | 1只 | [购买链接](https://detail.tmall.com/item.htm?abbucket=14&id=704788637272&ns=1&pisk=gK-KEKDJ6AedJ0-dIpugq-K1gRHMeVvEtBJbq_f3PCd9F1qoLM0P2QC9a6bhA6qR2LdyZQprLT1WNQCk-VmDLpSPVjv-mmvUSP-jlBE7RlM53t5SIwNpdMyCVjcm2P218XjWtR8WQVa1316CF_6SBN6PFys5P99sBT6uOzZBNAHO3Ta7A_s5C56REgNCV_N_C9W0AW_7ANMOU115VgO55AByrVMd_J6L2ENvnODt39Z7VhBd5VvC1XYvf9BfMptLVuwPpwCXd1l4_NlGyBQpjDFVpF9v_9dr0kSCyeTfA3hxvG92SB69NjUR1EKe2ZxKMr5BY_RAAFh_vgsOHLQDSYaAsU9wXNKKo8WwxLtFoii4O_YMH3BJ4bo9MpOplZtQ9g8kmnQCxSfAEyMtBzzPROW-EpOigd6efOCmdwazzaXNBsDtGzzPROWOivgYzz7lQ&priceTId=undefined&spm=a21n57.1.hoverItem.2&utparam=%7B%22aplus_abtest%22%3A%223de5b6cc5a8a04921c86008b2ed42d21%22%7D&xxc=taobaoSearch) | **备注:** 1. PCB配件参考各PCB BOM准备,不清楚可加群询问。 2. 配件购买店铺仅供参考,其他同尺寸和型号也可安装。 3. 安装方法参考安装示意图(连接线SH1.0建议自己按长度需求自制)。 --- ## 开发环境 - **硬件驱动**:[VSCode](https://code.visualstudio.com/)+Platformio(插件不会配置参考[视频](https://www.bilibili.com/video/BV1Yf421Z7Nm/?spm_id_from=333.1387.homepage.video_card.click))环境下采用Arduino平台配合SimpleFOC库,实现电机控制和姿态平衡算法。 - **App界面**:[Hbuilder](https://dcloud.io/hbuilderx.html)环境下采用HTML5+NippleJS+Iro.js进行开发打包生成app。 --- ## 代码框架 1. **硬件驱动**:硬件驱动采用RTOS多任务处理,core1主要负责电机foc控制,core0负责提供app server响应 ,小车平衡算法为串级PID(速度环——>角度环)具体划分如下。 ![输入图片说明](3D/image/%E7%A1%AC%E4%BB%B6%E9%A9%B1%E5%8A%A8.png) 2. **手机APP**:app控制指令通过http发送给小车,长按连接跳出小车IP地址输入框和确定,长按RGB进行颜色选择和确定。 ![输入图片说明](3D/image/APP%E5%BC%80%E5%8F%91.png) --- ## 软硬件调试 **硬件焊接** - 顶板PCB焊接完成后,RGB注意极性,[维修放大镜](https://detail.tmall.com/item.htm?id=702048717052&ns=1&pisk=gsFIENw-1uFN-nGJPvbZ5RKZVOhWPN52AUg8ozdeyXhK2Ra0VD7lKXysVlEsvB7hKYn7xXHuL0oEVbaucNSVgsz3-bcF0i5q54UwWjvpvBKrWC3nN2CC_O7L-bcRVFRR3sa3DpMyLL3-WNgrzQp82vLtWqntyph82cHtkq-KwuE-XC3mPQdKw0KTWc0m24h-2FKtzqmJpYE8WNgoX0h-euU9r9xsz9g8RwEI7cSVPXUKfQd89_DIcvpyNQZIJvN8Jcaa75gIdmkgcTlbGrULi4NlkLi7zJEESu1fffFQAWHsN_OiTrwTAAwCVCMgBrV-CRjXnr4LA-HY91_QVlU0nXFdqBo3ePF-bWQyNme4ofggaGAKVRe8TvckvMg_OrN7Fgu9gmGFqLTsnQgs0N_6ELDAxe3JAz8YMv3iJs715h9opV0sSN_6ELDKS2hh5Nt6E&priceTId=undefined&skuId=4946205160229&spm=a21n57.1.hoverItem.1&utparam=%7B%22aplus_abtest%22%3A%22a5edd6b560b99839220a01f97576fcc3%22%7D&xxc=ad_ztc)依次检查各原件引脚的焊接情况(注意:虚焊 和 连锡),万用表对照PCB原件图一次测量电阻大小。确保无误后USB插电看看充电指示灯是否亮! - 底板PCB焊接完成后,维修放大镜依次检查各原件焊接情况(虚焊 连锡)确保各电子原件的正确贴片焊接、用万用表一次对照PCB各电子位置测量各电阻值,WIFI天线需要进行阻抗匹配(我匹配的电感值为3.3nH就成功了,PI型电容未进行焊接),确保无误后再进行上电。 - [原件贴片焊接视频教程(钢网贴片视频教程)](https://www.bilibili.com/video/BV11yC3Y9Egp/?spm_id_from=333.337.search-card.all.click&vd_source=a9a1f86750f9704588ee3bc66da9ada5) 、[QFN封装电烙铁焊接视频教程](https://www.bilibili.com/video/BV1Wi421Q7BL/?spm_id_from=333.337.search-card.all.click&vd_source=a9a1f86750f9704588ee3bc66da9ada5) **软硬联调** - 程序下载测试:配置好软件环境后,连接USB看是否检测到串口芯片,如果能检测,下载程序测试encoder.c,测试AB轮编码器读书是否正常; - WiFi测试:下载wifi_test.c测试WiFi信号强度和距离(可适当进行WiFi阻抗匹配如选择适当的电容焊接多π型电路上) - 电机驱动测试:下载程序foc_test.c测试单路电机驱动是否正常,串口发送:M10。数值为速度快慢(注意数值<=100) - 平衡车测试:请确保所有硬件连接正确,在平稳地面上进行,以防止意外跌落或失控. --- ## 方法与总结 **FOC代码与调参** 1. 软件设置 - 选择电机类型:在代码中指定电机类型(BLDC)。 - 配置传感器:根据使用的传感器类型(编码器、霍尔传感器等),配置相应的参数 2. 基本参数设置 - 极对数:设置电机的极对数(motor.pole_pairs)。 - 电压限制:设置电机的电压限制(motor.voltage_limit),通常从较低值开始,逐步增加。 - 速度限制:设置电机的速度限制(motor.velocity_limit),避免电机超速。 3. PID 调参 **速度环先调参:** - P 参数:先逐步增加 P 值,给定不同速度进行测试,看电机开始振动或出现不稳定现象,然后稍微降低 P 值。 - I 参数:增加 I 值以消除稳态误差,但过高的 I 值会导致系统响应变慢或振荡。 - D 参数:D 值用于抑制振荡,通常从较小的值开始,逐步增加直到振荡消失(项目Kd=0)。 **电流控制调参:** - P 参数:逐步增加 P 值,直到电流响应快速且稳定,太小电机无力。 - I 参数:增加 I 值以消除稳态电流误差,但避免过高的 I 值导致系统不稳定。 - D 参数:D 值用于抑制电流振荡,通常从较小的值开始,逐步增加直到系统稳定。 **小车速控制度环** - 待续 ## 项目贡献 - 欢迎各位开发者参与和贡献代码,提出改进建议或新增功能。 - 欢迎各位开发者加强电机控制部分PID调参,小车平衡算法PID调参和设计,让小车稳如老狗。 --- ## 版权声明 - 本项目遵循MIT开源许可协议,具体细节参见LICENSE文件。 ---