一种基于STM32的有缆式水中机器人的控制电路及其控制方法与流程

文档序号:23014435发布日期:2020-11-20 12:18阅读:184来源:国知局
一种基于STM32的有缆式水中机器人的控制电路及其控制方法与流程

本发明属于机器人技术领域,涉及一种基于stm32的有缆式水中机器人的控制电路及其控制方法。



背景技术:

进入二十一世纪以来,随着现代计算机技术和科学技术的不断进步,机器人技术较以往已经有了突飞猛进的提高。在企业生产技术不断提高、对自动化技术要求不断加深的环境下,水下机器人应运而生,目前,国内外的许多大学及企业都在积极投入人力、财力研制开发针对水下特殊条件下的观测、作业系统。

目前水下机器人多数采用电池供电,这就要求水下机器人必须实现低功耗供电方式。



技术实现要素:

本发明的目的是提供一种基于stm32的有缆式水中机器人的控制电路及其控制方法,解决了水下机器人低功耗检测电池电量、自动控制下潜深度的技术问题。

为实现上述目的,本发明采用如下技术方案:

一种基于stm32的有缆式水中机器人的控制电路,包括mcu模块、摄像头模块、陀螺仪模块、磁力仪模块、加速度模块、驱动模块、电池检测模块、电源模块、锂电池组bat1、恒流源供电模块、ad模块、压力传感器单元、温湿度变送器和混合电缆,摄像头模块通过bnc接口与mcu模块连接,陀螺仪模块与mcu的ad接口连接,磁力仪模块与mcu模块的iic接口连接,加速度模块与mcu模块的iic模块连接,驱动模块通过usb接口与mcu模块连接,驱动模块用于驱动外部推进器,温湿度变送器通过串口与mcu模块连接,压力传感器单元的输出端连接ad模块,ad模块与mcu的一组io口连接,电源模块用来管理锂电池组bat1,电源模块还为mcu模块、摄像头模块、陀螺仪模块、磁力仪模块、加速度模块、驱动模块、ad模块、温湿度变送器供电;

电池检测模块的输入端连接电源模块,电池检测模块的输出端连接mcu模块的一个io口,恒流源供电模块的输入端连接电源模块,恒流源供电模块的输出端为压力传感器单元供电;

混合电缆包括串口总线和usb总线,mcu模块通过混合电缆与上位机通信。

优选的,所述电源模块包括锂电池管理芯片ic1及其外围电路、正电源稳压电路、负电源稳压电路、电池报警电路和电池电压甄别电路;

锂电池管理芯片ic1及其外围电路包括锂电池管理芯片ic1、电阻r22、led灯d4、电阻r21、场效应管q1、电容c8、电阻r20、电容c9、电阻r32、电阻r33、温度传感器ntc、电阻r34、电阻r25、电感l1、场效应管q4、场效应管q2、电容c11、二极管d5和电容c10,场效应管q1的d极连接外部充电电源、g极通过电阻r20连接锂电池管理芯片ic1的3脚、s极连接vbat电源,锂电池管理芯片ic1的20脚连接场效应管q2的g极,场效应管q2的d极输出vbat电源;

温度传感器ntc连接锂电池管理芯片ic1的11脚;

正电源稳压电路包括三端稳压器ic3、电容c3和电容c4,三端稳压器ic3的输入端连接vbat电源、输出端输出v+电源,电容c3和电容c4为三端稳压器ic3的输出滤波电容;

负电源稳压电路包括三端稳压器ic2、电容c1和电容c2,三端稳压器ic2的输入端连接vbat电源、输出端输出v-电源,电容c1和电容c2为三端稳压器ic2的输出滤波电容;

电池报警电路包括三极管a3、电阻r24、电阻r23和反相器u1a,三极管a3的基极连接锂电池管理芯片ic1的2脚,电阻r23的一端连接vbat电源、另一端连接锂电池管理芯片ic1的2脚,三极管a3的集电极连接vbat电源、发射极连接地线,电阻r24的一端连接三极a3的集电极、另一端连接反相器u1a的输入端,反相器u1a的输出端连接所述mcu模块;

电池电压甄别电路包括场效应管q3、电阻r27、电阻r26、电阻r28、电位器r29、电阻r30、电阻r31和放大器ic4,场效应管q3的d极连接vbat电源、g极连接所述mcu模块的一个io口、发射极连接电阻r27的一端,电阻r27的另一端通过电阻r26连接地线,放大器ic4的负输入端通过电位器r29连接地线,放大器ic4的负输入端通过电阻r30连接v+电源,放大器ic4的正输入端通过串联连接的电阻r28和电阻r26连接地线,电阻r31的一端连接放大器ic4的正输入端、另一端连接放大器ic4的输出端,放大器ic4的输入端连接所述mcu模块的一个io口;

优选的,所述恒流源供电模块包括放大器ic5、电阻r1、电阻r2、电阻r12、二极管d1、二极管d2、电阻r13、电阻r3、三极管a2、三极管a1、电阻r14、电阻r13和电阻r4,放大器ic5的负输入端通过电阻r1连接所述vbat电源、正输入端连接地线;

放大器ic5的负输入端通过电阻r2连接三极管a2的发射极,三极管a2的基极连接二极管d1的负极,二极管d1的负极通过电阻r3连接所述v+电源,三极管a2的发射极连接所述v+电源、集电极连接三极管a1的集电极;

三极a1的发射极通过电阻r14连接所述v-电源,放大器ic5的负输入端通过电阻r12连接三极管a1的发射极,三极管a1的基极连接二极管d2的正极,三极管a1的基极通过电阻r13连接所述v-电源,二极管d2的负极连接二极管d1的正极;

放大器ic5的输出端连接二极管d1的正极;

电阻r4的一端连接三极管a2的集电极、另一端通过电阻r5连接地线,电阻r4与电阻r5的连接节点输出vcc电源。

优选的,所述压力传感器单元包括压力传感器接口j1、电阻r6、电容c5、二极管d3、电阻r7、放大器ic6、电阻r11、电阻r10、电位器r9、电阻r15、电阻r8、电容c6、电容c7、电阻r16、放大器ic7、电阻r17、电位器r19和电阻r18;

压力传感器接口j1的1脚连接地线、2脚通过电阻r6输出压力信号p1、3脚连接所述vcc电源;

放大器ic7的正输入端通过串联连接的电容c6和电阻r15连接压力信号p1,放大器ic7的正输入端还通过电阻r16连接地线,电容c6和电阻r15的连接节点通过电容c7连接地线,电阻r8的一端连接放大器ic7的输出端、另一端连接电容c6的电阻r15的连接节点,放大器ic7的负输入端通过电阻r17连接放大器ic7的输出端,放大器ic7的输出端通过串联连接的电阻r17、电位器r19和电阻r18连接地线;

放大器ic7的输出端连接所述ad模块;

放大器ic6的负输入端通过电位器r9连接地线,放大器ic6的负输入端通过电阻r10连接v+电源,放大器ic6的正输入端通过电阻r7连接二极管d3的负极,二极管d3的正极连接所述压力信号p1,电阻r11的一端连接放大器ic6的正输入端、另一端连接放大器ic6的负输入端,放大器ic6的输出端连接所述mcu模块的一个io口。

优选的,所述mcu模块为stm32控制板,所述摄像头模块为树莓派;陀螺仪模块的型号为mpu9250、磁力仪模块的型号为rm3100、加速度模块的型号为icm-20602;驱动模块为pixhawk飞行控制器,所述温湿度变送器的型号为pkth300a。

一种基于stm32的有缆式水中机器人的控制方法,包括如下步骤:

步骤1:建立所述一种基于stm32的有缆式水中机器人的控制电路;mcu模块通过混合电缆与上位机通信;

步骤2:mcu模块读取由摄像头模块、陀螺仪模块、磁力仪模块和加速度模块采集到的水下机器人的视频数据、姿态数据、磁力数据和速度数据,并通过混合电缆上传给上位机;

步骤3:mcu模块通过驱动模块来控制外部推进器,从而控制水下机器人的运动;

步骤4:电池报警电路实施检测锂电池管理芯片ic1的2脚,通过2脚监控锂电池组bat1的温度,当温度过高时,锂电池管理芯片ic1的2脚输出为2hz的脉冲值,三极管a3将该脉冲值传输到反相器u1a的输入端,反相器u1a将该脉冲值反向后,输出给mcu模块,mcu模块监测该脉冲值,当出现该脉冲值后,mcu模块判断电池出现问题,并通过控制驱动模块来控制水下机器人上浮;

步骤5:mcu模块控制场效应管q3导通,电池电压甄别电路实时判断vbat电源的输出值,并通过电位器r29设定一个电池电压参考值,当vbat电源小于电池电压参考值时,mcu模块判断此时电池电压过低,并通过控制驱动模块来控制水下机器人上浮;

步骤7:mcu模块定时读取ad模块采集到的压力值,并通过压力值计算下潜深度;

步骤8:mcu模块设定一个深度阈值,放大器ic6构成的电压比较器实时甄别压力信号p1,通过电位器r9设置一个深度电压参考值,并通过放大器ic6的输出端将甄别信号发送给mcu模块,mcu模块通过一个中断接收该甄别信号,当出现该甄别信号时,mcu模块判断下潜深度过深,并中断目前的工作,通过所述ad模块进行一次独立的采集动作,采集压力信号p1,并根据压力信号p1计算深度值,并判断深度值是否已经到达深度阈值:当到达时,mcu模块将深度值发送给上位机,并通过驱动模块控制水下机器人不再下潜。

本发明所述的一种基于stm32的有缆式水中机器人的控制电路及其控制方法,解决了水下机器人低功耗检测电池电量、自动控制下潜深度的技术问题,本发明通过检测锂电池管理芯片ic1的2脚来检测电池组的温度,节省了成本,本发明通过电池电压甄别电路来甄别电池的电压值,并通过场效应管q3来控制是否进行电池电压甄别,在低功耗的条件下,实现了对电池电压的监控,提高了水下机器人的潜水持久性,保证了水下机器人不会因为电池电量过低而无法控制,本发明通过一路比较器来对压力传感器单元采集到的压力值进行报警,并通过一路ad采样采集压力传感器单元的压力值,能有效的保证水下机器人不会因下潜过深而损坏,杜绝了误报现象的发生。

附图说明

图1为本发明的原理图方框图;

图2是本发明的电池检测模块和电源模块的电路图;

图3是发明的压力传感器单元的电路图。

具体实施方式

实施例1:

如图1-图3所示的一种基于stm32的有缆式水中机器人的控制电路,包括mcu模块、摄像头模块、陀螺仪模块、磁力仪模块、加速度模块、驱动模块、电池检测模块、电源模块、锂电池组bat1、恒流源供电模块、ad模块、压力传感器单元、温湿度变送器和混合电缆,摄像头模块通过bnc接口与mcu模块连接,陀螺仪模块与mcu的ad接口连接,磁力仪模块与mcu模块的iic接口连接,加速度模块与mcu模块的iic模块连接,驱动模块通过usb接口与mcu模块连接,驱动模块用于驱动外部推进器,温湿度变送器通过串口与mcu模块连接,压力传感器单元的输出端连接ad模块,ad模块与mcu的一组io口连接,电源模块用来管理锂电池组bat1,电源模块还为mcu模块、摄像头模块、陀螺仪模块、磁力仪模块、加速度模块、驱动模块、ad模块、温湿度变送器供电;

电池检测模块的输入端连接电源模块,电池检测模块的输出端连接mcu模块的一个io口,恒流源供电模块的输入端连接电源模块,恒流源供电模块的输出端为压力传感器单元供电;

混合电缆包括串口总线和usb总线,mcu模块通过混合电缆与上位机通信。

优选的,所述电源模块包括锂电池管理芯片ic1及其外围电路、正电源稳压电路、负电源稳压电路、电池报警电路和电池电压甄别电路;

锂电池管理芯片ic1及其外围电路包括锂电池管理芯片ic1、电阻r22、led灯d4、电阻r21、场效应管q1、电容c8、电阻r20、电容c9、电阻r32、电阻r33、温度传感器ntc、电阻r34、电阻r25、电感l1、场效应管q4、场效应管q2、电容c11、二极管d5和电容c10,场效应管q1的d极连接外部充电电源、g极通过电阻r20连接锂电池管理芯片ic1的3脚、s极连接vbat电源,锂电池管理芯片ic1的20脚连接场效应管q2的g极,场效应管q2的d极输出vbat电源;

温度传感器ntc连接锂电池管理芯片ic1的11脚;

正电源稳压电路包括三端稳压器ic3、电容c3和电容c4,三端稳压器ic3的输入端连接vbat电源、输出端输出v+电源,电容c3和电容c4为三端稳压器ic3的输出滤波电容;

负电源稳压电路包括三端稳压器ic2、电容c1和电容c2,三端稳压器ic2的输入端连接vbat电源、输出端输出v-电源,电容c1和电容c2为三端稳压器ic2的输出滤波电容;

电池报警电路包括三极管a3、电阻r24、电阻r23和反相器u1a,三极管a3的基极连接锂电池管理芯片ic1的2脚,电阻r23的一端连接vbat电源、另一端连接锂电池管理芯片ic1的2脚,三极管a3的集电极连接vbat电源、发射极连接地线,电阻r24的一端连接三极a3的集电极、另一端连接反相器u1a的输入端,反相器u1a的输出端连接所述mcu模块;

电池电压甄别电路包括场效应管q3、电阻r27、电阻r26、电阻r28、电位器r29、电阻r30、电阻r31和放大器ic4,场效应管q3的d极连接vbat电源、g极连接所述mcu模块的一个io口、发射极连接电阻r27的一端,电阻r27的另一端通过电阻r26连接地线,放大器ic4的负输入端通过电位器r29连接地线,放大器ic4的负输入端通过电阻r30连接v+电源,放大器ic4的正输入端通过串联连接的电阻r28和电阻r26连接地线,电阻r31的一端连接放大器ic4的正输入端、另一端连接放大器ic4的输出端,放大器ic4的输入端连接所述mcu模块的一个io口;

为了节省电池的电量,本发明设计为mcu模块必须通过控制场效应管q3导通后,才能使电池电压甄别电路甄别电池电压,通过放大器ic4构成的比较器,判断电池电压是否过低,本实施例中,放大器ic4和放大器ic6的型号均为lm358,这样就使在mcu不需要判断电池电压时,保证电池电压甄别电路不会消耗额外的电量。

本发明采用的锂电池管理芯片ic1的型号为hb6296,其通过11脚连接一个温度传感器ntc,本实施例中,温度传感器ntc为pt100,当电池温度过高时,hb6296的2脚会输出一个2hz的脉冲信号,本发明通过三极a3对该脉冲信号进行隔离,并输出给反相器u1a进行反向,最终输出给mcu模块,mcu模块通过该脉冲信号判断电池温度是否异常。

优选的,所述恒流源供电模块包括放大器ic5、电阻r1、电阻r2、电阻r12、二极管d1、二极管d2、电阻r13、电阻r3、三极管a2、三极管a1、电阻r14、电阻r13和电阻r4,放大器ic5的负输入端通过电阻r1连接所述vbat电源、正输入端连接地线;

本发明的放大器ic5的型号为lm741,放大器ic5、三极管a2和三极管a1构成了一个恒流源电路,为压力传感器提供恒定的电流,并通过电阻r5和电阻r4构成的分压电路为压力传感器提供稳定的供电电压,极大的降低了压力传感器的输出信号的干扰。

放大器ic5的负输入端通过电阻r2连接三极管a2的发射极,三极管a2的基极连接二极管d1的负极,二极管d1的负极通过电阻r3连接所述v+电源,三极管a2的发射极连接所述v+电源、集电极连接三极管a1的集电极;

三极a1的发射极通过电阻r14连接所述v-电源,放大器ic5的负输入端通过电阻r12连接三极管a1的发射极,三极管a1的基极连接二极管d2的正极,三极管a1的基极通过电阻r13连接所述v-电源,二极管d2的负极连接二极管d1的正极;

放大器ic5的输出端连接二极管d1的正极;

电阻r4的一端连接三极管a2的集电极、另一端通过电阻r5连接地线,电阻r4与电阻r5的连接节点输出vcc电源。

优选的,所述压力传感器单元包括压力传感器接口j1、电阻r6、电容c5、二极管d3、电阻r7、放大器ic6、电阻r11、电阻r10、电位器r9、电阻r15、电阻r8、电容c6、电容c7、电阻r16、放大器ic7、电阻r17、电位器r19和电阻r18;

压力传感器接口j1的1脚连接地线、2脚通过电阻r6输出压力信号p1、3脚连接所述vcc电源;

压力传感器接口j1外接一个压力传感器,压力传感器的型号为3-5v-1.6mpa(电压型0.5-4.5v)水压传感器。

放大器ic7的正输入端通过串联连接的电容c6和电阻r15连接压力信号p1,放大器ic7的正输入端还通过电阻r16连接地线,电容c6和电阻r15的连接节点通过电容c7连接地线,电阻r8的一端连接放大器ic7的输出端、另一端连接电容c6的电阻r15的连接节点,放大器ic7的负输入端通过电阻r17连接放大器ic7的输出端,放大器ic7的输出端通过串联连接的电阻r17、电位器r19和电阻r18连接地线;

放大器ic7的输出端连接所述ad模块;

本发明通过放大器ic7构成了一个带通滤波器,可以很好的对压力传感器的输出信号进行滤波,减少了干扰,降低了误报事件的发生。

放大器ic6的负输入端通过电位器r9连接地线,放大器ic6的负输入端通过电阻r10连接v+电源,放大器ic6的正输入端通过电阻r7连接二极管d3的负极,二极管d3的正极连接所述压力信号p1,电阻r11的一端连接放大器ic6的正输入端、另一端连接放大器ic6的负输入端,放大器ic6的输出端连接所述mcu模块的一个io口。

优选的,所述mcu模块为stm32控制板,所述摄像头模块为树莓派;陀螺仪模块的型号为mpu9250、磁力仪模块的型号为rm3100、加速度模块的型号为icm-20602;驱动模块为pixhawk飞行控制器,所述温湿度变送器的型号为pkth300a。

实施例2:

实施例2所述的一种基于stm32的有缆式水中机器人的控制方法是在实施例1所述的一种基于stm32的有缆式水中机器人的控制电路的基础上实现的,包括如下步骤:

步骤1:建立所述一种基于stm32的有缆式水中机器人的控制电路;mcu模块通过混合电缆与上位机通信;

步骤2:mcu模块读取由摄像头模块、陀螺仪模块、磁力仪模块和加速度模块采集到的水下机器人的视频数据、姿态数据、磁力数据和速度数据,并通过混合电缆上传给上位机;

步骤3:mcu模块通过驱动模块来控制外部推进器,从而控制水下机器人的运动;

步骤4:电池报警电路实施检测锂电池管理芯片ic1的2脚,通过2脚监控锂电池组bat1的温度,当温度过高时,锂电池管理芯片ic1的2脚输出为2hz的脉冲值,三极管a3将该脉冲值传输到反相器u1a的输入端,反相器u1a将该脉冲值反向后,输出给mcu模块,mcu模块监测该脉冲值,当出现该脉冲值后,mcu模块判断电池出现问题,并通过控制驱动模块来控制水下机器人上浮;

步骤5:mcu模块控制场效应管q3导通,电池电压甄别电路实时判断vbat电源的输出值,并通过电位器r29设定一个电池电压参考值,当vbat电源小于电池电压参考值时,mcu模块判断此时电池电压过低,并通过控制驱动模块来控制水下机器人上浮;

步骤7:mcu模块定时读取ad模块采集到的压力值,并通过压力值计算下潜深度;

步骤8:mcu模块设定一个深度阈值,放大器ic6构成的电压比较器实时甄别压力信号p1,通过电位器r9设置一个深度电压参考值,并通过放大器ic6的输出端将甄别信号发送给mcu模块,mcu模块通过一个中断接收该甄别信号,当出现该甄别信号时,mcu模块判断下潜深度过深,并中断目前的工作,通过所述ad模块进行一次独立的采集动作,采集压力信号p1,并根据压力信号p1计算深度值,并判断深度值是否已经到达深度阈值:当到达时,mcu模块将深度值发送给上位机,并通过驱动模块控制水下机器人不再下潜。

本发明所述的一种基于stm32的有缆式水中机器人的控制电路及其控制方法,解决了水下机器人低功耗检测电池电量、自动控制下潜深度的技术问题,本发明通过检测锂电池管理芯片ic1的2脚来检测电池组的温度,节省了成本,本发明通过电池电压甄别电路来甄别电池的电压值,并通过场效应管q3来控制是否进行电池电压甄别,在低功耗的条件下,实现了对电池电压的监控,提高了水下机器人的潜水持久性,保证了水下机器人不会因为电池电量过低而无法控制,本发明通过一路比较器来对压力传感器单元采集到的压力值进行报警,并通过一路ad采样采集压力传感器单元的压力值,能有效的保证水下机器人不会因下潜过深而损坏,杜绝了误报现象的发生。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1