基于Atmel单片机的智能泊车方案设计
0 引 言
随着我国汽车数量逐年急剧增多,泊车位、停车场的数量却跟不上其增长的步伐,越来越多的人为如何泊车而发愁。日益拥挤的泊车环境要求人们对汽车的泊车技术更加地娴熟,这就更加重了人们工作之外的紧张情绪,降低了人们的生活质量。因此,如何解决泊车过程中的不便利,消除安全隐患,迅速、准确、安全地将汽车停靠到合适的位置,逐渐引起了人们的关注。
1 系统的工作原理及功能
智能泊车系统可分为控制部分和信号检测部分。
其中信号检测部分包括障碍物检测模块,光源检测模块和速度检测模块;控制部分包括控制器模块,电机控制模块。智能泊车系统基本模块方框图如图1所示。
图1 智能泊车系统基本框图
系统工作原理如下:在小车启动之后,通过霍尔传感器A44E进行小车的速度检测,对小车进行智能限速,小车行进过程中通过红外光电传感器避障,车库系统发送光源指示信号,光敏三极管接收车库指示信息,使小车到达指定车库后,停车。
1.1 单片机最小系统设计
AT89C52是51系列单片机的一种,是一个低功耗,高性能,CMOS 8位单片机,片内含8KB的可反复擦写的FLASH只读程序存储器和256B的随机存取数据存储器(RAM),由ATMEL公司采用高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和FLASH存储单元,片内有ROM/EPROM,因此,这种芯片构成的最小系统简单可靠,只要将单片机接上时钟电路和复位电路即可。
1.2 避障电路设计
红外光电式传感器具有非接触、响应快、性能可靠、体积小、安装轻便等诸多特点,因此在工业自动化装置和智能小车中获得广泛应用。本设计中采用的光电避障传感器是HS0038B.红外光电接收电路工作原理为:当接收到载波频率为38kHz的脉冲调制信号时,首先,HS0038B内的红外敏感元件将脉冲调制红外光信号转换成电信号,再由前置放大器和自动增益控制电路进行放大处理,然后通过带通滤波器进行滤波,滤波后的信号由解调电路进行解调,最后由输出电路进行反向放大并输出低电平;未接收到载波信号时,电路则输出高电平。红外发射电路由555定时电路产生方波,对红外发射管进行调制。
1.3 A44E测速电路设计
霍尔传感器A44E在测速系统中的主要作用是车轮转速采集。车轮每转一周,磁铁经过A44E一次,A44E的第3脚就输出一个脉冲信号,脉冲信号的周期与电机的转速有下列关系:
式中:n为电机转速;P 为电机转一圈的脉冲数;T 为输出方波信号的周期。
脉冲信号作为单片机AT89C52的外中断信号,从P3.2口输入。
1.4 电机驱动电路设计
动作执行单元为驱动小车左右轮的两个减速直流电机,控制它们的转速,就控制了小车的运动状态。但是由动作控制单元发出的控制信号非常微弱,无法直接驱动直流电机,须匹配设计合理的驱动电路,常用的驱动电路为H 桥。在设计过程中发现,由于三极管导通、关断的时间不统一,导致用三极管搭建的H 桥在电机电流换向的时候经常发生微短路,使得三极管发热现象很严重,整个电路电源波动很大,非常耗电。因此,本设计最终采用了集成H 桥L298.除此之外,在设计过程中发现电机转动产生的反向电动势会严重影响传感器的输出状态,将错误的路径信息送给处理器,导致小车经常产生错误动作。因此,本设计采用了双电源供电,即传感器和芯片共用一组电源,电机专用一组电源,中间信号的传输采用了4N25光耦电路进行电气隔离。
1.5 光源引导电路设计
本设计采用光敏三极管作为光源检测传感器,因为其感光电压变化明显(电压值变化在60~100mV 左右),价格便宜。光源引导模块需要在小车前方安装3个光敏三极管,通过车库发出的光源信号来引导小车到指定车库停车,使用LM324作为光源引导模块的核心放大器件,将信号进行放大处理。
1.6 停车场系统设计
为了更好地完成小车避障、光源引导和入库过程,停车场系统设计也是十分重要的。停车场系统设计图如图2所示。
图2停车场系统设计图
2 软件设计
系统软件设计在Keil C51 集成开发环境下进行。软件主要包括系统主程序、避障子程序、光源引导子程序和测速限速子程序等。泊车系统整体流程如图3所示,避障程序流程图、光源引导程序流程图分别如图4,图5所示。测速限速电路软件设计思路是将每圈的时间换算成速度,再与设定的速度比较,如果所测速度大于设定值,则控制电机减速到设定值;如果所测速度小于设定值,则控制电机加速到设定值,完成小车的智能限速。
图3智能泊车系统总体流程图
3 各模块测试及连接
各模块连接:小车舵机左转输入端接P3.4;小车舵机右转输入端接P3.5;小车驱动电机前进输入端接P
- Arduino是什么?(07-07)
- 单片机课程设计-ATMEL51系列单片机编程器(12-01)
- ATMEL的ISP下载线(12-01)
- Atmel和STC的51单片机通用ISP下载线制作(11-29)
- ATMEL9263 800*600屏驱动问题(11-22)
- MSP430与ATMEL 93C46通讯子程序(11-13)