1.总体框图
小车的硬件部分可以总体分为显示部分、通信模块、传感器系统、动力部分以及灯光和主控板。这些模块均由车载的18650锂电池组供电(推荐使用锂电池),通过电源模块进行滤波、DC-DC变换对各个器件进行供电。
2.动力部分
小车的动力部分比较简单。这个例子中所使用的车架是普通的塑料四轮车,共有四个直流电机,通过减速齿轮带动四个轮子的转动。(对于其他车型本文也可使用,例如履带车等,只需要根据电机规格进行适配即可)
电机是普通的TT电机,在四驱赛车中也经常使用。对于智能小车来说,供给6V到10V电压已足够使用。电机的驱动使用了L298N模块(可选择L293D)。L298N是一种双H桥电机驱动芯片,其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5-48v,逻辑部分5v供电,接受5vTTL电平。如图所示的是一种常用的L298N驱动模块,它可以同时驱动两路直流电机,所以小车共使用两个模块进行驱动。
如图所示的是一个L298N的接线图(仅画出使用的接口)。其VDD接口接给小车供电的电池组,本例使用两节18650电池故其电压为6.8V。OUT0到OUT3为L298N模块的功率输出部分,其分别接两个直流电机。图中在直流电机两侧并联104电容是防止小车启动时电机起转时的瞬时反电动势使得碳刷与电枢之间产生火花。IN0到IN3接MCU的IO引脚,MCU通过这四个引脚来控制电机的正转、反转、刹停以及调速。
3.灯光与显示部分
(I)灯光部分
灯光部分主要由小车状态指示灯、电机运行状态指示灯、蓝牙通信指示灯以及电源指示灯。其中,电机运行状态指示灯和蓝牙通信指示灯集成在L298N(L293D)模块以及蓝牙模块上,分别可以指示各个电机的正反转、停车状态以及蓝牙的连接状态。
电源指示灯集成在电源模块上,用于指示电源的开启状态。其电路较简单,如图3.1所示。
小车状态指示灯由于一个三色LED模块实现,该模块固定在超声波探头支架上方,通过变换灯光颜色表示小车当先的运行状态,如表3-1所示。该模块共有四个引脚,分别为R、G、B以及GND。R、G、B三个引脚通过直接连接MCU的IO引脚进行控制灯光颜色变换。由于该模块上已经集成了驱动LED的三极管,故在与MCU连接时不再外接三极管进行驱动(使用STM32等单片机时可不使用三极管)。三色LED模块与MCU的连接原理图如图3.2所示。
表3-1
前进 倒车 停车 左转 右转
指示灯颜色 白 蓝 熄灭 绿 紫 混合方法 R G B B 0 G R B
图3.2
(II)显示部分
小车的显示部分主要是通过12864液晶显示器(本小车未使用)、数码管电压表进行各项参数的输出。
小车电池电压计是由数码管电压表完成。数码管电压表可以直接购买模块,其连接方式及其简易,直接连入被测电路的两侧即可显示电压。
12864液晶显示器可以显示中文字符、英文字符以及图像等。其与MCU通信的方式有并行和串行两种。并行连接需要占用MCU的8个IO口作为数据线,其传输速度较快,适合用于IO口资源不紧张并且对于显示的实时性要求较高的情况;而串行则仅需1个IO口,数据传输速度较慢,但是可以有效节省IO口资源。12864液晶屏的引脚说明如图3.4所示。关于12864的具体规格和操作说明详见其规格书,在此不再赘述。
图3.3
图3.4
4.传感器系统
(I)超声波部分
超声波传感器部分由超声波探头模块和舵机云台组成。
超声波模块使用了SR04超声波传感器,该传感器的有效探测距离为0.2~5m(根据使用环境略有不同),供电电压直接使用DC-输出的5V电源。该模块的外观图如图4.1所示。超声波模块的功能引脚有两个,即Trig与Echo,分别为超声波发射端与接收端。在进行测距时,MCU需要向Trig端发送大于10us的TTL电平进行触发,然后发射端发射8个周期的40KHz脉冲信号,然后模块等待接收信号。当发射出去的超声波信号遇到物体反射回接收端时,Echo引脚会输出一个高电平,MCU通过定时器计算信号发射到接受到回波的时间t,设模块与被测物体距离为l,那么t代表的是超声波信号行走了2l的时间,根据声速v=340m/s的典型值,我们可以计算出:
l=0.5vt=1.70*t (厘米)
具体可参考图4.2。
图4.1
图4.2
在具体的实现电路中,10us的TTL电平通过MCU的延时函数完成。对于时间t的计量由单片机的定时器来完成,本设计采用了STC12C5A60S2的定时器T0,如图4.3所示。
因篇幅问题不能全部显示,请点此查看更多更全内容