本文作者:立创开源硬件平台 OSHWHub 用户@小年轻,禁止商用,未经许可禁止转载,点击查看原文章
对于参加过大学生电子设计竞赛的同学来说,OpenMV大家肯定都很熟悉,当然,我也是经历过那四天三夜的熬熬不眠的孩子。虽然没做过OpenMV的题目,但是看着那个好像很好玩的样子,本想在学校嫖一个来学习(没嫖到hhh)...于是前一阵子就想这买一个来玩玩,结果一看500多...这这这 这会直接导致一个本不富裕的家庭雪上加霜...不过我记得OpenMV好像是开源的,为啥要去买呢,自己做一个就能解决雪上加霜的问题了(还有余温可以吃火锅),但是如果直接用开源文件打的话,听说有些元器件是买不到的(比如说摄像头底板),而且还是4层板(额好吧是预算又不够了)。
1、OpenMV 4简介
OpenMV项目创造一款低价,可扩展,支持Python的机器视觉模块,这个模块的目标是成为“机器视觉世界的Arduino “,OpenMV搭载MicroPython解释器,这允许你在嵌入式上使用Python来编程 (Python 3 to be precise). Python使机器视觉算法的编程变得简单得多。比如,直接调用find_blobs()方法,就可以获得一个列表,包含所有色块的信息。 使用python遍历每一个色块,就可以获取他们所有信息,而这些,只需要两行代码!
并且,你可以使用OpenMV专用的IDE,它有自动提示,代码高亮,而且有一个图像窗口可以直接看到摄像头的图像,有终端可以debug,还有一个包含图像信息的直方图!
2、原理图
电源
电源输入接口我选择的是MicroUSB,加了磁珠(180Ω/100MHZ 防止高频干扰)和防反接保护(官方为MOS,简单点用SS14二极管),在电路中单片机需要3.3V,摄像头需要1.8V,所以我分别用AMS1117和TPS73101DBVR产生电路所需要的电压。
CPU
CPU的话是STM32H743VIT6,它其实就是一个高级一点的STM32还是可以拿来当普通单片机玩耍,只是刷了固件让它变成了OpenMV,这里要注意的是VBUS脚要接USB电源,不然不能通信。
OpenMV板载一颗RGB全彩LED,用来提示状态,还有就是两颗红外LED,应该是用来晚上的时候用的,我还没试过。
SD卡槽
SD卡要加滤波电容和数据脚的上拉电阻。
电路支持OV7725和OV2640,我选择的是OV7725,还没有测试过另一个型号。这里要注意的是IIC必须要有两个上拉电阻,否则会导致摄像头初始化配置失败。
3、PCB
顶层
底层
4、刷固件
打样焊接过后,要刷入固件才可以进行MicroPython编程。刷固件有3种方法。
第一种最简单的:
把OpenMV插上电脑,打开OpenMV IDE点击连接,会提示没有找到
如果第一种方法没有成功那么可以用第二种DFU下载:
先把OpenMV的BOOT脚接到RST或者3.3v脚插入电脑
然后进入OpenMV IDE安装目录 D:\OpenMV IDE\share\qtcreator\dfuse 打开DfuSeDemo.exe
软件会读出单片机的ID,然后点击右边的Choose
然后选择dfu文件路径,我们这里是OpenMV4,所以选择OpenMV4文件夹打开OpenMV4.dfu然后下载就好啦.
第三种最为简单粗暴,既然它本身就是个STM32单片机,那么我们就直接用STM32 ST-LINK Utility来烧录bin固件,开始:
首先安装STM32 ST-LINK Utility然后打开,用ST-Link连接板子上的调试接口插入电脑
打开ST-LINK Utility后点击连接按钮,下图是已经连接成功
然后点击打开文件,然后选择路径D:\OpenMV IDE\share\qtcreator\firmware\OPENMV4里的OPENMV4.bin文件
再点击下载
下载成功过后会提示OK
这里的话固件已经下载进去啦,就可以开始愉快的玩耍了!
5、实物演示
识别颜色目标
帧数
最高的话差不多是40帧,好像随着画面的颜色物体变多帧数会下降,我试的最低18帧左右,一般在20-30帧
需要的同学可以直接打样 Gerber_openMV - v2.0.zip,也可以自己根据原理图自己画PCB,更多讨论请进入原文章留言。
附件包含:调试记录,官方资料,ST-LINK Utility安装包
视频演示:点此观看
6、文档
工程附件
本文作者:立创开源硬件平台 OSHWHub 用户@小年轻,禁止商用,未经许可禁止转载
LR8341A-T33/线性稳压器(LDO) | 0.143 | |
SN65LBC184DR/RS-485/RS-422芯片 | 3.75 | |
ADS1256IDBR/模数转换芯片ADC | 42.32 | |
ADS1220IPWR/模数转换芯片ADC | 16.35 | |
TMS320F28035PNT/单片机(MCU/MPU/SOC) | 18.66 | |
TPS54331DR/DC-DC电源芯片 | 0.8793 | |
ADS1115IDGSR/模数转换芯片ADC | 6.22 | |
AMC1200BDWVR/隔离放大器 | 3.69 | |
DRV8870DDAR/电机驱动芯片 | 1.7 | |
ISO3082DWR/RS-485/RS-422芯片 | 2.7 |
50万+现货SKU
品类不断扩充中
科技智能大仓储
最快4小时发货
保证原装正品
物料均可追溯
明码标价节省时间成本
一站式采购正品元器件