APP下载

基于PIC 单片机的电梯模拟控制研究

2015-11-28张亦农

山西电子技术 2015年3期
关键词:下位按键串口

张亦农

(天津铁道职业技术学院,天津 300240)

随着建筑业的发展和科技的进步,电梯作为多层建筑内对乘客、货品进行上下运输的特种机电设备,不仅在结构和功能上要逐渐切合多种实际需求,在控制系统的可移植性、灵敏性、安全性方面也要不断提出新要求。据统计,截止2014 年,仅全国各大车站就装配有电梯设备近6 万部,分布在900 余个站场。我国现有整机生产企业近500 家,正逐渐实现智能化、信息化和网络化[1]。

目前电梯的控制系统大多采用继电器及可编程控制器,针对PLC 控制存在的成本高且需三相供电等缺点,本文给出基于单片机的电梯模型控制系统的设计概念,旨在利用单片机设计电梯控制系统的核心部分。单片机系统具有结构简单,使用方便,易于实现模块化等特点,具有较高可靠性,处理功能强,速度快。

1 系统的硬件设计

电梯的控制系统由单片机控制电梯的显示、调速、选项等,硬件构成图如图1 所示[2]。电梯选层呼梯系统主要收集电梯内、外呼按键信号控制电梯走向和平层,除两个终端站具有单向运行指令按钮外,每一中间层站均具有两个运行方向指令按钮。对各单元模块的设计可分为电机正反转控制电路、键盘矩阵电路、显示电路、目的楼层显示电路、警报电路等五部分设计。

图1 单片机控制系统原理结构图

1.1 PIC16F877 系统介绍

本系统采用Microchip 技术公司的PIC 系列单片机PIC16F877 作为主控制器,并辅以相关外围电路。PIC 系列单片机具有寻址方式简单、代码压缩率高、运行速度高、功耗低、驱动能力强等特点[3],内部集成一系列具有独特功能的专用电路,应用于电梯这种特种机电设备,具有较高的可靠性。微控制器PIC16F877 是一款具有最低功耗、采用全新流水线结构、嵌入闪存的10 位、7 通道A/D 转换器,具有8 位CMOS 以及高性能RISC CPU,其I/O 端口具有较强的驱动负载能力。系统功能结构图如图2 所示。

图2 PIC16F877 单片机系统结构图

1.2 PIC 振荡频率电路

根据单片机的工作条件和要求可知,其振荡电路与电梯控制系统工作速度有直接的关系,PIC16F877 单片机振荡频率最高可达20 MHz,满足电梯运行控制的要求,电路图如图3 所示。

图3 PIC16F877 振荡频率电路图

1.3 PIC 外接电源与复位电路

作为一款低功耗单片机,PIC16F877 的工作电压为5V,Pin12 与Pin31 为地线接脚,Pin11 与Pin32 连接,Pin1 连接重置电路,按Reset 后,内部指令从头开始执行。其接口电路如图4 所示。

图4 复位电路图

2 系统的软件设计

在系统下位机软件Keil C51 的开发环境下,基于单片机电梯控制系统的核心部分,采用结构化编程,利用C 语言进行模块化设计程序开发,简化编制过程,对系统的微调可通过对相应模块进行修改提高程序的可移植性。电梯控制软件系统划分为端口定义及系统初始化、硬件驱动、模数转换、轿厢运行程序编制和按键程序用户自定义命令解析、系统监控等在内的多个模块。

系统初始化模块对内部资源的初始化包括时钟频率的显示和设定、I2C 总线设定等,对外部资源的初始化包括步进电机驱动器模块配置、点阵式液晶显示模块配置等;硬件驱动模块依据厂商范例编写驱动程序,包含有电梯内外控制模块、电机逻辑运行模块及中央运算模块等;系统监控模块属于系统资源管理模块,包括看门狗复位,定时器复位,模拟电梯系统运行状态的更新等[4]。

如下程序段是结合电梯内外呼梯电路所编制的加入抗干扰和按键去抖动处理的按键程序,不同按键判断执行不同的功能(WORK0、WORK1、WORK2),将采集的按键信息实时存储,便于系统程序的读取。

3 系统的调试

采用VS2010 作为系统调试软件开发工具,为进一步简化编程过程、提高编程效率,采用MFC(Microsoft Foundation Classes)库,利用C++语言进行面向对象设计(Object-Oriented Design)编程,将模型的分析与设计分开建立,根据功能划分各模块层次。MFC 库以C++类的形式封装Windows API,包含大量Windows 句柄封装类和Windows 的内建控件和组件的封装类,可以通过面向对象的方式调用Windows API,其中还包含一个应用程序框架,大大减少了工作量[5]。

调试软件是采用单片机的串口通信方式进行信息交互,实现其与下位机软件的通信,完成命令发送、故障诊断、信息返回等功能。软件利用系统提供的API 函数实现对串口的操作,如串口的打开、关闭以及读写串口等。

Win32 中用于打开串口的API 函数为CreateFile,其原型为:

本软件以同步读写的方式打开串口,代码如下:

利用API 函数实现串口通信时关闭串口只需使用CreateFile

函数返回的句柄作为参数调用CloseHandle:

读串口所用函数原型如下:

写串口所用函数原型如下:

上位机的软件运行界面如图5 所示。

图5 上位机软件运行界面图

软件中的编辑窗口用来接收用户命令,点击“Send”按钮后将通过串口发送到下位机中。同时软件中的列表窗口将显示软件通过串口读取的下位机反馈数据。以便用户判断用户命令的执行情况。“Test”按钮主要用来完成系统的测试及故障诊断工作。值得注意的是,用户发送命令时,一定要严格按照命令协议中的规范进行书写,否则下位机将不能有效识别命令,可能造成意想不到的操作。

4 结论

本文采用微控制器PIC16F877 作为主控制器,选用Keil C51 作为下位机软件开发环境,利用结构化编程进行模块化设计。本系统设计将电梯控制系统划分为端口定义及系统初始化、硬件驱动、模数转换、轿厢运行程序编制和按键程序用户自定义命令解析、系统监控等在内的多个模块。系统调试软件采用VS2010 为开发工具,运用MFC 库进行编程,与下位机软件进行通信,采用串口通信的方式进行信息交互,实现串口操作,实现电梯的部分功能,如内外呼梯的按键功能,进一步验证了电梯控制程序的可编性。

[1]陈家盛.电梯结构原理及安装维修[M].北京:机械工业出版社,2012.

[2]巩玉滨,陈继文,于复生,等.基于单片机的电梯控制仿真系统[J].计算机系统应用,2011,20(11):114-117.

[3]吴正民.PIC 单片机特点及应用时的注意事项[J].实验室研究与探索,2003,2(6):79-82.

[4]郭雷岗.基于单片机的模拟电梯控制系统[J].福建电脑,2012,28(9):101-102.

[5]何春晗,夏明飞.运载火箭主动段综合引导机制研究与实现[J].计算机应用与软件,2014,31(10):82-85.

猜你喜欢

下位按键串口
基于有限状态机的按键检测程序设计
浅谈AB PLC串口跟RFID传感器的通讯应用
发射机房监控系统之下位机
一种多方向导光按键结构设计
景洪电厂监控系统下位机数据传输网络改造
围观党“下位”,吐槽帝“登基”
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
CAN总线并发通信时下位机应用软件设计