单片机实现洗浴服务机器人的控制系统设计

发布者:美梦小狮子最新更新时间:2012-05-08 来源: eefocus关键字:单片机  控制器  proteus 手机看文章 扫描二维码
随时随地手机看文章
      利用51系列单片微型计算机实现洗浴服务机器人控制系统的设计。以单片机芯片AT89C51作为核心控制器,通过硬件电路设计及软件程序编制,设计洗浴服务机器人完成洗浴过程的控制系统。洗浴控制系统通过对温度控制、LCD显示,液位检测、触摸屏控制、电磁阀和电机驱动等模块组成部分的控制,用触摸屏及按键来选择实现对洗发功能、琳浴动能及整个洗洛过程的选择及其控制,控制系统稳定性好,准确度高,成本低,实现了洗浴服务机器人控制过程的要求。

  目前,中国已经进入了老龄化社会,预计从2020年开始,中国将步入老龄化严重阶段;2050年中国将步入超高老龄化国家行列,60岁以上人口将占到30%左右。全国约有1400多万老年人将进入老年福利机构养老。特别是对于卧床不能自立的老年人,无论在养老院或家庭,个人卫生护理洗浴都是难题。而最重要的日常护理之一就是洗浴。因此,开发面向家用与医用环境的个人卫生护理机器人,利用智能控制、人机工程学等技术进行设计,实现洗浴过程的自动化显得尤为重要。单片机控制技术作为自动化控制技术的核心之一,采用单片机技术对服务机器人实现洗浴过程的单元模块化控制系统设计,主要实现智能洗浴、洗发、干身、按摩和康复等作用于一体化,设计控制方便,功能强,性能可靠。

  1 控制系统的工作原理

  根据洗浴控制单元的控制功能和要求,设计该洗浴单元控制系统方案原理框图如图1所示。

图1 控制系统原理框图

  1)人机界面各种控制信号命令通过触摸屏输入,触摸屏模块与控制系统主机单元相连接,通过主机控制单元输出各种控制指令,控制单元输出的命令由输出模块输出控制信号。

  2)控制系统单元 包括硬件部分和软件部分,是整个洗浴控制单元的核心。接收输入/输出信息,通过软件控制各控制单元执行相应的动作。

  3)输出模块 驱动各个输出电磁阀的动作,以及电动机、水泵的运转。

  4)传感器模块 用来检测水箱、洗发池、洗浴池的水位,以及水温的温度等,并将检测的信息反馈给其他控制系统单元处理。

  整个控制系统包括两大部分:硬件部分和软件部分。硬件是整个系统的基础,以单片机为核心,配以一定的接口电路和软件控制。软件部分充分支持和配合系统的硬件,从而完成系统的各项控制任务。

  根据洗浴控制过程要求,设计能够实现其功能,控制系统单元的原理图如图2所示。

图2 控制系统的原理图[page]

  洗浴功能:洗浴单元控制系统开始工作时,安装在水箱中的浸没式加热器开始加热,在加热过程中,通过DS18B20采集水温值,通过触摸屏模块来调节设置温度,通过LCD1602显示出当前的水温和设定的水温值。当达到设定水温时则加热器停止加热。然后由触摸屏按健选择洗发、淋浴和洗浴等工作模式。

  1)洗发功能控制先用调整好温度的水浸润头发,再用混合有洗发液的温水冲洗头发,在温水注入到设定值后,系统自动关闭注入温水和洗发液的阀门,启动循环水装置,在设定的时间内用混合液体反复冲洗头发,洗发过程结束后,自动打开排水阀,排掉污水;同时打开温水进行冲洗,待头发洗干净后,停止冲洗,打开热风吹干头发,结束洗发过程,清理消毒。

  2)淋浴功能控制先调整好水的温度,设置洗浴功能后,系统自动打开浴池上方的电磁阀,同时打开其下面的排水阀。由上下方的喷淋阀对人体进行全面的清洗,清洗干净后,打开具有一定压力的热空气阀门,对洗浴人体进行烘干,烘干结束后,清理清毒。

  3)整个洗浴功能控制当冼浴人进入浴舱后,由监护人员或洗浴者本人盖好浴缸上盖板,启动洗浴按钮,系统自动调整水温,将混合有固定比例沐浴液的合适的温水注入浴缸内,在温水注入到合适水位后,停止进水。系统进入定时泡浴阶段,在浴缸内设置有水的污浊度检测传感器,系统实时检测水的污浊度,通过污浊度检测,自动设定洗浴时间,以适应不同程度的人体洗浴需要。在洗浴效果达到设定值后,放掉洗浴污水,注入干净温水冲洗,冲洗完成后,对洗浴人进行烘干,待人出浴后,对接触人体部分清理消毒。

  洗浴和洗发时要根据人体需要,对洗浴液或洗发液与水的混合进行科学配比,并合理控制水温、时间、压力等参数。在整个控制系统中,设置有水温、水位等多项传感器,对于洗浴或洗发全过程要进行实时检测,以防止人身和设备发生意外。

  由于输出系统较复杂,输出接口较多,只用51单片机自身的I/O口不够,而且如果单片机接的外设较多,则会使单片机的CPU利用率大大的降低,因此,设计选用了8255A作为输出接口扩展芯片。

  2 软件部分

  系统采用单片机89C51作为核心控制器,通过硬件电路设计及软件程序编制,设计洗浴单元的控制系统。采用C语言进行程序编制,具有可靠性高、实时性强、简练易于维护,调试方便等优点。

  主要实现洗浴功能、洗发功能和淋浴功能3个模块的功能。把3个主模块功能分别用软件编程作为子程序,然后在主程序中根据需要调用各模块。主程序模块主要有初始化模块、温度显示模块、触摸屏子程序模块和报警模块等模块组成。控制主程序流程图如图3所示。

图3 控制主程序流程图

  3 系统的抗干扰性和可靠性设计

  1)防止射频干扰由于射频干扰是以空间电磁场的形式传递在机器内部的导体引线或零件引线的感生引起的干扰,所以通过电磁屏蔽和合理的布线/器件布局,来衰减该类干扰电源线或电源内部产生的干扰。通过电源滤波,隔离等硬件措施来抑制该类干扰。

  2)提高振荡源的稳定性 主要由起振时间频率稳定度和占空比稳定度决定,起振时间可由电路参数整定等确定。

  3)提高软件的抗干扰性和可靠性 在设计中,采用软件消抖动方法。编程时用延时10 ms的延时程序来消抖。由于输出要驱动电磁阀线圈和电机等电感性负载,还有输入传感器的连接,为防止外部射频对它们的干扰,在连接输入/输出驱动时,通过光电耦合器连接,及采取硬件保护及抗干措施,提高可靠性。

  4 结论

  该系统基于个人卫生护理机器人洗浴过程控制系统的设计,以89C51微型单片机应用系统为控制核心,辅助有温度控制模块,液位检测模块,触摸屏控制模块,电磁阀和电机等输出驱动模块,系统报警模块及水路循环控制等模块组成。控制系统成本低,功能强,降低了洗浴服务机器人产品的整体成本,编程容易方便,其编程程序依据Proteus仿真编写,proteus有编译C语言的能力,软硬件联合仿真系统,利用软件环境和硬件环境的控制界面,利用proteus与keil联合仿真进行调试,调试结果满足该项目的技术指标设计要求,采用微型单片机控制,为其进一步实现洗浴功能的智能化,洗浴控制功能的扩展,提供了技术基础。

关键字:单片机  控制器  proteus 引用地址:单片机实现洗浴服务机器人的控制系统设计

上一篇:基于Atmel单片机的智能泊车方案设计
下一篇:基于AT89C2051单片机比较器的应用

推荐阅读最新更新时间:2024-03-16 12:59

ATmega32单片机汇编程序
本人初学每一款CPU,首先都是要研究一下相应的汇编指令,感觉这样能够很快的体验到该CPU的硬件原理,对后续的学习很有帮助.许多人认为不然,感觉汇编繁琐,难用。其实这样不会对单片机内部有深入的了解,会一些基本的汇编在单步调试中很有用,还有调度的编写,操作系统的移植等。 下面是个led闪烁的汇编程序,注释用C写的,一目了然 ***************************************************************** //CPU:mega32 //编译器:iar #include ioavr.h NAME main PUBLIC main ORG
[单片机]
51单片机RAM数据存储器学习笔记
1.RAM keil C语言编程 RAM是程序运行中存放随机变量的数据空间。在keil中编写程序,如果当前模式为small模式,如果总的变量大小未超过128B,则未初始化的变量的初值默认为0.如果所有的变量超过单片机small模式下的128B大小,则必须对变量进行初始化,否则超过RAM大小变量的值是不确定的,在small模式下超过128B大小的变量也必须在编译器中重新设定存储器的存储模式。 在keil中,可选择small,compact,large三种方式存储数据变量: 在keil中可以用“Target Options”来配置这一项: 2.片内数据存储区 (1) 工作寄存器区 工作寄存器区位于片内数据存储器
[单片机]
51<font color='red'>单片机</font>RAM数据存储器学习笔记
Rambus通过9.6 Gbps HBM3内存控制器IP大幅提升AI性能
新闻摘要: 为增强AI/ML及其他高级数据中心工作负载打造的 Rambus 高性能内存 IP产品组合 高达9.6 Gbps的数据速率,支持HBM3内存标准的未来演进 实现业界领先的1.2 TB/s以上内存吞吐量 中国北京,2023年12月7日 ——作为业界领先的芯片和IP核供应商,致力于使数据传输更快更安全,Rambus Inc.(纳斯达克股票代码:RMBS)今日宣布Rambus HBM3内存控制器IP现在可提供高达9.6 Gbps的性能,可支持HBM3标准的持续演进。相比HBM3 Gen1 6.4 Gbps 的数据速率,Rambus HBM3内存控制器的数据速率提高了50%,总内存吞吐量超过1.2 TB/s
[半导体设计/制造]
Rambus通过9.6 Gbps HBM3内存<font color='red'>控制器</font>IP大幅提升AI性能
一个由单片机管脚中断功能复用引发的bug
使用单片机控制ZL30151输出时钟,引脚连接关系如下: 其中A1、A0是作为复用器的地址线信号,ZL30151 SPI模式下的有用管脚如下: CSN(IF0)、SCLK(SCL)、RSTN、MOSI(SDA)、MISO(IF1)、AC0(GPIO0)、AC1(GPIO1)(这些管脚中的RSTN、AC0、AC1由FPGA控制),括号内是管脚的第二功能,主要用于芯片复位时的模式设置,具体到SPI模式:在RSTN的上升沿,IF1、IF0要置1,AC0、AC1置0。另外RSTN在上电之后要有一个复位的过程,需要拉低至少100ns。而RSTN是在FPGA端控制的,所以需要单片机和FPGA共同控制,方法是单片机项FPGA的寄存器写一个值
[单片机]
一个由<font color='red'>单片机</font>管脚中断功能复用引发的bug
电源转换应用中数字反馈回路的益处
市场因素正在推动智能电源的发展,包括电源的外部控制和生产中的软件配置。实现上述目标的方法之一就是在电源转换回路中采用数字反馈控制。电源设计人员已经在智能电源中采用了单片机 MCU 来实现通信、监视、控制和诸如上电时序、软启动和拓扑控制等确定性功能。但是,就在不久前,由于没有合适的兼具成本效率的技术,对电源转换回路进行完全的数字控制仍不可能。包含专用外设的数字信号控制器(DSC)的出现才使得完全的数字控制成为可能。    DSC 使能数字反馈回路   设计人员常常会问,有这么多廉价的专用模拟脉宽调制(PWM)控制器,为什么要选择使用DSC来进行数字反馈控制呢?DSC提供新的控制方法和电源转换拓扑,而这些方法和拓扑是采用传统的模拟电源
[电源管理]
电源转换应用中数字反馈回路的益处
MAX1771 用升压控制器构成负电压降压电路
控制器是按照预定顺序改变主电路或控制电路的接线和改变电路中电阻值来控制电动机的启动、调速、制动和反向的主令装置。
[模拟电子]
第一课:8051单片机开发的初步认识
啰嗦了那么多,想必对新手来说还不知道单片机长什么样,下图是我们常用的单片机实物图: 图1 单片机实物与管脚图 当然光有一块单片机芯片是不能工作的,所以我们还得给它加上一些外围电路。下面介绍一个单片机的最最小系统,如下图所示: 图2 单片机的最小系统电路 由图2我们可以看出,单片机要想正常工作必须得加上复位电路与晶振电路,下面我们分别介绍这两种电路的作用。 1、复位电路 单片机的第9脚为复位引脚,英文用RESET表示;复位信号从单片机的RESET输入,当单片机刚通电时,必须要在在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。 复位电路常用的有两种形式,如
[单片机]
基于C8051f020单片机和UDP/IP协议实现地震勘测传感器网络的设计
随着地震勘测技术向着精细测量方向发展,有必要对频带宽、灵敏度高、失真度小的地震检波技术进行深入的研究。同时,在勘测现场要按一定方式放置一组检波器,将这一组检波器的数据进行综合分析,从而得出相应的勘测结果。 本文根据地震勘测原理,提出一种构建地震勘测传感器网络的方案:将各节点信息传输到监控PC机,采用虚拟仪器技术,使用Labview编写运行在PC机上的测控软件,进行相应的数据分析和处理;基于全光纤迈克尔逊干涉系统,采用交流相位跟踪零差检测技术(PTAC),实现对待测信号的精确检测和误差信号的补偿,减小信号漂移对系统的影响;采用C8051f020单片机对解调后的信号进行采样,并将相关数据通过UDP/IP协议进行网络传输。方案实现了
[单片机]
基于C8051f020<font color='red'>单片机</font>和UDP/IP协议实现地震勘测传感器网络的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved