嵌入式控制技术与应用
课程设计报告
设计题目: 基于 STM32 的 4 层电梯控制系统设计
学
号:
姓
名:
指导教师:
电气工程系
目 录
1. 设计任务 .....................................................1
1.1 设计功能要求 .............................................1
1.2 硬件设备介绍 .............................................1
2. 整体方案设计 .................................................2
3. 系统硬件电路设计 .............................................3
3.1 复位电路 ................................................ 3
3.2 时钟电路 ................................................ 3
3.3 按键控制电路 ............................................ 4
3.4 LED 触发显示电路 .........................................5
3.5 多段数码管电路 .......................................... 6
4. 系统程序设计 .................................................7
4.1 主程序流程图 ............................................ 7
4.2 系统函数初始化 ...........................................8
4.3 按键读取模块 ............................................ 9
5. 系统调试 ....................................................11
6. 程序清单 ................................................... 14
基于 STM32 的 4 层电梯控制系统设计
随着现代高科技的发展,住房和办公用楼都已经逐渐向高层发展。电梯是高
层宾馆、商店、住宅、多层仓库等高层建筑不可缺少的垂直方向的交通运输工具。
1889 年美国奥的斯升降机公司推出的世界上第一部以电动机为动力的升降机,
同年在纽约市马累特大厦安装成功。随着建筑物规模越来越大,楼层也越来越高,
对电梯的调速精度、调速范围等静态和动态特性都提出了更高的要求。由于传统
的电梯运行逻辑控制系统采用的是继电器逻辑控制线路。采用这种控制线路,存
在维护不便、运行寿命较短、容易出故障、占用空间大等缺点。
电梯控制系统是较复杂的一个大型系统,在计算机诞生的几十年里,继电器
控制系统为电梯控制的发展做了巨大的贡献,但在性能上和 PLC 还是有本质上的
差距。在科技的不断发展下,单片机控制系统很快可以解决抗扰性,成为方便有
效的电梯控制系统。
未来的社会是创新科技不断发展的社会,技术交融,相互影响。电梯的应用
将会不断拓展,款式将各种各样,目的就是为了满足人们的多种多样的需求。电
梯将是现代人不可或缺的代步工具, 随着科技的不断进步,经济的深入发展,
科技将引领电梯进行质的飞跃,电梯将越来越智能,越来越安全稳定。
1. 设计任务
1.1 设计功能要求
结合实际情况,基于 STM32F103 单片机设计一个 4 层电梯控制系统。该系统
应满足的功能要求为:
(1) 电梯运行控制系统为四层控制系统。
(2) 电梯能够箱内外呼叫,并显示运行的状态。
(3) 设计系统具有独立键盘控制,并有 LED 显示楼层与指示灯。
1.2 硬件设备介绍
主要硬件设备:STM32F103 单片机,矩阵键盘,独立按键,LED 显示,数码
管显示器(或液晶显示器)。
2. 整体方案设计
系统的整体设计方案设计图如图 2-1 所示:
图 2-1 系统的整体方案设计图
本系统硬件主要由复位模块、显示模块、电源供电模块和按键控制模块四部
分组成。各模块的主要功能如下:
(1) 复位模块:一是用于程序初始化,二是用于摆脱互锁和跑飞。
(2) 显示模块:一为显示 LED 显示触发楼层数,二为数码管显示当前楼层数,
用于显示电梯系统此时正在运行的状态。
(3) 电源供电模块:添加三级管驱动电路,提供足够的电流驱动数码管。
(4) 按键控制模块:即内呼外叫控制程序,用于控制电梯内外电路。
总体来说,本设计采用 STM32F103R6 单片机作为核心,配以适当接口作为输
入输出通道。采用按键开关电路作为外呼内选呼叫控制。实际电梯控制系统每层
装有一个传感器,从而判断车厢所在位置,本模型由 10 个独立按键作为楼层到
达信号传输给单片机,而后通过内部电路驱动数码管显示楼层数。当电梯到达所
选层,电梯开门延时等待进人并选层,然后延时关门执行请求,若无请求则停在
本层等待请求。
软件部分使用 C 语言,利用查询方式来检测用户请求的按键信息。
3. 系统硬件电路设计
3.1 复位电路
复位电路的具体电路如图 3-1 所示:
图 3-1 复位电路原理图
复位电路虽然简单,但其作用非常重要。一个单片机系统能否正常运行,首
先要检查是否能复位成功。初步检查可用于示波器探头监视 RST 引脚,按下复位
键,观察是否有足够幅度的波形输出(瞬时的),还可以通过改变复位电路阻容
值进行试验。本复位电路采用上电自动复位和手动复位组合。上电自动复位是在
加电瞬间电容通过充电来实现的,在通电瞬间,电容 C3 通过 R1K 电阻充电,RST
端出现正脉冲,用以复位。只要电源 Vcc 的上升时间不超过 1ms,就可以实现自
动上电复位,即接通电源就完成了系统的复位初始化。手动复位是通过按下 S111
后,通过电阻 RR 直接给服务端一个高电平使之复位。编程初始化设置数码管显
示为 1,并且等待楼层模拟传感器读取数据。
3.2 时钟电路
时钟电路中,晶振是由石英晶体组成的,石英晶体之所以能当为振荡器使用,
是基于它的压电效应:在晶片的两个极上加一电场,会使晶体产生机械变形;在
石英晶片上加上交变电压,晶体就会产生机械振动,同时机械变形振动又会产生
交变电场,虽然这种交变电场的电压极其微弱,但其振动频率是十分稳定的。当
外加交变电压的频率与晶片的固有频率(由晶片的尺寸和形状决定)相等时,机
械振动的幅度将急剧增加,这种现象称为“压电谐振”。
晶振电路为主控芯片提供系统时钟,所有的外设工作,CPU 工作都要基于该
时钟,类似于整个系统的“心跳节拍”。
晶振分为无源和有源,但是本质上都是皮尔斯震荡电路(反相放大器+电阻+
电容+晶体+电源),只不过对于单片机而言,单片机内部集成了反相放大器和电
阻以及电源,外接晶体和电容就可以了,这里的晶体就称之为无源晶振。
3.3 按键控制电路
按键控制电路的具体电路如图 3-2 所示:
按键控制电路是一个内呼外叫系统。
图 3-2 按键控制电路设计图
现以呼叫信号的输入为例,来说明信号输入及 STM32 识别原理。如图 3-2
所示,采用 P0 口外接上拉电阻的并行输入形式,来输入外呼叫信号,本电路采
用 10 个独立键盘,行扫描法识别键值的原理,具体原理如下:
判断键盘中有无键按下:将全部行线 PC.0-PC.3 置为低电平,然后检测列线
的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于
低电平线与 4 根行线相交叉的 4 个按键之中。若所有列线均为高电平,则键盘中
无键按下。
判断闭合键所在的位置:在确认有键按下后,即可进入确定具体闭合键的过
程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其他线为
高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某
列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。
由于没有电梯控制硬件模型,只能用按键来模拟电梯到达位置的触发信号。
本电路采用独立式按键非编码键盘接口查询方式。当任何一个键按下时,与之相
连的输入数据线即被清 0(低电平),而平时该线为 1(高电平)。要判断是否有
键按下,用单片机的位处理指令十分方便。这种键盘结构的优点是电路简单;缺
点是当键数较多时要占用较多的 I/O 口,本次实验键数较少,能较好地满足设计
要求。
查询方式键盘的处理程序比较简单。本处理程序中没有使用散转指令,并且
省略了软件去抖动措施,只包括键查询、键功能程序转移。
按键消抖通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,
由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开
时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不
产生这种现象而作的措施就是按键消抖。
抖动时间的长短由按键的机械特性决定,一般为 5ms~10ms。这是一个很重
要的时间参数,在很多场合都要用到。按键稳定闭合时间的长短则是由操作人员
的按键动作决定的,一般为零点几秒至数秒。键抖动会引起一次按键被误读多次。
为确保 CPU 对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读
取键的状态,并且必须判别到键释放稳定后再作处理。
3.4 LED 触发显示电路
LED 触发显示电路的具体电路如图 3-3 所示:
图 3-3
LED 触发显示灯电路
通过网络标签 LED_1-LED_7,连接 MCU 的引脚 PA8-PA14,通过设置引脚的电
平状态驱动 LED 点亮,LED 的正极接着 3.3V 和 100Ω的电阻,可以提供 LED 的电
流是 3.3mA,当引脚输出电平为低电平,形成电压差,点亮 LED。D1 是 1 楼向上
的指示灯,D2 是 2 楼向上的指示灯,D3 是 2 楼向下的指示灯,D4 是 3 楼向上的
指示灯,D5 是 3 楼向下的指示灯,D6 是 4 楼向上的指示灯,D7 是电梯开门的指
示灯,若开门指示灯会亮起绿色的颜色,关门状态下,LED 是灭的状态,黑色的
背景。
3.5 多段数码管电路
多段数码管电路的具体电路如图 3-4 所示:
(1) 器件选型:
图 3-4 数码管楼层显示电路
本次课设使用的是共阳极数码管显示器(7SEG-MPX-4CA)来实现输出楼层信
息和当前楼层上下信息。
(2) 器件特性:
在上面的共阳极数码管显示器图中,左下侧的 a,b,c,d,e,f,g,dp
是 LED 数码管显示器的 I/O 口,是段选信号,右下侧的 1,2,3,4 是它的位选
信号,就是从左到右分别是第一位到第四位,段选信号与位选信号分别接到单片
机的不同输出口。
显示电路部分,左边的数码管进行显示运行状态,1 代表着电梯向上运行状
态,0 代表着电梯向下运行的状态,2 代表着电梯是停止状态。 数码管第三位显
示着楼层的层数的显示数值为 1-4。数码管位选是三极管驱动,通过输入高电平
给三极管的基极,让三极管的内部导通,连接电压源 3.3V 连接 R5-R8 的电阻形
成电流驱动,驱动数码管进行显示。