电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
文章
使用树莓派做两轮自平衡车(一)——概述
分 享
扫描二维码分享
使用树莓派做两轮自平衡车(一)——概述
树莓派
平衡车
gcrisis
关注
发布时间: 2020-08-14
丨
阅读: 3215
![](https://cf01.ickimg.com/bbsimages/202008/09428ef4c554c281740fce7eb303c559.png) 为什么要用树莓派做平衡车呢? 原因主要有下面几点: 第一, 我不忍心再让它吃灰了; 第二, 我想学习linux的应用开发; 第三, 我想学习linux的驱动开发; 第四, 树莓派可玩性和可扩展性高; 第五, 切实体会下嵌入式linux开发与裸机开发的区别,对比一下它们的优缺点; 第六, 看看自己到底能不能做出个东西来。 基于以上原因,我拿出了尘封已久的树莓派开干了。 ![](https://cf01.ickimg.com/bbsimages/202008/8dd818bc7eb8af9c8de4f76c44c90682.png) ###**材料清单:** 树莓派(3,4,zero应该都行); MPU6050传感器; TB6612FNG或者L298N电机驱动(两个我都试过,推荐前者); 电机、轮子和车架(这个某宝有卖,130块,电机一定要带编码器); 5v稳压电源模块(电流最好2A以上); 12V锂电池; 面包板(洞洞板); 排针排座; 导线、杜邦线; 焊接工具(烙铁、焊锡、松香等等); OLED显示屏(可选); 超声波传感器(可选); 自己画电路板(可选,好处是整洁紧凑,没有太多连线,稳定可靠); 其他(可选,开关、按键、固定柱、螺丝螺母、电源插座等,这个看实际情况安排); ![](https://cf01.ickimg.com/bbsimages/202008/e5ce9f48862577d0f6c2cb3aaee9ef62.png) ###**程序开发步骤:** 1、 调通传感器mpu6050 2、 控制电机 3、 获取编码器信号和测速 4、 编写pid控制代码 5、 调通oled 6、 控制超声波 7、 调通蓝牙 8、 调整代码逻辑,优化代码 ###**程序代码逻辑概要:** ![](https://cf01.ickimg.com/bbsimages/202008/8b228ac158c2f697a04a9fab01b0f9ba.png) ###**电路原理图和接线概要图:** ![](https://cf01.ickimg.com/bbsimages/202008/47f5738cb23b4c18d0b67ea57cd2a23a.png) ![](https://cf01.ickimg.com/bbsimages/202008/71173fc6da221783c4e77266fa2e0be2.png) ###**最终效果:** [半个月,我终于用树莓派让两轮平衡车站起来了](https://www.bilibili.com/video/BV1RT4y1u7u1 "半个月,我终于用树莓派让两轮平衡车站起来了") [树莓派两轮平衡车升级了——扩展板+蓝牙远程控制+oled超声波+超声波避障](https://www.bilibili.com/video/BV1vV411r7Kb "树莓派两轮平衡车升级了——扩展板+蓝牙远程控制+oled超声波+超声波避障") ![](https://cf01.ickimg.com/bbsimages/202008/0a8818394ab8fba416f2cc232742ea53.png) ###**通过制作平衡车,可以学习掌握或者了解的知识点有:** 1、 linux gpio控制; 2、 linux i2c; 3、 linux spi; 4、 linux 中断; 5、 linux字符设备驱动; 6、 linux模块开发; 7、 Linux蓝牙控制; 8、 Linux线程; 9、 Linux信号; 10、Linux的系统api,其中有open、read、write、lseek、ioctl、select、poll、usleep、sleep、gettimeofday、mmap等等; 11、数字PID的实现; 12、PID控制参数整定; 13、滤波算法——卡尔曼、一阶互补; 14、Makefile编写; 15、驱动移植的方法; 16、电机方向和速度(pwm)的控制方法; 17、Linux gdb调试程序的方法; 18、如果自己画板子,电路板原理图与pcb绘制,电路板焊接。 整个项目都使用c语言开发,需要对c语言比较熟悉。个人感觉平衡车还算是一个比较综合的项目,资料丰富,难度适中,很适合学了一堆模块却不知道做个什么小项目的小伙伴。 本文主要给大家一个大概的印象和思路,具体的细节我会分几篇专栏详细讲解,欢迎大家一起学习、交流。
原创作品,未经权利人授权禁止转载。详情见
转载须知
。
举报文章
点赞
(
4
)
gcrisis
关注
评论
(2)
登录后可评论,请
登录
或
注册
ef14f9fcbb866b93
267
天前...
电池鼓包了
0
回复
发布
9a57f1b677d5c322
208
天前...
来个代码瞅瞅
0
回复
发布
相关文章推荐
MK-米客方德推出工业级存储卡
Beetle ESP32 C3 蓝牙数据收发
Beetle ESP32 C3 wifi联网获取实时天气信息
开箱测评Beetle ESP32-C3 (RISC-V芯片)模块
正点原子数控电源DP100测评
DP100试用评测-----开箱+初体验
Beetle ESP32 C3环境搭建
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏之二
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回
我要举报该内容理由
×
广告及垃圾信息
抄袭或未经授权
其它举报理由
请输入您举报的理由(50字以内)
取消
提交