电梯控制系统的实现,附软硬件架构图
电梯将不能继续运行。在选择产品时,我们需要综合考虑线性度好、外围电路简单、灵敏度高,价格不高等综合因素。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) /
电梯控制系统 EVK1100 H桥驱动 压力传感 相关文章:
- 基于FSM的电梯控制系统的设计与实现(07-05)
- 通用型矢量变频器在电梯控制系统中的应用(01-30)
- 技术方案:特定区域内空气粉尘含量的测控系统(03-18)
- 随身的家庭小管家,可手机远程监控的智能生活管理系统,完整解决方案(06-03)
- 完整的家庭安全卫士系统方案,提供硬件框图、软件流程(06-03)
- 多功能导盲车的系统实现(11-24)