张博智能循迹小车设计.docx

上传人:b****6 文档编号:6293966 上传时间:2023-01-05 格式:DOCX 页数:12 大小:318.46KB
下载 相关 举报
张博智能循迹小车设计.docx_第1页
第1页 / 共12页
张博智能循迹小车设计.docx_第2页
第2页 / 共12页
张博智能循迹小车设计.docx_第3页
第3页 / 共12页
张博智能循迹小车设计.docx_第4页
第4页 / 共12页
张博智能循迹小车设计.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

张博智能循迹小车设计.docx

《张博智能循迹小车设计.docx》由会员分享,可在线阅读,更多相关《张博智能循迹小车设计.docx(12页珍藏版)》请在冰豆网上搜索。

张博智能循迹小车设计.docx

张博智能循迹小车设计

智能循迹小车的制作

一、实验器材:

1.智能小车部件。

2.红外对管(2对)。

3.LM358集成数码比较器(2个)。

4.100K电位器(2个)。

5.驱动芯片一个。

6.LM7805稳压芯片一个。

7.电容、电阻若干。

二、程序和算法:

1.智能车转向控制程序:

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

 

voiddelay(uintms)

{

uinti,j;

for(i=0;i

for(j=0;j<200;j++);

}

voidturnL(uinta)

{

uchari;

DDRB|=BIT(0);

DDRB|=BIT

(1);

DDRB|=BIT

(2);

DDRB|=BIT(3);

PORTB|=BIT(0);

PORTB&=~BIT

(1);

PORTB|=BIT

(2);

PORTB&=~BIT(3);

for(i=0;i<200;i++)

{

PORTB&=~BIT(0);//也可以进行倒车转向

delay(a);//通过左电机停止运行时间来控制转向角度

PORTB|=BIT(0);

delay

(1);

}

}

voidturnR(uintb)

{

uchari;

DDRB|=BIT(0);

DDRB|=BIT

(1);

DDRB|=BIT

(2);

DDRB|=BIT(3);

PORTB|=BIT(0);

PORTB&=~BIT

(1);

PORTB|=BIT

(2);

PORTB&=~BIT(3);

for(i=0;i<200;i++)

{

PORTB&=~BIT

(2);//也可以进行倒车转向

delay(b);//通过左电机停止运行时间来控制转向角度

PORTB|=BIT

(2);

delay

(1);

}

}

voidmain()

{

DDRB|=BIT(0);

DDRB|=BIT

(1);

DDRB|=BIT

(2);

DDRB|=BIT(3);

PORTB|=BIT(0);

PORTB&=~BIT

(1);

PORTB|=BIT

(2);

PORTB&=~BIT(3);

//turnL(30);

//turnR(30);

}

2.寻迹功能程序及流程图:

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

voiddelay(uintms)

{

uinti,j;

for(i=0;i

for(j=0;j<200;j++);

}

voidturnL()

{

uchari;

DDRB|=BIT(0);

DDRB|=BIT

(1);

DDRB|=BIT

(2);

DDRB|=BIT(3);

PORTB|=BIT(0);

PORTB&=~BIT

(1);

PORTB|=BIT

(2);

PORTB&=~BIT(3);

PORTB&=~BIT(0);//也可以进行倒车转向(左电机)

delay(10);//通过左电机停止运行时间来控制转向角度(具体数据待调试)

PORTB|=BIT(0);

}

voidturnR()

{

uchari;

DDRB|=BIT(0);

DDRB|=BIT

(1);

DDRB|=BIT

(2);

DDRB|=BIT(3);

PORTB|=BIT(0);

PORTB&=~BIT

(1);

PORTB|=BIT

(2);

PORTB&=~BIT(3);

PORTB&=~BIT

(2);//也可以进行倒车转向(右电机)

delay(10);//通过左电机停止运行时间来控制转向角度(具体数据待调试)

PORTB|=BIT

(2);

}

voidxunji()

{

DDRA&=~BIT(0);//置为输出端口

DDRA&=~BIT

(1);//置为输出端口

PORTA|=BIT(0);//置为有上拉电阻

PORTA|=BIT

(1);//置为有上拉电阻

if(PINA&0x01)//PORTA(0)==1

{

turnL();

}

if(PINA&0x02)//PORTA

(1)==1

{

turnR();

}

}

voidmain()

{

while

(1)

{

xunji();

}

}

三、软件流程图:

四、自制元器件介绍:

1.自制发射式红外光电传感器:

元件介绍:

制作流程:

将一个红外对管用纸进行包装,使红外光线不能溢出,再用硬纸片挡在相邻的红外发射管和红外接收管之间,防止对管直接接通。

功能:

能够用于检测地面平整程度,是否有白线或者黑线,还有其他探测的功能。

特点:

性能良好,能够满足实验需要,而且价格相当便宜。

五、小车电路组成

1、产生寻迹信号的电路图

该电路由红外对管、电阻、电位器、运放组成。

2号管脚为比较电压输入,当红外发射管发射红外被黑线吸收时,接收管不导通3号管脚呈低电平,1号输出低电平;红外被反射到接收管时,接收管导通,3号管脚呈高电平,1号输出高电平。

通过1号管脚反馈出电压的高低来控制小车左右驱动的运行,从而控制小车沿黑线前进。

2、电源电路图(5v稳压电源)

该部分组成元件为LM7805

1号管脚接vcc(在6v以上);2号管教接GND;3号为输出,稳定在5伏

驱动电路连接图:

工作时:

vcc接5伏电压,M1A、M1B及M2A、M2B分别控制左右电机的转动,M1EN、M2EN分别为左右电机的使能端。

3、驱动电路图

六、实验总结

这次电路综合实验的小学期让我了解到了一直很喜欢和向往的单片机。

我一直以来对单片机都有一种不可抑制的热情,我喜欢电路设计,更喜欢用单片机来做自己喜欢的功能。

所以我这次就做了这个智能寻迹小车,可能与其他小组不太一样,我们除了小车的机械部分以外,其他的电路和模块都是自己设计、制作的,没有购买现成的模块,虽然在制作过程中也遇到一些问题,但是我觉得自己通过这次实验学到了很多。

在这次实验中,我第一次体会到了设计布局的重要性,在设计电路的布局上,需要统筹考虑电路功能的发挥最大化和车上空间的因素,找到最佳的布局。

第一次在焊板上焊接电路,前期焊接出现过问题,我们在后期焊接的时候先将电路在纸上布局好,画好模拟图,然后再进行焊接,避免了很多不必要的错误和麻烦。

在进行程序调试过程中,学习到很多联系硬件的调试方法,也积累了一定的经验。

对我以后工作中进行单片机的设计和应用有很大的帮助。

七、参考资料:

[1].崔君霞,温杨,王绍雷,施浒力,李圣明,《基于单片机的只能电动小车的设计与实现》,,《微计算机信息》,2008年

[2].avr视频教程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1