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