计算机系统应用  2019, Vol. 28 Issue (3): 235-241   PDF    
基于STC89C52RC与STM8S005技术的智能书桌
江华丽, 林介本, 林琳     
福建师范大学 闽南科技学院, 泉州 362332
摘要:本设计采用STC89C52RC与STM8S005为核心控制的可升降智能书桌, 由数码管显示模块, 超声波模块, 按键模块, 红外测距模块, 接近式感应, 手机充电, 蓝牙连接播放音乐, 推杆和语音录放装置以及app控制台灯组成. 本设计采用人性化的方式, 可以上升的高度范围为50 cm到110 cm, 实现人体的站立和坐下, 书桌实时对人体的姿态作出反应, 实时测量高度, 同时设计APP实现外加音乐播放, led照明和七彩灯变化等功能.
关键词: STC89C52RC    STM8S005    超声波模块    APP    
Intelligent Desk Based on STC89C52RC and STM8S005 Technology
JIANG Hua-Li, LIN Jie-Ben, LIN Lin     
Minnan Institute of Science and Technology, Fujian Normal University, Quanzhou 362332, China
Foundation item: Fujian Provincial Higher Education’s Discipline Chair Training Program by Visiting Scholar in China; Innovative Education Reform Project of Higher Education of Fujian Province (SJZY-2015-02); Mid-aged and Young Talent Program of Education Bureau of Fujian Province (JAT160673)
Abstract: This design uses STC89C52RC and STM8S005 as the core control, contains the digital tube display module, ultrasonic module, button module, infrared ranging module, proximity induction, mobile phone charging, Bluetooth connection to play music, putter and voice recording device and app console lamp. This design adopts the humanized way, can rise the height range of 50 cm to 110 cm, achieve the human body's standing and sitting, desk can real-time response to the human body's posture, real-time measure height, and design APP to achieve additional music playing, LED lighting and colorful lamp changes, and other functions.
Key words: STC89C52RC     STM8S005     ultrasonic module     APP    

1 引言

随着智能家居的发展, 智能产品的应用越来越广泛. 现在市面上出现的智能书桌价格昂贵, 应用范围少, 成本高, 功能单一, 难以满足人们的需求. 因此本文专门介绍一款新型的智能书桌, 它与目前市场上的传统书桌不同的地方在于它的智能性, 能随时随地调整高度, 实现人体的站立和坐下, 设计APP实现外加音乐播放, LED照明和七彩灯变化等功能[1,2], 同时设置时钟模块提醒使用者休息, 为人体健康考虑, 防止人们长时间过度阅读, 具有很强的科学性.

2 系统硬件设计 2.1 系统结构

智能书桌的MCU采用STC89C52RC[35], 芯片具有3个定时器, 2个串行中断, 2个外部中断, 32个I/O. 基本上可以满足整个设计的要求, 用3.6寸的四位共阳数码管显示. STM8S005通过蓝牙与手机APP相互通讯, 播放音乐和操作LED灯. STM8S005是基于8位框架结构的微控制器, 内部寄存器有6个, 数据处理高速有效, 多种1寻址模式以及每种寄存器都可以找到对应的地址. 硬件结构如图1所示, 系统包含8个模块: (1) 电源充放模块; (2) 电源充放模块; (3) ADC按键读取模块; (4) 超声波检测模块; (5) 显示控制模块; (6) 推杆控制模块; (7) 数字式红外检测电路和接触式感应; (8) 蓝牙连接播放音乐; (9) LED照明和节奏灯.

图 1 硬件结构图

整体设计思路: 超声波检测人体姿态, 红外检测人体是否工作, 经过主控芯片对信号进行分析, 从而驱动推杆控制电路上升或下降, 然后送入数码管实时显示. 同时, 还有一些娱乐功能的使用. 采用超声波来检测距离, 由超声波发射器, 接收器和主控电路组成. 它是通过TRIG口发出一定频率的声波, 遇到障碍物就返回, 从发出到返回这段时间通过单片机计数器可得出, 并利用测距公式即可得出距离(测距=(计数器时间*声速(340 M/S))/2) [6].

主控芯片为STM8F005, Flash有32 KB字节, 10 KB次擦写数据在常温下可保存20年, EEPROM拥有多1 KB字节的内部存储, 可达30万次擦写. RAM多达2 KB字节, 3.0~5.5 V工作电压, 灵活的时钟控制, 有4个主时钟源和低功率晶体振荡器. 外部时钟输入时用户可调整内部为16 MHz RC, 内部低功耗128 kHz RC. 电源管理的三种模式可供选择, 等待、活跃停机、停机, 外设的时钟可单独关闭. 中断控制器有32个, 外部中断向量6个. 16位通用定时器有2个, 分别是PD和PC的IO端口, 且带有3个(IC、OC或PWM)通道模式选择, 2个看门狗定时器, 可通过外设中断唤醒. 通信接口带有UART串口通讯和DW在线调试功能, SPI接口最高到8 Mbit/s, I2C接口最高到400 Kbit/s. PB口10位10个通道都具有ADC功能, 检测模式和模拟看门狗中断唤醒功能. 32脚的芯片具有28个I/O. 高吸收电流输入输出口16个, 输出可达到40 mA, 输入高达100 mA, 独特的I/O设计, 非常强的高电流承受能力.

2.2 电源充放电路

电源充放电路如下图2所示, 电源5 V通过芯片给7.4 V电池充电, 最大充电电流可达到1.2 A. 同时MCU通过ADC电压检测控制充电是否满, MCU与蓝牙之间互传数据实现手机APP显示电池容量.

图 2 充放电路

2.3 蓝牙通讯

蓝牙是采用的是ATS2805B, 其方便且稳定性强, 价格便宜, 通过串口与MCU连接, 并且可以实现APP与MCU之间数据双向传输. 把电池电量传送到手机APP上面并显示, 如图3所示, 用于播放音乐和灯的控制.

2.4 ADC按键读取

由于MCU的IO口数量有限, 所以为了节省成本, 本文采用ADC检测电压的方式读取按键, 在硬件上利用电阻的分压特点来设置各个按键的电压值, 不同的电压值实现不同的功能, 电路如图4所示.

图 3 蓝牙模块电路

图 4 ADC按键读取电路

2.5 超声波

输入控制信号由TRIG口触发, 回响信号输出为ECHO口[7,8]. 本文采用的是两个超声波模块进行测距, 首先是定时器0先初始化, 将定时器设定为计数器模式, 超声波TRIG发射出方波, 在接收端等待接收, 接收端检测为低电平后计数器开始计时, 在接收端变成高电平停止计时, 同时利用计数器所记录的时间计算出距离, 若在一定的时间内接收端没有变成高电平, 在中断函数中对溢出的标志位清零, 发送端重新发送高电平.

2.6 接近式感应

图5所示, 检测距离可调(为5 mm至1 m), 电流为6 mA, 主动发射红外线,根据反射光探测, 如果探测到障碍, OUT脚输出0, 否则1. 用于检测人体是否在工作. 本文所采用的是定时器1. 利用中断标志位法, 当检测到有人工作时, 将标志位置1, 利用中断开始计时, 当人离开时, 标志位清0, 停止当前计数, 启动另一个计数器计时. 当计数时间超过两分钟, 则通过语音模块来提醒人工作时间过长. 当人离开桌子超过一分钟, 则将另一计数值清0. 等待下次重新计数.

图 5 数字红外感应传感器

图6所示, 通过接近式感应与红外检测相结合, 增加检测的准确性, IQS227芯片工作电流大概为132 uA, 调节CX输出脚的电阻可以改变其灵敏度.

2.7 LED驱动

图7所示, 该图为LED驱动电路, 通过时钟线和数据线可以控制多个灯, 灯可分为两个部分, 一个为LED照明, 另一个为彩灯控制, 分别可实现PWM调光以及八种彩灯模式选择.

3 软件设计 3.1 系统流程

本设计采用的MCU为STM8S005, 利用超声波检测坐姿使书桌上升或下降, 在数码管上显示高度, 同时红外检测和接近式感应人体是否工作并计时, 最后根据功能划分进行编程. 软件流程图如图8所示, 程序上电后进入初始化, 包括定时器0和定时器1初始化. 接着就是超声波测距时间采集, 将采集的时间通过公式计算出距离, 每采集完一组时间就将时间处理并在数码管上显示, 超声波用定时器0, 书桌高度也可通过按键手动调整, 在数码管上显示高度, 同时, 红外和接近感应通过定时器开始计时, 并显示在数码管上面, 并且在计时到一定得时间之后, 语音录放提醒你要注意休息. 还有MCU与手机APP之间通过串口通讯, 通过蓝牙相互传输数据, 播放音乐以及控制LED.

图 6 接近式感应电路

3.2 ADC按键读取

整个设计屏面上有六个功能键: 停止和上升键, 以及控制led的PWM调节键, 彩灯的功能键, 音量大小调节键. 由于每个人的身高都是不同的, 设立上升可调装置, 在站立办公过程中, 用户可根据自身高度调节书桌的站立高度. 根据硬件上设置的分压特点, 通过ADC检测即可读取出当前IO口的电压, 通过读取到电压的不同值来实现不同的操作, 其程序流程图如图9所示.

采用的是两个超声波模块进行测距, 首先是定时器0先初始化, 将定时器设定为计数器模式, 超声波TRIG发射出方波, 在接收端等待接收, 接收端检测为低电平后计数器开始计时, 在接收端变成高电平停止计时, 同时利用计数器所记录的时间计算出距离, 若在一定的时间内接收端没有变成高电平, 在中断函数中对溢出的标志位清零, 发送端重新发送高电平. 所采用的是定时器1. 利用中断标志位法, 当检测到有人工作时, 将标志位置1, 利用中断开始计时, 当人离开时, 标志位清0, 停止当前计数, 启动另一个计数器计时. 当计数时间超过两分钟, 则通过语音模块来提醒人工作时间过长. 当人离开桌子超过一分钟, 则将另一计数值清0. 等待下次重新计数. 所采用的是寄存器控制方式, 通过时钟线和数据线把数据传送芯片内部处理, 通过寄存器操作, 作出判断[9].

图 7 LED驱动电路

3.3 APP通讯

系统内置一块蓝牙模块, 可以通过手机APP来通讯并控制播放音乐, 控制LED灯以及读取当前电池的电量百分比. APP具体内容如图10所示.

4 系统调试技术难点 4.1 超声波调试

智能书桌的最主要功能就是实现跟随人自动升降, 一个超声波模块的精度要求是不够的, 所以两个超声波模块是最好的选择, 这就要考虑如何在两个超声波模块上共用同一个定时器. 这里面就采用到主次问题, 系统采用定时器0, 判断两个超声波测到的距离, 将距离高的显示, 但是在硬件上两个超声波如果做的高度差, 程序就会出现死机, 因此在硬件上超声波模块位置应设为一高一低来解决程序死机问题.

4.2 定时器调试

红外检测工作状态并显示工作时间, 这里采用一个定时器通过中断来计量时间, 当人离开工作位置, 又需要一个定时器来计量离开的时间, 并在规定的时间内清零, 单片机最多是使用2个定时器, 在超声波上面用一个定时器, 接下来的程序只能用一个定时器来解决, 所以采用标志位的方法. 通过红外检测和接近式感应的电平变化充当标志位, 可以实现系统的要求.

图 8 系统总体框图

4.3 IO口

LED灯作照明使用和彩灯作酷炫使用, 可以使用八组LED灯, 需要32个IO口来控制使用. 本文采用的是SN3731芯片, 通过时钟线和数据线就可以控制最高可达到144颗LED灯, 按键上使用AD读取功能, 利用电压的不同来实现同一个IO口的不同按键识别.

4.4 灵敏度调节

本文设有一个检测人体工作时间的功能, 采用的是红外检测和接近式感应, 红外只检测桌子与椅子方向的距离, 而且距离是限制的. 所以在桌面上放置一块接近式感应芯片iqs227, 它最大的优点就是可以以桌面上的物体进行自校准, 通过灵敏度调节, 它的最大检测距离可以达到2 cm, 所以在桌面上工作的时候, 芯片几乎都可以感应到, 用接近感应芯片和红外检测两个一起用增大工作检测的灵敏度.

5 系统测试

本产品有正常工作有以下几步组成:

(1) 各个模块正常上电, 传感器之间是否正常工作.

(2) 人体模拟站立坐着, 传感器之间相互合作开始执行相应的动作.

(3) 书桌能正确识别到有人在桌面上工作, 并记录时间, 工作满一定的时间, 开始语音提示用户休息.

图 9 键盘控制流程图

(4) 蓝牙模块连接APP, 当光线暗时, 是否可以打开调节灯光, 能正常播放音乐.

经过以上测试流程各个部分均能正常工作并且达到测试效果.

表1数据是采取10位不同人的身高进行测试, 经过测试, 高度调节误差保持在0.02%左右, 工作到特定时间报警电路发出响声提醒, 没有存在延迟时间, 系统的灵敏度高.

图 10 手机APP界面

图 11 书桌底板硬件图

6 结论

本设计是基于STM8S005与STC89C52RC技术的智能书桌, 成本低, 灵敏度较高, 性能稳定, 功能齐全, 其特色在于能够充分利用其自带的定时器及AD转换功能, 能显示和实现坐姿检测, 并能准确算出工作时间. 手机APP部分和蓝牙的调试可以实现双向传输和LED灯的控制. 在原理图设计过程中采用SN3731, 可通过时钟线和数据线控制, 节省IO口. 市面上智能书桌价格大多在几千元, 该智能书桌设计成本低, 今后若推广实现大众化, 需要在书桌外观和材质上进一步包装和完善.

表 1 测试数据

参考文献
[1]
江华丽. 数字电子技术. 天津: 天津科技技术出版社, 2018.
[2]
江华丽, 王平, 冯志斌, 等. 基于Zigbee应用的技术研究与设计. 计算机系统应用, 2016, 25(2): 272-277.
[3]
戴曰章, 吴志勇. 基于AT89C51单片机的超声波测距系统设计. 计量与测试技术, 2005, 32(2): 17-19. DOI:10.3969/j.issn.1004-6941.2005.02.007
[4]
王红云. 基于超声波测距的倒车雷达系统设计. 国外电子元器件, 2008, 16(8): 69-70, 73.
[5]
杜莉, 张建军. 超声波测距技术改进方法探讨与实现. 北京工业职业技术学院学报, 2015, 14(1): 35-39, 44. DOI:10.3969/j.issn.1671-6558.2015.01.009
[6]
兰羽. 具有温度补偿功能的超声波测距系统设计. 电子测量技术, 2013, 36(2): 85-87. DOI:10.3969/j.issn.1002-7300.2013.02.021
[7]
李少刚, 刁晶, 张利娜, 等. APP应用资源的开发与设计. 产业与科技论坛, 2014, 13(12): 78-79. DOI:10.3969/j.issn.1673-5641.2014.12.041
[8]
钱志鸿, 刘丹. 蓝牙技术数据传输综述. 通信学报, 2012, 33(4): 143-151. DOI:10.3969/j.issn.1000-436X.2012.04.020
[9]
余昇, 黄元东, 田玉荣, 等. 一种多功能床上书桌的创新设计研究. 山东工业技术, 2018(12): 207.