濮阳县职业技术学校 王莲进
控制芯片是油烟管道清洁机器人的核心,用软件的方式来代替复杂的硬件电路设计,减低设计的困难程度,更方便简单地实现各种功能,并且可以很好地完成初始设计的要求。整体设计方案的系统框图如图1所示,包括单片机STC89C52、驱动模块、检测模块、信号接收模块、电源模块、冲洗模块组成。
图1 清洁机器人系统结构原理
STC89C52单片机是系统实现智能功能的核心。通过烧录进单片机的程序,根据信号接收模块传入的信息,自动控制油烟管道清洁机器人实现各种设计功能。驱动模块主要由L298N芯片组成。用于驱动行走电机。行走电机主要控制四个车轮转速以实现油烟管道清洁机器人的运动。信号接收模块主要由红外转弯传感器左右各一个,红外防坠传感器一个和红外碰撞传感器前方和左右各一个组成。这些传感器用于控制机器人的行走方向,实现转弯和防坠落功能。电源模块采用充电电池给提供的7.2V电压转换为稳定的可供微控制器,传感器和其他模块使用的5V电压。冲洗模块采用电磁阀控制冲洗直流电机工作。由单片机控制电磁阀的开闭。冲洗直流电机控制冲洗高压水枪负责冲洗油烟管道里的油烟。
监测模块的摄像头是放置在后方,拍摄后方的情况,检测模块的摄像头是布置在前方,用于拍摄前方油烟管道的情况。工作过程为:先设置单片机使单片机和摄像头频率相同,实现单片机与摄像头同步,然后单片机在指定时间向摄像头发射特点指令,控制摄像头拍摄,上传数据给zigbee无线通信模块,最后再由无线通信模块把数据传送给上位机,通过上位机显示拍摄画面。如图2所示为检测和监测模块系统设计框图。
图2 检测和监测模块系统框图
本设计采用LM7805CV稳压芯片作为稳压电源的核心设计。LM7805CV稳压芯片可以输出稳定的5V电压,其输出电流可以达到1.5A,因为内含限流保护电路,所以可以防止负载短路烧毁器件。电路原理图如图3所示。
图4是模块设计的电路原理图,有L298N驱动电路和保护电路两部分。用于驱动直流电机正反转和调速。
图3 5V稳压电源模块
由于输出端口连接到电机线圈,这将产生反电动势,这将对L298N造成冲击,这很容易造成损坏,特别是当有正电压或负电大于电源电压时生成,更有可能损坏L298N。两根二极管1N4007添加到根线以进行保护。保护原理是:当产生的反电动势为正且超过电源+0.7V时,下二极管导通,因此它被限制在+0.7V的电压,并且不会产生超过+0.7V的电压值。当产生的反电动势为负且低于-0.7V时,上二极管导通,其限制为-0.7V且不低于-0.7V。这可以保护L298N芯片免受损坏。
图4 驱动模块电路图
图5 红外传感器电路
清洁机构的清洁机构由直流电机驱动。因为不需要控制速度,所以不需要经常停止。因此直接将直流电机与电源连接,只要一上电就直接一直工作。
红外传感器具有很强的适应性,对光线很敏感,精度很高。通过发射红外线,检测反射回来的红外线强度来判断前方障碍物的距离。有效检测距离为2~30cm,工作电压为3.3V~5V。其红外传感器电路原理图如图5所示。
其工作原理如下:当上电后,电源指示灯亮,红外发射二极管不断发射红外线,反射回来的红外线被红外接收二极管接收,红外接收二极管根据接收的红外线强度来改变导通程度。当返回的红外线强度足够时,使红外接收二极管导通程度大,导致LM393正输入端的电压大,通过和VR1电阻设置的电压比较,高时使电压比较器LM393导通输出低电压,开关指示灯亮。
由直流电机驱动油烟管道清洁机器人的四个轮子。通过差速的方法来实现变向与转弯。在这个油烟管道清洁机器人的设计中,是通过单片机向L298N驱动电路输入信号间接控制直流电机的运行状态。如表1所示为L298N控制其中一个直流电机运行的真值表。
表1 L298N控制电机的真值表
其中,“1”为高电平输入;“0”为低电平输入。当使能端口ENA输入为0时,不管IN1和IN2这两个控制端口输入为何值时电机都不能转。在使能端口输入为1时,当L298N芯片两个控制端口(IN1和IN2)同时输入为高电平或低电平时,电机也不能旋转。只有在使能端口输入为1,同时一个控制端口输入高电平而另一个控制端口为低电平时旋转。当IN1为1,IN2为0时直流电动机正转。当IN1为0,IN2为1时直流电动机反转。
要使机器人转弯,就要使一边的电机停止,另一边的电机正转,差速转弯。右转程序如下:
油烟管道中的清洁工作不需要很高的速度,对于行走和转弯也需要不同的速度。所以需要使用PWM调速方法来改变速度。这里只用一个定时器就可以产生多组不同的PWM波的方法。产生PWM波的原理为:把波形的一个周期平分为N份,其中t份为高电平,(N-t)份为低电平。具体产生两个PWM波的方法,把一个周期T分为10份,其中每份的时间间隔为一次定时器的时间t。为了产生PWM1的占空比为30%,PWM2的占空比为50%。所以PWM1是前3次定时器时间为高电平,后7次定时器为低电平,达成一个周期,然后如此循环下去,就产生了占空比为30%的PWM波形。PWM2是前5次定时器为高电平,后5次定时器为低电平,一个周期也是10次定时器。同理也可以在生成其他更多的PWM波。
因为是在油烟管道中行走,管道很狭窄,清洁机器人的体积已经占了很大的空间,所以机器人在管道中行走的空间很小,只能让机器人不断地前进,过程中通过小幅度的转弯来保证机器人始终保持在管道中间,当遇到管道转弯时原地大幅度转弯来达到转弯的效果。
上电开始自动行走,当左碰撞红外传感器检测到了信号时,说明机器人离管道左侧靠的太近,所以机器人自动向右小幅度转弯。同理当右碰撞红外传感器检测到了信号时,机器人左小转。当机器人走到转角处时,前红外检测传感器检测到信号,同时右转红外传感器没有检测到信号,机器人速度降低自动右转弯。同理当前红外检测传感器检测到信号,同时左转红外传感器没有检测到信号,机器人速度降低自动左转弯。机器人正在行走时,如果当走的油烟管道尽头时,尽头检测传感器检测不到信号,这时机器人蜂鸣器报警,同时机器人停止前进。没有到尽头时则正常前进。当机器人走到死角时,前方不能前进同时左右也没有路口时,机器人启动报警同时停止前进。
按照设计好的电路图,用Proteus软件进行行走程序的仿真调试。由于仿真软件中没有电机,蜂鸣器和红外传感器这些元器件。所以用开关来代替红外传感器,用二极管来看输出,如图6为直行运行时产生的PWM波形。从波形可以看出达到了设计时要求的占空比。
图6 PWM波形图
结论:本设计采用了STC89C52单片机作为油烟管道清洁机器人核心控制芯片,使用了直流电机和差速转向的原理,蜂鸣器报警及红外传感器,使得油烟管道清洁机器人制作成本相对较低,功能基本准确实现。