自动喷雾小车控制系统设计研究

时间:2022-12-14 09:31:59

自动喷雾小车控制系统设计研究

摘要:本设计以STM32F103ZET6芯片为核心,搭配L298N芯片、电压比较器、XKT-201芯片等设计了一款具有喷雾功能的智能小车。其中,使用L298N控制四个直流电机带动四轮构成电机驱动模块;以电压比较器为核心结合红外发射头和红外接收头组成循迹及避障模块;采用XKT-201芯片使雾化片振动将液体打散实现喷雾功能;利用三极管、变压器及音效芯片组成水位警报模块;使用STM32F103ZET6芯片对循迹避障模块接收到的数据进行运算进而控制电机驱动模块,并为各个模块供电。经过调试此智能喷雾小车基本能实现循迹避障喷雾以及低水位报警功能。

关键词:单片机;循迹避障系统;自动喷雾;水位检测

1绪论

在病毒传播过程中,飞沫传播与接触传播是其主要传播方式,而在这二者中很大一部分感染者又是由于接触到物体表面上附着的病毒后才感染的,因此针对病毒的这一传播特性,本设计通过将循迹避障小车与喷雾系统相结合形成自动喷雾小车系统,来代替人工进行小区等公共场所的消毒工作,为公共卫生提供更为安全高效的消杀方法。本文设计的小车通过STM32单片机作为主控制芯片;由PID算法控制小车行进电机的工作;红外传感器的使用实现循迹避障功能;XKT-201芯片对于喷雾模块的控制;有线水浸探测器和声光报警器的结合实现对水箱水位的监测以及低水位报警,从而进行安全有效的消毒工作。

2自动喷雾小车控制系统的方案设计

2.1需求分析

2.1.1循迹功能(1)能够自动搜索地面上白底黑线进行循迹行驶。(2)在小车正常运行的时候不能脱离给定的路线。(3)在小车运行过程中出现轨迹偏移时,能够自动调整方向继续行驶。2.1.2避障功能当小车监测到周围30cm内有障碍物时,能够自动停车并等待障碍物离开。2.1.3喷雾功能当小车运行时,喷雾工作,当小车停止时,喷雾停止。2.1.4水位监测功能当喷雾水位到达预设的低水位时,发出警报。

2.2总体方案设计

通过主控模块实现对其他模块的控制,在驱动模块初始化后,开启循迹模块和喷雾模块,搜索给定路线进行行驶,实时监测障碍物,如遇障碍物则开启避障模块,停止行驶,当障碍物离开则关闭避障模块,返回循迹模块。以循迹模块的行驶信号控制喷雾模块,实现随动随喷,当监测到水位达到预警水位时,关闭喷雾,提示加液。

3系统硬件设计

3.1驱动模块电路设计

以L298N芯片为电机驱动模块控制核心,N1~IN4作为输入端,由STM32F103ZET6芯片控制;ENA和ENB为使能端,分别通过PWN控制两个直流电机转速;OUT1~OUT4为输出端,根据输入端和使能端的信号控制两个直流电机的运动状态,具体情况如表1;将ISENA及ISENB接地实现电流闭环控制;输出端都接有二极管一释放电机停止或转向时产生的反向感生电动势;OUT1/2与OUT3/4实质上分别控制了左前后与右前后两个直流电机,所以左前后轮的运动状态一样,右前后轮的运动状态一样;当左两轮正转右两轮反转时实现小车右转弯,当左两轮反转右两轮正转时实现小车左转弯,全部正转实现小车前进,全部反转实现小车后退。L298N各引脚具体连接方式如图2所示。

3.2循迹模块电路设计

采用三路红外发射接收模块实现黑线循迹功能,与避障功能的实现类似,调试出合适的避障距离后,由于黑线对红外线的吸收强,导致发射出的红外线不能反射后被接收管接收。将三路红外发射接收模块置于车底,当红外线遇到黑线,无反射,输出一个高电平,指示灯灭;当红外线遇到光亮的地面时,反射给接收管,经过放大电路后进行电压比较,输出一个低电平,指示灯亮。且两种情况下都通过OUT口将信息传输给单片机,单片机经过逻辑运算控制电机驱动模块,实现循迹功能。

3.3避障模块电路设计

使用两路红外发射接收模块实现避障功能,红外发射管发射固定频率红外线,若遇到障碍物反射被接收管接收,经过放大电路后通过电压比较器,输出一个低电平,使得LED灯导通点亮,并且通过OUT口将低电平信号传输给单片机,单片机收到信号后根据编写的程序给电机驱动模块发送指令,完成避障。若前方无障碍物则输出一高电平,LED灯不导通。通过调节两个电位器的大小改变发射功率,进而改变避障检测的距离,电路图如图3所示。

3.4喷雾模块电路设计

本模块设计采用XKT-201芯片,该芯片的工作电压为5V,本设计中的STM32芯片由两节3.7V锂电池供电,经过STM32芯片的7.4V~5V变压电路转变为5V电压输出口作为XKT-201芯片的电源输入口,芯片设计工作频率为108KHz,连接雾化片,使雾化片高频振动,水滴被震动打散后以雾的形式喷洒出去,其内部电路原理图如图4所示。芯片还预留了水位监测控制脚(8脚),可实现枯水断电,以保护雾化片不会因为缺水而干烧(本设计中未使用该功能)。

4系统软件设计

4.1主程序设计

系统进行初始化后,等待上位机命令的到来。其中初始化包括对时钟、串口、延时、中断等命令的初始化。然后启动小车的控制程序,当模式切换命令到来时,执行其所对应的控制子程序。

4.2驱动模块

驱动电机的速度通过PWM波来进行控制,将PWM波经过处理后传递给L298N,控制电机的IN1口和IN2口的电平,实现电机的正转、反转、停止的功能。

4.3循迹模块

采用B4、B5、B6这3个引脚分别接到三路红外模块的左中右个DO口上,再调用函数读取引脚电平即完成跑道信息处理,如读取到某个DO口为低电平,调用对应的函数,通过改变IN1和IN2口的电平,改变轮速,实现小车转向与速度控制,如stm32读取到小车使能信号为低电平则停车,否则继续上述循环。

4.4避障模块

采用B1、B2这2个引脚分别接到两个两路红外发射接收管的DO口上,再调用函数读取引脚电平实现障碍物的红外检测,如读取到DO口为低电平,即前方存在障碍物。则调用函数carstop,设置IN1和IN2口为低电平,实现小车停止。每隔10ms进行一次障碍物红外检测,更新读取的电平值。

4.5喷雾监测模块

水位低于预设水位时,水位监测器的常开触点输出端OUT为高电平,此高电平传输至声光报警器的输入端IN,开启声光报警器进行报警,同时将此输出反相后,传输至IN1与IN2端实现小车停止。每隔10nm更新一次水位监测器的常开触点输出端OUT电平,实现持续监测。

5系统调试

在实验过程中,发现循迹与避障两部分的代码会产生冲突,出现只循迹不避障或者只避障不循迹的情况,最终采用将循迹作为主循环,避障作为辅助功能设置的方法成功解决了问题。在后续水位监测模块拓展的实验中,发现仅仅通过小车的两节3.7V锂电池供电没办法使所有的功能都正常运行,故通过一块12V的外加电源成功解决了电源的问题。最后,经过整体的调试完善后,本系统全部的功能基本都已得到实现。

参考文献:

[1]王喜喜,郭俊,李雅琴,熊倩,吴芊芊,李少伟.自适应智能循迹车的控制算法研究与实现[J].科技创新与应用,2018(22):19-21.

[2]张铮,张江宁,薛竹村,黄浩策,薛利荣.循迹避障灭火功能智能小车设计[J].实验室研究与探索,2016,35(11):141-145+205.

[3]巫帮锡,李政,廖杰,陈熵,李旭.循迹小车的设计与研究[J].科技与创新,2019(18):90-91+93.

[4]李怀宇.基于STM32的避障小车设计[J].科技视界,2018(30):191-193+158.

[5]吴冉,黄奇瑞.基于单片机的智能灭火小车设计与实现[J].南阳理工学院学报,2017,9(06):61-64.

[6]陈万疆.基于单片机空气净化器智能净化控制系统设计[J].无线互联科技,2020,17(17):82-84.

作者:王帅 叶芝蓓 陈明健 徐辰晓 李鑫东 单位:江南大学物联网工程学院 江南大学机械工程学院