微信扫一扫
关注该公众号
本合集是教会读者如何学习网上的高质量开源项目,这里以稚晖君的ElectroBot开源项目 为例, 项目视频介绍如下:
https://www.bilibili.com/video/BV1ka411b76m/?vd_source=335a771bb697d9ac6e3d12eec96ce3ea
本合集首先会手把手教会读者如何复刻此项目, 点名复刻时的注意点及修改点, 并在过程中对涉及的电路, 机械, 固件, 软件, 驱动, 协议等知识做详细的原理讲解分析, 最后针对此项目做一些衍生开发, 例如python接口的SDK, 方便用户使用python+神经网络与ElectroBot交互,引出更多可玩可联动学习的可能. 最后的最后, 如果喜欢此内容的话, 还请关注, 收藏和分享给更多喜欢的人.
本合集用到的github地址是在稚晖君原内容上增加了一些内容:
https://github.com/gropery/ElectronBot.git
Hardware文件夹内是ElectronBot里面用到的所有电路的原理图和PCB文件,提供Altium Designer格式的源文件以及Gerber格式的光绘文件用于提供给厂家进行直接加工。
一共有如下几块板子:
-
ElectronBot:头部的主控板
(1) 包含MCU主控STM32F405RGT6: 主要负责整个硬件的控制调度
(2) 包含USB-HS的PHY芯片USB3300,使得MCU与PC之间具有USB2.0-480MBps带宽, 满足实时从PC传输画面至液晶, 或者下发控制命令至硬件, 及传感器数据上传至PC.
(3) 包含USB-TTL电路, 将MCU串口转换至USB, 再通过SensorBoard中的USBhub电路连接至PC, 方便调试等
(4) 包含一个5V转3.3V电路, 实际使用中芯片型号LP2992供流能力太小容易发烫, 建议换成XC6210B332MR完美pin to pin替换
(5) 包含一个屏幕接口, 用以连接圆形屏幕GC9A01, 以及SD卡卡座, 但是SD卡功能待开发
(6) 包含一个对接ServoDrive板的接口, 用以连接控制头部舵机工作, IIC接口
(7) 包含一个对接SensorBoard板的接口
(8) 包含一个SWD下载器Debug接口
-
SensorBoard:肚子里的传感器板子
(1) 包含一个手势传感器
(2) 包含一个USB-HUB芯片, 目的是PC只需要连接一根线至硬件, 即可将硬件上的3个USB设备与PC联通. 3个USB设备分别是MCU的USB2.0外设, MCU的串口转USB外设, 机器内部的USB2.0摄像头
(3) 包含一个5V转3.3V电路, 实际使用中芯片型号LP2992供流能力太小容易发烫, 建议换成XC6210B332MR完美pin to pin替换
(4) 包含 一个MPU6050加速度计&陀螺仪
(5) 包含5个I2C舵机的接口,IIC接口
(6) 包含1个对接ElectronBot板的接口
(7) 包含1个对接BaseConnector板的接口
-
BaseConnector:底座上的USB Type-C插座,通过8-Pin的FFC排线和SensorBoard连接,因为机器人本体需要旋转所以使用了柔性排线。PC只需要一根USB线即可给机器人供电和通讯.
-
ServoDrive:用于魔改舵机替换舵机驱动板的电路,通过I2C总线接口和SensorBoard以及头部主控连接。同样建议将电源芯片LP2992换成XC6210B332MR
-
ServoDrive-DK:电路同ServoDrive,但是把PCB的触点接口换成了接插件,方便调试,调试完了下载代码到ServoDrive的板子(因为体积太小所以上面的板子没有下载口接插件,所以不方便调试,这里单独提供一个DK版本)。
微信扫一扫
关注该公众号