内窥镜胶囊(胶囊内镜/胶囊内窥镜)硬件方案

前言

说明:该方案为作者2018年上半年完成的第一版,后来搁置了一段时间,才重启这个项目。目前(2020.07)第二版已经快要完成。[联系v:1#7#6#3#3#3#5#0#8#7#0]先给一下第一版和第二版的基本参数。

第一版:
续航时间:3h
帧率:0.5fps
尺寸:12mm * 25mm
角度:45°

第二版:
续航时间:12h
帧率:2-6fps
尺寸:9.8mm * 25mm
角度:130°

第一版属于尝试版,整体方案不是很成熟。第二版这个数据就非常优秀了。我拿了国外的几家厂商的数据来做对比,大家可以感受一下。

好了,下面就详细介绍一下第一版的方案。让我们开始

1.整体方案介绍

内窥镜胶囊目前全球主要有6家公司。

核心就是硬件+PC端软件。PC端的方案比较简单,一个常规软件,随便找个外包,一个月就能搞定。那些说什么AI智能诊断的,个人觉得,目前基本都不靠谱,而且IBM已经给我们上了一课关于智能医疗那些事儿。就实用性来说,做一下类似图片去重,然后压缩成视频,一个经验丰富的医生,阅片速度也是很快的。当然,AI诊断虽然不太靠谱,但是好看啊。而且,智能识图,用来发论文他不香吗?

难点在于硬件端。

硬件端我们可以分成三个部分:
a. 采集(获取RGB或者YUV格式数据)
b. 压缩(将图片压缩成JPEG)
c. 无线传输。

有人说,我只采集不压缩,然后传输原图行不行?当然不行,原图的数据量非常大的(举个例子,一张320*240的图片,RGB565格式能达到150KB,压缩成JPEG以后,只有10K不到),另外,我们从简单的物理常识就能知道,在芯片内部处理的损耗肯定低于无线传输损耗。所以一定是要压缩的。我最开始也想着不压缩,直接用蓝牙传输RGB565数据,结果半小时就没电了。

我接下来从三个方面讲一下方案的基本框架。

1.1处理器

先说说使用的核心芯片,也就是主控芯片。我最开始使用的是stm32l4系列。原因在于功耗低,同时也有DCMI接口,方便采集摄像头数据。但是l4系列有一个很大的问题,就是l4没法压缩图片,这里就回到了我刚刚说的问题,不压缩图片,会在传输方面消耗大量的能耗。

经过一段时间的摸索,我第一版选用了stm32h7x3系列。除了DCMI接口和小体积以外,主要原因还有两个:A.h7x3系列属于物联网低功耗型,在功耗方面是有一定优势的。B.该系列有一个很硬的功能 – 硬件JPEG,该功能可以直接使用硬件对YUV的数据做压缩(如果是RGB的话,需要先转成YUV)。而且速度超快,一张320*240的图片,5ms以内就能压缩完成。到此,一个完整的图片数据处理就完成了:DCMI采集,得到YUV数据—>硬件PJEG压缩,得到JPEG图片数据(每张图10KB以内)。下面是官方给的功能说明:

1.2.摄像头

摄像头这个部分,因为我没太多的CMOS方面的资源,当时选了OV的一个型号。托朋友介绍了一个模组厂,帮忙定制了一批模组。然后,,,就没有然后了,然后就正常使用。
第二版我没有用OV的摄像头了,找了一款吊炸天的摄像头,超低功耗,而且响应速度极快(一般的摄像头配置完成后,会有一定时间的延时,比如我用的OV这一块,延时就挺明显,达到了200ms,这也是为什么我的帧率只有0.5fps,大哭)。
摄像头没有太多可说的了,也不太方便说。这个板块的突破也是第二版的核心突破。

1.3 无线射频

先总的来说:射频我最开始用的蓝牙,到第一版正式版的时候我用了nrf24l01.

射频这一块也走了一些弯路,最开始我用的蓝牙(我感觉很多人一开始都会用蓝牙,捂脸笑)。主要是因为蓝牙功耗低,而且实际传输速率高,我自己用nrf52840(CKAA的封装,体积超小,4mm*4mm)做了原始版,实测传输速率可以达到156KB/S,这个速度确实诱人。但是,,问题来了,蓝牙方案有一个致命的缺点:蓝牙长连接是比较耗电的,如果想保持快速响应数据传输,就需要长连接或者能立即从断开状态回到连接状态。长连接已经不可能了,那么从断开状态到连接状态需要多久了?这个,比较魔幻,我在做测试的时候,连接时长非常不稳定,运气好的时候,50ms就能连接上,运气不好的话,需要200ms才能连接上,而且,最最致命的是,有的时候还会连接失败,然后,系统就一直等着。基于此,我在搞了半个月以后,也放弃了使用蓝牙传输。后面选用了Nrf24l01。

Nrf24l01的实际传输速率,我自己只做到了65KB/S,我去各大论坛上看了一圈,好像也没有比我高的了(嘚瑟)。他的核心优势在于不需要连接,直接就能传输。一张JPEG的图片是8KB左右,那么我传输一张图,就只需要120ms。虽然看着这个时间是长了点,但是确实稳定,如狗一般稳,而且还不用担心连接失败的问题。

我在第二版中,把无线传输的速率提到了125KB/S。这个速率,基本比蓝牙低不了太多了,而且是非常稳定地传输,稳比快更重要。

1.4 电池

电池用的是927氧化银电池。之所以不用其他电池,是因为氧化银电池内阻大,即使短路了也不会爆炸,甚至都不会发热。吃到肚子里的东西,马虎不得。

1.5 总结

总结一下。

  1. 第一版,属于个人尝试版,摄像头使用OV的,处理器使用stm32h7x3,然后射频使用nrf24l01,续航大约三个小时。

  2. 经过一年多的努力,第二版目前核心功能都已经完成,还有一些修修补补的地方,需要完善。

    本系列还在持续更新中,由于第二版的完善需要投入大量的时间和其他一些商务上的原因,没有去做图片素材和视频素材,可能会使文章缺失一些色彩,会尽快补上。

内窥镜胶囊(胶囊内镜)硬件方案相关推荐

  1. 深度学习的三种硬件方案:ASIC,FPGA,GPU;你更看好?

    原文链接:http://www.sohu.com/a/123574005_465947 深度学习的三种硬件方案:ASIC,FPGA,GPU:你更看好? 2017-01-06 10:59 硬件十万个为什 ...

  2. 轻舟智航发布Driven-by-QCraft第三代自动驾驶硬件方案

    如何保证 L4 级自动驾驶系统的普适性,同时找到自动驾驶车辆成本.规模化之间的平衡点?近日,此前已经在自动驾驶网约巴士(Robobus)领域打出声量的轻舟智航推出了全新的 Driven-by-QCra ...

  3. STM32F103 FPGA架构多轴运动控制器 四轴运动控制器硬件方案

    STM32F103 FPGA架构多轴运动控制器 控制卡硬件方基于STM32F103与FPGA架构的四轴运动控制器硬件方案,资料包括原理图与PCB图,没有源码. ID:1420589812659904

  4. 重磅!L4级自动驾驶硬件方案来啦!

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 编辑丨计算机视觉life 如何保证L4级自动驾驶系统的普适性,同时找到自动驾驶车辆成本.规模化之间的平 ...

  5. 科技不总是冷冰冰,智能便携打印机让文字更有温度!——硬件方案篇

    简介:利用Wi-Fi&BLE云模组让普通打印机实现App端输入文字即可实时&远程打印. 开文唠一唠:现代的通讯越来越便捷,大家的的远程交流都是在微信.QQ等线上聊天工具中完成的了.这种 ...

  6. 无人巴士和无人出租车都能用的L4自动驾驶通用硬件方案

    / 导读 / 最近,笔者在苏州试乘了一趟Robotaxi,乘坐改造后的轿车在高铁站.商场附近.学校门口流畅穿行.车辆不仅能完成各种常规操作,还可以在有车辆加塞或者停在路边的时候,一边左右打方向一边减速 ...

  7. 可见光通信 调制解调技术 家庭机器人 可见光通信应用 原理及硬件方案

    可见光通信原理及硬件方案 可见光通信基本原理在正常照明前提下,将信息调制到LED灯发出的可见光中,接收端利用光电检测器(PD)将可见光并转换为电信号,并从中解调出相应的调制信息. 基于可见光通信,太速 ...

  8. micro:bit 的完整硬件方案

    近日,micro:bit 开发板的硬件方案完全公开了,大家可以自己DIY了. 方案包括了完整的原理图.PCB.BOM.装配图等,并且提供了Altium.KCAD.Eagle三种格式. 文章转载自 开源 ...

  9. 项目分享| DIY STM32控制的电子负载(硬件方案分享,软件代码下载)

    今天分享的项目是基于STM32控制的简易电子负载,具有恒流.恒压.恒电阻以及恒功率功能,最大输入电压为100V,热设计功耗为100W,最大负载电流为12A. 感兴趣的同学可以关注下.感谢! 系统结构图 ...

  10. 360°无盲区感知!轻舟智航发布Driven-by-QCraft第三代自动驾驶硬件方案

    近日,轻舟智航全新发布Driven-by-QCraft第三代L4级自动驾驶硬件方案,其中传感器套件结合了多类先进高精度传感器的特点,实现了360度无盲区感知,具备极强的稳定性和实时性.同时在传感器.计 ...

最新文章

  1. java 删除数组指定元素_Java从在数组中删除指定元素
  2. python提示对话框自动关闭_Python - tkinter:打开和关闭对话框窗口
  3. 移动端日期选择,下拉框选择效果
  4. bash 不是内部或外部命令_Python安装时提示“Python不是内部或外部命令...”解决方法...
  5. 云计算的应用解决方案
  6. lzg_ad:EWF原理详解
  7. index函数在python中的用法_index函数怎么在python中使用
  8. Java基础:如何在IDEA中查看依赖关系
  9. Android AndroidManifest.xml文件权限出现“Permission is only granted to system apps”的解决办法
  10. 2020计算机保研实录
  11. ABAP 新特性 - COND SWITCH 操作符
  12. 共享充电,是雪中送炭还是暗藏危险?——恶意充电宝实验
  13. 齐岳|马铃薯凝集素修饰PLGA纳米粒|利福平PLGA纳米粒|齐墩果酸/乳酸羟基乙酸共聚物-水溶性维生素E衍生物(PLGA-TPGS)纳米粒
  14. redis挂机问题搜查纪录
  15. 分类任务如何用逻辑回归实现_【机器学习面试总结】—— LR(逻辑回归)
  16. 乔戈里带你0元白嫖阿里云服务器指南
  17. HorizontalScrollView 自动滑动
  18. 收藏几个好用的webservice
  19. 深富策略短线消化市场情绪
  20. 手机上php视频格式怎么转成mp4,我想知道手机上用爱奇艺下的视频怎么转换成MP4格式...

热门文章

  1. CISCO 6509 三层交换机配置
  2. 把antd组件的英文切换为中文
  3. c语言如何画函数图形,c语言绘制函数曲线
  4. 电子元件知识汇总2-封装
  5. 中国绿色专利分地区统计数据
  6. 数字媒体技术在计算机技术中的应用,浅谈数字媒体技术的主要应用及发展趋势...
  7. 斐波那契数列 一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一年以后可以繁殖多少对兔子?
  8. 给予Java初学者的学习路线建议(转)
  9. Android常用工具类...
  10. Docker服务,堆栈和分布式应用程序捆绑