目录

1 引言 1
1.1研究背景 1
1.2研究目的及意义 1
1.3基于ESP32-CAM的监控系统的国内外研究现状 2
2 基于ESP32-CAM的监控设计系统的整体设计 2
3 系统硬件电路设计 3
3.1 MM32F3277G9P 4
3.1.1 MM32F3277G9P最小系统电路 4
3.1.2电源稳压模块 5
3.1.3 蜂鸣器模块 6
3.1.4 按键与拨码开关电路 7
3.1.5 编码器接口 7
3.1.6 蓝牙模块 8
3.2 DRV8701e双电机驱动电路板 9
3.2.1 使能开关电路 9
3.2.2 缓冲电路 10
3.2.3 驱动电路 10
3.3 ESP32-CAM开发板 12
4 系统软件设计 12
4.1 ESP32-CAM端软件调试 12
4.2 MM32F3277G9P端软件调试 13
5 调试与测试 20
5.1 硬件设计调试与测试 20
5.2 软件设计编程与测试 23
5.3 系统整体设计 25
6 结论与反思 26
6.1 结论 26
6.2 反思 27
参考文献 27

1 引言
1.1研究背景
随着科技的快速发展和城市化进程的不断推进,人们对于个人财产和人身安全以及各种紧急事件的需求,对于现在大多数的监控技术来说,很多地区都是采用有线通信技术[1]进行监控,无线尚未得到普及,只有在军事、医疗、安防等相关得到应用,但是在很多商场、公园等室内外公共区域,依旧采用有线通信监控,为保证数据传输的快速性,现在大多数有线传输采用光纤通信数据传输技术[2],安装起来也是十分的麻烦,只要光纤经受稍微大一点的压力,就要重新更换,不易维修。与此同时,只需要将数据传输或者供电的线剪断,就可以破坏一个监控摄像。虽说有线的监控摄像技术带来了一定的便利,但是安装和维修的成本也会给普通百姓带来一定的压力。
伴随物联网技术[3]等新一代信息技术的到来以及芯片的CPU时钟速度越来越快,普遍地应用于智能交通[4]、保护环境、智能家居[5]等,物联网技术将芯片嵌入不同的物体中,这种技术不断的迅速发展,很多研究人员通过物联网技术,无线远程控制[6]逐渐普及。同样的来说,无线监控技术给设备安装与维修带来了很大的便利,从而推动了无线监控系统的不断发展。
1.2研究目的及意义
现在无线监控应用于很多场景,比如医疗、救援、安防[7]等各个领域,但是对于群众来说,价格高昂,在日常生活中几乎接触不到。当紧急事件发生的时候,只能选择无助的等待,本系统如果可以在日常出行中得到普及,就应急救援和复杂山路中,只需要通过手机就可以操控小车探测地形,选择合适的道路前行,减少危险的发生和救援工作的负担。
本文系统设计基于ESP32-CAM的芯片和MM32F3277G9[8]这一款ARM芯片[9]的无线监控侦察车[10]。为保证ESP32-CAM图像实时传输的流畅性,本设计用MM32F327X_G9P作为小车驱动系统的主要控制芯片。该系统采用了ESP32-CAM的WIFI模块[11]和OV2640[12]高清摄像头,满足了远程控制的需要,且实现了在同一个局域网之下的图像数据传输,保证了在特定环境下画质的质量与稳定。同时系统采用MM32F327X_G9P作为小车驱动的主控芯片以及DRV8701e的双向电机驱动为小车提供精准的移动控制,无需任何升压电路,采用电荷泵自举升压的工作模式,不受外界的电磁干扰,具有很强的抗干扰能力,满足智能小车的基本需求,搭载HC-08的无线蓝牙模块,能够与手机通信,便于大部分人在应急救援中,都能进行连接,从而展开探查复杂的地形。
1.3基于ESP32-CAM的监控系统的国内外研究现状
在很早之前监控系统逐渐应用于安防的技术研究与开发,但是之前很大一部分的核心技术都掌握在美国和欧洲地区等国家,但是大多数采用有线监控。随着物联网技术的到来,人们逐渐意识到有线监控控制的不便,逐渐通过局域网来控制不断发展很多智能工厂,智慧农业[13,14]等无线监控技术,大大减少了劳动力的需求。与此同时,现在国内智能家居的普及为无线监控技术带来无尽可能,并且在监控系统的硬件技术方面取得了不少的突破,开发出各种先进的传感器和监控摄像头,从而实现了不同环境下的准确监测,使用人员通过无线监控就可以通过手机观看家里孩子以及家里的各种状况。除此之外,国内研究人员计算机视觉[15]技术的研究,开发出了更多图像处理和智能分析的算法,以保证图像更加的清晰。本设计结合了无线通信的技术和监控摄像的智能处理,满足用户多方面的需求。
2 基于ESP32-CAM的监控设计系统的整体设计
本系统以ESP32和MM323277G9P为核心,ESP32-CAM以OV2640摄像头,WIFI为核心MM32F3277G9P以电机驱动、编码器、屏幕、蜂鸣器、HC-08蓝牙等为核心。
基本原理:在开关打开之后,使用主控板上面的按键调整小车上面的参数,比如速度等相关参数,将这些便于用户调整的参数显示在屏幕上,方便用户调整,用户等待MM32F3277G9P上面的HC-08蓝牙模块于手机端蓝牙连接,使用预先在手机设置好的控制界面,即可控制小车前行,左右转弯等相关操作。与此同时,由MM32F3277G9P主控板上面为ESP32-CAM上面的芯片供电,ESP32-CAM将实时监测的图像通过WIFI模块将监控的画面显示在局域网的IP地址上,个人在登录IP地址就可以看到实时监测的画面。用户就可以通过局域网上面的IP地址观看的画面来控制无线监控勘察小车的前行方向。

图2.1 系统设计框图
该系统主要分为手机无线蓝牙控制和图像的无线WIFI传输两个部分。其中蓝牙控制主要是手机与MM32F3277G9P串口通信传输数据,从而控制小车移动与停止;图像的WIFI传输主要通过ESP32-CAM上面的WIFI模块产生的局域网进行访问,从而实现图像的传输。
3 系统硬件电路设计
本章将主要介绍MM32F3277G9P和ESP32-CAM两块处理器模块的硬件电路设计,主要包括MM32F3277G9P处理器的最小系统电路,电源模块,蓝牙模块,屏幕显示模块,编码器模块,电机驱动DRV8701E双驱以及ESP32-CAM 最小系统电路,WIFI模块等。
3.1 MM32F3277G9P
3.1.1 MM32F3277G9P最小系统电路
MM32F3277G9P是一款更具性能,可靠性更高,功耗更低,同时可以适用于高温和低温,以ARM-Cortex-M3为内核的32位微控制器,内部置有高速存储器,具有丰富的I/O口和外设连接电路。应用于多种场合,比如,工业物联网设备,医疗和手持设备,电机驱动和各种应用控制等,如图3.1。

图3.1 MM32F3277G9P核心板
其主要的技术指标主要有:
1、标准工作频率可达96MHz,最高可达120MHz。
2、供电范围为2.0V-5.5V,内部嵌有8MMHz高速RC振荡器和40MHz的低俗振荡器,外部有32.768MHz的低俗振荡器。
3、存储器:高达512KB的FLASH闪存,高达128KB的SRAM。
4、2个DMA控制器,一共有12个通道,主要分为Timer,ADC,DAC,URAT,I2C,SPI,USB OTG和Ethrenet。
5、116个I/O口都可以映像到16个中断中使用,所有端口均可输入输出VDD信号。
除此之外,还有11个定时器使用,多达17个外设接口使用。
3.1.2电源稳压模块
电源稳压模块就是对整个系统进行供电,将标准的2S锂电池的7.4V通过稳压电源模块对系统设计所需的各个模块进行供电,从而保证系统的每个模块正常运行。
电源稳压模块主要稳压在5V和3.3V,5V电源采用一路直流到直流(DC-DC)的电路进行稳压,DC-DC电路主要是SCT2450CSTER这一个5V降压转换器,其主要采用峰值电流模式控制,支持脉冲调制(PSM),因此该电路的设计就类似于一个开关电源,其优点主要是可以接受更大范围的输入电压,输出功率很大,效率很高,因此可以方便用户更换3S的锂电池,保证该系统的运行时间更久。5V电源主要对蜂鸣器、MM32F3277G9P核心板以及ESP32-CAM供电,如图3.2。由于在电路设计中是将5V转换为3.3V,压差较小,因此在3.3V电源设计的时候采用低压差线性稳压器(Low Dropout Regulator,简称LDO),即采用RT9013-33GB,其原理就是通过内部的MOS管工作在线性区,以此来提供稳压电源, 如图3.3。RT9013-GB是一款3.3V固定输出高性能LDO芯片,具有很高的RPS和超低稳压差,同时还会延长电池的使用寿命。3.3V主要对编码器、按键、蓝牙模块,屏幕模块,陀螺仪(姿态传感器)进行供电。

图3.2 5V稳压电源

图3.3 3.3V稳压电源
3.1.3 蜂鸣器模块
蜂鸣器主要为用户提示小车制动的响应,该电路控制主要采用S8050三级管,S8050是一款具有低电压和大电流能力的NPN晶体管,在该电路中,当网络标签D12为低电平时,S8050的基级与发射级不会导通,因此基级与集电极也不会导通,蜂鸣器处于断路的状态,就不会响;当网络标签D12为高电平时,基级与发射极导通,经过三极管S8050放大,致使集电极与基极蜂鸣器电路处于导通的状态,蜂鸣器发出声响。如下图3.4所示:

图3.4蜂鸣器电路
通过了解S8050的参数设置,可知集电极的增益为110,但是其最大供应电流为700mA,因此基级电流应该限制在5mA左右,当网络标签D12为高电平的时候,其电压一般在3.3V左右,通过公式3-1计算可知基级与发射极的电流为:
(3-1)
因此在选用发射极的电阻选择常见的4.7k的贴片电阻(即R21),在基级与网络标签D12加一个R26的10k电阻,为防止网络标签D12与基级相连接导致一直与GNDBAT连接,S8050的发射极一直处于低电平,无法导通,使三极管不发挥作用,蜂鸣器不会发出任何声响。
3.1.4 按键与拨码开关电路
在MCU中,按键和拨码开关的功能是实现数据和指令的出书。按键和拨码开关使手动接入的重要方式,在该系统中按键主要用于数据调参,采用独立式按键。该电路中,主要由四个按键和两路的拨码开关SW2、SW3、SW4、SW5、SW6组成,拨码开关主要与MM32F3277G9P芯片的D14、D15相连接,按键主要和MM32F3277G9P芯片的G0、G1、G2、G3相连接。在该设计中,按键主要用于显示调参数据,拨码开关主要备用于其他功能。如下图3.5所示:

图3.5 按键与拨码开关电路图
该系统的按键与拨码开关主要采用芯片信号引脚接上拉电阻,当按键和拨码开关对应的引脚处于高电平时,此处的上拉电阻主要在该电路中主要起限流的作用。通常情况下,主要采用10k的电阻,其通过电流一般非常的小,就是采用弱拉的方式,更能保证电路的稳定性,往往不会对电路产生更多的负载。
3.1.5 编码器接口
编码器主要采用mini512线编码器,该编码器可以用于增量式测速,同时兼容正交解码。正交编码基于光电转换技术,具有很强的抗干扰能力,采用了相移键控调制器(PSK)电路结构,对于电路设计有着很高的要求,但是这样也换来了高精度与高分辨率,对于速度的控制将会更加精准。如下图3.6所示:

图3.6 编码器接口
对于该编码器的控制其引脚主要定义分为下表1:
表1 编码器引脚对应表
引脚 信号 备注
1 NC 悬空
2 Z相 机械零件
3 Dir 旋转方向
4 LSB 步进脉冲
5 VCC 3.3V~5V
6 GND 电源地
3.1.6 蓝牙模块
蓝牙模块主要采用HC-08,该模块主要采用CC25540芯片驱动,运用BLE4.0技术,将主从合为一体,轻松实现数据透传功能,在空旷的场地数据传输范围可达80米。除此之外,该模块的功耗很低,长时间待机都可以带来很大的危害,其使用原理也很简单,就是运用基础的串口通信,相对以往常用的串口通信的帧头和帧尾甚至都不用加,只需要读取手机端传送过来的基础的十六进制的数字即可。如下图3.7与3.8所示:

图3.7 蓝牙模块的原理图 图3.8 蓝牙模块的实物图
该蓝牙模块(HC-08)上面的1和6引脚悬空,MM32F3277G9P上面的VCC 3V3与HC-08的5引脚相连接、GNDBAT与4引脚相连接,C6和C7分别为串口6的TX和RX引脚,将其与HC-08上面的RX与TX交叉连接,即C6与3号引脚,C7与2号引脚相连接。
3.2 DRV8701e双电机驱动电路板
3.2.1 使能开关电路
该电路主要采用LR8341A-T33这一款低功耗的高压稳压器,输出电压主要是3.3V,主要应用于电子通信设备和电池供电设备之中,根据芯片的使用手册可知:C12、C13可以采用1uf~10uf的电容,因此在此电路中使用两个1uf的电容。同时该芯片内部含有过流保护电路,可以确保工作的安全以及使用的寿命。该电路如下图3.9所示:

图3.9 使能开关电路
该电路的工作原理:在上图中LR8341A-T33使一个线性稳压器,正如芯片手册所言:其输出稳压为3.3V,当开关S1处于断开状态时(1、2导通时),2、3处于断路,nSLEEP输出电压为0V,无法驱动DRV8701E芯片上的使能使能引脚,此时处于停止运转的状态,只有LED1灯亮;当开关S1处于闭合状态时(2、3导通时),由于R8341A-T33输出为3.3V,此时nSLEEP电压为3.3V,LED1、LED2灯都处于亮的状态,此时处于运转状态。
3.2.2 缓冲电路
该缓冲电路采用缓冲芯片——SN74HC125PER,它的内部有四个具有三态输出的独立缓冲器,都以正逻辑执行的布尔函数:Y=A,其功能引脚分布如图3.10所示:

图3.10 SN74HC125PER功能引脚分配
由于输入不能悬空,在每个独立缓冲器都使一个驱动信号或者使能信号与GND作为输入,保证引脚不被悬空。输出分别为PH_1、EN_1、PH_2、EN_2,这些输出在连接驱动芯片DRV8701E。如图3.11所示:

图3.11 缓冲电路
3.2.3 驱动电路
该电路主要采用全H桥电路电机驱动电路。该电路使用DRV8701E驱动芯片,是一款高性能、低功耗的双H桥的使能型号的驱动器芯片,接受来自控制器的输入信号,即PWM信号和方向控制信号。PWM信号控制有刷直流电机的转速,方向控制信号决定电机的正反转。该芯片还有电流保护和诊断功能,当电流超过设定的阈值时,芯片内部会自动断电;同时还有过温保护和欠压保护,保证系统安全正常的运行。DRV8701E工作原理:其内部有两个H桥驱动器,用于控制电机的正反转根据方向控制信号,会相应的控制H桥的开关状态,一次来改变电机的转向。如图3.12所示:

图3.12 驱动电路
除此之外,在芯片外部运用全H桥电路电机驱动原理,如上图3.2.3.1所示,电路是由四个N沟道的MOS管,一个电机,VCC和GND构成的,可以控制栅极的点评的高低,来控制MOS管的开佟与关断,因此通过四个MOS管可以控制电机的正反转。H桥的工作模式:要求电机正转的时候,当Q1、Q4的栅极为高电平,Q2、Q3为低电平时,Q1、Q4导通,此时电机正转,如下图3.13所示;要求电机反转的时候,当Q2、Q3的栅极为高电平,Q1、Q4为低电平时,Q2、Q3导通,此时电机反转,如下图3.14所示。

图3.13 电机正转 图3.14 电机反转
3.3 ESP32-CAM开发板
ESP32-CAM是一款基于ESP32芯片,集成WIFI模块、摄像头OV2640以及串口通信下载电路的开发板。该模块的芯片功能强大,并且低功耗,可以使用长时间电池供电。OV2640摄像头具有高清分辨率的200万的像素,能够提供使用者更加清楚的监控和录像,同时还可以更换各种的输出格式,方便进一步的分析和处理。除此之外,该模块还有丰富的IO口,可以进行二次开发。实物图如下图3.15所示:

图3.15 ESP32-CAM实物图
ESP32-CAM中采用双核32位的CPU,主频高达240MHz,运算能力高达600DMIPS,内置4KB的SRAM,外置4M的PSRAM。该模块可广泛应用于各种物联网的场合,适用于智能家居设备、工业无线控制、无线监控、QR无线识别,以及其他很多的物联网应用。很多电子爱好者都喜欢采用这个成本低廉的模组,去进行二次开发,是物联网应用的理想解决方案。
4 系统软件设计
4.1 ESP32-CAM端软件调试
系统ZHONG1ESP32-CAM采用Android客户端,进行远程监控,采用C++变成语言来开发ESP32-CAM芯片。引用Camera库对Ov2640进行摄像头初始换配置,程序定义了图像传输的协议,连接2.4GHz频段的网络WIFI,将会获取到的IP地址进行绑定,获取到传输在IP地址上面的图像数据,从而向用户使用的设备发生图像的数据等。
4.2 MM32F3277G9P端软件调试
MM32F3277G9P核心板采用嵌入式系统,使用C语言在Keil 5软件上进行开发,由于该核心板厂商已经有了比较丰富的库文件,方便后续调用编写程序。在手机上提前设定好控制界面,如下图4.1所示,通过蓝牙模块串口通信接收,进行手机与MM32F3277G9P数据指令传输,从而对小车进行指控以及警报控制。

图4.1 手机控制界面
(1)系统主要流程:在手机端设置的界面基础之上,打开电源开关,等待各个模块初始化完成,在手机端进行蓝牙模块连接,通过手机控制面板进行指令控制并发送数据,MM32接收到传送过来的数据,通过串口中断接收到数据,即打断主程序的循环函数先接收数据,在接受完数据之后,进行数据判断数据,进而执行相对应的操作,从而,对系统模块进行制动。如下图4.2所示:
图4.2 系统主要流程框图
(2)系统详细步骤:
当按下控制界面的前进时,手机通过蓝牙向MM32F3277G9P发送“1”,接收到数据之后进行处理并且判断接收数据是否正确,当数据正确时,在芯片主控端MM32F3277G9P控制相同的方向,输出相同的脉冲比,从而控制小车精准的前行。程序执行框图如下图4.3所示。
图4.3 小车前进流程图
当按下控制界面的后退时,手机通过蓝牙向MM32F3277G9P发送“4”,接收到数据之后进行处理并且判断接收数据是否正确,当数据正确时,在芯片主控端MM32F3277G9P控制相同的方向,但与前进方向相反,输出相同的脉冲比,从而控制小车精准的后退。程序执行框图如下图4.4所示。

图4.4 小车后退流程图
当按下控制界面的右转时,手机通过蓝牙向MM32F3277G9P发送“2”,接收到数据之后进行处理并且判断接收数据是否正确,当数据正确时,在芯片主控端MM32F3277G9P控制相同的方向,小车左轮的脉冲比输出大一些,右轮的脉冲比输出小一些,从而控制小车精准的右转。程序执行框图如下图4.5所示。

图4.5 小车右转流程图
当按下控制界面的左转时,手机通过蓝牙向MM32F3277G9P发送“3”,接收到数据之后进行处理并且判断接收数据是否正确,当数据正确时,在芯片主控端MM32F3277G9P控制相同的方向,小车右轮的脉冲比输出大一些,左轮

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐