Rpibot:面向嵌入式系统学习的低成本可扩展移动机器人平台
这个简单、低成本的移动机器人平台旨在给开发者提供实用、动手的嵌入式系统学习途径。
作为德国汽车公司的嵌入式软件工程师,我以学习平台为起点发起此项目。虽原项目早期取消,但热情推动其作为业余项目延续,成果即 Rpibot。
我有明确需求集:
- 极简、以软件为中心的硬件
- 全包 €100 预算
- 内置扩展性供未来模块
- 单一 5V 电源(如 USB 移动电源)驱动所有组件
平台服务于教育、监控、机器人竞赛等多用途——但非新手教程。预期具备 Python 编程、电子学、PID 控制基础知识。
挑战不可避免,但好奇和坚持的心态有助克服。源代码精简,关键段落注释以供参考。
完整源代码和硬件原理图见 GitHub:https://github.com/makerobotics/RPIbot
物料清单:
机械
- 1 × A4 胶合板,4mm 厚
- 3 × M4×80 螺丝和螺母
- 2 × 带副输出轴编码器的减速电机(轮子)
- 1 × 万向轮
- 1 × 云台摄像头支架(可选)
电子
- 1 × 树莓派 Zero(含排针和摄像头)
- 1 × PCA 9685 舵机控制器
- 2 × 光学编码器轮和电路
- 1 × 母头杜邦线
- 1 × USB 移动电源
- 1 × DRV8833 双电机驱动
- 2 × SG90 微型舵机用于云台(可选)
- 1 × MPU9250 IMU(可选)
- 1 × HC-SR04 超声波传感器(可选)
- 1 × 万用板、焊锡线、排针等
步骤 1:搭建底盘
底盘刻意简洁、轻量、快速组装拆卸。
- 材料低廉
- 快速组装
- 预留未来传感器扩展空间
- 轻量降低功耗
胶合板理想——用细工锯易切、易钻。粘小木块做传感器和电机安装点。关键部件用螺丝固定,便于更换调试无需拆整个框架。热熔胶枪虽便利但长期使用可能失效。3D 打印是替代但成本高、耗时长。
万向轮轻量无摩擦,让运动更平滑。简单木垫片在主轮安装后调平后轮。
轮子参数(供软件计算)
周长:21.5 cm
编码器脉冲:20 脉冲/转
分辨率:≈1 cm/脉冲(简化距离计算)
步骤 2:电子与接线
以下模块按图互连。
树莓派 Zero – 中央控制器。读取传感器、经 PWM 驱动电机。通过 Wi-Fi 连远程 PC。
DRV8833 – 双 H 桥电机驱动,为电机提供足够电流(Pi GPIO 无法直接驱动)。
光学编码器 – 轮子光路每被遮挡产生方波。Pi 硬件中断捕获每次跳变。
PCA 9685 – I²C 舵机控制器,提供 PWM 信号和 5V 电源给云台舵机。
MPU9250 – 3 轴加速度计、陀螺仪、磁力计,主要用于航向信息。
所有组件用杜邦线连接。面包板作分发枢纽,提供 5V、3.3V、地轨。连接表(见附件)详列每条链路。切勿将 5V 直连 3.3V 引脚;上电前用万用表复核接线。搭建面包板后测量主供电电压。
模块用尼龙螺丝固定底盘,稳固且可拆卸维护。
焊接仅限电机端子、面包板、排针。杜邦线方便但易松动;软件诊断有助识别间歇性接触。
来源:Rpibot – About Learning Robotics
制造工艺