简易自动入库小车.docx
- 文档编号:8565359
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:27
- 大小:324.48KB
简易自动入库小车.docx
《简易自动入库小车.docx》由会员分享,可在线阅读,更多相关《简易自动入库小车.docx(27页珍藏版)》请在冰豆网上搜索。
简易自动入库小车
加密号:
上半页不需填写
----------------------------------
2006黑龙江赛区大学生电子设计竞赛
设计报告
题目:
简易自动入库小车
学校:
参赛学生姓名:
校内编号:
摘要和关键词(中英文)…………………………………………………………….1
第一部分设计任务及要求
一、任务……………………………………………………………………………2
二、要求……………………………………………………………………………2
第二部分方案分析与论证
一、主控系统分析与论证…………………………………………………………2
二、机械系统分析与论证…………………………………………………………4
三、电机驱动模块分析与论证……………………………………………………5
四、传感器系统分析与论证………………………………………………………5
第三部分系统原理框图……..……………………………………………………6
第四部分系统硬件设计
一、主控系统模块设计…………..……………………………………………7
二、前轮电机驱动模块设计..……………………………………………………8
三、后轮电机驱动模块设计..……………………………………………………8
四、传感器系统模块模块..……..………………………………………………9
第五部分系统软件设计
一、主程序流程图…………………………………………………………………13
二、进库程序流程图………………………………………………………………14
三、等待程序流程图………………………………………………………………14
四、转向程序流程图………………………………………………………………15
五、出库程序流程图………………………………………………………………15
六、寻迹模块程序流程图…………………………………………………………15
第六部分系统测试
一、入库测试………………………………………………………………………16
二、出库测试………………………………………………………………………16
附录
附录A元件清单…………………………………………………………………17
附录B程序清单…………………………………………………………………17
参考文献……………………………………………………………………………24
感谢…………………………………………………………………………………25
摘要
本次设计的自动入库电动车,采用ATMEGA16作为小车的检测和控制核心。
根据题目设定的行进轨迹及具体要求,采用红外对管传感器进行轨迹采样,接近开关进行停车点检测;采用步进电机对车的转向进行控制,实现精准转向;最后,车行驶中的各种功能控制由软件实现。
本次设计基于完备的软硬件系统,很好的实现了小车自动行驶、自动寻迹,自动停止,并沿原轨迹自动返回等功能。
关键词:
ATMEGA16红外传感器接近开关
Abstract
Withthedevelopmentofthescience,auto-controlhaswonthemajorityofthemarket,moreover,itissaidthattheauto-machinewilltaketheplaceofthehumanbeingtofulfillthedangerousmissioninthespecifiedcircumstance.Soitwillplayanimportantroleinthefutureoftheworld.
Forthissystem,weselecttheMCUandthevarietiesofsensors,whichincludeinfraredsensor,inductancesensor,areusedtocontrolthesmallcartorealizetheauto-adaptation、searching.
Keywords:
MCUINFRAREDSENSORINDUCTANCESENSOR
第一部分设计任务与要求
一、任务
设计并制作一个简易自动入库小车,按规定线路和要求行驶。
二、要求
1)小车在起点线可以自行放置,但小车任何部位不得超过起点线。
2)小车在运行过程中不得超界。
若部分车身越界并能自动返回,酌情扣分;若越界后不能自动返回或车身整体越界,则终止本次测试。
3)从小车启动开始一到入库停车为止,所用时间不应超过60秒。
4)发挥部分。
实现小车的自动返回,返回的行驶路径同要求2)。
返回方式可选择退回或掉头返回。
其他特色与创新根据自己发挥。
第二部分方案的分析与论证
一、主控系统分析与论证
根据设计要求,我们认为此设计属于多输入量的复杂程序控制问题。
据此,我们拟定了以下三种方案并进行了综合的比较论证,具体如下:
方案一:
仅采用CPLD作为核心部件的方案
如图2.1.1所示:
选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。
CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。
但CPLD在控制上较单片机有较大的劣势。
同时,CPLD的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU就已经可以胜任了。
若采用该方案,必将在控制上遇到许许多多不必要增加的难题。
为此,我们不采用该种方案,进而提出了第二种设想。
图2.1.1CPLD作为控制核心的框架图
方案二、仅采用单片机作为核心部件的方案
如图2.1.2所示:
我们采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。
充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。
这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。
因此,这种方案是一种较为理想的方案,但是在实际应用中,由于该系统所需用到的传感器数目较多,需要处理的敏感量较多,很有可能会引来单片机资源不足的问题,于是,我们又提出了第三种解决问题的方案。
图2.1.2单片机作为控制核心的框架图
方案三、采用单片机与CPLD联合控制的方案
如图2.1.3所示:
利用CPLD的高速精准的计数特点进行计数以向单片机给出信号以得出准确的位置、是否出界等信息,大大节省了单片机的资源以做控制之用,同时可以在很大程度上减小MCU的程序量。
该系统综合了MCU及CPLD的优势,是三个方案中效果最好的一个方案。
但是此系统有结构复杂,成本较高,且开发周期较长的缺点。
在充分考虑到系统的需要及开发周期的情况下,我们决定选用第二种方案,即“仅采用单片机作为核心部件的方案”。
图2.1.3CPLD和单片机联合作为控制核心的框架图
针对本设计特点——多开关量输入的复杂程序控制系统,同时需要用PWM步进电机,而不能用精简I/O口和程序存储器的小体积单片机,D/A、A/D功能也不必选用,结合我们对单片机的熟悉。
根据这些分析我们选定AVR单片机了ATMEGA16单片机作为本设计的主控装置,ATMEGA16单片机具有速度高,功耗小的优点,精简指令,多累加器,高速数据处理,一个机器周期执行一条指令,同时其程序存储空间为:
FLASH1KB-128KB-256KB,EEPROM64B-4KB,RAM128B-4KB,足够本设计使用,并且,该单片机可擦写10,000次,大大提高了实验的可能性。
在综合考虑了传感器、两部电机(用于步进电机控制、一部用于直流电机控制)的驱动、显示和遥控接收等诸多因素后,我们决定采用一片单片机,充分利用ATMEGA16单片机的资源。
二、机械系统分析与论证:
本题目要求小车的机械系统稳定、简单,而四轮运动系统具备以上特点。
因此我们选用市售玩具汽车的运动系统并进行了改装:
1、驱动部分:
受条件限制,得到的小车车体较大,但其自带电机具有较大的功率,作为该系统的驱动部分,已经能够满足需求,因此没有另选其他类型的电机来进行驱动。
2、转向部分:
由于市售玩具车前轮转向是使用玩具电机摩擦离合来完成的,不能精细调整转弯角度,故要对其进行改造。
首先将直流电机改为步进电机,其特点是可以精确控制转向角度。
由于市场上所见的步进电机大都体积较大,驱动部分复杂,不适合本车使用。
我们将转向机械部分进行了重新的设计,设计的原理如图2.2.1:
左前轮
连杆
右前轮
电机
图2.2.1转向机械原理
三、电机驱动模块分析与论证:
1、后轮电机驱动模块
方案一:
使用功率三极管作为功率放大器的输出控制直流电机。
线性型驱动的电路结构和原理简单,成本低,加速能力强,但功率损耗大,特别是低速大转距运行时,通过电阻R的电流大,发热厉害,损耗大。
方案二:
采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。
方案三:
通过PWM脉宽调制的方法,实现对小车速度的控制。
这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。
因此决定采用PWM脉宽调制的方法控制直流电机。
2、转向控制模块
方案一:
采用普通电机控制电动车的转向,虽然此种电机的控制很简单,但是其不能实现精确的转向,难以较为圆满的达到系统的要求。
方案二:
用步进电机来控制电动车的转向,此方法的优点是易于精确控制转向的角度,可靠性较高。
且对于采用的单片机来说,算法和程序上都易于实现。
因此决定采用步进电机来实现电动车的转向。
四、传感器系统分析与论证:
分析题目可知,该系统要求运用两种传感器,对行程轨迹信息的检测,以及对达到终点信号的检测。
根据题目的具体要求,系统需要的传感器分类有:
①红外对管传感器;②电感式传感器。
根据题目需采用不同的传感器来实现各要求功能,在应用传感器时应尽量减少数量,以在实现车各项功能基础上,减少单片机的信息处理量。
1.轨迹采样模块:
根据题目要求,只要小车不越界的到达终点,就可以完成任务,在轨迹采样时,提出如下两种方案:
方案一:
转向时由程序控制角度并记录,欲回到中点时只需转回相应角度即可。
缺点:
初始中点无法控制,必须手动调到中点;若电机出现失步等现象,无法自动校正,由此引起的误差很难消除。
方案二:
在车头装一排红外对管传感器,红外对管在黑线上方时,返回低电平,没有在黑线上方时返回高电平。
将采集到的信息返回给MCU,MCU记录分布在黑线两旁的传感器数目,当一旁的红外对管数目多于另一旁的时,程序控制小车转向,始终使处于黑线两旁的红外对管的数目相同。
根据任务提出的要求以及选用车体的大小,此方案可以完全完成任务,并且此方案算法简单,易于实现。
因此,我们选用方案二,使用红外对管。
2.停车点检测模块:
根据题目要求,停车点为一铁片,在接近停车点时,需要传回感应信号,考虑了以下两种方案。
方案一:
采用霍耳传感器。
霍耳传感器是基于霍耳效应原理的,可以测量半导体材料的导电类型、载流子浓度和迁移率,常用于测量磁场强度,可以根据磁场强度的变化来判断是否接近停车点。
方案二:
采用电感式传感器。
电感式传感器由三大部分组成:
振荡器、开关电路及放大输出电路。
振荡器产生一个交变磁场。
当金属目标接近这一磁场,并达到感应距离时,在金属目标内产生涡流,从而导致振荡衰减,以至停振。
振荡器振荡及停振的变化被后级放大电路处理并转换成开关信号,触发驱动控制器件,从而达到非接触式检测的目的。
并且利用该类传感器电路简单,便于实现。
综合考虑上述情况,我们选用方案二,使用电感式传感器。
第三部分系统硬件组成
经过方案论证的过程之后,我们选定了仅采用单片机作为核心部件的方案,其系统总方框图如图3.0.0所示。
具体的功能设置已通过该图做了直观的说明。
图3.0.0系统原理框图
第四部分硬件电路设计与参数计算
一、主控系统模块的设计:
主控系统选用AVR单片机ATMEGA16作为核心,该单片机内部自带晶振,无需外接晶振,各引脚的功能为:
PB0—PB7,PC0—PC2,PC3-PC5口:
记录传感器返回值;
PD5:
控制直流电机正极-前进;
PD6:
达到终点输入;
PD7:
控制步进电机的频率/转过角度;
该单片机PDIP封装的俯视图如图4.1.1:
图4.1.1ATMEGA16俯视图
二、前轮电动机驱动模块的设计:
前轮电机控制小车的方向。
本次设计采用的是从废旧软驱上拆下的步进电机,体积小,使用方便,便于驱动。
同时由于采用了AVR单片机,凭借其优良的性能,可以直接输出PWM步进电机驱动信号,可以通过程序上的设置来驱动 步进电机,而不需要任何驱动芯片,节省了资源,减少了电路的复杂性。
前轮电机机械示意图如图4.2.1。
图4.2.1前轮电机机械示意图
三、后轮电机驱动模块的设计:
后轮电机是小车的动力装置。
后轮采用普通直流电机,通过控制脉冲占空比算法,实现对小车速度的控制。
这种调速方式有调速特性优良、调整平滑、调速范围广、带载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。
驱动部分选择了电机专用驱动芯片L298N。
L298N是为控制和驱动电机设计的推挽式功率放大专用集成电路器件,将分立电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。
该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性能;四个输出端具有较大的电流驱动能力,每通道峰值电流能力可达2A。
原理图如图4.3.1:
图4.3.1L298N的应用电路
四、传感器系统电路的设计
1、轨迹采样模块的设计与参数计算:
轨迹采样选用的传感器为红外对管,红外对管的原理图如图4.4.1,其中发射端发出信号经地面返回给接收端,地面对光的吸收程度决定了接收端接受到的信号量,则接收端返回的电压量的大小不一样。
根据返回电压量的大小可以判断路面的亮、暗情况。
电路图如图4.4.2,FS-359F/043W有一个发光二极管,一个三极管的一个PN结构成,发光二极管的额定电流约为6mA左右,二极管的一端接1K
电阻,另一端接地,忽略二极管内阻,其电流约为:
,
可以满足红外对管的电流值;三极管PN结耐压约为几伏,选用390
的电阻,足以满足需求。
为保证输入给MCU的为高电平,将红外对管传回的信号经LM339电压比较器比较后接入MCU。
LM339的引脚及俯视图如图4.4.3。
在车体前部安装了一排十一个红外对管传感器,在轨迹采样时,设定当位于轨迹两旁的红外对管数目相等时,小车前进,对前轮驱动不采取任何措施。
当出现两旁的红外对管数目不相等时,如左侧的红外对管数目多于右侧的数目,驱动步进电机,使其右打舵,直到两旁的红外对管数目再次相等。
红外对管的排列图如图4.4.4.
图4.4.1红外对管原理图
图4.4.2轨迹采样模块电路图
图4.4.3LM339的引脚及俯视图
图4.4.4红外对管排列示意图
2.入库停车点检测模块电路:
停车点检测模块采用了电感式传感器,具体采用的是乐清新欧传感器有限公司的LJ18A3-8-Z/BX,实物图如图4.3.3,该传感器的使用参数见表4.3.1。
线路连接图如图4.3.4.此传感器的电路简单,不需要任何外围电路,电源可以直接使用小车中的电源,不需要另加电源,节省了大量的资源。
3.出库停车检测模块电路:
发挥部分要求小车出库沿原轨迹返回后,能够停止在原出发线,根据任务要求,同样采用红外对管传感器,设计了电路来达到任务要求。
电路图见图4.4.2。
红外对管的排列示意图如图4.4.5。
图4.4.5出库停车检测传感器排列示意图
图4.3.3 LJ18A3-8-Z/BX实物图
图4.3.4电感式传感器外接线图
表4.3.1LJ18A3-8-Z/BX使用参数
工作电压[V]
连续负载电流[mA]
开关频率[Hz]
输出指示LED
10-36VDC
≤200mA
500
red
工作温度[℃]
短路保护
极性保护
防护等级
-25—70℃
有
有
IP67
第五部分系统软件设计:
一、主程序流程图:
222222
二、进库程序流程图:
11111
三、等待程序流程图:
四、转向程序流程图:
五、出库程序流程图:
六、寻迹模块程序流程图:
第六部分系统测试:
测量工具:
秒表、
基本要求:
一、进库测试:
次数
1
2
3
4
时间(s)
15
14
13
15
发挥部分:
二、出库测试:
次数
1
2
3
4
时间(s)
15
13
13
14
附录:
附录A元器件清单
元件名称
量值
型号
封装
数量
MCU
ATMEGA16
SDIP
1
电机驱动芯片
L298N
ZIP
1
红外对管
FS-359F/043W
11
电位器
200K
BOCHEN3296
12
三极管
9013
11
电压比较器
LM339
PDIP
3
电阻
1K
11
390
22
5.1K
1
接近开关
LJ18A3-8-2/BX
2
直流电机
1
步进电机
SERVO/E3003
1
稳压器
L7805CV
T0220
1
附录B程序清单
/********************************************************************
*********************************************************************
*********************************************************************
**程序实现小车按照指定路线行走及其退回————————省赛试题**
环境:
AVR-Studio
芯片:
ATmega16
PD4:
控制直流电机负极-后退
PD5:
控制直流电机正极-前进
PD6:
到达终点输入
PD7:
控制步进电机的频率/转过角度
§PB0-PB7§PC0-PC2:
PC3-PC5记录传感器返回值
PA0和PA1控制前进后退的速度
频率:
内部晶振1MHz
*********************************************************************
*********************************************************************
********************************************************************/
/*头文件定义*/
#include
#include
/*类型定义*/
#defineucharunsignedchar
#defineuintunsignedint
/*全局变量定义*/
volatileuintjishu;//记录中断次数
volatileintzy;//标志小车是正走还是反走
volatileintsudu;//记录小车前进后退的速度
/*************************************************
延时函数定义
**************************************************/
voidDelayC(ucharx)//延时时间待定
{
while((x--)!
=0)
{
_delay_loop_2(250*4);//延时
}
}
/*****************************************************
PD7:
控制步进电机的频率/转过角度
电源的正负极由硬件电路提供
*****************************************************/
voidMAICHONG(ucharx)//n代表转过的个数
{
DDRD|=_BV(PD7);
TCCR2=0x74;
OCR2=x;
}
/*****************************************************
控制直流电机的速度和状态
PD5:
控制直流电机正极
采用PWM方式来控制直流电机的转动
8位快速PWM方式触发,无预分频
*****************************************************/
voidQIAN(ucharx)//利用PD5口
{
DDRD|=_BV(PD5);//PD5高,输出方式
DDRD|=_BV(PD4);//PD4高,输出方式
PORTD&=~_BV(PD4);
TCCR1A=0x0C1;//设定输出引脚/8位
TCCR1B=0x09;//包含定时器的分频选择/CK
OCR1A=x;//设定占空比/满为256
}
voidTING(void)
{
DDRD&=~_BV(PD5);//PD5低,输出方式
PORTD&=~_BV(PD5);
DDRD&=~_BV(PD5);//PD4低,输出方式
PORTD&=~_BV(PD4);
}
voidHOU(ucharx)//利用PD4口
{
DDRD|=_BV(PD5);//PD5高,输出方式
DDRD|=_BV(PD4);//PD4高,输出方式
PORTD&=~_BV(PD5);
TCCR1A=0x31;//设定输出引脚
TCCR1B=0x09;//包含定时器的分频选择
OCR1B=x;//设定占空比
}
/*******************************************************
到达终点判断(PD6)
返回值为1,表明到达地点
********************************************************/
intPANDUAN2(void)
{
ucharx,y;
DDRD&=~_BV(PD6);
x=PIND;
x=x&0x40;//读PD6的状态t
y=PINB;
y=y&0x04;
if((x==0)||(y==0))
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 自动 入库 小车