当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]本项目主要在意探索实现电梯运行的优化,主要实现对于电梯电机的优化控制并实现电梯系统的基本性能与扩展性能。国产电梯控制技术过去一直是以继电器,接触器为核心。系统庞大,复杂,所用控制柜很大,因此使用微机电梯控制系统,以期提高运行可靠性。

一、项目概述

1.1 引言

电梯技术包括电梯电机的拖动技术和电梯运行的控制技术,本项目主要在意探索实现电梯运行的优化,主要实现对于电梯电机的优化控制并实现电梯系统的基本性能与扩展性能。国产电梯控制技术过去一直是以继电器,接触器为核心。系统庞大,复杂,所用控制柜很大,因此使用微机电梯控制系统,以期提高运行可靠性。

1.2 项目背景/选题动机

单片机体积小,处理速度快,价格低廉,功能强大,是合适的控制系统。对电梯的控制主要是选层、启动、换速、平层、停车等几个环节,其中以选层环节最为复杂。与通常的电器控制相比,单片机系统不需要通过“选层器”并且配备以大量的中间继电器作为选层电路的控制设备,避免了设备多,检修困难,运行维护不便,造价成本高;应用微机控制可以取消选层器和大量的中间继电器,而且应用单片机控制,又相对于应用其他微机减少了外围设备的接口芯片、增强了可靠性。因此此次我们使用ATMEL公司的EVK1100为核心进行集成优化控制与管理。

二、需求分析

2.1 功能要求

基本要求

A 电梯在楼层中的调度

B 电梯门的自动开启

C 电梯中电机的控制

D 电梯的故障检测

扩展要求(根据开发板的资源所做的扩展)

A 电梯中的照明控制

B 电梯中的温度显示

2.2 性能要求

在故障检修模式键被按下时,切换至故障检修模式,电梯停止运行工作人员可以进行检修,循环检测电梯的模式是否变化,当出现模式的变化时,切换到相应的模式下。

在一般运行模式键被按下时,切换至一般运行模式,电梯实现一般的功能要求,循环检测电梯的模式是否变化,当出现模式的变化时,切换到相应的模式下。

在直接运行模式键被按下时,切换至直接运行模式,电梯实现直接运行,为紧急情况争取时间,循环检测模式是否变化,当出现模式的变化时,切换到相应的模式下。

故障检修模式下,电梯停止运行,停止外部讯号对于电梯的调度(对于模式转换键,在此功能没出现故障的时候任然响应),显示当前楼层和温度,使能照明。

一般运行模式下,电梯一般运行,对于外部讯号,通过电梯的调度算法和对于电梯的中电机的控制实现响应,使能模式转换键,显示当前楼层和温度,对于照明的使能通过压力传感器的输入进行控制。

直接运行模式下,电梯的性能要求和一般运行模式中基本相同,唯一不同的是电梯的调度算法,电梯会直接来到电梯的直接运行模式键被按下的楼层,并在载人以后直接回到底层。

3.1 系统功能实现原理

利用EVK1100开发平台提供的一些应用:温度,光照,LCD,PWM输出和AVR芯片的优越的控制功能加上一些外围的一些模块:压力,H桥驱动,语音输入输出 等实现电梯的简单的模拟层次上的控制(主要的控制在与电机的控制,照明的控制和温度显示)。在电梯的控制当中特点在与对于电梯中照明的控制(压力传感没有人在电梯中时关掉照明,实现环保节能的目的)和直接运行模式的引入。

图1 系统硬件结构框图

3.2 硬件平台选用及资源配置

Atmel公司推出的AVR单排年级是很引人注目的一款为处理器。这种芯片基于新的RISC机构,在设计上采用了流水线的结构,在执行前一条指令时,同时取出下一条指令,它的Flash以及强大的外围接口能力使它成为目前最为流行的单片机之一。本设计采用EVK1100作为控制系统的核心。

A H桥驱动

如图所示,H桥式电机驱动电路包括4个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。

图2 H桥驱动

要使电机运转,必须使对角线上的一对三极管导通。当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极。当电流从Q1流经电机再流向Q4,该流向的电流将驱动电机顺时针转动。当三极管Q1和Q4导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动。另一对三极管Q2和Q3导通的情况,电流将从右至左流过电机。当三极管Q2和Q3导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动。

实际使用的时候,用分立件制作H桥式是很麻烦的,好在现在市面上有很多封装好的H桥集成电路,接上电源、电机和控制信号就可以使用了,在额定的电压和电流内使用非常方便可靠。比如常用的L293D、L298N、TA7257P、SN754410等。

B 压力传感

压力传感器负责测量电梯里的承受压力,判断电梯里是否有人,如果没人,将控制电梯里的灯变暗。除此功能之外,当压力到达一定程度时,传感器将判断出超出承受范围,电梯将不能继续运行。在选择产品时,我们需要综合考虑线性度好、外围电路简单、灵敏度高,价格不高等综合因素。C 直流电机

直流电机是本项目的核心部分,起到了控制电梯的运动,它的正转反转也将由电机来驱动,在没有具体电梯材料的情况下,观察电机的驱动运作情况可以直接定性的反映本项目的情况。

C 电机测速模块

一块长度为l,宽度为b,厚度为d的半导体薄片,当它被置于磁感应强度为B的磁场中,如果在其相对两边流通控制电流I,且磁场方向与电流方向正交,则在该半导体另外两边将产生一个与控制电流I和磁感应强度B乘积成正比的电势UH,即UH=KHIB,其中KH为霍尔元件的灵敏度,该电势称为霍尔电势,该半导体薄片就是霍尔元件,其大小和外磁场及电流成比例。霍尔开关传感器由于其体积小,无触点,动态特性好,使用寿命长等特点,广泛应用于测量转动物体旋转速度领域。这里选用SPRAGUE公司生产的霍尔转速传感器,它是一种硅单片集成电路,其内部含有稳压电路、霍尔电势发生器、放大器、史密特触发器和集电极开路输出电路,具有工作电压范围宽、可靠性高、外电路简单、输出电平可与各种数字电路兼容等特点。

霍尔传感器信号放大器将霍尔电势UH放大后再经整形、放大,输出幅值相等、频率变化的方波信号,该霍尔电势的幅值随磁场强度变化而变化。

转速的测量方法有很多种,根据脉冲计数实现转速测量的方法主要有M法(测频法)、T法(测周期法)和MPT法(频率周期法)。该系统采用M法(测频法),霍尔传感器的测速电路,如图所示。

3.3系统软件架构

电梯控制的软件框架由电梯的模式作为主体框架,以完成模式下的功能为驱动进行设计,各个模式的简介如下:

故障修理模式:由管理员手动切换,在故障模式下工程人员可以实现对于电梯的故障检修

一般运行模式:由管理员手动切换,一般运行模式是电梯的主要模式,完成电梯的主要功能

直接运行模式:由用户切换或者管理员切换,直接运行模式下,电梯可以从当前层面直接到达底层。当出现火宅或者有病人需要急救时可以避免电梯在中间层停靠,以此争取宝贵的时间

3.4 系统软件流程

软件的设计是根据状态机的方式实现的,具体的软件框图如下:

图3 程序运行流程图

3.4 系统预计实现结果

一些头文件的申明

一些变量的申明

#define repairMode 00

#define generalrunMode 01

#define direcltyrunMode 10

int setModeR_G(int currentMode int premode); //负责状态之间的切换

int setModeG_R(int currentMode int premode); //mode为两位变量,由拨码开关在I/O口读入

int setModeG_D(int currentMode int premode);

int setModeD_G(int currentMode int premode);

//状态切换会返回置位bool量 modechange

int getmode() //读取mode的当前的值,并且刷新mode和premode

Void lcd_initialize(void) //负责显示屏的初始化

Void port_initalize(void) //负责端口的初始化

Void motor_initalize(void) //负责电机的初始化

Void lighting_initalize(void) //负责照明的初始化

Void elevatordoor_initalize(void) //负责电梯门的初始化

Void lcd_display(int temperature); //负责温度的显示

Void eledoor_allopen(); //电梯门在检修模式下常开

Void eledoor(); //电梯门在其他两个模式下的运行方式

Void motor_stop();

int motor_genrun();

int motor_dirrun(); //返回一个Int值dooropen为1,控制电梯门的开启

//电梯在三种模式下的运行方式

Void light_display(int pressure); //电灯的开关控制

Void communicate(); //通信方法

Void repair() //检修模式下的工作方式

{

While(modechange==0)

{

Communicate();

Eledoor_allopen();

Light_display();

Lcd_display(int temperature);

Int getmode();

If(premode==01&&mode==00)

setModeG_R();

}

}

Void generalrun() //一般运行模式下的工作方式

{

While(modechange==0)

{

Communicate();

Light_display();

Lcd_display(int temperature);

If(premode==01&&mode==00)

setModeG_R();

If(premode==01&&mode==10)

setModeG_D();

}

}

Void directlyrun() //直接运行下的工作方式

{

While(modechange==0)

{

Communicate();

Light_display();

Lcd_display(int temperature);

Int getmode();

If(premode==10&&mode==01)

setModeD_G();

}

}

Void initialize(void) //负责总体的初始化

{

currentMode=generalrunMode;

Lcd_initialize();

Port_initialize();

motor_initalize();

lighting_initalize();

elevatordoor_initalize();

}

Int main()

{

Initialize();

While(1)

{

Switch(currentMode)

{

Case repairMode;

Repair();

Break;

Case generalrunMode;

Generalrun();

Break;

Case directltyrunMode;

Directltyrun();

Break;

}

}

}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用

嵌入式开发是一种专门针对特定硬件平台设计和实现软件系统的工程实践,它涵盖了从需求分析、系统设计、编程实现、调试测试直到产品部署及维护的全过程。本文将深入探讨嵌入式开发的主要阶段,分解其流程并阐述每个步骤的关键要点,以便于...

关键字: 嵌入式开发 嵌入式软件
关闭
关闭