motor=3;
}
if(key4==1)
{
motor=4;
delayms(2000) ;
motor=4; delayms(2000) ;
}
if(key1==1&&key2==1) {
delayms(2) ;
motor=0;
}
return(motor); }
2.小车运动程序
void execute()
{ switch(motor)
{ case 0: {
ENA = 0; ENB = 0; }break;
case 1: {
ENA = 1; ENB = 1; IN1 = 0;
IN2 = 1;
IN3 = 0;
IN4 = 1; }break;
case 2: {
ENA = 1; ENB = 1; IN1 = 1;
IN2 = 0;
IN3 = 1;
IN4 = 0;
}break;
case 3:
{
delayms(5000000) ;
ENA = 0;
ENB = 0; delayms(2000000) ; ENA = 1; ENB = 1; IN1 = 0;
IN2 = 1;
IN3 = 1;
IN4 = 0;
}break; case 4:
{
delayms(5000000) ;
ENA = 0;
ENB = 0; delayms(2000000) ; ENA = 1;
ENB = 1; IN1 = 1;
IN2 = 0;
IN3 = 0;
IN4 = 1;
}break;
default:break;
}
}
3. 小车避障单元程序 uint lightcontrol()
{
if(light1==1) {
delayms(2) ; motor=1; }
else//(!light1==1) {
delayms(2) ; motor=2;
}
return(motor); }
5 制作和调试
5.1智能遥控避障小车制作
根据整体设计方案,小车整体功能包括避障和遥控,另外有附加的测距功能。首先我们利用
Proteus 画出系统仿真电路图,调试出各个模块功能;接下来利用单片机开发板附加外围电路进行各个功能单元测试,并对其中的疑难点进行攻克;最后按照元器件清单购买元器件,按照系统仿真电路图进行电路板布线设计,进行焊接元器件,完成成品小车
[12]
。如图5.1所示为小车的实物图。
图5.1.小车的实物图
5.2系统调试
按照设计思路,测试阶段我们准备先对各个模块进行逐级测试,最后再结合软件进行联调。在测试过程中,要做好详细的测试记录,并对测试结果做出正确的分析。 5.2.1硬件调试 (1)电机单元
电机模块主要功能是在单片机与电机控制单元连接的I/O口加上高低电平,电机会前后转动、停止,同时也可以通过延时程序来降低电机转速[13]。下表5.1是结合实际情况的测试结果。
表5.1电机运行测试结果
状态 1 2 3 4 5 P1.2 1 1 0 0 1 P1.3 0 0 1 1 1 P1.4 1 0 1 0 1 P1.5 0 1 0 1 1 行驶状态 直行 右转 左转 后退 停止 当ENA=0,ENB=0时,电机不启动,处于停止状态。
当ENA=1,ENB=1时,电机处于启动状态,对应单片机I/O口输出的高低电平状态,按照上表进行对应的转动。 (2)遥控单元
当小车处于远离障碍物时,遥控功能处于工作状态,我们这里设定按键“A”代表小车直行,按键“B”代表小车后退,按键“C”代表小车右转,按键“D”代表小车左转,同时按下“A”、“B”键代表小车停止。也即PT2262发射模块的A、B、C、D键与PT2272接收模块的10、11、12、13管脚相对应。为了测试遥控模块的稳定性及遥控范围,我们进行了对应指标的测试。结果如下表5.2所示:
表5.2遥控单元测试结果
序号 1 2 3 4 5 按键 A B C D A 距离 0.1m 0.2m 0.3m 0.5m 0.5m 结果 前进 后退 右转 左转 -- 6 7 8 9 10 11 12 13 14 15 结果: (3)避障单元
B C D A B C D A B C 1.0m 1.0m 1.5m 1.5m 2.0m 2.0m 2.5m 2.5m 3.0m 3.0m 后退 右转 左转 前进 后退 右转 左转 -- 后退 右转 成功13次,失败2次,成功率为86.7% 当红外传感器检测到障碍物时输出低电平,正常状态是高电平输出。我们对小车的避障距离进行了测试,测试结果如下表5.3所示:
表5.3 避障单元测试结果
序号 1 2 3 4 5 6 7 8 9 小车距障碍物距离(单位cm) 3 5 10 15 20 25 30 35 40 P2.4电平显示 低 低 低 低 高 高 高 高 高 根据测试结果,在我们调节光电传感器后的滑动变阻器后,小车的有效避障范围为15cm以内,另外我们也可以通过调节滑动变阻器来增加或者减小小车的有效避障距离。 (4)超声波测距单元
我们启动超声波测距单元,将超声波单元放置在尺子的0刻度处,用一只手放在超声波测距单元之前,慢慢移动,并记录LCD1602显示的数字变化。测试结果如下表5.4所示:
表5.4电机运行测试结果
序号 1 2 3 4 5 6 实际距离(cm) 3 5 10 15 20 25 测试距离(cm) 4 6 11 15 19 26 误差(%) 33.3 20 10 0 5 4
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库智能避障遥控小车设计(3)在线全文阅读。
相关推荐: