智能物体追踪/遥控车的设计报告(团队制作-雷帅、王威、裴夏青、陈如峰)
照电路图焊接的过程中相当费时费力费神,购置上述器件的花费也在30块钱以上,有些器件如电阻电容很便宜,不能单个购买,但是买多了又很浪费。而网购的最小系统板花费40元(虽然我们原来只想要最简单的有下载口的最小系统,发现了这个之后觉得划算就买了),上面已经将单片机(可插拔)、LED、数码管、红外模块集成,而且做好了USB下载口,并赠送了开发环境和相关例程、下载线。
电机驱动模块更给力。我们本打算用两片7960芯片自己焊接驱动模块,然后用2576给单片机和超声波模块做稳压电源,这样的花费是相当大的,一片7960就要15块钱,2576的价格也在5元左右,这样整个下来就得50块钱左右,我们在网上发现了这个用L298N制作的电机驱动模块,它不但可以同时驱动两个伺服电机,还拥有一个5v稳压输出,还有PWM和全整流两种工作模式,价格是35元,所以我们果断买下了。
超声波模块就没有疑问了,就算知道硬件电路图,买了器件其实在缺少相关设备的情况下调试起来也是非常困难的,我们经过货比三家,选了一个实用又比较实惠的模块。
这样硬件电路置备妥当购置完备了,最小系统板、超声波模块、电机驱动模块、7805稳压芯片、4节干电池盒、由于资金限制,我们向智能汽车实验室借用了一个废旧电池(7v左右,与干电池串联使用)、电子设计留下的废旧车底盘。
最小系统板可以兼容MCS-51系列单片机里的多种型号,我们没用自带的52RC而是采用了其中比较高端的STC12C5A60S2,(其实
6
智能物体追踪/遥控车的设计报告(团队制作-雷帅、王威、裴夏青、陈如峰)
也就10块钱)它的指令执行周期更短,有AD、PCA模块(可以工作在PWM方式)、而且定时器、中断等与传统的8051基本兼容,非常容易掌握,也很适合小车的实时控制。
小车本来我们想用三楼智能小车实验室废弃的小车底座,就是一个小车底座加上电机,只能简单的实现车的直线前进后退。后来偶然在创新实验室发现了另外一个小车,一试之下,发现这个小车底盘非常好用,本来我们都没打算在遥控的时候能实现转弯功能,因为用PWM控制的舵机太贵了,后来车上竟然发现了小的转向电机,我们眼前一亮,正好电机驱动可以驱动两路电机,就把ENB输入与5v短路,在用两个I/0直接控制这个简陋的“舵机”,阴差阳错的实现了遥控模式下的转弯功能。
但是由于电机驱动要求输入电压在7.2v-12v之间,我们的旧电池很明显力不从心,导致出现了很多意外问题,耽误了不少进度,后来用旧电池与干电池串联供电,单片机采用7805单独稳压供电,虽然问题有点缓解,还是显得不够给力,新电池又比较贵,我们及将就着用了,这也是系统设计的一大遗憾。
另一个遗憾就是没有实现物体的全方位追踪,只能实现前后方向的直线追踪,因为要实现转弯,超声波传感器就要求有多个,而且要求有能精确控制角度的PWM舵机,所借的小车转向角度不能控制,如果购置躲个超声波传感器和一个PWM舵机,花费就在300以上,所以我们考虑了一下就放弃了。
7
智能物体追踪/遥控车的设计报告(团队制作-雷帅、王威、裴夏青、陈如峰)
四、I/O分配及硬件连接简图
1、 I/O分配如下:
IO P1^1 P1^2 P1^3 P1^0 P1^7 P0 功能 超声波发送使能端口 超声波接收检测端口 PWM输出 正转标志位 反转标志位 数码管数据端口 无 zheng Fan 无 P0^2 P0^3 P1^4 P1^5 RX P0^1 头文件定义 TX IO P0^0 功能 电机正反转控制 电机正反转控制 转向控制 转向控制 剎停标志位 左右转向标志位、系统开关标志位 同上 In3 In4 Ting 无 In2 头文件定义 In1 数码管驱动 无 P2^0-3 (注:最小系统板上P1口连接了LED)
P1^6 无 2、系统硬件连接简图:
8
智能物体追踪/遥控车的设计报告(团队制作-雷帅、王威、裴夏青、陈如峰)
五、相关模块、算法
1.单片机最小系统:
型号STC12C5A60S2,选用此型号的重要原因是它自带PWM功能,不同占空比的方波给L298N驱动芯片后能对电机实现调速。
本系统使用的STC12C5A60S2功能模块有: 定时器0 定时器1 PWM P0口 P2_0 P2_1 P2_2 P2_3 P1口 外部中断1 红外解码用 超声波测距用 电机调速用 数码管数据位 数码管使能 连接LED ,显示小车的不同状态 红外解码用
2、PCA模块及其在系统中的应用
STC12C5A60S2内部集成了两路可编程计数器阵列(PCA),每个模块均有软件定时器、外部脉冲捕捉、高速脉冲输出和PWM模块,也就是说这款单片机有两路PWM输出,分别在P1.3和P1.4。(我们只用了一路,P1^3).
3、定时器模块及其在系统当中的应用
STC12C5A60S2拥有4个定时器模块,其中定时器0和1与传
9
智能物体追踪/遥控车的设计报告(团队制作-雷帅、王威、裴夏青、陈如峰)
统的8051完全兼容(意思就是不光用法,连相关寄存器的地址也一样,这样开发环境中的52RC的头文件还是可以使用的),每个模块均可工作在定时器和计数器模式(通过P3^4,P3^5输入脉冲),定时器有四种工作方式:16位定时计数、13位定时计数、8位自动重装、两个8位计数。
与之相关的特殊功能寄存器有:控制寄存器TCON(其中比较重要的是TF和TR分别是中断标志和计数开关,很奇怪的外部中断的设置IE IT也在该寄存器中)。工作模式设置寄存器TMOD(可以设置定时器还是计数器,工作于哪个方式?)TL,TH中装着当前计数值,非常重要。AUXR可以设置定时器方式下计数频率是等于系统时钟还是等于1/12系统时钟。
系统中用到了定时器0和1,定时器0用于红外模块,通过外部中断测定信号周期(TL0/TH0)以确定其携带的信息是0还是1。定时器1用于超声波模块,测定从发出超声波到超声波返回之间经过的时间,乘以声速除以2来得到距离值。
4、中断模块及其在系统中的应用
中断是CPU处理外界紧急事件的机制,STC12C5A60S2拥有10个中断源,它们有规定好的优先级,有中断嵌套机制,可以对中断进行允许和屏蔽。中断采用两级控制模式,有总开关EA和寄存器中IE单独的开关(默认是0,即禁止)。10个中断中常用的是:定时器0、1;两个外部中断(P3^2/P3^3)、AD中断、串口中断,他们都有
10