基于51单片机实现的电梯模型设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电梯模型设计报告
学院:自动化学院
队名:xxx
队员:xxx
日期:2009.11.20
一、概述
电梯模型以51为核心处理器,步进电机为控制电机,用L298N 搭建驱动电机模块,结合光电传感器实现对电梯的上升,下降,准确平层各种运行方式的控制。利用矩阵键盘、ISD1760语音芯片,数码管等各种功能模块实现电梯的扩展功能及人机交互功能。
二、方案论证
方案一:直流伺服电机+光电传感控制方式。
优点:直流电机速度可以平滑调节,自带编码盘可以记录电梯运行位移,速度调节范围大。
缺点:用编码盘测量位移误差较大,对CPU运算处理要求较高而且直流电机运行时带有一定惯性,对平层带来较大难度。
方案二:步进电机+光电传感控制。
优点:步进电机可以用脉冲方式控制轿厢位移,配合光电传感模块可以准确实现轿厢平层;步进电机为输入脉冲时,电机可以卡死不发生转动,使得电梯在楼层处安全停止,等待相应操作。
缺点:步进电机转速较慢,速度控制要通过该变脉冲频率来调节,控制电路要求较高。
由于本作品为电梯模型,速度要求不高,通过单片机可以方便输出电机所需脉冲,配合L298芯片可以实现对步进电机的完美控制,
所以我们选择方案二。
三、详细设计方案
1.楼层模型设计
电梯模型采用易于加工的木材,选用1.2米长的木板作为模拟楼层,底座用三角架固定,确保电梯运行过程不会出现模型摇动现象。电梯轨道处拉两根铁丝作为电梯导轨,保障电梯的运动轨迹。
轿厢用纸盒模拟代替,盒子敞开一面,可以放入物品,模拟乘客进出电梯。
2.驱动电路模块
控制电机选用四相步进电机,步进角为1.8度。步进电机可以通过直流斩波改变顺序控制电机正反传,51单片机的定时/计数器可以模拟输出4路直流斩波,通过步进电机驱动电路控制步进电机。
驱动电路以L298N驱动芯片为核心部件,L298N芯片的电平电压与51单片机兼容,驱动电压可达50V完全可以驱动电梯模型所用控制电机。驱动电路如下图:
四个输出端分别接步进电机的四个脉冲输入端,通过定时计数器模拟输出的四路直流斩波控制L298N的输出端口,从而可以方便的控制步进电机。电机的运转速度可以通过调节直流斩波的频率来控制。同时,通过对脉冲个数的控制,也可以粗略了解轿厢运行的位移,配合光电模块,将使电梯平层更加便捷、准确。
3.光电传感模块
为了确保准确平层,每层楼都安装红外对管,用于检测轿厢是否运行至楼层,若检测到轿厢运行至目标楼层,则像CPU发出中断请求,执行电梯停止运行操作。
红外对管原理:红外对管由发射和接受两部分组成,发射的
红外线京轿厢反射后被接受管接受后,引起电平跳变CPU根据此信号做出相应命令。电路原理图如下:
4.楼层按键设计
为了模拟乘客在轿厢内对电梯的控制,我们扩展了一个4*4的键盘,用于乘客选择楼层及轿厢内的一些控制按钮,考虑到实验的原因,控制键盘并未装在轿厢内部,而是引到模型外面,便于演示。
本模型用到两个4*4矩阵键盘,一个用于楼层级轿厢控制,另一个用于密码和其他设置,接口原理相同。
5.语音播放模块
本模型加入了语音播放功能,及时播放轿厢运行状况,所有录音内容均为小组设计,是本模型人机交互人性化设计一个重要部分。
语音播放模块以ISD1760语音芯片为核心, ISD1700系列芯片是华邦公司新推出的单片优质语音录放电路,该芯片提供多项新功能,包括内置专利的多信息管理系统,新信息提示。
语音芯片提前录入“欢迎乘坐长颈鹿电梯”、报告层数的语音数据,电梯平层后,CPU会输出脉冲控制芯片,喇叭发出欢迎语音和层数提示。ISD电特性及应用电路如下:
ISD1700电特性:
.工作电压:2.4V-5.5V,,最高不能超过6V
.静态电流:0.5 - 1 μA
.工作电流:20mA
电路图如下:
语音变化信号由15脚输出,采用简单的三极管电流放大电路,接入小喇叭,实现语音输出。
小喇叭参数:8欧,0.5W。
6.电源切换部分
考虑到紧急停电情况,用电池作为备用电源,停电时用继电器切换至备用电源,在备用电源供电情况下,控制轿厢运行到附近楼层,若检测到不是短时停电,则控制电梯在备用电源供电下运行。电路原理图如下:
7.负载控制部分
本模型采用光电方式控制额定负载,输出电压信号经AD转换为0-255之间的数字信号输入CPU。单片机将输入值的大小与设定额定
值比较,若超过额定值,则发出报警音,同时像电机控制CPU发送超载信号,电机控制CPU停止运行。
若要改变额定负载值,可以用相应按键设置,改变程序中存储的额定负载值即可。
8.中央处理器部分
本作品使用3片51单片机配合使用来控制整个系统,单片机之间通过通信达到信息传递。单片机接口原理图(主要功能CPU)如下:
主控CPU;
电机控制CPU:
功能扩展CPU:
四、调试过程
各个模块均可以独立正常运行,通过单片机系统总线将各个模块连接起来,实现了预期结果。
五、程序流程图
电机控制CPU:
功能扩展CPU:
六、程序清单
主控制CPU:
#include
sbit P0_0=P0^0;
sbit P0_1=P0^1;
sbit P1_2=P1^2;
sbit P1_3=P1^3;
sbit P1_4=P1^4;
sbit P1_5=P1^5;
sbit P1_6=P1^6;
sbit P1_7=P1^7;
sbit P3_0=P3^0;
sbit P3_1=P3^1;
sbit P3_4=P3^4;
sbit P3_5=P3^5;
/*******函数声明********/
void init();//初始化?
void keyscan();//键盘扫描
void delay1ms(unsigned int count);//延时程序
void runto(unsigned int lou);//电梯运行程序void show();
//code unsigned char LedTab[]=
//{
// 0xc0, 0xf9, 0xa4, 0xb0,
// 0x99, 0x92, 0x82, 0xf8,
// 0x80, 0x90, 0x88, 0x83,
// 0xc6, 0xa1 ,0x86 ,0x8e, 0xff
//};/*数码管十六进制编码表*/
code unsigned char LedTab[]=
{
0xff, 0x7e, 0xbe, 0xde, 0xee,
0xed, 0x77, 0x7b, 0x7d,