小车做完后是这个样子:
开始做小车的时候,手头只有一块F407的核心板,个人只是做着玩的,也没有考虑价格问题,干脆就直接拿来用了。其实F103c8t6的引脚资源和响应都是足够用的,也很便宜,推荐使用,如下图。
博主个人住的是四驱的,底盘没接线时长成这个样子:
淘宝一搜就有很多同类的,买回来自己装上就可以。 当然,你也可以选择下面这种两轮的:
两种其实没有什么区别,不过相比第一种第二种一般价格更便宜,操作逻辑也简单,只需要控制后面两个轮子的正反转就可以实现小车的左右转向,前进后退,控制车速也只需要调两个电机就好(说人话就是第二种写代码简单)。而第一种正反转实现的方法是差速转向(这个我在同系列博客讲代码时候会说到),调速时候会需要同时考虑4个电机,不过四个电机速度不同就可以写出 花里胡哨 不同的运动方式,欢迎各位喜欢秀操作大佬的进行研究。
两种小车用的电机都是TT电机:一种直流减速电机,工作电压3-6V,控制电机引出两端高电平就可以实现正反转。一两元就可以买下来一个,非常适合个人diy,尤其适合新手,操作不当玩坏了损失也不是很大(真香)。
接线,使用方法如图所示。这个驱动可以驱动两个两相电机,也可以驱动一个四相电机。通过单片机控制逻辑电平就可以实现电机正反转,可以接四路pwm来调速,也可以直接两路pwm(一个电机对应一路pwm)。工作电压5v-35v都行,我个人用了两节18650锂电池,充满电后8V左右,带动毫无压力。 不过这个驱动问题也是很多,体积大,浪费空间;芯片发热严重 (小火炉警告);精度低,电流不稳定等。 同时安利另一款驱动TB6612FNG,散热和体积相比之下要好很多。
两节18650锂电池,电压充满后8v左右。
自己又焊接了一个简单的电路转接板:
六脚开关作为电路总开关,开关一侧直接与电池盒相连接,另一侧直接接到一个电源显示模块和直流降压模块上。有的六角开关接触不稳定,电源显示模块可以显示开关是否正确按下,以及电池剩余电量以判断是否应该及时充电等。降压模块用来将电源电压稳压到5V直接接在单片机5V引脚供电。为什么不直接降压到3.3V直接供电给单片机呢?这么做可能会导致GPIO输出模式下逻辑电压达不到3.3V,实测也就只有2.8V左右。 也可以选择下面的电源模块,12v电压输入,可以转成3v,5v,不降压三种输出。
码盘+红外光电对管,利用红外光的在码盘转动时的导通和gpio电平输入:
三个红外循迹模块,左中右各一个:
利用超声波避障,用到了图中看起来像一对眼睛的模块——HCSR04超声波测距模块。和sg90舵机接在一起,可以实现180度转动来检测左中右三个方向。
HC05蓝牙模块,一个蓝牙转串口的设备,配合手机或电脑蓝牙。没什么好说的:
采用mpu6050六轴加速度传感器获取信息,如俯仰角,加速度等。 配合屏幕,如oled,LCD等再将它们显示出来,这同时也可以作为小车初始化完成,成功启动的依据。
双轴舵机云台+视觉处理模块: 双轴云台实现上下左右的转动,给视觉模块获取信息提供良好位置。 视觉模块用的最多的就是openmv,但是我个人更加推荐K210这款,在性能,处理速度,帧率上都可以吊打openmv,价格也很亲民,就是内存比较少,数据一多可能会存储空间不足,但是据说有专业的压缩软件,不是很大的问题。
作者后期会出相应的模块和个人代码讲解的博客,帮助大家减少踩坑 写作不易,如果大家觉得有帮助欢迎点赞和关注,您的点赞和关注也会成为我持续创作的动力,同时也方便您获取持续更新的博客讲解和开源代码,感谢你呀 ^ω ^ 有疑问欢迎在评论区留言,有时间将为您做出回复
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/183945.html原文链接:https://javaforall.cn