找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2192|回复: 2
收起左侧

基于stm32f407的平衡小车 为像我一样的小白提供一站式服务。不用来回翻帖子...

[复制链接]
ID:209158 发表于 2020-3-24 00:28 | 显示全部楼层 |阅读模式
才开始写帖子,大家多多包涵。
本帖子采用以STM32F407为控制器的平衡小车。我是因为想学32,然后F4比较强大,所以就没采用F1或者stm8之类的单片机。
先从硬件准备开始:
1.编码电机两个,电机驱动器l298n一块(我用了他上面的5v电,所以没加稳压模块,正规的话应该加上)
2.MPU6050模块一个
3.蓝牙模块
4.IIC协议的oled屏幕一块(32当然也可以用其他协议的,换一下相应文件就好)
5.stm32f407最小系统板一块
6.无源蜂鸣器来一个用来放音乐不错
7.导线、洞洞板、排针、接头自己备一些,我是自己焊的拓展板 ,也可以直接画pcb
8.3s的18650电池和充电器
9.支架的话我为了省事买了电机加底板支架,看视频里大家要是有钻,螺丝,铜柱的话整两个电机支架一块亚克力可轻松搞定,而且整洁美观,布局也方便

再就到了硬件连接,我这里就不详细说那个了  l298n上面有in1~4四个引脚,分别接到单片机对应的引脚,   1,2一组,控制motor1方向;3,4一组,控制motor2方向。同时电机驱动模块上还有两根enable和5v引脚,刚买的一般是通过两根跳线帽将两个enable与两个5v分别短接,我们需要将两根短接帽拔掉,给每个enable接一路pwm,才能够实现我们所需要的直流电机速度控制。编码电机连接时注意区分动力线和编码器信号线,动力线两条不做区分,接上后续如果电机方向不正确可以改in1,2的高低电平即可;编码器有其电源线5v和gnd,不可接反,另外两根即编码器信号输出,用来记脉冲就好。本小车中各引脚定义及相应定时器在文末统一描述。到这,电机及其驱动均已连接完成。

接下来是mpu6050,我对这个模块的认识其实也只存在于使用阶段,我采用的直接是原子哥开发板例程里的.c文件和.h文件,我们在使用时只需要注意两个文件中关于引脚的定义即可,其余均不用改动,包括iic地址,其默认就为0x68,除非一组IIC上挂载多个设备,才存在不同地址访问问题,正常使用可不关心。我在这里提一个我自己的认识,揭开了iic的面纱,其本身在了解了其通信协议之后,根本就不会在意其是不是单片机上标的特定的某个或某对引脚,尤其是使用开发板的朋友,一定注意这个问题,这么说,单片机上任何两个可以控制高低电平切换的引脚都可以被你用来进行iic通信,当你的iic设备用了别人的程序后没反应,首先第一步先把你的iic设备断开,在不该动现有iic配置的前提下,通过对scl和sda两个引脚单独置高和置低用以检测你的配置是否有问题以及你的引脚本身是否有问题,排除这两个问题后你的设备要是还没反应你再考虑换程序试,记住先硬件后软件的原则。本帖中设计的oled和mpu6050两款iic设备我使用了两对scl,sda,这样做的一个巨大好处就是移植性非常强,很方便使用者修改。oled驱动时注意一下这个模块仅接上vcc和gnd是毫无反应的,这不用慌,只有写上相应代码才能有所显示,本帖中的oled程序是我找了好久且试了没问题的,其中对于iic引脚配置的过程很有思想,只需要在.h文件里面修改,其余均可不用改变。大家若在其他32设备上使用时可参考,其避免了很多问题。

lan ya
回复

使用道具 举报

ID:714508 发表于 2020-3-24 09:11 | 显示全部楼层
我支持你支持你
回复

使用道具 举报

ID:388929 发表于 2020-3-24 09:36 | 显示全部楼层
看来我是第一个发现这个快要变成不得了的贴子的人,坐等更新,坐等成品,让我这初学者见证大神的掘起
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表