为什么OpenMV烧毁现象普遍存在?一次爆改后,我终于弄懂了!

嘉丽科技讨论 2024-04-04 03:55:10

开源了“最佳”的机器视觉模块!成本50出头!

前言

在各项竞赛中,经常会出现因不规范使用OpenMV而导致其烧毁 的情况!

一个两个,也就算了!这情况一多,我就在想——我是否能做出一个更“完善”更“符合使用需求”的版本呢?是否能尽量避免这样的情况呢?

于是,我参考开源工程OpenMV,对导致烧毁的原因进行总结,对其原理图进行部分改善,并对电路进行了重新绘制。

目前,我已将优化的方案开源!文中我也会分享——为什么OpenMV烧毁现象普遍存在?

一、项目亮点/功能?支持色块检测支持LCD屏幕显示支持WiFi图传可刷OpenMV4的最新官方固件,用H750体验一模一样的OpenMV4包含CloseMV核心板、OV5640摄像头模块、1.8寸ST7735显示屏模块、ATWINC1500无线模块基于STM32H750VBT6设计,经过实测也可以使用STM32H743VIT6。且由于其存在大量未验证空间,实际ROM远远大于其标注的大小项目中的元器件最小采用0603封装,可放心食用

二、硬件设计说明(9图)

原理图_CloseH7

PCB图_CloseH7

原理图_OV5640

PCB图_OV5640

原理图_ATWINC1500

PCB图_ATWINC1500

原理图_ST7735_1.8inch

PCB图_ST7735_1.8inch

核心电路设计框图

下面说明一下部分电路的设计原理 和注意事项!

1.双电路切换&DCDC降压电路

关于系统供电,开发板使用了一颗PMOS管和一颗肖特基二极管组成一个双电源切换电路。

VBUS网络即TypeC供电。

VIN网络即使用开发板上的VIN引脚+板子上的XH2.54mm锂电池接口进行供电。

为什么要设计为<双电源切换电路>呢?

当两个供电网络同时接入系统时,VIN网络会拉高PMOS管的G极将VBUS网络夹断,同时,再通过肖特基二极管对系统进行供电,这能让USB只进行数据传输的职能,可以减少USB接口的负载。

总之系统供电优先级是VIN > VBUS,经过选择判断后,电路将进入DCDC降压电路,输出至3.3V为系统进行供电。

注意!!

由于肖特基二极管D1的存在,在只插TypeC数据线进行供电时,开发板上的VIN引脚不能当作输出使用!

2.XH2.54锂电接口

这里,可以回答你——为什么OpenMV烧毁现象普遍存在?

根据本人观察到的,很多人烧OpenMV是把电源接反了。

没错,就是如此简单的原因~

所以专门添加了一颗肖特基二极管给VIN网络,可防反接,位置放在锂电池接口正上方!

3.复位和启动

开发板并没有安置BOOT按键以及RESET按键,在电路上采用的是上电复位以及直接从芯片内部启动程序的方案。

那想要进入DFU下载怎么办?

想要进入DFU下载,可用导线或镊子将BOOT引脚拉高。

4.SD卡

如何避免开发板读取不到SD卡的情况?

本人使用的是短体TF卡插座,其中的SWITCH引脚能对SD卡进行检测。当插入SD卡时会使SWITCH引脚拉至高电平,而OpenMV所使用的TF卡座上电后SWITCH引脚会被拉至低电平。为了兼容官方固件,本人将芯片内连接SWITCH引脚的PD0直接拉低,SWITCH引脚悬空处理。

就能避免开发板读取不到SD卡的情况!

同时官方固件代码对SD卡的检测只在上电瞬间进行,超时未应答会默认无SD卡插入,所以从功能效果上看,这里的电路更改对实际使用毫无影响。写此条事项是为了提醒其他同学在复刻或设计自己的SD电路时需要注意的坑——不同型号的SD卡座插入检测引脚输出值可能不同。

5.关于摄像头

摄像头接口采用DVP并行总线,通过24P的FPC排线与STM32主控进行连接,方便他人将其集成到更加刁钻的使用场景中去。

以下是设计制作时的三个主要注意事项!

如何减少不同网络信号之间的干扰?

在电路设计上本人已经将DVP接口数据线进行等长处理,为了保证信号完整性,将摄像头所需的1.5V和2.8V供电集中在了摄像头模块上,在排线上只有3.3V网络和GND与并行数据线同时存在,减少了不同网络信号之间的干扰。

如果无法识别摄像头呢?

可以检查FPC排座以及芯片的焊接是否连锡,电路设计本身没有问题。PS:摄像头可额外购买M12镜头座来搭配不同镜头,通过M2螺丝孔位可与开发板进行固定。

如何避免雪花飘的情况?

由于DVP接口为并行数据接口,抗干扰能力没有MIPICSI这类差分信号接口强,所以FPC排线建议最长20CM,否则会出现雪花飘的现象。

6.其他说明

降压芯片型号为SY8088AAC。芯片外部晶振使用12MHz晶振,板载RGB三色灯和红外补光灯(可替换为白色LED灯)。板载摄像头接口,摄像头可以使用OV5640、OV7725、OV2640等,OV5640帧数在23帧左右,OV2640在13帧左右。引出IO同官方一致。H750代码空间有限,建议外接TF卡,TF卡建议使用32GB内存大小。

三、固件烧录步骤

开发板可以通过引出的SWD接口,使用STLink进行固件烧写,也可以使用TypeC数据线连接电脑,通过DFU模式进行下载。

前面说过“因为STM32H750存在大量未验证空间,实际ROM远远大于其标注的大小”,如果使用STM32H750作为开发板主控则只能通过DFU模式进行固件下载。

下面就分享一下固件烧录步骤,基于DFU下载方法(8步)。

1.在ST官网下载固件烧录工具STM32CubeProgrammer。

2.用镊子将BOOT和3V3焊盘短接,将BOOT拉高后插入TypeC数据线。在这之前我还是建议你用万用表把板子检查一遍,烧板是小事,要是烧了电脑就嘿嘿嘿~

3.打开设备管理器发现多了一个DFU in FS Mode后说明芯片已进入DFU下载模式,你可以拿开用于拉高BOOT引脚的镊子了。

4.打开STM32CubeProgrammer,首先点击刷新按钮,会出现所识别到的USB设备,选择连接上的STM32后点击Connect按键 连接,获取芯片数据。

5.连接成功后如下图显示。由于本人的芯片已经烧写过一次代码,所以数据寄存器所显示的内容与他人可能有所不同,请忽略。

6.点击Open file找到OpenMV4固件所在位置,bin文件位置一般在[你自己的OpenMV路劲\OpenMV IDE\share\qtcreator\firmware\OPENMV4]的文件夹中,实在找不着,在开源的附件获取(第4章会指引前往开源网址)

7.点击Download,等待下载完成,下载成功后如下图所显示。

8.下载完成,断开连接后重新复位上电连接至OpenMV IDE。

参考资料:

[1]开源资料https://oshwhub.com/bigbirdzzz/closemv4

— 完 —

嘉立创EDA·头条号

关注我,看一手优质开源项目

0 阅读:0

嘉丽科技讨论

简介:感谢大家的关注