嘉立创产业服务站群
发作品签到
标准版

智能小车

工程标签

1.8w
0
0
14

简介

多功能小车

简介:多功能小车

开源协议

GPL 3.0

创建时间:2021-03-06 12:23:53更新时间:2021-12-27 02:19:23

描述

基于STC8A8K的智能小车设计

一、前言:

接触小车大概也有两年了吧,前前后后小车也做过3,4次了。从第一次刚学单片机,用 STC89C52做的三轮小车(什么功能都没有,只有前进,后退,左转, 右转,用红外遥控控制的,走起来歪歪扭扭,一点体验感也没有),到后来,学习了STC8A8K这个增强型的单片机,就想着做一个项目来巩固学习的知识,说干就干,买了一个底板和轮子,这次选择了四轮的。(这次花费的时候最长,一个模块一个模块的添加,一个功能一个功能的验证,代码调试了一遍又一遍,bug修改了一次又一次,基本上实现了大部分的功能,增加了4种遥控方式,两种避障方式,基本上把学习的东西都用上了,板子上的资源也用的差不多了,算是一次不错的体验)。再到后来,偶然接触到了立创EDA这个宝贵的平台,又碰巧参加了立创EDA暑期训练营,这次训练营正好是有用STC8A8K的项目,正好给了我机会(用开发板连接的线非常的乱),于是乎,连夜测试引脚画板,在立创EDA的支持下,完成了我的智能小车的主控板(这是我第二次画板),这次暑期训练营可能也间接的影响了我,在这次活动之后,我画板的频率明显提升了很多(做了好多乱七八糟的东西)。再到这一次,听说立创有小车的项目,我立马跑过来关注,看了立创的小车之后,我发现我这做的是啥玩意,真tm丑,难看,体积大,就很嫌弃的感觉。我觉得我要善始善终,这个项目原来也花费了我不少的心血,是时候进行改版了,这次要画一个小的,换成N20电机,换成小轮子,用PCB做底板,增加循迹电路,增加充电电路(这次岔劈了,下次改进),又是在立创的支持下,我的第四版小车诞生了。我的小车跟随着立创的脚步,越来越好,越走越远。

二、版本

1.第一版

这一版是第一次接触单片机的时候制作的,距离现在有点时间了,那时候刚开始学习51单片机,用的纸板搭的外壳(哈哈),用的洞洞板焊的灯,左转向灯,右转向灯,确实不太好看。
三轮侧面.jpg
三轮正面.jpg

2.第二版

第二版是学习STC8A8K这个单片机做的,这次是直接用的开发板,连的线真是乱七八糟,但这次是里程碑的一次,基本实现了所有的功能,(有密集恐惧症的勿看),功能虽然很全,但是使用起来真的很麻烦,每次操作都需要好久。
小车开发板.png

3.第三版

这一版较之前一版有了很大的改进,把所有的电路都集成在了一块PCB上,看起来顺眼多了。
小车主控板调试.png
主控板小车.png

4.第四版

这一版在前一版的基础上,又进一步集成,一款PCB直接作为底板,看起来更好看,又增加了循迹模块,弥补之前的缺憾,开关也换成了大型的船型开关,操作方便。
小车全局图.jpg
第四版小车底面.jpg
(还没有调试好,调试好之后电机线直接焊死)

喇叭部分

喇叭.jpg

遥控器

遥控器正面.jpg

遥控器反面.jpg

三、板载外设

  1. 红外接收电路
  2. 红外避障电路
  3. 红外循迹电路
  4. 电机驱动电路
  5. 蓝牙接口
  6. esp82266接口
  7. NRF24L01接口
  8. OLED接口
  9. JQ8900接口
  10. 超声波接口
  11. 舵机接口
  12. 三个独立按键
  13. 左转向灯,右转向灯 后灯
  14. 自带复位按键
  15. 一个RGB灯
  16. 4个WS2812
  17. 一个船型开关
  18. 一个2P拨码开关

四、功能

1.电机正反转:

板载双H桥驱动电路两组,可以驱动四路电机,每组电机都可以实现正反转。

2.PWM控制转速:

每组电机都外接单片机的IO口,总共用8个IO口控制4组电机,可以用单片机IO输出PWM不同控制电机的转速,可编程。

3. 手动控制:

    3.1 红外控制:可以通过板子上集成的红外接收头用红外遥控控制,这种控制方法简单,外设少,但干扰性强,信号强度弱,距离短。

    3.2 蓝牙和wifi控制:还可以通过手机连接蓝牙或者通过esp8266连接wifi控制,这两种方法都是在手机上安装一个软件,需要一个手机,操作简单,信号较强,使用较为舒适。

    3.3 无线控制:还有一种控制是通过NRF24L01的2.4G传输,这种控制方式需要一对NRF24L01,控制端和接收端下载配套的程序,双方可进行通信。这种方式用遥感电位器输出信号,需要较为复杂的硬件电路。但无论在信号,距离还是手感方面都较为完美。

遥感控制图(这里是开发板接的,没有另外打板子,有需要的话可以自己打个板子)
IMG_20200307_102444.jpg
制作好的遥控器

遥控器.jpg
4.自动控制:

    4.1 超声波控制:超声波是利用发射和接收的时间来判断距离,可通过编程设置最短距离进行改变智能车的方向。另外超声波搭配了一个SG90舵机,可以在左,中,右三个方向进行旋转,提高了检测障碍的正确性。

    4.2 红外避障:红外避障是利用一对红外对管,一个发送和一个接收,判断产生距离的时间判断是否前方有障碍物,若时间间隔较短,则有障碍物,改变智能车的方向。

    4.3 红外循迹:红外循迹是由发射管接收管和配套电路组成,工作时发射管发射红外线,接收管接收发射回来的红外线。当红外线被深色物体吸收较多而发射回来的很少时,OUT端为高电平,否则为低电平。

5. 实时显示:

板子集成了OLED,OLED通过IIC控制,可以实时显示超声波检测的距离,显示是自动模式还是手动模式。

6.语音播报:

板子外接JQ8900语音芯片,通过提前拷贝需要的语音,在执行对应程序的时候通过一线串口发送命令,播放对应的语音。

7. 电源:

电源部分采用2节3.7V的锂电池。板子上集成了5V和3.3V稳压源,很好的适配电池和满足5V和3.3V外设的正常工作。

五、调试

这里说一下我在焊接和调试的时候遇到的一些问题。

1.先焊芯片和电源

这次焊接依然是我以前的思想,先焊接芯片和电源部分,电源指示灯也焊接好,然后上电测试,如果电源指示灯点亮,说明基本没有问题,可以执行下一步,接着焊接单片机的外围电路,复位,晶振,焊接好之后测试,可以下载程序试试能不能正常下载。(很庆幸,我这一步没有遇到一点问题,非常顺畅)。

2.焊接LED

上一步我们已经焊接好了电源部分和单片机电路,并且已经测试下载程序,这一步我们需要验证芯片是够正常工作,我们可以焊接PCB的LED部分,然后烧录一个点灯程序测试芯片是否正常工作,我这一步也没有问题(如果有问题,看看是不是有些地方虚焊或者是接触不好)

3.焊接循迹和避障电路

这一步是扩展功能,上面的完成之后基本小车可以正常工作,要想小车更丰富,这一步也很重要,在我熟练的技术下,完成了这部分的焊接,然而在测试的时候,发现3个循迹模块和2个避障电路一个都不工作(接触的时候,LED不点亮)

既然出现了问题,那么就寻找问题,首先先看电路有没有焊好,再看电阻有没有焊对,发现都很正常(很疑惑,不至于是电路有问题吧),由于这是我第一次使用这个电路(以前都是用模块),不敢确定,我就百度搜一下,这一搜不要紧,tmd,电路真的有问题,2个避障的电路没有问题,3个循迹的有问题(我抄作业的那个同学,我保证打不死你)我又去看立创的电路(我自闭了,当时应该抄立创的)。

循迹电路问题:

正确电路:

image.png

错误电路:

image.png

猛一看,是不是没有问题,两个引脚接反了。真是日了狗了。

我大概看了一下,问题还不是很严重,还有改进的方法(后面会介绍)

红外避障电路没问题啊,怎么会不工作呢?

电阻问题?

我头开始以为是可调电阻阻值不对,在板子上我测了一下,果然不对(只有2K,我的是10K的),我有测电压,发现也有问题,因为买的是立创的东西,质量应该不会有问题,我想肯定是电路影响的阻值。因为只买了5个,没办法,只能从板子上拆下来一个,测了一下,9点多K,是正常的,更疑惑了。

电路问题?

为了确保电路确实没问题,我又把原来的模块拿出来,上电测试能用之后,然后用万用表通断测它的电路,发现和我的电路确实没太大差别,只是LED灯那个电阻阻值变为了1K,并不影响。

为了确保不是电路影响的,我还单独用面包板搭了这个模块的电路,发现还是不能够用。
面包板.jpg
红外发射管问题?

既然电路没问题,我想是不是我买的红外发射管和它这个红外发射管不是一个型号,不能通用?
于是我把他的红外发射管拆掉,把我的换上去,发现依旧能用。

LM393问题?

我又把原来模块的LM393拆掉换成刚买的,依旧能用,tmd,真是奇了怪了。

红外接收管问题?

电路就这么多东西,基本都测完了,还有红外接收管,拆掉,换上,不工作?
难道我的红外接收管不能用?(看外型,看型号都是一样啊)
偶然间,我把红外接收管的正负极调了一下,tmd的,可以用了,真是tmd,竟然是正负极反了?
难道说长的引脚不是正极,短的引脚不是接地?
希望哪个大神能我留言讲了一下。

红外模块.jpg

既然发现了问题,那么小车板子上的也需要去修改一下,拆掉,焊接,上电,我日他得,可以了(真是tm太不容易了,搞了我一晚上,几个小时,tmd)

4.关于循迹电路的修改

由于我抄错了原理图,所以循迹模块没有一点作用,无奈之下只能去修改这个电路,好在电路修改并不复杂,只需要把原来的两个管的位置调换一下,这中间的过程就不细说了,比较艰辛,这里就给大家放几张做好的图吧。

循迹.jpg

原来的壳不能用了,就这样吧,凑合着还能使,下次如果再画的话一定会改进的。

六、程序编写

虽然说有以前的基础,程序基本框架都写好了,但是呢,新版的小车肯定会和原来有所不同,代码或多或少都会有一点变动。这次增加了循迹模块,这一部分是原来没有的,增加了WS2812,这一部分也是原来没有的,增加了左转灯,右转灯和后灯,增加了一路EGB灯。还有一些其他的电路。

遥控器是现做的,原来打的板子,一直放着没有焊接,这次顺便就焊接调试一下,把东西都用起来。
代码也写一写,现在可以实现前后左右控制 和 1-4挡控制 ,可以通过NRF24L01和小车进行通信,在主函数中没有使用延时,特殊处理了一下,之间通信的速度还是相当可观的,完全感觉不到延时。

七、效果演示

视频看下面文件:

设计图

原理图(1 / 2)
PCB

BOM

IDNameDesignatorFootprintQuantity
1TL431U1SOT-23_L2.9-W1.3-P0.95-LS2.4-BR1
2680R15,R46,R45,R4R08054
3LED-0805_RLED1LED0805_RED1
4511R14R08051
5RT-S01-113-L4LBRSW2SW-TH_RT-S01-113-L4LBR1

附件

序号文件名称下载次数
1
红外避障.mp4
1169
2
红外巡线.mp4
728
3
超声波避障.mp4
711
4
无线控制.mp4
565
5
程序.7z
258
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航