学士学位论文基于嵌入式的智能电梯控制系统的设计与实现.docx

上传人:b****7 文档编号:11168108 上传时间:2023-02-25 格式:DOCX 页数:25 大小:286.92KB
下载 相关 举报
学士学位论文基于嵌入式的智能电梯控制系统的设计与实现.docx_第1页
第1页 / 共25页
学士学位论文基于嵌入式的智能电梯控制系统的设计与实现.docx_第2页
第2页 / 共25页
学士学位论文基于嵌入式的智能电梯控制系统的设计与实现.docx_第3页
第3页 / 共25页
学士学位论文基于嵌入式的智能电梯控制系统的设计与实现.docx_第4页
第4页 / 共25页
学士学位论文基于嵌入式的智能电梯控制系统的设计与实现.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

学士学位论文基于嵌入式的智能电梯控制系统的设计与实现.docx

《学士学位论文基于嵌入式的智能电梯控制系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《学士学位论文基于嵌入式的智能电梯控制系统的设计与实现.docx(25页珍藏版)》请在冰豆网上搜索。

学士学位论文基于嵌入式的智能电梯控制系统的设计与实现.docx

学士学位论文基于嵌入式的智能电梯控制系统的设计与实现

 

目录

一、设计目的与作用1

二、系统整体方案设计1

2.1电梯控制系统控制策略、方法1

2.2电梯控制系统总体结构设计2

2.3电梯主控制器的功能设计2

三、系统硬件设计3

3.1芯片DSP56F8025MFBE3

3.2控制器组成框图4

3.3控制器的模块单元功能介绍5

3.3.1整流滤波单元5

3.3.2电机速度及转子位置检测单元5

3.3.3逆变单元5

3.3.4控制电路电源模块6

3.3.5看门狗模块7

3.3.6低电压复位模块7

3.3.7电流检测模块8

3.3.8故障报警模块8

3.3.9编程与仿真接口9

四、系统程序设计1

4.1主程序流程1

4.2初始化模块1

4.3中断模块2

4.4开关量输入模块3

4.5故障处理模块4

4.6检修工作模块5

4.7消防状态工作模块5

4.8CAN总线接收的数据处理模块6

4.9系统断电数据保存模块7

4.10软件定时器模块8

五、系统性能测试9

5.1系统功能仿真测试9

结论10

一、设计目的与作用

传统的电梯控制系统各楼层与控制器之间采用以PLC为控制核心的点对点的连接方式,每个呼叫器都有一套数据线与主控器相连,当电梯楼层数比较多时,系统就会有大量的数据线需要连接,使得电梯的安装、维护比较麻烦。

特别是不同楼层数的控制系统需要有相应输入输出点数的主控制器相匹配,通用性差,给生产带来许多不便[3]。

以嵌入式微处理器为核心控制器的嵌入式系统作为计算机应用的一个崭新领域,以其简洁、高效等特点越来越多地受到人们的广泛关注。

而且在工业控制系统中已得到了广泛的应用,应用于电梯控制系统,具有很大的优越性。

二、系统整体方案设计

2.1电梯控制系统控制策略、方法

随着计算机技术和网络技术的发展,电梯的分布式控制成为了可能。

将电梯的控制功能分为若干模块,由不同的控制器完成各部分特定的功能,各控制器间采用可靠的通信技术控制局域网传递信息,相互进行通信,协同工作。

本次课题研究开发的智能电梯控制系统可分为四个主要部分:

2.1.1主控制器

即电梯控制器。

它是电梯控制系统的主要部分,负责整个电梯的运行控制。

一般主控器和位于楼房的顶部电梯机房内的电梯动力装置曳引机构成了整个电梯控制系统的核心。

2.1.2轿厢

轿厢是电梯系统中运载乘客的装置,它通过轿厢中的键盘、显示屏,使乘客与电梯建立起了相互联系。

曳引机通过钢丝牵引轿厢的上下运行,用于运送乘客。

在轿顶(轿厢的顶部)还有一个门机控制器,用于电梯的开关门动作。

2.1.3呼梯

它是每一层楼的呼叫装置,给出每一楼层的呼叫请求信息,并且显示电梯当前运行状态。

此外,电梯整个系统还包括上、下限位开关,上、下限速开关,限速器,安全闸,对重,随行电缆,平层检测板,道轨和缓冲器等一系列电梯运行机械装置和安全保护设备。

2.1.4控制器之间的通信方式

主控制器、轿厢控制器和呼梯控制器之间采用现场总线之一的CAN总线进行通信,各控制器之间只需一对双绞线通过网络拓扑结构连接即可,安装极为方便。

CAN总线是一种有效支持分布式控制和实时控制的串行通信网络,具有非常好的抗干扰能力和可靠性。

通信速率可达1Mbps/40m,直接传输距离最远可达10km/kbps。

可挂接设备最多为110个[7]。

2.2电梯控制系统总体结构设计

电梯控制系统总体结构,如图2-1所示。

图2-1电梯控制系统结构图

2.3电梯主控制器的功能设计

主控制器是整个电梯的核心。

不但要保证整个系统的稳定运行,而且要在极短的时间内对系统所有的任务进行响应。

其任务包括:

接收、处理电梯的各种状态,并做出相应的动作,控制电梯的总体运行,实施对电梯驱动部分的控制,包括抱闸的松放、门机的开关、变频器低、中、高速的给出等控制。

接收轿厢控制器送来的内选信号,执行内选外呼指令,向轿厢控制器、呼梯控制器发送楼层指示信号,实施安全保护等。

为了实现电梯状态监控的需要,主控制器还加入了基于LCD显示的电梯参数设置、监控系统。

 

三、系统硬件设计

电梯控制系统中主控制器不仅要完成复杂的逻辑控制,还要实现数据通讯、数据处理、安全监测及实时响应的功能,根据电梯主控制器的特点,提出一种新型、高效的控制系统结构DSP+CPLD。

本设计中电梯主控制器就是采用DSP+CPLD的系统结构,基于DSP技术和CPLD技术有效结合的主导思想设计的主控制器,成功的应用在智能电梯控制系统。

数字信号处理器DSP采用Freescle公司生产的DSP56F8025MFBE,如图3-1所示,而复杂可编程逻辑器件CPLD采用Altera公司生产的MAX7128S[16]。

本章将以DSP作为重点,详细介绍系统变频驱动部分的硬件设计。

3.1芯片DSP56F8025MFBE

本设计中,突出了控制器的高效性、通用性以及实用性。

在全数字控制器的研制中,采用核心控制芯片为DSP56F8025MFBE。

其内核包括三个并行工作的执行单元,在一个指令周期可以同时执行6条指令。

MCU编程模式以及优化的指令集允许生成有效、紧凑的DSP控制代码。

DSP56800的主要特点如下:

(1)采用双哈佛结构,16位DSP处理器。

(2)在内部时钟为80M时,指令执行速度可达40MIPS。

(3)单周期16位*16位并行MAC。

(4)带扩展位的2个36位累加器。

(5)16位双向循环移位器。

(6)采用DSP特有寻址模式的并行指令集。

(7)硬件实现DO和REP循环。

(8)三条内部地址总线和一条外部地址总线。

(9)四条内部数据总线和一条外部数据总线。

(10)支持DSP和控制器函数的指令集。

(11)控制器风格的寻址模式和指令。

(12)高效的C编辑器,支持局部变量。

(13)只限制于存储器大小的子程序和中断堆栈。

(14)JTAG/ONCE调试接口。

图3-1DSP56F8025MFBE原理图

3.2控制器组成框图

DSP56F8025MFBE具有数据处理速度快、工作特性稳定、集成化程度高的特性。

系统采用了模块化设计理念,组成框图如图3-2所示。

图3-2主控制器结构框图

本系统是一个有速度反馈的闭环系统,DSP接受电机的转速及转子的位置信号,电机电流信号,通过数字算法输出SPWM,控制电机。

同时DSP还负责监控系统运行的状态,当系统出现,过压,过流,短路等故障时,DSP将停止系统工作,发出声光报警[12]。

3.3控制器的模块单元功能介绍

3.3.1整流滤波单元

380V的交流电压经6个不可控的二极管全波整流后变为直流后再经电解电容进行滤波,同时为负载的直流电源之间的无功功率进行缓冲。

如图3-3所示。

图3-3整流滤波单元

当变频器刚合上电源的瞬间由电容组成的滤波电路充电电流较大,过大的冲击电流极易损坏电源的整流模块,因此为保护整流桥在变频器刚接通电源的一段时间里电路串联一个限流电阻,使瞬间的充电电流被限制在允许的范围内。

3.3.2电机速度及转子位置检测单元

系统使用光电码盘检测电机的速度及转子的位置信息反馈给DSP,DSP再通过相应的算法控制电机的运行。

如图3-4所示,为光电码盘与DSP之间的接口电路。

图3-4光电码盘接口电路

3.3.3逆变单元

系统选用freescale公司的MC33395作为逆变单元的驱动芯片,按DSP输入的不同模式控制6个功率开关的导通与关闭,实现对电机的SPWM调节。

如图3-5所示。

在工作过程中,当MC33395检测到过电流或过电压时可以通过VT2关闭供电,从而禁止了SPWM的输出,保护系统安全。

3.3.4控制电路电源模块

系统的控制回路电压可以通过外接220V生活电压的方式给定。

当电梯启动时,VT1导通,Q1导通,经过变压器变压整流桥整流的输入电压被接入,首先经过78S12后输出稳定的12V电压,接着经过LM2940T-5.0后输出稳定的5V电压,最后经过NCV1117-3.3输出稳定的3.3V电压,连续使用3块串行稳压电源为控制电路提供不同的供电电压,以满足使用要求。

图3-6启动开关及变压整流模块

如图3-7所示,在电压接入78L12+12稳压模块之前,回路中还加入了由R6和D4组成的顺压保护电路,其中R6作为限流电阻防止D4被过强的释能电流烧穿。

D4为TVS管即瞬态稳压二极管,当输入的电压过高时,TVS会瞬时导通将过高的能量释放,同时将输出电压限制在安全范围内,从而有效的防止了12V稳压块因瞬间过压烧毁,提高控制器的可靠性。

图3-7瞬压保护电路

3.3.5看门狗模块

为提高控制系统的安全性,防止程序在运行过程中出现错误,在外围电路中加入看门狗模块,但程序运行错误时,看门狗模块可以将CPU复位,使芯片恢复正常工作,设计中所选用看门狗芯片为T动电压2.63V,内部定时器每200ms发出一次复位信号。

因此当程序运行错误时,在200ms内未能将其内部定时器清零,则TPS3824将发出RESET信号复位DSP,从而有效的防止死机的情形发生。

PS3824,如图3-11所示,TPS3824启

图3-11看门狗模块

3.3.6低电压复位模块

在系统上断电过程中电源部分可能出现过电压过低的情况,此时DSP可能在非正常电压工作时产生错误,为防止类似情形产生,系统中加入低电压压复位模块。

因为DSP供电电压为3.3V,所以选用CAT809S作为复位芯片。

如图3-12所示。

CAT809S的复位电压为2.93V,当DSP供电电压低于此值时,CAT809S将发出RESET信号,复位DSP。

图3-12低电压复位模块

3.3.7电流检测模块

电流检测模块用于检测这个系统运行过程中的电流情况。

系统可以根据电流情况调整电机的速度,电梯内风扇的开关,还可以有效的防止过电流的发生,保障系统安全。

如图3-13所示。

图3-13电流检测模块

3.3.8故障报警模块

当系统出项故障时,DSP在完成系统停机保护的同时,输出GPIO端口将发出高电平,Q2三极管导通,故障灯与响铃同时得电,发出声光报警提示用户。

如图3-13所示。

图3-14故障报警模块

3.3.9编程与仿真接口

可以通过串行接口RS232进行通讯及仿真,方便了嵌入式程序的编辑与调试。

如图3-15所示

图3-15编程及仿真接口

 

四、系统程序设计

4.1主程序流程

电梯控制系统控制策略与方法以流程图表示,如图4-1所示。

图4-1电梯控制系统主程序流程图

4.2初始化模块

初始化模块是电梯控制系统初始运行部分,负责初始化系统的各种参数,根据情况把电梯设置成一种初始上电运行状态。

初始化模块包括:

(1)DSP系统初始化函数SYS_INIT()。

(2)定时器初始化函数EVB_init()。

(3)光电编码器初始化函数EVA_init()。

(4)I/O初始化函数I几init()。

(5)复杂可编程逻辑器件(CPLD)接口初始化函数Cpld_Init()。

(6)CAN控制器的初始化CAN_init()。

(7)串行通信接口初始化函数SCI_init()。

(8)串行外设接口初始化函数SPI_init()。

(9)嵌入式实时操作系统μC/OS—Ⅱ操作系统初始化函数OSinit()。

完成初始μC/OS—Ⅱ所有变量和数据结构[20]。

4.3中断模块

电梯控制系统中断模块包括两部分:

定时器模块和CAN总线数据接收模块。

操作系统在中断服务程序中所用到函数包括:

中断开始函数OSIntEnter(),时钟节拍函数OSTimeTiek(),退出中断函数OSIntExit()。

1)定时器模块采用中断3,函数是

c_int2()

voidc_int2()

{

if(PIVR==0x002F)//是否定时器10MS

{

unsignedintTint=0//定义局部变量Tint*

OSIntEnter();//通知内核开始中断服务

OSTimeTick();//10MS一个时钟节拍

............

中断服务子程序

............

OSMboxPost(TimerMbox,(void*)&Tint);//发送定时时间消息到软件定时器

OSIntExit();//退出中断

asm(″CLRCINTM″);//开中断

}

}

2)CAN总线数据接收模块采用中断5,函数是c_int5()。

voidc_int5()

{

if(PIVR==0x0040)

{

unsignedintCANint=0;//定义局部变量

OSIntEnter();//通知内核开始中断服务

呼梯或是轿厢发送的数据的ID号判断

.....................

中断服务子程序

.....................

OSMboxPost(CANREMbox,

(void*)&CANint);//发送CAN总线接收到的数据消息到CAN接收数据处理函数Can_Receive()

OSIntExit();//退出中断

asm(″CLRCINTM″);//开中断

}

}

4.4开关量输入模块

开关量输入模块功能是完成读取开关量控制指令及电梯状态值,并进行数据转换,便于其他函数调用。

采用操作系统μC/OS—Ⅱ创建开关量输入模块任务如下:

OSTaskCreate(IO_RECEIVETask,(void*)O,(void*)&TaskstkIORe[29],3)

任务名称:

IO-RECEIVE

任务堆栈:

分配给开关量输入模块IO-RECEIVE()堆栈的栈顶指针&TaskstkIORe[29],操作系统初始化通过设置OS_STK_GROWTH将堆栈设定为是由上往下递减。

优先级:

3

采用μC/OS—Ⅱ对开关量输入模块管理的流程如下:

voidIO_Reeeive()

{

while

(1)

{

OSTasksuspend(3);/*采用任务挂起方式先将任务置于挂起态*/

读入开关量信号输入值及数据转换用户代码;

根据输入信号确定正常、检修和消防那种任务恢复就绪态。

if(检修状态有效)

OSIntTaskResume(5):

/*检修任务恢复就绪态*/

}

4.5故障处理模块

电梯控制系统的故障状态处理模块主要完成电梯处于故障状态时的运行控制。

采用操作系统μC/OS—Ⅱ创建故障处理模块任务如下:

OSTaskCreate(Ctr_TroubleTask,(void*)0,(void*)&TaskstkTrouble[59],4)

任务名称:

Ctr_Trouble()

任务堆栈:

分配给电梯控制系统故障状态处理模块Ctr_trouble()堆栈的栈顶指针&TaskstkTrouble[29]。

优先级:

4

采用协μC/OS—Ⅱ对故障工作模块管理的流程如下:

voidCtr_trouble()

{

while(l)

{

MaiITrouble=OSMboxPend(TroubleMbox,0,&error):

/*采用消息邮箱与其它任务模块进行信息传递*/

troublesign=*Mai1Trouble;

/*读取返回值,根据邮箱返回的值执行相应的功能*/

if(troublesign==?

{

故障处理子程序1

}

.....................

故障处理其它子程序

.....................

}

}

4.6检修工作模块

电梯控制系统的检修模块主要完成工作人员在对电梯调试、维护时的运行控制。

采用操作系统协μC/OS—Ⅱ创建开关量输入模块任务如下:

OSTaskCreate(Ctr_ExamTask,(void*)O,(void*)&TaskstkExam[29],5)

任务名称:

Ctr_Exam()

任务堆栈:

分配给电梯控制系统检修模块Ctr_Exam()堆栈的栈顶指针&TaskstkExam[29]。

优先级:

5

恢复就绪态方式:

由I/O输入模块函数IO_RECEIVE()根据I/O口状态执行恢复函数进入就绪态。

采用μC/OS—Ⅱ对检修工作模块管理的流程如下:

voidCtr_Exam()

{

while(l)

OSTasksuspend(5);/*采用任务挂起方式将任务先置于挂起态*/

}

检修状态下开、关门和上、下行处理程序

4.7消防状态工作模块

电梯控制系统的消防状态工作模块主要完成电梯处于消防报警状态时的运行控制[21]。

采用操作系统林μC/OS—Ⅱ创建开关量输入模块任务如下:

OSTaskCreate(Ctr_FireTask,(void*)O,(void*)&TaskstkFire[59],6)

任务名称:

Ctr_Fire()

任务堆栈:

分配给电梯控制系统消防状态处理模块Ctr_Fire()堆栈的栈顶指针&TaskstkFire[29]。

优先级:

6

恢复就绪态方式:

由I/O输入模块函数IO_RECEIVE()根据I/O口状态执行恢复函数进入就绪态。

采用μC/OS—Ⅱ对消防工作模块管理的流程如下:

voidCtr_Fire()

{

while(l)

{

OSTasksuspend(6);/*采用任务挂起方式将任务先置于挂起态*/

消防状态运行控制程序

}

}

4.8CAN总线接收的数据处理模块

电梯控制系统的CAN总线接收的数据处理模块主要完成电梯主控制器从轿厢控制器、呼梯控制器接收的数据的处理。

采用操作系统μC/OS—Ⅱ创建故障处理模块任务如下:

OSTaskCreate(Ctr_CanRxTask,(void*)0,(void*)&TaskstkCanRx[29],7)

任务名称:

Ctr_CanRx()

任务堆栈:

分配给电梯控制系统CAN总线接收的数据处理模块Ctr_CanRx()堆栈的栈顶指针&TaskstkCanRx[29]。

优先级:

7

采用μC/OS—Ⅱ对数据处理模块管理的流程如下:

voidCtr_CanRx()

{

while

(1)

{

MailCanRx=OSMboxPend(CanRxMbox,30,&error):

/*采用消息邮箱与其它任务模块进行信息传递*/

eznrxsign=*MailCanRx:

/*读取返回值,根据邮箱返回的值执行相应的功能*/

if(eznrxsign==轿厢信息)

{

轿厢数据处理子程序

}

CAN总线接收的数据进行处理的其它子程序

4.9系统断电数据保存模块

电梯控制系统的系统断电数据保存模块主要完成电梯控制系统在突然断电时数据的非易失保存。

采用操作系统μC/OS—Ⅱ创建断电数据保存模块任务如下:

OSTaskCreate(Ctr_SaveTask,(void*)0,(vosd*)&Taskstksave[29],8)

任务名称:

Ctr_Save()

任务堆栈:

分配给电梯控制系统断电数据保存模块Ctr_Save()堆栈的栈顶指针&Taskstksave[29]。

优先级:

8

恢复就绪态方式:

由I/0输入模块函数10_REcEIVEO根据I/0口状态执行恢复函数进入就绪态[21]。

采用μC/OS—Ⅱ对断电数据保存模块管理的流程如下:

voidCtr_Save()

{

while

(1)

{

OSTasksuspend(S);/*采用任务挂起方式将任务先置于挂起态*/

系统断电数据非易失保存程序

}

}

4.10软件定时器模块

电梯控制系统的软件定时器模块主要完成电梯主控制器的各个软件定时器的计算和处理。

采用操作系统μC/OS—Ⅱ创建软件定时器模块任务如下:

OSTaskCreate(CtrjimerTask,(void*)0,(v。

id*)&TaskstkTimer[29],10)

任务名称:

Ctr_TimerO

任务堆栈:

分配给电梯控制系统软件定时器模块ctr_Timero堆栈的栈顶指针&TaskstkTimer[29]。

优先级:

10

采用μC/OS—Ⅱ对数据处理模块管理的流程如下:

voidCtrjimer()

{

while(l)

MaiITimer=OSMboxPend(TimerMbox,10,&error):

/*采用消息邮箱与其它任务模块进行信息传递*/

timersign=*Mai1Timer:

/*读取返回值,根据邮箱返回的值执行相应的功能*/

if(timersign==looms到有效)

{

以100ms为基本计数单位的软件定时器处理子程序

软件定时器其它子程序;

}

}

 

五、系统性能测试

5.1系统功能仿真测试

图3.4系统功能仿真测试图

梯外呼叫按钮按下二楼上按键,当电梯运行至二楼时,数码管0、1位显示02,电梯门打开数码管2、3位显示00。

数码管6、7位显示01,4、5位显示00,电梯向上。

系统运行正常。

5.2按键功能实现测试

按下按键,使用万用表进行一一测量,通过观察相应管脚处的电平变化来判断其性能的好坏。

通过测量,无论按下哪个按键,其对应引脚的输出电压均可达4.5V以上,基本达到设计要求。

5.3光感位置控制实现测试

由于是通过光电感应器来判断电梯的位置,故对每一个光感应器进行性能测试。

采用10KΩ的电阻作为上拉电阻时,引脚输出几乎无变化,后来,经过查阅资料和向同学请教,发现,将上拉电阻的阻值改为5KΩ时,效果很是明显,为设计所需要的性能要求。

采用5KΩ电阻作为上拉电阻时光感应器的输出性能表

名称

正常情况下引脚输出

挡光时引脚输出

1号光感

0.71

4.98

2号光感

0.75

4.87

3号光感

0.72

4.92

4号光感

0.65

4.89

结论

本设计中电梯主控制器硬件上采用数字信号处理器DSP56F8025MFBE与可编程

器件MAX7128S相结合的一种高性能的结构。

同时软件上采用嵌入式实时操作系统抖μC/OS—Ⅱ实现多任务管理、中断管理、定时器管理和任务间的通信与同步,这种设计方案具有的特点如下:

1.提高了系统的实时性和可靠性

在嵌入式系统中使用RTOS的最主要的原因是提高系统的实时性和可靠性。

尤其是系统“不死机”是基本的要求。

在硬件设计上主控制器采用数字信号处理器DSP可以使系统具有高速数据处理能力,有力提高了系统实时性。

而系统采用复杂可编程逻辑器件CPLD可以具有静态可重复编程和动态在系统重构的特性,使得硬件设计像软件一样通过编程来修改,这样就极大的提高了电子系统设计的灵活性和通用性,同时也实现了控制系统得微型化。

在可靠性方面,硬件设计上尽量提高抗干扰能力,满足电磁兼容性要求只是一方面,另一方面就是在软件上采取得措施。

长期以来,国内传统的开发的方式是:

针对某一应用,画程序流程图、编制应用程序。

这种程序可以称之为线性程序。

在遇到强干扰时,程序在任何一处产生死循环或破坏都会引起死机,受到强干扰时只能依靠硬件的最后防线一看门狗复位,重新启动系统。

而对于RTOS管理的系统,这种干扰可能只是引起若干进程中的一个被破坏,可以用另外的进

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

当前位置:首页 > 经管营销 > 经济市场

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

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