LeTian-robot2(轮腿机器人),项目灵感来源为Ascento机器人,设计的初衷是通过轮足机器人的制作,学习控制算法以及实现最终的跳跃功能。由于整个系统理论知识庞大,目前能力有限跳跃功能的理论设计、建模仿真、实物仿真暂时未能实现,预计明年6月前实现,目前实现的功能有自动关自平衡、身高调节、无线控制。由于ESP32S3支持离线语音识别,固下一步会将离线语音识别添加至此项目,离线语音开发仅支持ESP-IDF平台。
结构设计参考与Ascento机器人,PCB、原理图、三维模型、BOM表等完全开源。
本次设计电路部分,全部由立创EDA专业版完成,绘图使用CAD、Solidworks。
(1) 支持芯片:ESP32-S3-WROOM-1-N8
(2) 引脚引出:两路舵机接口、两路无刷电机接口、两路IIC接口、四路SPI接口。
(3) 板载MPU6050 长宽设计为48*48mm 体积小巧
(4) 使用DRV8313作为驱动芯片峰值电流2.5A,驱动电机只能采用云台电机(相电阻在10欧姆左右)
(5) 两路舵机接口,使用XH2.54 3P接口
(6) ESP32集成一键下载电路,使用CH340K串口芯片,使用typec接口与电脑进行通讯和下载程序
(7) ESP32预留IO 0按键和RST复位按键
(8)预留两路FPC 0.5mm 8P LCD接口,可以控制两个1.28寸圆形屏幕
(9) LM2596作为5V稳压元器件,为舵机进行供电
(10) 电源输入可使用XT60输入,电源使用3S锂电池
4010 motor
车轮(直接与电机过盈配合)
舵机
正面
反面
主控层(注意:请使用导线连接背部VCC)
电源层(引出舵机和电机接口)
编码器 (AS5600芯片)
4010 MOTOR单路simpleFOC控制板(预留串口0通讯)
由于疫情原因无法拿到V3.0版本的PCB,暂时硬件版本采用的是V2.0版本的主控+电源层+4010电机驱动,故此版本电机驱动与主控代码分离分别在不同主控中运算实现。V3.0版本电机驱动全部集成由一个ESP32S3进行完成。等后续疫情好转,会进行3.0版本的代码调试。
代码开发平台:VScode platform
硬件结构
电机驱动采用SimpleFOC算法实现,电机运行在扭矩模式。
主控与电机驱动使用串口通讯,给定目标值并读取速度和角度值
电机第一次初始化motor.initFOC();将函数中参数删除,等待电机上电后串口输出电机转向和偏差角度后填入,下次上电跳过电机自检。
主控运行ESP32 RTOS,创建两个任务,串口控制电机和读取电机角度信息,同时可以采用Blinker APP使用蓝牙进行控制。
读取轮速信息,MPU6050信息,进行PID运算。
通过串口通讯给定电机力矩值,运行blinker进行蓝牙控制,同时更新;两侧舵机角度。
PID参数调节
Blinker APP
由于时间和疫情原因,后期会继续优化机械结构和算法,提升稳定性和抗干扰性,增加更多功能,目前已经实现自平衡和高度控制和倾斜角度控制,下一步将会实现复杂地形的平衡以及开发ESPIDF环境下代码的编写和调试。
参考链接:https://www.bilibili.com/video/BV15W4y1H7Kb/?spm_id_from=333.999.0.0&vd_source=fa8c62cf1b1a4771b713149461b59df7
https://www.bilibili.com/video/BV15L411b7mH/?spm_id_from=333.337.search-card.all.click&vd_source=fa8c62cf1b1a4771b713149461b59df7
https://www.youtube.com/watch?v=f9GJqqUpL2w
开源所有PCB、原理图、三维模型、BOM清单,还请大家点赞收藏转发,也可在评论区进行探讨。
!注意:请使用浏览器自带下载,迅雷等下载软件可能无法下载到有效资源。
欢迎加入EEWorld参考设计群,也许能碰到搞同一个设计的小伙伴,群聊设计经验和难点。 入群方式:微信搜索“helloeeworld”或者扫描二维码,备注:参考设计,即可被拉入群。 另外,如您在下载此设计遇到问题,也可以微信添加“helloeeworld”及时沟通。
EEWorld Datasheet 技术支持