Design and Implementation of Intelligent Drug Delivery Trolley System Based on STM32
In view of the low efficiency of drug delivery and manual delivery errors in medical institutions, an intelligent drug delivery trolley system based on STM32F103C8T6 single-chip microcomputer is proposed in this paper. The system adopts L298N motor drive module, voice module and infrared module, and realizes the drug distribution task through the voice control vehicle. The user only needs to issue voice commands, such as “Small medicine, enter Room 1”, and the car will automatically go to the designated room and return. During the driving process, the infrared module monitors the obstacles in real time and conducts obstacle avoidance operation to ensure the safe driving of the car. The system analyzes voice commands through STM32 MCCM, combined with path planning and real-time obstacle avoidance function, effectively solves the problems of low efficiency and error-prone of traditional manual drug delivery, and improves the efficiency and accuracy of drug distribution in medical institutions. It is suitable for multi-room scenes such as hospitals and nursing homes. The system is reasonably designed, simple to operate, and intelligent and efficient, which greatly improves the quality of drug delivery service.
STM32F103C8T6
随着现代医疗水平的不断提高,医疗机构的服务质量和效率也成为亟待解决的重要问题之一。在医院、护理院等场所,药品的及时、准确配送对患者的治疗效果和医疗服务水平有着重要影响
基于STM32F103C8T6单片机的智能送药小车系统设计方案包括硬件设计和软件设计两部分。硬件设计方面,系统采用STM32F103C8T6单片机作为核心控制单元,负责处理传感器数据、执行控制算法和管理与其他模块的通信。L298N电机驱动模块用于驱动直流电机,控制小车的运动,包括前进、后退、左转和右转。语音模块负责接收和识别用户的语音指令,将其转换为数字信号传递给STM32进行处理,从而实现对小车的控制。红外模块用于检测前方障碍物,红外传感器实时监测前方环境数据,当检测到障碍物时,向STM32发送信号,STM32根据信号调整小车的行驶路线,避免碰撞。电源模块为整个系统提供稳定的电源供应,确保各模块正常工作。软件设计方面,系统初始化后,语音模块待机等待用户指令。当用户发出语音指令(如“小药小药,进入一号房间”)时,语音模块将语音信号转换为数字信号传递给STM32,STM32解析指令确定目标房间。根据目标房间的位置,STM32使用预设的路径规划算法计算最佳路线,并控制L298N电机驱动模块执行相应的运动指令,路径规划算法能根据房间布局和小车当前位置动态调整行驶路线。在小车行驶过程中,红外模块实时监测前方障碍物,若检测到障碍物,红外传感器将信号发送至STM32,STM32立即调整小车行驶路线,绕开障碍物,确保小车的安全行驶。小车到达指定房间后,执行送药任务,任务完成后,STM32控制小车按照预设路线返回起点。该系统通过合理的硬件配置和软件设计,实现了智能语音控制、实时避障和高效路径规划,解决了传统人工送药方式中的效率低和易出错问题,提高了药品配送的效率和准确性,系统设计方案如
STM32单片机是由意法半导体公司推出的一系列基于ARM Cortex内核的微控制器
避障传感器在智能机器人、自动驾驶汽车等应用中起着至关重要的作用,通过检测障碍物的位置和距离,帮助设备实现自动避障功能。避障传感器主要分为几类,包括超声波传感器、红外传感器、激光雷达(LiDAR)和视觉传感器等。超声波传感器利用超声波反射原理,发射超声波并接收其反射信号,通过测量超声波返回的时间差来计算物体距离。超声波传感器具有测距精度较高、抗干扰能力强等优点,适用于多种环境。然而,它在测量较小或吸声材料的物体时可能不够精确。红外传感器通过发射红外光并接收反射回来的光信号,来检测前方物体的存在和距离。红外传感器具有成本低、响应快、结构简单的特点
语音模块在智能设备中用于接收、识别和处理用户的语音指令,使设备能够通过语音交互实现控制和功能操作。语音模块的应用广泛,包括智能家居、机器人控制、汽车电子等。语音模块主要分为几类,包括离线语音模块、在线语音模块和混合语音模块
电机驱动模块是用于控制电机运行的硬件组件,在机器人、自动化设备和嵌入式系统中起着至关重要的作用。电机驱动模块通过接收微控制器的控制信号,调整电机的转速、方向和停止状态。电机驱动模块主要分为几类,包括H桥驱动模块、MOSFET驱动模块和专用集成电路驱动模块。H桥驱动模块是最常见的一种,使用四个开关(通常是晶体管或MOSFET)构成H桥电路,能够实现电机的正转、反转和停止。H桥驱动模块结构简单,控制灵活,适用于直流电机和步进电机的驱动。MOSFET驱动模块采用MOSFET作为开关元件,具有低导通电阻和高开关速度的特点,适用于需要高效率和高频率切换的电机驱动应用。MOSFET驱动模块通常用于大功率电机的驱动。专用集成电路驱动模块是为特定类型电机设计的专用驱动芯片,集成了驱动电路和保护电路,具有高集成度和简单易用的特点。常见的专用驱动芯片包括L298N、L293D和TB6612等。本系统选择L298N电机驱动模块,如
循迹模块在智能小车中起着至关重要的作用,能够帮助车辆实现精确的路径跟随和导航。在本系统中,选择红外循迹模块的主要理由是其简单易用、成本低廉和适用于室内环境的特点。红外循迹模块通过检测地面上的红外线,确定小车所在位置,并根据预设的路径进行调整。相比于其他类型的循迹模块,如光电循迹模块或者视觉循迹模块,红外循迹模块具有成本较低、响应速度快、适用范围广等优势。在医院和护理院等室内环境中,地面通常比较平坦,且光线相对稳定,这使得红外循迹模块能够稳定地工作,提供准确的循迹功能。此外,红外循迹模块的设计和选型也相对简单,能够快速集成到系统中,并与其他传感器和控制模块协同工作,实现智能送药小车的自动导航和路径跟随功能。因此,选择五路红外循迹模块作为循迹模块的方案,能够在保证系统性能和稳定性的同时,降低系统成本,提高开发效率,循迹模块如
红外避障模块通常具有三个引脚,包括VCC、GND和OUT。VCC引脚连接到正电源,提供稳定的电源给模块;GND引脚连接到地线,完成电路的回路;OUT引脚是信号输出引脚,将检测结果输出给主控单片机。当检测到障碍物时,OUT输出低电平信号,否则输出高电平信号。通过连接和读取这三个引脚,系统能够实时获取前方障碍物的检测结果,帮助智能小车快速调整行驶路线,确保安全行驶,电路设计如
L298N电机驱动模块是一种常用的双H桥电机驱动模块,通常具有十个引脚。其中,1、2、15和16号引脚是电源引脚,用于连接电源,典型的工作电压范围是5 V至12 V。3、4、5和6号引脚是电机1的控制引脚,其中3号和6号引脚分别是电机1的使能端口,用于控制电机1的启停;4号和5号引脚是电机1的方向控制端口,通过给这两个引脚输入不同的逻辑电平来控制电机1的正反转。7、10、11和14号引脚是电机2的控制引脚,功能类似于电机1的控制引脚。8和9号引脚是地引脚,连接到系统的地线。L298N电机驱动模块的电路原理图主要包括两个H桥电路,用于控制两台直流电机的正转、反转和停止。H桥电路由四个开关管组成,分别是Q1、Q2、Q3和Q4。当Q1和Q4导通、Q2和Q3断开时,电机正转;当Q2和Q3导通、Q1和Q4断开时,电机反转;当Q1、Q2、Q3和Q4均断开时,电机停止。通过适当控制控制引脚的逻辑电平,可以使不同的开关管导通或断开,从而实现对电机的控制。同时,L298N模块内置了过热保护和过流保护电路,能够有效保护电机和驱动模块。整体来看,L298N电机驱动模块如
天问语音模块通常包含多个引脚,每个引脚都承担着不同的功能,用于与其他硬件组件连接和通信。其中,VCC引脚是电源引脚,用于连接模块的正电源。通常,天问语音模块的工作电压为3.3 V或5 V,具体电压取决于模块的设计要求。GND引脚是地引脚,连接到系统的地线,用于形成完整的电路回路。RXD和TXD引脚是串行通信引脚,用于模块与外部设备(如微控制器或计算机)之间的数据传输。RXD引脚接收从外部设备发送的数据,而TXD引脚发送数据到外部设备。此外,天问语音模块通常还包含一个RESET引脚,用于复位模块或者重新启动模块。通过RESET引脚,可以实现对模块的软件复位,使其恢复到初始状态。最后,天问语音模块可能还包含其他一些引脚,如LED指示灯引脚、扬声器输出引脚等,用于显示模块的工作状态或者输出语音信号。总的来说,天问语音模块的引脚功能多样,可以实现与外部设备的稳定通信和灵活控制,为语音交互系统的搭建提供了便利,语音模块电路设计如
五路红外循迹模块通常具有7个引脚,每个引脚承担着不同的功能。其中,VCC引脚和GND引脚是电源引脚,分别连接到模块的正电源和地线,用于为模块提供稳定的电源供应。模块的工作电压通常在3.3 V至5 V之间,适用于各种嵌入式系统和微控制器。OUT1至OUT5引脚是红外传感器的输出引脚,每个引脚对应一个红外传感器。当检测到地面上的红外线时,相应的引脚会输出高电平信号;否则,输出低电平信号。这五个引脚可以连接到微控制器的数字输入端口,用于检测小车所在位置和控制车辆的行驶方向。除了这五个引脚外,还有一个GND2引脚,它是模块的第二个地引脚,用于连接到系统的地线,形成电路回路。通过连接这七个引脚,可以实现对五路红外传感器的稳定供电和输出信号的读取,帮助智能小车实现精准的路径跟随和导航功能。这种模块设计简单,接口清晰,适用于各种智能车辆和机器人应用,电路设计原理图如
智能送药小车的红外避障程序设计简单而有效。首先,在主控单片机上编写程序,配置红外避障模块的引脚连接,将OUT引脚连接到单片机的数字输入端口。然后,设置一个循环,在每次循环中读取OUT引脚的电平状态。当OUT引脚输出低电平时,表示检测到前方有障碍物,此时主控单片机通过电机驱动模块控制小车停止或转向,避免碰撞。当OUT引脚输出高电平时,表示前方没有障碍物,主控单片机继续执行前进或其他任务。通过不断重复这个过程,智能送药小车能够实时监测前方障碍物,根据检测结果灵活调整行驶路线,确保安全行驶。这种红外避障程序设计简洁高效,能够满足小车在复杂环境中的避障需求,提高系统的可靠性和稳定性,程序设计如
L298N电机驱动模块的IN1、IN2、IN3和IN4引脚的电平信号可以控制车辆的前进、后退、左转和右转。当IN1和IN2同时为高电平,IN3和IN4同时为低电平时,电机正向转动,车辆前进;当IN1和IN2同时为低电平,IN3和IN4同时为高电平时,电机反向转动,车辆后退;当IN1为高电平,IN2为低电平,IN3为低电平,IN4为高电平时,电机右转;当IN1为低电平,IN2为高电平,IN3为高电平,IN4为低电平时,电机左转。通过改变这些引脚的电平信号组合,可以实现车辆在不同方向的移动和转向,从而实现智能送药小车的灵活控制和导航,电机驱动控制程序如
IN1 | IN2 | IN3 | IN4 | 运动方向 |
1 | 0 | 1 | 0 | 前进 |
0 | 1 | 0 | 1 | 后退 |
1 | 0 | 0 | 1 | 右转 |
0 | 1 | 1 | 0 | 左转 |
智能送药小车的语音程序设计主要涉及语音识别和指令执行两个方面。首先,通过天问语音模块进行语音识别,监听用户的指令。一旦识别到特定的语音指令,如“小药小药,进入一号房间”,程序将解析指令,确定用户的意图。接下来,根据指令执行相应的动作,例如,进入指定的房间送药。这涉及与电机驱动模块和红外避障模块的交互,确保小车能够安全地导航到目标房间,并在需要时避开障碍物。同时,语音程序还应具备容错机制,能够处理一些特殊情况,如指令识别错误或者无法执行的情况,程序设计如
智能送药小车的五路循迹程序设计关键在于有效地利用红外循迹模块的输出信号来控制车辆的行驶方向。首先,程序需要初始化五路红外循迹模块的引脚连接,并设置相应的输入引脚作为数字输入端口。然后,进入主循环,不断地读取五路红外循迹模块输出的信号。在读取信号后,程序需要根据五路红外传感器的状态来判断小车的位置和前进方向。通常,如果某路传感器检测到地面上的黑线,那么它的输出信号为低电平;如果未检测到黑线,则输出信号为高电平。根据这些信号,程序可以判断小车当前的行驶方向。
例如,当所有传感器都未检测到黑线时,表示小车偏离了轨道,需要进行校正。此时,程序可以通过适当地控制电机驱动模块的引脚信号,使小车直行,直到有传感器检测到黑线。如果某些传感器检测到黑线,而其他传感器未检测到,则说明小车偏离了轨道,需要进行转向。程序可以根据检测到黑线的传感器数量和位置,调整电机的速度和转向角度,使小车重新对准轨道。
在电机驱动实验中,首先连接L298N电机驱动模块到STM32单片机,并将电机接入模块。编写测试程序,设定不同的控制信号组合,如1010、1001、0101和0110,对应小车的前进、后退、左转和右转。上传程序至STM32单片机,并开始实验。在实验过程中,观察小车的运动情况,并记录观察结果。根据每个控制信号组合,观察小车的运动方向、速度和轨迹。将观察结果整理成数据表格,如
控制信号组合 | 小车运动情况 | 运动轨迹和行为描述 |
1010 | 前进 | 直线行驶 |
1001 | 后退 | 后退 |
0101 | 左转 | 左转 |
0110 | 右转 | 右转 |
实验中,小车根据不同的控制信号组合,能够准确执行相应的运动动作,包括前进、后退、左转和右转。控制信号与小车运动之间存在明确的对应关系,验证了电机驱动模块的有效性和可靠性。
在语音控制实验中,首先连接天问语音模块到STM32单片机,并编写相应的语音识别程序。通过设置特定的语音指令,如“小药小药,进入一号房间”,观察系统的识别情况并记录实验结果。将实验结果整理成数据表格,包括不同语音指令的识别准确率、执行动作等信息,如
语音指令 | 识别准确率 | 执行动作 |
“小药小药,进入一号房间” | 90% | 进入一号房间 |
“小药小药,进入一号房间” | 80% | 进入二号房间 |
“小药小药,进入一号房间” | 93% | 进入三号房间 |
“小药小药,进入一号房间” | 91% | 进入四号房间 |
实验结果表明,在语音控制实验中,系统能够准确识别特定的语音指令,并执行相应的动作。识别准确率达到90%,验证了语音控制模块的可行性和稳定性。
在避障实验中,连接红外避障模块到STM32单片机,并编写避障程序。设置小车在遇到障碍物时能够及时停止或绕开障碍物。观察实验过程中小车的避障效果,并记录实验结果。将实验结果整理成数据表格,包括不同避障情况下的探测准确率、避障动作等信息,如
障碍情况 | 探测准确率 | 避障动作 |
有障碍物 | 95% | 绕障 |
无障碍物 | 100% | 前进 |
在避障实验中,红外避障模块能够准确探测到前方的障碍物,并根据情况执行相应的避障动作。探测准确率达到95%,在遇到障碍物时能够及时停止或绕开,确保了智能送药小车的安全行驶。
智能送药小车系统通过整合STM32单片机、电机驱动模块、语音模块和红外避障模块等关键技术,实现了智能化的送药功能。在电机驱动实验中,验证了L298N电机驱动模块的性能和稳定性,小车能够准确执行前进、后退、左转和右转等指令,为后续自主导航提供了可靠的动力支持。通过语音控制实验,验证了语音模块的识别准确率和稳定性,用户可以通过语音指令方便地控制小车的行动,增强了系统的交互性和易用性。在避障实验中,红外避障模块能够及时探测到障碍物并执行相应的避障动作,确保了小车的安全行驶。然而,系统仍然存在一些潜在的改进空间和挑战。首先,在实际环境中,如医院走廊等,可能存在复杂的地形和交通情况,需要进一步优化避障算法和传感器布局,提高系统的适应性和鲁棒性。其次,语音控制模块的识别精度和稳定性仍有提升空间,需要进一步优化算法和声音采集器件,提高系统的用户体验。此外,系统的实时性和响应速度也是需要关注的重点,特别是在高密度的交通情况下,需要优化控制算法和通信协议,提高系统的响应速度和稳定性。未来,我们将致力于进一步完善智能送药小车系统,提高其智能化水平和服务质量。首先,加强与医院信息系统的集成,实现药品信息的实时更新和配送路径的动态调整,提高送药效率和准确性。其次,引入视觉导航技术和机器学习算法,实现小车的自主导航和路径规划,进一步提高系统的智能化水平和自适应能力。此外,我们还将积极开展智能送药小车在实际医疗场景中的应用实践,不断优化和改进系统,为医护人员提供更加便捷高效的服务,助力医疗卫生事业的发展。