计算机控制小车走迷宫

小组成员:程宏伟,李童,魏坤

组号:m10

一、简介

项目介绍:

利用计算机处理采集到的图片判断小车及迷宫的相对位置,迷宫信息,通过无线指令控制小车动作,使之在最短时间内离开迷宫。本内容对队伍整体水平要求较高,可4~5人/组,分别进行迷宫算法、图像处理算法、控制算法、小车安装与调试等工作。

本项目采用ATMEL公司的AT89S52芯片为核心设计,实现小车在计算机控制下走出迷宫的功能。有一台小车和一个pc端,利用计算机处理采集到的图片判断小车及迷宫的相对位置,迷宫信息,在计算机端计算并选择路线,通过无线指令控制小车动作,使之在最短的时间内离开令控制小车动作,使之在最短的时间内离开迷宫。
1
原理简述
由摄像头(USB接口)实时捕捉迷宫内小车的位置情况,通过USB线缆传送至电脑里编写的上位机软件,软件通过图像识别找出当前小车的位置信息及迷宫的信息,经过计算,作出控制决策,生成控制信号,并经通讯模块发送至小车。
小车上的控制电路对控制信号作出相应反应,驱动电机。
2

 


整体完成情况:

小车的检验通过,可由自检程序带动小车运行。但是小车与电脑的联系没有达到同步,计算机发出的指令应当可以被小车接收到,(示波器可测得信号线持续的电平变化),但因小车信号传输部分电路问题,接收信号后没有动作。 图像采集和处理部分已经完成后,计算出小车的运行轨迹,但是发出的指令不被小车响应。调试完成了初始轨迹制定,未设置好运行后的重复扫描。

二、组员分工

Image018.jpg

程宏伟:
全面负责本次科创实验的进展与组员间的分工合作,功能理解与方案设计。定期组织大家在一起交流各自负责部分的进展情况,以及制定对应的未来计划,以有序地将实验进行。技术上,负责单片机串口程序以及参数设置,小车与电脑连接的调试。


魏坤:
图像识别程序,迷宫算法设计,调试小车。进行了大量的资料查找、阅读、学习,同时与其他小组成员交流图像处理方案,讨论一些细节技巧,最终实现相关功能。


李童:
处理小车硬件部分问题。阅读小车电路知识,安装、调试小车,处理突发的硬件问题(解决了本次导线拉断、原板电容极性反接等问题)。定期与大家一起讨论,从硬件方面给魏坤同学提出小车控制方式方面的建议。

 

三、项目实现

1)硬件部分

Image019.jpg

电路板清单
1、89S52系统板,相关器材(全)
2、母板,仅与1配套使用,(Part1,2,3,4,6,9,10可选)
3、扩展板,自行设计电路、焊接、调试。
4、下载线,用于1的程序下载。
5、61板(自备)
6、小车板(需同时申领 4中的下载线)

 

可选芯片、器材清单
1、  温度传感器 LM35
2、  红外发送,接收二极管(SIR333,PD333)
3、  运算放大器 LM324
4、  定时器: NE555
5、  串行存储器:24C08
6、  串口接口芯片:SP232
7、  三极管:8050, 8550, 9012, 9013
8、  霍尔器件:A3144
9、  16*2字符型液晶显示模块RT1602C
10、              光电对管: TCRT5000

 

核心芯片简介

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。AT89S52使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,AT89S52拥有灵巧的8 位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16
位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz
静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
其PDIP图如下:
1


另一块芯片是L298N,用它来控制两个电机。
管脚图如下:

4

 

2)软件部分

工具:VC++、OpenCV
主要流程:
1.摄像头获取原始图像
2.安像素明暗进行二值化处理,提取迷宫轮廓
3.分析迷宫结构
4.指定入口出口,计算合理路径
*5.摄像头实时捕捉小车位置,实时自动向小车发送调整指令

运行状态

Image001.jpgImage014.jpg1、

 

个人心得:

李童:对硬件比较了解,焊接技术过硬,软件操作熟练,试验基本原理已经熟练掌握.试验是一个很有挑战性的工作,在一个又一个困难面前,我知道如何在没有老师的庇护下独立完成创造性试验。


程:面对难度比较大的科创3,把最初茫然不知的痛苦坚持了过来。最重要的,是了解了一个抽象的功能如何被拆分为各个部分,由大家分工合作加以实现。无论结果如何,这样的经历是最宝贵的收获!

魏:大一开始学程序的时候就比较有兴趣。本次实验能接收现实功能实现的挑战确实非常有收获。同时也看到,有用的程序要由完整正确的硬件才能实现,并且二者要相互制约协调,无疑加深了自己对自动化实现的理解。

 

相关资源:

小车自检程序

单片机烧制

单片机程序

图像识别处理

电路图(pcb版)

科创报告

1\项目简介
2\组员分工
3\硬件与软件实现
4\附录