外观
二、电路原理
本设计使用了两节锂电池共7.4V作为系统供电,经降压到5V后给单片机系统进行供电,单片机与按键电路、红外接收电路(无线遥控功能)、避障电路、循迹电路、LED车灯、无源蜂鸣器以及电机驱动电路进行连接,电路组成系统框图如下:
1 电源输入电路
电源是什么?电源是给整个系统提供能量的重要组成部分。在设计电源电路时需要重点考虑四驱小车整体的工作电压。比如STC89C52RC的工作电压是 5V,电机参考电压是 6V,那么电源输入电压就不能低于6V。常见的供电设备就是外接电池了,一般的干电池是 1.5V,那至少需要4 节电池,而干电池又不能循环充电,容易造成资源浪费。故而选择支持充电的锂电池,而锂电池的种类也很多,在具体选型的时候主要根据体积以及容量来选型。综合考虑小车整体大小,最终选用了 14500 两节锂电池供电,工作电压为3.7*2=7.4V。
图中 P1 为双节 14500 的电池座,装上电池后,经过 D1 防反接的二极管,开关SW1打开,电源通过 7805 线性稳压器稳压到 5V 输出,C1 和 C2 为电源滤波电容。LED2为电源指示灯,R1 为限流电阻,这里取 10K,让 LED 发光不会太亮,同时也是为了减少项目中所用元件种类。U1 为 7805 稳压器,U4是稳压器的散热片,避免工作过久芯片发热严重,给它降降温。
2 单片机最小系统
51单片机最小系统由主控芯片、晶振电路、复位电路、下载接口以及P0上拉电阻组成。在使用一款芯片设计电路的时候,不能一味地去网络上搜索参考电路,更多地应该去查阅厂家所提供的数据手册,厂家所提供的资料是最有保障的。下图为STC89C52系列单片机器件手册中1.6节最小系统应用图:
在最小系统图中也说明了复位电路与晶振电路,下方还有具体的选型参数说明。复位功能在第九引脚,设计上官方给出了用一个10K电阻和10uF的电容组成的上电复位的电路,结合实际使用情况可以在加一个按键,需要复位的时候按一下按键即可。
晶振功能在18和19引脚,在底下给出的参数选择中提到了晶振大小以及谐振电容C3和C4大小取值,在学习过程中,结合51单片机定时器的特性,一般选用11.0592MHz的晶振,因为这个时钟频率在进行分频时可以准确地划分时钟频率,在做波特率通信时所计算出来的值为一个整数,保持通信的准确性。
除了上图中的最小系统应用电路需要注意之外,还需要查看器件的引脚说明,能帮助我们更好地理解芯片每个引脚的功能,值得注意的是STC89C52的P0口(32至39引脚)比较特殊,在数据手册1.8节有专门提到:P0口内部无上拉电阻,做I/O口使用使需要外接一个10K~4.7K的上拉电阻进行使用。
结合以上理论与计算基础,加上一个程序下载接口就可以使这个单片机能够正常工作了。
3 LED驱动电路
没有车灯的小车是没有灵魂的,那还必须选择高亮的LED 用来模拟汽车的左右车灯。LED 灯的阴极接电源地 GND,这里限流电阻取值就稍微小一些,让LED 电流更大,灯更亮。LED 灯的程序控制也比较容易,R12 电阻左端连接一个LED-R 的网络标签与单片机引脚连接,当引脚输出高电平时,二极管导通,LED点亮。利用定时器及延时以及 IO 口输出配置,就可以实现车灯闪烁以及高亮和弱亮的呈现效果了。
4 按键输入电路
为了模拟一键启动以及模式切换功能,在智能小车上使用一个独立按键进行控制,可以实现长按以及短按的功能。该按键引脚与单片机的中断引脚相连,也可以进行中断实验演示。检测原理为:单片机的引脚与按键连接,当按键按下时,按键导通接到 GND 电平,即单片机引脚检测到低电平后告诉单片机我已经检测到按键按下的信号了,你可以去执行 XXX 操作。这就是单片机外部信号检测的基本原理。
5 蜂鸣器电路
为了当智能小车能发出声音,你可能会想加上一个喇叭,但是同样还需要一个声音信号的产生,如此设计的话整体电路会变得比较复杂。在众多电子元器件中,有那么一种神奇的元件,它可以发出各种音调的声音,它就是无源蜂鸣器。相对于无源蜂鸣器,它还有个亲兄弟叫有源蜂鸣器。
值得注意的是这里的“源”指的是振荡源而不是电源。有源蜂鸣器只要通上电就可以发出响声,无需外围电路设计,缺点是只能固定发出某个频率的音调,不能更改。而无源蜂鸣器不能直接通电使用,还需要外部输入一个振荡信号,缺点是外围电路设计相对复杂些,但能够自由控制蜂鸣器输出的声音,我们就可以使用无源蜂鸣器这一特性生成一些美妙的音乐了。
由于单片机的 IO 口驱动电流太小,不能直接驱动无源蜂鸣器,所以需要专门设计一个驱动电路,如图 9 所示。8050 三极管起开关作用,当输入信号为高电平时,三极管导通,蜂鸣器发声。
6 电机驱动电路
电机驱动是小车的基础所在。单片机直接输出的电流太小,不足以带动小车行走。电机电路采用了 RZ7899 电机专用驱动芯片,该芯片外围电路简单,非常适合智能小车等小型电机驱动应用。它由逻辑输入端口BI 和FI 控制电机前进、后退以及制动,配合单片机 PWM 输出可以控制电机转速。在焊接时注意在电机上并联一个 104 的瓷片电容起着防干扰的作用。电机则使用的N20 电机,小巧精致,电机焊接时使用排针直接与电机控制引脚连接,十分方便。
7 红外循迹电路
循迹电路的对管选用了内部集成发射和接收管的ITR9909这个器件,小车循迹一般是在白色地板上沿着一根黑线行走,利用红外光在不同颜色的反射情况进行识别。红外光一直对外发射,车底如果是白色地板,光线会被折射回去,此时接收管接收到信号,经过比较器输出高电平反馈给单片机,如果车行驶在黑线周边,红外光被黑色吸收,接收管接收不到发射的信号,此时比较器电路输出为低电平。
8 超声波避障电路
为了避免小车在行驶过程中出现撞车事故,使用了一个超声波模块放置在小车车头。超声波模块的型号为 HC-SR04,使用四个引脚与单片机连接,分别是 GND、VCC、Trig 以及 Echo 引脚,除去电源引脚,只需要两根信号线就可以检测超声波检测前方障碍物的距离,检测原理方法将在软件部分讲解。
9 蓝牙接口电路
既然是要做一辆智能小车,那么无线控制少不了。常用的智能小车控制方案有红外、蓝牙、WIFI、2/4G 等方案。在这里我们选用的是蓝牙控制,这种方式电路简单,手机就是遥控器,另外还可以学习蓝牙 APP 的设计。
智能小车上使用 HC05 蓝牙主从模块,一共有 6 个引脚。EN 引脚用于控制蓝牙模块进入 AT 指令,设置为高电平时,可以设置蓝牙模块的状态与数据传输;VCC 引脚和 GND 引脚为电源输入引脚,输入电压范围为3.6-6V;TXD和RXD是用于与单片机连接的串口引脚,其中 RXD 接单片机的TXD,TXD接单片机的 RXD 引脚,此处需留意不能接反;最后一个引脚为STATE 引脚,功能是显示蓝牙配对的状态。当蓝牙连接上手机时,该引脚输出高电平