0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于3D打印技术的图像控制系统设计方案

基于3D打印技术的图像控制系统设计方案

来源: elecfans
2021-09-09
类别:工业控制
eye 6
文章创建人 拍明

原标题:基于3D打印技术的图像控制系统设计方案

  骨折多由严重创伤和高能量损伤所致,近年来发生率明显呈增长趋势。内固定,手术创伤度对骨折手术尤其重要,除了预防并发症外,复位内固定质量与创伤程度对治疗骨折极其关键。大多数骨科临床研究表明,平面显示的二维图像不能完全给人直观、立体的感觉, 影响医患双方沟通,医生不易解释手术方案,不利于构建和谐医患关系。为使手术更精准、安全,本研究将3D 打印技术用于打印骨骼以及骨骼修复体的基于嵌入式的 FDM 型 3D 打印图像控制系统,主要研发了系统的图像控制模块的 framebuffer 的驱动程序,完成了framebuffer 的驱动程序设计,在治疗时,能够利用 3D 技术打印出患者的骨骼实物模型,根据骨骼模型对植入导板进行精确塑形,再将塑形后的骨导板移植到骨骼中进行骨骼的修复。

  1 3D 打印图像控制系统中图像的传输与显示

  嵌入式系统传输图像数据信息,需要通过 Linux 系统下的帧缓冲(framebuffer)结构控制器来实现。因此 framebuffer 的相关知识对于本系统的实验十分重要,本研究主要完成 framebuffer 的驱动程序设计,完成控制系统中图像的传输与显示。

  工作原理如图 1。

  


  图 1 framebuffer 工作原理图

  1.1 嵌入式系统 framebuffer 设计

  1.1.1 FDM 3D 打印图像传输系统 framebuffer 总体控制设计

  本系统所使用的芯片为 Atmega 2560-16AU(AVR 核心处理器 8 位 16MHz,256KB Flash),集成了很多的外部设备来配合完成芯片控制功能,在 linux 系统下的源代码中的 linux/platform_device.h 头文件中定义了 platform_device 数据结构来管理描述这些外部设备。在系统启动时,就可以将所有芯片的平台设备加载,结构体形如下:

  struct platform_device Atm2560_device_fb = {

  .name = “Atm2560-fb”, //设备名

  .id = -1, //同种多个设备的编号

  .num_resources = ARRAY_SIZE(Atm2560_fb_resource),//资源数量

  .resource = Atm2560_fb_resource,//资源结构体数组首地址

  .dev.dma_mask = &Atm2560_device_fb.dev.coherent_dma_mask,

  .dev.coherent_dma_mask = 0xffffffffUL,

  };

  1.1.2 FDM 3D 打印图像传输系统 framebuffer 驱动结构设计

  帧缓冲作为用户与硬件之间的中间层,起到电脑显卡的作用,应 用程序对帧缓冲的操作即可看作是对显存的操作。framebuffer 启动后,需要我们对其 linux/drivers/videos/下的其的驱动程序进行部分编写,驱动程序是应用程序与外部设备之间的操作的接口,对应我们所 使用的 Atmega 2560-16AU(AVR 核心处理器 8 位 16MHz,256KB Flash)芯片,才能实现具体的图像显示功能。framebuffer 设备驱动包括在如下两个内核文件中:

  (1)linux/include/linux/fb.h

  (2)linux/drivers/video/fbmem.c

  fb.h 中主要包括了 framebuffer 驱动程序中占主要地位的数据结构。而 fbmen.c 则是既为上层的应用程序提供操作 framebuffer 设备的函数接口,让基本操作与硬件设备无关,又为底层的硬件设备提供 了相应的操作接口,但这些操作也不由 fbmen.c 完成,而是由系统使用的芯片处理器来决定的,本文中,我们由 Atm2560fb.c 来实现这些操作,需要根据不同的 LCD 控制器来实现相关的接口。图 2 为framebuffer 设备驱动结构。

  


  图 2 framebuffer 驱动结构

  1.1.3 FDM 3D 打印图像传输系统 framebuffer 驱动程序设计

  1.1.2 中完成 framebuffer 驱动程序的设计,才能使其正常工作, 让图片正确的显示。驱动程序与开发所使用的的硬件设备相关。所以, 驱动程序分为了两层:标准驱动和非标准驱动。

  由图 2 可以看出,标准驱动主要为应用程序提供操作接口[4],主要操作在 fbmem.c 的 file_operations 结构里,而底层驱动则是framebuffer 驱动程序真正需要完成的功能,需要进行相应程序的编写,来实现真正的图片显示。 本系统中帧缓冲驱动主要在drivers/video/Atm2560/Atm2560fb.c 中 ,驱动的全部信息在Atm2560fb_info_t 中。

  framebuffer 的驱动程序就需要编写 Atm2560fb.c 文件,主要包括以下几个内容:

  (1)初始化 fb_info 中成员函数。

  底层驱动需要与设备驱动实现绑定,这一过程就是在底层 驱动的加载的过程中完成的, 为了实现与方便绑定, 每一个platform_device 都定义了一个 platform_driver。

  2 系统测试

  本文采用黑龙江拓盟科技有限公司的 TMKJ -ET 系列 FDM 3D 打印机进行图像控制系统的操作实验,将骨手术患者术前 CT 扫描数据导入三维建模软件中生成三维骨结构,如图 3 所示。图 4 对术前骨手术患者骨骼进行复位后图像还原对比,得到修复后的骨骼三维图, 利用 3D 打印机将术后骨三维模型打印成型,并对打印的模型进行骨导板复原手术,最后,将精准的骨导板植入到患者骨骼中,完成骨手术的固定复原。

  

image.png


  图 3 骨手术前及术后 CT 图

  


  图 4 骨手术前三维重建以及术后三维重建图

  通过手术证明,FDM 3D 打印图像控制系统运行速度快,交互性高,性能稳定,可以精确打印骨科手术患者的三维骨模型,保证了骨 科手术安全性和可靠性,使基于嵌入式的 FDM 型 3D 打印图像控制系统更好服务于广大骨科疾病患者。

  3 结束语

  在本研究中,3D 打印技术已经用于打印骨骼及骨骼修复体等。在治疗时,能够利用 3D 技术打印出患者的骨骼实物模型,根据骨骼模型对植入导板进行精确塑形,再将塑形后的导板移植到骨手术中进行骨骼的修复。以往的 3D 打印图像控制系统集成复杂,界面交互感差且效率低。本研究系统的图像控制模块的 framebuffer 的驱动程序, 完成了 framebuffer 的驱动程序设计,通过系统测试结果表明,该图像控制系统运行操作简单,效率高且性能稳定,可以精确打印骨科手术患者的三维骨模型,保证了医生能够进行精准的骨科手术。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案