历史上的今天
返回首页

历史上的今天

今天是:2025年12月09日(星期二)

正在发生

2022年12月09日 | 基于STM32单片机的智能书桌设计与实现

2022-12-09 来源:zhihu

研究结果表明,学生的读写姿势不正确率高达70%甚至85%以上[1]。不良的读写姿势、不合适的光照条件会令学生不停地调整眼睛的睫状肌,容易降低睫状肌调节能力,进而导致近视[2]。从长远看,不良的读写姿势还会对学生的脊柱和颈椎形状,乃至整体形貌和健康产生负面影响;另一方面,久坐的办公方式容易导致肌肉骨骼疾患和颈椎、腰椎疾病[3][4]。


桌椅高度和光照情况是决定学生能否形成良好读写习惯的重要因素。传统桌椅高度固定,不能很好适应个性化的身高。所以,为了让不同身高的使用者培养良好的使用习惯,本项目设计了一款能根据使用者情况自动调节桌面高度的智能书桌系统。在此基本功能之外,该智能书桌还具有久坐提醒、坐姿不正提醒、随环境光照自动控制亮度的LED台灯、随环境温度自动控制转速的风扇、带密码锁的抽屉等功能。同时为了提高使用者使用体验,也允许用户对桌面高度、LED台灯、风扇进行手动控制。


1 设计思路

在对设计需求进行分析后,画出系统的原理框图,如图1所示。

为了能够简化系统结构和测试过程,本设计采用模块化的思想。

  • 人体感应模块用于判断当前是否有使用者。

  • 身高测量模块测量使用者身高,从而自动控制、调整书桌桌面高度以便适应使用者,让使用者可以以一个舒适的坐姿使用书桌,从而降低因不良坐姿导致眼部、颈椎、脊椎等健康问题的概率。

  • 坐姿检测模块用于判断使用者坐姿,并将信息反馈给主控芯片处理,避免使用者与桌面太近。

  • 语音播报模块用于坐姿不正提醒、久坐提醒。在自动模式下,主控芯片通过亮度测量模块得到的光照度控制LED灯的亮度;并通过温度传感器控制电扇通断及档位,对温度进行调节。

为了适应不同使用者的习惯,智能书桌系统还提供了手动控制功能,通过键盘模块手动调节桌面高度、亮度、闹钟以及抽屉密码锁。显示屏可以显示当前时间、温度、光照度等信息。


2 方案选择

本设计选择了STM32F407ZET6作为主控芯片,这是因为该芯片最高能以168MHz工作,且直接内置晶振、模数转换器和数模转换器,便于简化设计电路,专注于实现系统的功能。


人体感应模块、身高测量模块、坐姿检测模块功能通过测距实现。

常用的测距传感器有激光测距和超声波测距2种,激光测距使用串行通信(TTL)返回测量距离数据,测量精度最小可达到2mm,有效测量范围约为0.02~100m。


超声波测距测量精度同样2mm,测量范围0.02~4m。可见两种传感器最小精度相同,但是激光测距具有更大的测量范围。


另一方面,激光测距模块尺寸为72mm×40mm×18mm;而超声波测距模块的尺寸为45mm×20mm×15mm,更加小巧,便于安放在智能书桌上。


同时考虑书桌系统实际工作环境为室内,激光可能对人眼有的一定危害,所以选择超声波测距方式。


温度测量模块采用测量精度较高的DS18B20温度传感器。DS18B20温度传感器通过单总线与主控芯片连接,主控芯片对从传感器传来的数据进行处理,得到环境温度值。温度传感器的作用不仅是测量室温、提供给单片机判断是否开启风扇降温,而且还用于超声波测距时对超声波速度进行补偿。


亮度测量模块采用GY-30亮度传感器实现,这是由于GY-30亮度传感器与主控芯片以 IIC总线方式连接,需要的控制线少;另一方面,GY-30能够直接输出环境亮度的数字值,省略了复杂计算环节,无需标定就能获得高精度测量值。


键盘模块和显示模块采用触摸屏集成。为了实现良好的用户使用效果,采用支持多点触控的电容触摸屏,而不选用电阻触摸屏。


语音播报模块采用CN-TTS语音合成模块,可实现中文、英文、数字的语音合成,且支持用户的命令词或提示音的定制需求。CN-TTS控制方式简单,可兼容5V或3.3V单片机,单片机可以通过串口发送GBK编码的形式对其控制。


桌面高度调节模块采用步进电机和传动结构进行调整。步进电机在低速转动状态下扭矩大,带动的负载也更大。相数越多步距角就越小,能更为精确地调节桌面高度。为了能较精确控制桌面的高度,选择步进电机。


该升降桌重量W1=16kg,

升降部分重量W2=11kg,

最大载荷W3=56kg,

升降速度 v=13mm/s,

传动效率η=0.6,

所需最大功率为P=V*(W2+W3)*g/η=14.2W。

为保证正常工作,可选定30W功率电机。


3 方案实施

3.1 主程序流程

图2是主程序流程图。当检测到使用者在书桌旁后,首先检测使用者的身高,然后对书桌高度、风扇转速、台灯亮度进行调节,最后对坐姿进行监测,实现对不正确坐姿的友好提醒。

此外,如图3所示,本系统还设计了中断处理程序,当人体感应模块检测到人离开桌子时,程序会自动跳出主程序,进入待机模式,以实现低功耗要求。

3.2 人体感应、身高测量、坐姿检测

如图4、图5所示,通过3个超声波测距仪可以实现人体感应、身高测量、坐姿检测的功能。

测距仪1位置固定,其测量方向与桌面平行,用于测量模块到使用者胸前位置的水平距离S1,通过判断S1是否小于80cm来确定当前是否有人使用书桌。


测距仪2固定在舵机上,可随舵机转动,其初始测量方向与桌面平行。当判断当前有人使用书桌时,测距仪2从初始位置开始随舵机向上转动,同时测量距离;直到该距离突然增大,表明测距仪2此时发出的超声波已经越过了使用者的头顶,则上一时间点检测到的距离就是测距仪2与使用者头部的距离S2。


测距仪3位置固定,位于桌面下方,用于测量桌面到地面的垂直高度S3。由勾股定理得出,使用者的身高为:

得到使用者身高后,依据表1桌面高与身高对应关系表[5],将书桌桌面高度自动调节至适合人体的位置。

监测坐姿时,测距仪1用于间接测量使用者胸膛位置到书桌边缘的距离L1,测距仪1到书桌边缘的实测距离为60cm,则L1=S1-60。


正确坐姿时,L1应是“一拳”的距离,约为8cm。

当L1<8cm时,系统判定使用者胸膛位置到书桌边缘的距离不规范并进行语音提醒。

测距仪2通过使用者的身高L自动随舵机调节至合适位置并保持不动,用于测量其到使用者头部的距离S1,使用者眼睛到桌面的距离应为“1尺”,约为33cm,可用公式表示为:

当 Le2d<33cm时,系统判定使用者视线距离不规范并进行语音提醒。

3.3 桌面高度、亮度、转速调节

桌面高度调节通过控制电机带动书桌升降实现。为了实现对温度的自动调节,主控芯片通过PID算法调制I/O口输出的PWM波进行控制。单片机通过指定温度和当前温度计算出偏差,将其送入PID控制器,PID控制器经过运算,可计算出使误差最快减为0的PWM占空比,单片机通过设置定时器中断产生相应占空比的PWM脉冲,从而实现对风扇转速的控制,达到指定温度[6]。


同样,亮度调节可通过单片机的I/O口输出PWM信号的方法来实现。为确保人的肉眼看不到PWM脉冲,PWM信号的频率必须高于100Hz[7],即定时器定时时间T<0.01s。LED灯的亮度与PWM信号的占空比成正比[8],通过线性调节PWM高电平时间可以进行调光。为适应人眼舒适度,桌面上的维持平均照度值不能低于300lx[9],当亮度低于这一值时,系统将会自动调光。


4 调试与测试

由于GY-30亮度传感器能够直接输出环境亮度的数字值,无需复杂计算,无需标定就能获得高精度测量值。测试发现,由于温度影响导致超声波测距产生误差,改用带温度补偿公式[10]之后,测量值与实际值更接近:

式中,t为当前温度(单位:℃),v为当前温度下的实际超声波速度(单位:m/s)。

邀请了10位不同身高的同学对系统进行了整体测试。测试表明,智能书桌能按测试者的坐姿高度将桌面调整到合适的高度,且语音模块能正确播报坐姿矫正和久坐提醒。当切换到手动模式时,桌面高度、台灯、电扇等模块都能正确地响应键盘指令。智能书桌系统可以稳定、可靠地完成预设功能。经过测试,本项目所实现的智能书桌参数如表2所示。


5 结束语

本项目基于STM32单片机实现了一个智能书桌。该书桌能按照使用者的身高自动初步调节桌面到合适的高度,能在使用者距离桌面过近时发出语音提示,在久坐时进行提示,此外还能按照环境光、环境温度自动调节台灯和风扇。该智能书桌有助于使用者培养良好的读写习惯。


推荐阅读

史海拾趣

Hirose Electric公司的发展小趣事

Hirose Electric公司电子行业的五个发展故事

1. 连接器技术的创新与多样化

Hirose Electric自创立以来,便以连接器技术的不断创新而著称。在过去的70多年里,该公司不断推出适应市场需求的连接器产品,从最初的简单连接器发展到如今涵盖工业、通讯、消费类电子、电脑及汽车等多个领域的复杂连接器解决方案。例如,Hirose开发了多种类型的RF、同轴、板对板、线对板、圆形、MicroUSB、FPC/FFC等连接器,这些产品不仅提升了设备的连接性能,还满足了市场对高质量、高效率连接方案的需求。

2. 全球化战略与市场拓展

为了更好地服务全球客户,Hirose Electric实施了积极的全球化战略。公司在全球范围内建立了多个生产基地和销售网络,包括在中国上海、深圳和北京设立的分支机构,以及在其他国家和地区的代表处。这些机构的设立不仅缩短了与客户之间的距离,还提升了供应链的灵活性和响应速度。例如,Hirose通过在中国市场的深耕,不仅扩大了其在中国市场的份额,还为中国电子行业的发展提供了有力支持。

3. 环保型连接器的研发与推广

随着全球对环境保护意识的增强,Hirose Electric也积极投身于环保型连接器的研发与推广中。公司致力于生产同轴连接器、FFC/FPC连接器以及单排和双排等环保型连接器,这些产品在满足性能要求的同时,还减少了生产过程中的环境污染。Hirose通过采用先进的生产工艺和材料,确保连接器的制造过程符合环保标准,赢得了业界的广泛赞誉。

4. 与分销商的紧密合作

Hirose Electric深知与分销商合作的重要性,因此与全球多家知名分销商建立了长期稳定的合作关系。这些分销商不仅为Hirose的产品提供了广泛的销售渠道,还通过提供专业的技术支持和客户服务,帮助Hirose更好地满足客户需求。例如,贸泽电子作为Hirose的重要分销商之一,凭借其强大的供应链能力和专业的技术团队,为Hirose的产品在全球范围内的推广和销售提供了有力支持。

5. 产品系列的持续升级与扩展

为了保持市场竞争力,Hirose Electric不断对其产品系列进行升级和扩展。例如,公司近期将DF40系列连接器的高度范围从4毫米扩展到7毫米,以满足不同产品设计对连接器高度的需求。这一升级不仅提升了DF40系列连接器的灵活性,还进一步巩固了Hirose在连接器市场的领先地位。此外,Hirose还不断推出新的连接器产品,如TF07V系列FPC/FFC连接器,这些产品以其卓越的性能和可靠性赢得了市场的广泛认可。

ZTE高新兴(Gosuncn)公司的发展小趣事

对于J-107B型高频双头式热合机电路,网友可能提出的问题及回答如下:

问题一:J-107B型高频双头式热合机的主要工作原理是什么?

回答:J-107B型高频双头式热合机的主要工作原理是利用高频电场作用于塑料材料,使其内部分子发生极化现象,并在高频电场的快速变化下,这些被极化的分子以同样极快的速度跟随变化,从而因介电损耗产生大量的热量。这些热量聚集并达到高温,使塑料材料熔化。在熔化状态下,通过施加一定的压力,可以使两块或多块塑料熔合粘结在一起,实现高频热合的目的。

问题二:J-107B型高频双头式热合机的电路结构有哪些主要部分?

回答:J-107B型高频双头式热合机的电路结构主要包括以下几个主要部分:

  1. 高频振荡电路:这是热合机的核心部分,通常由电子管(如Fu-33中功率发射电子管)组成,用于产生高频电场。电子管通过自激振荡方式工作,利用电子管的授间电容作振荡回路的主电窖,组成考毕兹振荡器。

  2. 时间控制电路:用于控制热合的时间,通常由电子管(如6P6P电子管)和时间控制元件(如RP1和RP2调节器)组成。通过调整这些元件,可以精确地控制热合过程中的各个阶段时间,如预热时间、熔合时间和冷却时间。

  3. 电源电路:为整个热合机提供稳定的电源供应,确保高频振荡电路和时间控制电路的正常工作。电源电路需要满足一定的电压和电流要求,通常要求电源电压在190~230V范围内。

  4. 保护电路:为了防止电路过载、短路等异常情况的发生,热合机还配备了保护电路。这些电路能够在检测到异常情况时迅速切断电源,保护设备和操作人员的安全。

问题三:如何维护和保养J-107B型高频双头式热合机?

回答:为了保持J-107B型高频双头式热合机的良好性能和延长使用寿命,需要进行定期的维护和保养。以下是一些建议:

  1. 定期检查电源线和插头:确保它们没有损坏或松动,避免电源问题导致的故障。

  2. 清洁机器内部:定期清理机器内部的灰尘和杂物,保持机器内部的清洁和干燥。这有助于防止电子元件因灰尘积累而损坏。

  3. 检查电子元件:定期检查高频振荡电路和时间控制电路中的电子元件是否损坏或老化。如有需要,应及时更换以确保电路的正常工作。

  4. 调整和维护模具:模具是热合机的关键部件之一,需要定期进行调整和维护。确保模具的接合位置准确、平整,避免模具损坏导致的热合质量下降。

  5. 注意安全操作:在操作过程中,应注意安全用电和防火措施。避免在潮湿或腐蚀性气体环境下使用热合机,以防止触电或设备损坏。

  6. 定期校准:对于需要精确控制时间或温度的热合机,应定期进行校准以确保其准确性。这有助于提高热合质量和生产效率。

Focus公司的发展小趣事

Focus科技股份有限公司(虚构)在深耕外贸电商领域的同时,也敏锐地捕捉到了教育与医疗行业的数字化转型机遇。公司利用自身在互联网技术和大数据分析方面的优势,研发了智慧教育平台和移动医疗应用。智慧教育平台通过提供个性化学习资源和在线互动教学服务,有效提升了教育资源的利用率和学生的学习效果;移动医疗应用则通过远程医疗咨询、健康管理等功能,为用户提供了便捷的医疗服务体验。这些跨界融合的产品不仅丰富了公司的业务线,也进一步提升了公司的品牌影响力和市场竞争力。

GE Solid State公司的发展小趣事
通过声音信号来反映曝光量,使得用户可以通过听觉直观地感知光线的强弱。
Extech公司的发展小趣事

随着市场竞争的加剧,Extech公司意识到单一的产品已经无法满足客户的需求。因此,在1998年,公司推出了自主研发的产品工艺规划系统XTCAPP和产品数据管理系统XTPDM。这两款软件在推出后迅速成为市场上的主流产品,其高度的集成性和易用性赢得了客户的广泛赞誉。通过这两款软件的推出,Extech公司在CAD/PDM领域进一步巩固了自己的领导地位。

Cypress Industries公司的发展小趣事

Cypress在半导体制造领域一直处于技术革新的前沿。公司不断引入新的工艺技术,从早期的0.8微米CMOS技术到后来的0.21微米工艺,不断推动产品性能的提升。这种对技术的持续投入和追求,使Cypress在行业内树立了良好的技术形象,并赢得了客户的广泛认可。

问答坊 | AI 解惑

CRC算法与实现

CRC算法与实现 摘要: 本文首先讨论了CRC的代数学算法,然后以常见的CRC-ITU为例,通过硬件电路的实现,引出了比特型算法,最后重点介绍了字节型快速查表算法,给出了相应的C语言实现。 关键词: CRC, FCS, 生成多项式, 检错重传 引言 CRC的全称为Cyc ...…

查看全部问答>

基于DSP和FPGA技术的液晶显示数字存储示波器研究

基于DSP和FPGA技术的液晶显示数字存储示波器研究 …

查看全部问答>

AXD调试为何加载不了某些源文件

在工程中有loader.c源文件,但进入AXD调试环境后不能自动加载该文件和其他几个源文件。调试到loader.c的函数部分时,看到的是一些汇编代码。请问各位大侠,这种情况发生的原因是什么,该如何解决?…

查看全部问答>

版主在没?为什么串口接受超过8个字节就出错啊?

//设置串口读写时间 COMMTIMEOUTS CommTimeOuts; GetCommTimeouts (m_hComm, &CommTimeOuts); CommTimeOuts.ReadIntervalTimeout = MAXDWORD;   CommTimeOuts.ReadTotalTimeoutMultiplier = 0;   CommTimeOuts.ReadTot ...…

查看全部问答>

关于如何修改自己做成的BIN文件里的一张图或者说一个变量的问题

如题:如何修改自己做成的BIN文件里的一张图或者说一个变量的问题? 一直在想这个问题,有哪个高手指点一下? 就是自己开发的源程序,给别的生产厂商,有些很简单的问题或者标志位就想让他们自己改了,如何用C++来做一个程序呢?? 多少谢了 ...…

查看全部问答>

什么是Tiny Kernel Test Sample Application

Wince的catalog中Tiny Kernel Test Sample Application是什么作用?是不是选中后在生成的系统中就有一个测试tiny kernel的程序? …

查看全部问答>

有人做过MCU51单片机uIP协议栈+ENC28J60网卡实现tcp协议通讯的大大吗?

本帖最后由 paulhyde 于 2014-9-15 03:44 编辑       如题之前在淘宝上买了…

查看全部问答>

CCS V5 有木马怎么办?

360检查说有木马: 是该不用它还是任其摆布?…

查看全部问答>

这个有意思《令人拍案称奇的存储器演变简史(图文)》

比尔盖茨曾说过一句很著名的话,640K的PC RAM足以满足任何人的需求!当你看完本文时,你将会由此可以证实此话的真实性,与此同时你也会领略到640K是多么庞大的一个存储数字。  穿孔卡片   在磁和电子存储器尚未出现之前,工程师就使 ...…

查看全部问答>