stm32智能小车设计(1)——硬件选型思路

目录

  • 硬件整体逻辑
  • 主控:
  • 底盘:
    • 电机
    • L298n电机驱动:
  • 供电:
  • 外设功能:
    • 电机测速:
    • 循迹功能(走s线,绕弯)
    • 避障功能:
    • 蓝牙遥控:
  • 高级功能:
    • 小车信息的获取及显示:
    • 物体跟随,色块追踪等:
  • 注:
        • 开源代码:

小车做完后是这个样子:
stm32智能小车设计(1)——硬件选型思路_第1张图片

硬件整体逻辑

stm32智能小车设计(1)——硬件选型思路_第2张图片

主控:

开始做小车的时候,手头只有一块F407的核心板,个人只是做着玩的,也没有考虑价格问题,干脆就直接拿来用了。其实F103c8t6的引脚资源和响应都是足够用的,也很便宜,推荐使用,如下图。
stm32智能小车设计(1)——硬件选型思路_第3张图片

底盘:

电机

博主个人住的是四驱的,底盘没接线时长成这个样子:
stm32智能小车设计(1)——硬件选型思路_第4张图片
淘宝一搜就有很多同类的,买回来自己装上就可以。
当然,你也可以选择下面这种两轮的:
stm32智能小车设计(1)——硬件选型思路_第5张图片两种其实没有什么区别,不过相比第一种第二种一般价格更便宜,操作逻辑也简单,只需要控制后面两个轮子的正反转就可以实现小车的左右转向,前进后退,控制车速也只需要调两个电机就好(说人话就是第二种写代码简单)。而第一种正反转实现的方法是差速转向(这个我在同系列博客讲代码时候会说到),调速时候会需要同时考虑4个电机,不过四个电机速度不同就可以写出 花里胡哨 不同的运动方式,欢迎各位喜欢秀操作大佬的进行研究。
stm32智能小车设计(1)——硬件选型思路_第6张图片
两种小车用的电机都是TT电机:一种直流减速电机,工作电压3-6V,控制电机引出两端高电平就可以实现正反转。一两元就可以买下来一个,非常适合个人diy,尤其适合新手,操作不当玩坏了损失也不是很大(真香)。

L298n电机驱动:

stm32智能小车设计(1)——硬件选型思路_第7张图片
接线,使用方法如图所示。这个驱动可以驱动两个两相电机,也可以驱动一个四相电机。通过单片机控制逻辑电平就可以实现电机正反转,可以接四路pwm来调速,也可以直接两路pwm(一个电机对应一路pwm)。工作电压5v-35v都行,我个人用了两节18650锂电池,充满电后8V左右,带动毫无压力。
不过这个驱动问题也是很多,体积大,浪费空间;芯片发热严重 (小火炉警告);精度低,电流不稳定等。
同时安利另一款驱动TB6612FNG,散热和体积相比之下要好很多。
stm32智能小车设计(1)——硬件选型思路_第8张图片

供电:

两节18650锂电池,电压充满后8v左右。
stm32智能小车设计(1)——硬件选型思路_第9张图片
自己又焊接了一个简单的电路转接板:
stm32智能小车设计(1)——硬件选型思路_第10张图片
六脚开关作为电路总开关,开关一侧直接与电池盒相连接,另一侧直接接到一个电源显示模块和直流降压模块上。有的六角开关接触不稳定,电源显示模块可以显示开关是否正确按下,以及电池剩余电量以判断是否应该及时充电等。降压模块用来将电源电压稳压到5V直接接在单片机5V引脚供电。为什么不直接降压到3.3V直接供电给单片机呢?这么做可能会导致GPIO输出模式下逻辑电压达不到3.3V,实测也就只有2.8V左右。
也可以选择下面的电源模块,12v电压输入,可以转成3v,5v,不降压三种输出。
stm32智能小车设计(1)——硬件选型思路_第11张图片

外设功能:

电机测速:

码盘+红外光电对管,利用红外光的在码盘转动时的导通和gpio电平输入:
stm32智能小车设计(1)——硬件选型思路_第12张图片

循迹功能(走s线,绕弯)

三个红外循迹模块,左中右各一个:
stm32智能小车设计(1)——硬件选型思路_第13张图片

避障功能:

利用超声波避障,用到了图中看起来像一对眼睛的模块——HCSR04超声波测距模块。和sg90舵机接在一起,可以实现180度转动来检测左中右三个方向。
stm32智能小车设计(1)——硬件选型思路_第14张图片

蓝牙遥控:

HC05蓝牙模块,一个蓝牙转串口的设备,配合手机或电脑蓝牙。没什么好说的:
stm32智能小车设计(1)——硬件选型思路_第15张图片

高级功能:

小车信息的获取及显示:

采用mpu6050六轴加速度传感器获取信息,如俯仰角,加速度等。
配合屏幕,如oled,LCD等再将它们显示出来,这同时也可以作为小车初始化完成,成功启动的依据。

物体跟随,色块追踪等:

双轴舵机云台+视觉处理模块:
双轴云台实现上下左右的转动,给视觉模块获取信息提供良好位置。
视觉模块用的最多的就是openmv,但是我个人更加推荐K210这款,在性能,处理速度,帧率上都可以吊打openmv,价格也很亲民,就是内存比较少,数据一多可能会存储空间不足,但是据说有专业的压缩软件,不是很大的问题。

注:

作者后期会出相应的模块和个人代码讲解的博客,帮助大家减少踩坑
写作不易,如果大家觉得有帮助欢迎点赞和关注,您的点赞和关注也会成为我持续创作的动力,同时也方便您获取持续更新的博客讲解和开源代码,感谢你呀 ^ω ^
有疑问欢迎在评论区留言,有时间将为您做出回复

开源代码:

码云开源代码

你可能感兴趣的:(stm32智能小车设计,单片机,stm32,嵌入式)