
CloseMV-原汁原味的OpenMV4体验[doge]
简介
成本50出头的机器视觉模块,可刷OpenMV4的最新官方固件,用H750体验一模一样的OpenMV4!
简介:成本50出头的机器视觉模块,可刷OpenMV4的最新官方固件,用H750体验一模一样的OpenMV4!开源协议
:Public Domain
描述
一、工程简介
本项目参考开源工程OpenMV,对普遍存在的在各项竞赛中因不规范使用OpenMV而导致烧毁的原因进行总结,并对原理图进行部分改善以及对电路进行重新绘制。本项目包含CloseMV核心板、OV5640摄像头模块、1.8寸ST7735显示屏模块、ATWINC1500无线模块。因为STM32H750VBT6存在大量未验证空间,实际ROM远远大于其标注的大小,主控芯片经过实测可以使用STM32H750VBT6和STM32H743VIT6,功能上CloseMV可以兼容OpenMV4官方最新固件,主板+摄像头的成本控制在50以内,项目中的元器件最小采用0603封装可放心食用。(使用的主控后缀均为V版,部分商家所贩卖降频的Y版芯片不能用作本项目)
下图分别为使用H750和H743的板子以及板子背面
二、总体设计框图
核心电路设计框图如下所示:
核心使用STM32H743或STM32H750,开发板使用USB或外接3.7~5V外置电源行供电(预留2.54mm锂电池接口)。使用DCDC降压芯片降压至3.3V为内部系统进行供电,降压芯片型号为SY8088AAC。芯片外部晶振使用12MHz晶振,板载RGB三色灯和红外补光灯(红外补光灯可根据个人情况替换为白色LED灯)。板载摄像头接口,摄像头模块电路在本工程内部,通过FPC排线连接,摄像头可以使用OV5640、OV7725、OV2640等,OV5640帧数在23帧左右,OV2640在13帧左右。引出IO同官方一致。H750代码空间有限,建议外接TF卡,TF卡建议使用32GB内存大小。
三、部分电路介绍以及注意事项
为方便使用,下面对部分电路进行介绍
1.对于系统供电,开发板使用了一颗PMOS管和一颗肖特基二极管组成一个双电源切换电路,VBUS网络即TypeC供电,VIN网络包括使用开发板上的VIN引脚以及板子上的XH2.54mm锂电池接口进行的供电。当两个供电网络同时接入系统时,VIN网络会拉高PMOS管的G极将VBUS网络夹断,同时通过肖特基二极管对系统进行供电,让USB只进行数据传输的职能减少USB接口的负载。总之系统供电优先级是VIN > VBUS,经过选择判断后的电路将进入DCDC降压电路输出至3.3V为系统进行供电,由于肖特基二极管D1的存在,在只插TypeC数据线进行供电时开发板上的VIN引脚不能当作输出使用!!!
2.根据本人观察到的普遍存在的OpenMV烧毁现象,很多人烧OpenMV是把电源接反了,所以专门添加一颗肖特基二极管给VIN网络防反接,位置放在锂电池接口正上方
3.关于开发板的复位和启动模式设置,开发板并没有安置BOOT按键以及RESET按键,在电路上采用的是上电复位以及直接从芯片内部启动程序的方案,想要进入DFU下载需要用导线或镊子将BOOT引脚拉高
4.在SD卡电路中,由于本人使用的是短体TF卡插座,其中的SWITCH引脚是对SD卡进行插入检测,当插入SD卡时会使SWITCH引脚拉至高电平,而OpenMV所使用的TF卡座上电后SWITCH引脚是被拉至低电平。为了兼容官方固件,本人将芯片内连接SWITCH引脚的PD0直接拉低,而TF卡座的SWITCH引脚悬空处理。这样可以避免开发板读取不到SD卡的情况。同时官方的固件代码中对SD卡的检测只在上电瞬间进行,超时未应答会默认无SD卡插入,所以从功能效果上看,这里的电路更改对实际使用毫无影响。写此条事项是为了提醒其他同学在复刻或设计自己的SD电路时需要注意的坑——不同型号的SD卡座插入检测引脚输出值可能不同。
5.摄像头接口采用DVP并行总线,通过24P的FPC排线与STM32主控进行连接,方便他人将其集成到更加刁钻的使用场景中去。在电路设计上本人已经将DVP接口数据线进行等长处理,为了保证信号完整性,将摄像头所需的1.5V和2.8V供电集中在了摄像头模块上,在排线上只有3.3V网络和GND与并行数据线同时存在,减少了不同网络信号之间的干扰,如果无法识别摄像头请检查FPC排座以及芯片的焊接是否连锡,电路设计本身没有问题。由于DVP接口为并行数据接口,抗干扰能力没有MIPICSI这类差分信号接口强,所以FPC排线建议最长20CM,否则会出现雪花飘的现象。摄像头可额外购买M12镜头座来搭配不同镜头,通过M2螺丝孔位可与开发板进行固定
四、固件烧录步骤
开发板可以通过引出的SWD接口使用STLink进行固件烧写,也可以使用TypeC数据线连接电脑通过DFU模式进行下载,因为STM32H750存在大量未验证空间,实际ROM远远大于其标注的大小,如果使用STM32H750作为开发板主控则只能通过DFU模式进行固件下载,下面的固件烧录步骤只介绍DFU下载方法
1.在ST官网下载固件烧录工具STM32CubeProgrammer,下载传送门点击此处。问我具体怎么下?next一步到位就行了
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]的文件夹中,实在找不着见最下面的附件
7.点击Download,等待下载完成,下载成功后如下图所显示
8.下载完成,断开连接后重新复位上电连接至OpenMV IDE
五、实物展示
以下展示均使用H750+OV5640的核心板配置
1.色块检测演示
2.LCD屏幕显示案例演示
3.WiFi图传案例演示
视频展示见最后附件
六、附件内容
附件一:openmv.bin
附件二:BOM(器件购买仅作参考)
七、修订说明
1.修订原理图部分器件与导出结果不一致[2025.3.10]
2.修订PCB中部分丝印问题[2025.3.10]
八、写在最后
感谢大家对 CloseMV4 项目的关注与认可!本项目基于 OpenMV 二次开发,并选择完全开源。这个项目开源时我还是本科生一枚,也曾苦哈哈的拿着400不到的预算打过电赛,知道学生娃娃手头紧搞项目做科研不容易。所以这个项目的初衷是希望降低学习门槛,让更多动手能力强的朋友能低成本实现自己的创意。本人在其他一些二手平台发现了这个项目的复刻售卖,怎么说还是蛮欣慰的,至少说明有很多人认可它嘛,对于商用行为本身我的观点是能为大家降低门槛就好。但有些朋友却打着“自己设计diy开源”的标签就有点说不过去。本人在此声明,这个项目本人从未在任何地方以任何形式售卖过,之后也不可能会,任何写有诸如“本人开源”都不是我哈,商用时,请明确注明原始项目来源。开源的力量在于共享与诚信。如果你从中受益,不妨将你的改进反馈给社区,或帮助更多初学者动手实践,这才是对开发者最好的支持!如果你成功复现或改进了本项目,本人由衷为你高兴!
这个项目虽然算不上高精尖但还是有一定的焊接难度,0焊接基础的朋友直接上手还是要多评估一下哈。很多复刻失败的朋友都在评论区问,项目本身没问题,其实90%的问题都出自焊接哈,我在制作时也是踩了不少的坑。本人不是赛博华佗,没法一一回复,我在最后对一些常见报错统一提供一个思路哈:
1.在所有问题中,摄像头部分的问题占9成,如果你的设备连上IDE后显示能识别到H7芯片,但识别不到摄像头,说明你的固件没问题,但摄像头焊接出事了,问题可能出现在芯片焊接、排线座子焊接、摄像头供电上。同理如果出现“帧同步失败”“摄像头连接超时”等报错字样也是一个道理。当然最坏的情况是你想改装成可拆卸镜头时把传感器搞报废了
2.如果TF卡不能识别,请检查背部的卡槽是否有虚焊,以及电阻电容是否连锡,看是看不出来的!!!请用万用表!!!!
3.芯片同样是一个大坑,个人购买的散货货源其实要打一个大大的问号,芯片是不是正版STM32都不好说,有的卖家挂羊头卖狗肉把芯片重新激光雕刻一下当H750卖,就算是STM32还有V版跟Y版的区别,这个项目只能使用V版的芯片,如果在烧录固件时CubeProgrammer不能识别到芯片,请检查焊接,比如BOOT引脚是否因为虚焊被拉高或者接地。排查完制作问题后你可以有理由怀疑买到崴货了。
希望以上信息对你有帮助,也祝愿各位友友复刻成功(=`ω´=)!
设计图

BOM


评论