*项目支持:本课题得到了国家级大学生创新创业计划项目(项目编号:201510595024)的支持
本文引用地址:**通讯作者:王振省。
研究结果表明,学生的读写姿势不正确率高达70%甚至85% 以上[1]。不良的读写姿势、不合适的光照条件会令学生不停地调整眼睛的睫状肌,容易降低睫状肌调节能力,进而导致近视[2]。从长远看,不良的读写姿势还会对学生的脊柱和颈椎形状,乃至整体形貌和健康产生负面影响;另一方面,久坐的办公方式容易导致肌肉骨骼疾患和颈椎、腰椎疾病[3][4]。
桌椅高度和光照情况是决定学生能否形成良好读写习惯的重要因素。传统桌椅高度固定,不能很好适应个性化的身高。所以,为了让不同身高的使用者培养良好的使用习惯,本项目设计了一款能根据使用者情况自动调节桌面高度的系统。在此基本功能之外,该还具有久坐提醒、坐姿不正提醒、随环境光照自动控制亮度的LED 台灯、随环境温度自动控制转速的风扇、带密码锁的抽屉等功能。同时为了提高使用者使用体验,也允许用户对桌面高度、LED 台灯、风扇进行手动控制。
1 设计思路
在对设计需求进行分析后,画出系统的原理框图,如图1 所示。为了能够简化系统结构和测试过程,本设计采用模块化的思想。其中人体感应模块用于判断当前是否有使用者。身高测量模块测量使用者身高,从而自动控制、调整书桌桌面高度以便适应使用者,让使用者可以以一个舒适的坐姿使用书桌,从而降低因不良坐姿导致眼部、颈椎、脊椎等健康问题的概率。坐姿检测模块用于判断使用者坐姿,并将信息反馈给主控芯片处理,避免使用者与桌面太近。语音播报模块用于坐姿不正提醒、久坐提醒。在自动模式下,主控芯片通过亮度测量模块得到的光照度控制LED 灯的亮度;并通过温度传感器控制电扇通断及档位,对温度进行调节。为了适应不同使用者的习惯,系统还提供了手动控制功能,通过键盘模块手动调节桌面高度、亮度、闹钟以及抽屉密码锁。显示屏可以显示当前时间、温度、光照度等信息。
图1 系统原理
2 方案选择
本设计选择了STM32F407ZET6 作为主控芯片,这是因为该芯片最高能以168 MHz工作,且直接内置晶振、模数转换器和数模转换器,便于简化设计电路,专注于实现系统的功能。
人体感应模块、身高测量模块、坐姿检测模块功能通过测距实现。常用的测距传感器有激光测距和2 种,激光测距使用串行通信(TTL)返回测量距离数据,测量精度最小可达到2 mm,有效测量范围约为0.02 ~ 100 m。测量精度同样2 mm,测量范围0.02 ~ 4 m。可见两种传感器最小精度相同,但是激光测距具有更大的测量范围。另一方面,激光测距模块尺寸为72 mm×40 mm×18 mm;而模块的尺寸为45 mm×20 mm×15 mm,更加小巧,便于安放在智能书桌上。同时考虑书桌系统实际工作环境为室内,激光可能对人眼有的一定危害,所以选择超声波测距方式。
模块采用测量精度较高的DS18B20 温度传感器。DS18B20 温度传感器通过单总线与主控芯片连接,主控芯片对从传感器传来的数据进行处理,得到环境温度值。温度传感器的作用不仅是测量室温、提供给单片机判断是否开启风扇降温,而且还用于超声波测距时对超声波速度进行补偿。
亮度测量模块采用GY-30 亮度传感器实现,这是由于GY-30 亮度传感器与主控芯片以IIC总线方式连接,需要的控制线少;另一方面,GY-30 能够直接输出环境亮度的数字值,省略了复杂计算环节,无需标定就能获得高精度测量值。
键盘模块和显示模块采用触摸屏集成。为了实现良好的用户使用效果,采用支持多点触控的电容触摸屏,而不选用电阻触摸屏。
语音播报模块采用CN-TTS 语音合成模块,可实现中文、英文、数字的语音合成,且支持用户的命令词或提示音的定制需求。CN-TTS 控制方式简单,可兼容5 V或3.3 V单片机,单片机可以通过串口发送GBK 编码的形式对其控制。
桌面高度调节模块采用和传动结构进行调整。在低速转动状态下扭矩大,带动的负载也更大。相数越多步距角就越小,能更为精确地调节桌面高度。为了能较精确控制桌面的高度,选择。该升降桌重量W1 = 16 kg,升降部分重量W2 = 11 kg,最大载荷W3 = 56 kg,升降速度v = 13 mm/s,传动效率η = 0.6,所需最大功率为P = V*(W2+W3)*g/η = 14.2 W。为保证正常工作,可选定30 W 功率电机。
3 方案实施
3.1 主程序流程
图2 是主程序流程图。当检测到使用者在书桌旁后,首先检测使用者的身高,然后对书桌高度、风扇转速、台灯亮度进行调节,最后对坐姿进行监测,实现对不正确坐姿的友好提醒。此外,如图3 所示,本系统还设计了中断处理程序,当人体感应模块检测到人离开桌子时,程序会自动跳出主程序,进入待机模式,以实现低功耗要求。
图2 主程序流程
图3 中断处理
3.2 人体感应、身高测量、坐姿检测
如图4 所示,通过3 个超声波测距仪可以实现人体感应、身高测量、坐姿检测的功能。
图4 身高测量
测距仪1位置固定,其测量方向与桌面平行,用于测量模块到使用者胸前位置的水平距离S1,通过判断S1是否小于80 cm 来确定当前是否有人使用书桌。
测距仪2 固定在舵机上,可随舵机转动,其初始测量方向与桌面平行。当判断当前有人使用书桌时,测距仪2 从初始位置开始随舵机向上转动,同时测量距离;直到该距离突然增大,表明测距仪2此时发出的超声波已经越过了使用者的头顶,则上一时间点检测到的距离就是测距仪2与使用者头部的距离S2。
测距仪3位置固定,位于桌面下方,用于测量桌面到地面的垂直高度S3。由勾股定理得出,使用者的身高为L=S3+得到使用者身高后,依据表1 桌面高与身高对应关系表[5],将书桌桌面高度自动调节至适合人体的位置。
表1 桌面高与身高对应关系表/m
监测坐姿时,测距仪1用于间接测量使用者胸膛位置到书桌边缘的距离L1,测距仪1 到书桌边缘的实测距离为60 cm,则L1 = S1-60。正确坐姿时,L1 应是“一拳”的距离,约为8 cm。当L1 < 8 cm 时,系统判定使用者胸膛位置到书桌边缘的距离不规范并进行语音提醒。测距仪2通过使用者的身高L自动随舵机调节至合适位置并保持不动,用于测量其到使用者头部的距离S2,使用者眼睛到桌面的距离应为“1 尺”,约为33 cm,可用公式表示为Le2d ≈,当Le2d < 33 cm 时,系统判定使用者视线距离不规范并进行语音提醒。
图5 人体感应、坐姿高测量、坐姿检测
3.3 桌面高度、亮度、转速调节
桌面高度调节通过控制电机带动书桌升降实现。为了实现对温度的自动调节,主控芯片通过PID 算法调制I/O 口输出的PWM 波进行控制。单片机通过指定温度和当前温度计算出偏差,将其送入PID 控制器,PID 控制器经过运算,可计算出使误差最快减为0 的PWM 占空比,单片机通过设置定时器中断产生相应占空比的PWM 脉冲,从而实现对风扇转速的控制,达到指定温度[6]。同样,亮度调节可通过单片机的I/O 口输出PWM 信号的方法来实现。为确保人的肉眼看不到PWM 脉冲,PWM 信号的频率必须高于100 Hz[7],即定时器定时时间T < 0.01 s。LED 灯的亮度与PWM 信号的占空比成正比[8],通过线性调节PWM 高电平时间可以进行调光。为适应人眼舒适度,桌面上的维持平均照度值不能低于300 lx[9],当亮度低于这一值时,系统将会自动调光。
4 调试与测试
由于GY-30 亮度传感器能够直接输出环境亮度的数字值,无需复杂计算,无需标定就能获得高精度测量值。
测试发现,由于温度影响导致超声波测距产生误差,改用带温度补偿公式[10] 之后,测量值与实际值更接近:
式中,t 为当前温度(单位:℃),v 为当前温度下的实际超声波速度(单位:m/s)。
邀请了10 位不同身高的同学对系统进行了整体测试。测试表明,智能书桌能按测试者的坐姿高度将桌面调整到合适的高度,且语音模块能正确播报坐姿矫正和久坐提醒。当切换到手动模式时,桌面高度、台灯、电扇等模块都能正确地响应键盘指令。智能书桌系统可以稳定、可靠地完成预设功能。
经过测试,本项目所实现的智能书桌参数如表2 所示。
5 结束语
本项目基于STM32 单片机实现了一个智能书桌。该书桌能按照使用者的身高自动初步调节桌面到合适的高度,能在使用者距离桌面过近时发出语音提示,在久坐时进行提示,此外还能按照环境光、环境温度自动调节台灯和风扇。该智能书桌有助于使用者培养良好的读写习惯。
参考文献:
[1]吕敏之,何鲜桂,王明进.学生读写姿势研究进展[J].中国学校卫生,2017,38(5):795-798.
[2]王雁,薛金山,银丽高,等.青少年儿童近视的影响因素及防治[J].中国药物经济学,2013(6):175-177.
[3]方跃伟,潘松涛,段蒋文.办公室坐姿作业肌肉骨骼疾患健康危害及对策[J].健康教育与健康促进,2014(4):326-328.
[4]武珊珊,何丽华,王生,等.坐姿作业肌肉骨骼疾患问卷的编制[J].中华劳动卫生职业病杂志,2011(12):908-912.
[5]GB/T 3976—2014 学校课桌椅功能尺寸及技术要求[S].
[6]王蕊.基于单片机的多功能自动调温风扇系统设计[D].郑州:郑州大学,2014.
[7]周志敏.LED照明技术与应用电路[M].北京:电子工业出版社,2009.
[8]李渊,李宝营,穆艳,等.LED可调光自动控制系统设计[J].液晶与显示,2011,26(1):96-99.
[9]GB7793—2010 中小学教室采光和照明卫生标准[S].
[10]季涛.时差法多声道气体超声波流量计的研究[D].杭州:浙江大学,2017.
(本文来源于《电子产品世界》杂志2022年1月期)