0xAA55 发表于 2018-11-21 07:23:54

【STM32】3D打印一个可以正好嵌入ILI9341(带XPT2046触控)屏幕模块和STM32最小开发板的盒子

一开始只打算做个裸的,先把控制触屏的功能实现了。为了不让它接触不良,我把杜邦线都焊上去了,却发现:



这些杜邦线里面有一根里面似乎断了……

这我就郁闷了。每次要调试的时候都要先插上线,然后拿着它做测试,拿着的话免不了扭动它的那些线,然后运气不好的话这些线就会被扭断。
为了防止它总是进行不必要的活动,我决定给它做个外壳,以便于固定住它。

首先我用尺子量了它的各项尺寸,然后用maya建模。先把开发板和屏幕模块的模型做了,以便于用作参考来做它的盒子。


大致如下:
STM32板子:53mm x 23mm
屏幕模块:50mm x 86mm
屏幕:50mm x 69mm
孔(中心)的位置:测边距3mm 上边距4.7mm 下边距7.9mm
内径:3.5mm
SD卡的位置:距离上边从25mm开始到53mm结束,深度16.5mm,距离侧边1mm



我的设想是把盒子做成上下两块可以合起来的那种,然后互相顶住里面的板子和屏幕模块等。





然后我就开始建模了——从一个立方体开始拉伸它的尺寸,然后各种挤出——这是最常用的建模操作,通过挤出来获得更多的面,再用焊接来合并一些多余的顶点和边。



其实我第一次建模的时候,忘了给屏幕的排线留出空间——我选择直接用钳子把不要的部分掰掉。
其实切片软件(我用的是Makerbot)对模型文件的要求挺苛刻的,模型不能有BUG。你不能简单地把两个立方体嵌在一起就导出obj、stl了,这样会让切片软件分不清哪里是内哪里是外。
而且导出OBJ后,你还要用记事本等文本编辑器打开你导出的obj文件,看有没有哪个face同时连接了超过4个的顶点。



如图所示,一个f表示一个face(面),一个面最多连接4个顶点,超过了的话,我用的这个切片软件显示的模型就会“镂空”。因为它不知道obj的face的顶点是按照什么顺序排列的——有三角形表、三角形扇、三角形带等。事实上,很多切片软件都不能处理这个。
所以你需要检查几乎所有的面,然后用多切割工具手动连接各个顶点,保证每个多边形的边数不大于4。



这其实相当耗时,不过做起来也简单,就是连接各个顶点而已。可以交给刚学Maya建模、对Maya的操作感兴趣的人去做。(然后我就忽悠我的同学去帮我连接顶点了——毕竟对方也想多练习练习Maya的操作)

连接了所有的顶点后,你依然要检查有没有隐藏的BUG,比如夹在两条边的缝隙里面的面。我经常在挤出多边形后,再用焊接去掉多余顶点的时候,发现焊不上。这其实是有隐藏的多边形在里面碍事。而且这些隐藏的多边形还会妨碍切片软件,我的切片软件会因此减慢导出x3g文件的速度,并且让导出的x3g文件变大。实际打印的时候,我就看那个喷头原地懵哔,然后颤抖……不过片刻后它又恢复到正常的工作里了。


(图上为隐藏面。它原先是面积为零的面,它右边那个钝角相连的边在被我揪出来以前,wobingb我在试图用多切割工具将左面的顶点与这条边上的顶点相连时)

其实这有一个很“作弊”的方法可以快速找出BUG。按3键看它的平滑预览,找到黑色的面,然后将其除去。



这虽然看起来很魔性,犹如高温熔化的塑料,传达着慵懒与无力带来的对自己的无能的负罪感——但我把它的黑面一点点去掉了,所以没有问题。



经过一番折腾后,我把盒子的两个部分都建模好了。然后我把它用切片软件切片后拿去3D打印,结果却并不理想——尺寸缩水了。要是再大1mm或许就能把屏幕放上去了。
而且因为模型BUG,四根包含了螺丝孔的柱子都没有被打印出来——这些柱子我是用Maya建模工具里面的“布尔”->“差集”去排除掉4个圆柱体来做的,但那些顶点并没有连接到就近的顶点,换句话说就是螺丝孔附近的多边形是个边数非常多的BUG多边形——Maya能正常显示,但导出obj后切片软件却不能正常显示,这也是我当时意识到需要用多切割工具来好好处理这些边的原因。



随后我修复了模型中的所有BUG,稍微放大了一下模型,并且重试打印,这次终于成功了,屏幕也可以被完美地放下去。
但我发现我给STM32开发板留出来的空间并不够,它的BOOT0、BOOT1的跳线针的位置其实很高,并且后面的排线其实挺粗的,合上盖子就会很压迫这些线。
后面我干脆把它的跳线针焊下来掰成U字形,再焊回去,“钦定”了跳线。





这样确实可以很吻合地放进去了,合上盒子的时候它还会发出令人感到非常舒适的“咔”的声音,严丝合缝。并且螺丝孔的位置也是对的。但排线还是非常压迫的。我干脆换成细铜丝,就不压迫了。
此外我手上的20mm螺丝其实长度非常捉鸡,很微妙地从出口伸出1mm,根本不够拧上螺母。





顺手用Maya的Arnold渲染器渲染一下场景。说起来,Arnold渲染器是一个纯CPU的渲染器,它能让你真切体会到牙膏十分不够用。渲染的时候,鼠标都动不了。打开任务管理器,看到8个CPU逻辑核心都被用到100%。
它要是用GPU的话,做个基于三角形面片模型的光线追踪,或许能渲染得更快一些吧……然而我这个画面渲染了好久(没计时。一桶杯面的时间吧。)







(真好看啊……)

但当我想制作第二个这种玩意儿的时候,我再也不想把BOOT0和BOOT1的跳线针焊下来了——太麻烦了,而且它用的焊锡似乎熔点略高,我的焊锡糊上去后它依然纹丝不动。
于是我决定继续修改模型,让它足够高,能容下完整的STM32最小开发板。
此外,我还调整了USB口的位置,并且给USB口也做了个柱子,它能抵住USB口使其像那个SD卡的口一样稳固。
我还重新调整了排线位置处的那个“墙”,这样下次打印我就不用费尽拿钳子掰了。





橙色的3D打印耗材真好看。这东西做好以后,它甚至让我想到了上个世纪90年代流行的各种小型游戏机。



确实很好看,四四方方的,SWD口接出4个颜色的线,蓝色是接地,橙色是电源,黄色是数据,绿色是时钟。
对于STM32板子的固定,我在外壳的地方加了个卡槽,上部的盒子拦住板子不让它前后滑动,而下部的盒子则抵住板子不让它上下活动。这样板子就被完美地固定好了。



写了个程序,让屏幕显示东西。因为不知道显示什么比较好,就干脆让它卵显示了(颜色用“彩虹色”计算,然后坐标随机画2x2点,检测到触控的时候在触控位置画彩虹色的4x4点,以及以时钟值作为x和y画“流星”)



现在它已经能被我很稳固地放置在一个便于观察的地方了。调试的时候就可以不用那么麻烦了。



这东西能干啥呢?暂时不知道。它的盒子里依然有空间可以放别的东西,比如电池等。它有个SD卡插槽,有个触屏,然后STM32自己有温度传感器等。以及,它可以充当一个USB设备来运行。感觉可以当作“原型机”被用于做各种别的东西(最直观的就是游戏机了吧)
经过多次测试,我终于浪费完了我的所有橙色耗材。新买的备用耗材是黑色的,然后屏幕在没开机的时候也是黑色的——怎么想都觉得应该不会很好看吧……



来了……本当丑爆。而且我买的这个黑色耗材很差,它拉丝。我是打印完了后再用打火机上上下下烤了一遍才稍微平整点的。
不过和橙色的做对比的话,橙色那个其实USB口并不是十分严丝合缝。黑色这个USB口被我微调后,很稳。

最后渲染一下USB口和SW调试口。感觉像一个工厂的入口一样,里面藏着秘密兵器。我感觉我可以把这个模型拿去做成游戏地图了。





顺便放出OBJ文件。做了好久的模型感觉好累……

青山彦樹 发表于 2018-11-22 01:01:35

本帖最后由 青山彦樹 于 2018-11-22 01:05 编辑

目睹全程以后,发现3DCG这课必须要学啊,真tnd有用!

tomwillow 发表于 2018-12-5 18:13:48

看了楼主的过程,各种修补模型……maya还是不适合拿来做工业模型呢!

楼主要不试试SolidWorks?我平时做模型没有修补点之类的步骤,都是直接导出的:lol

0xAA55 发表于 2018-12-5 20:05:43

tomwillow 发表于 2018-12-5 18:13
看了楼主的过程,各种修补模型……maya还是不适合拿来做工业模型呢!

楼主要不试试SolidWorks?我平时做模 ...

确实,不过我也有办法临时解决多边形连接的顶点过多的问题。我写了一个工具可以用于把一个复杂的obj模型里面的多边形转换为多个三角形组成的图形,这样的话再丢给切片软件就没问题了。

大能猫 发表于 2019-2-9 14:32:01

0xAA55 发表于 2018-12-5 20:05
确实,不过我也有办法临时解决多边形连接的顶点过多的问题。我写了一个工具可以用于把一个复杂的obj模型 ...

同样安利solidworks
几小时就能上手,像这种比较简单的模型只要参数确定好1小时内可以出图

yzw92 发表于 2019-8-15 05:55:54

看了楼主的过程

0xAA55 发表于 2020-1-13 17:56:59

yzw92 发表于 2019-8-15 05:55
看了楼主的过程

然后呢?

乘简 发表于 2021-3-31 09:25:09

双十一想搞一台3D打印机(5000以下的),求推荐啊!:lol

0xAA55 发表于 2021-4-1 02:51:27

乘简 发表于 2021-3-31 09:25
双十一想搞一台3D打印机(5000以下的),求推荐啊!

淘宝搜 Creality3D 或者 Anycubic 这两家都不错

乘简 发表于 2021-4-6 14:52:33

创想有一款3合1的,又可以3D打印,换头后可以做为激光雕刻,再换个头可以做CNC雕刻,感觉很牛,目前倾向这一台了。。。:lol

0xAA55 发表于 2021-4-6 17:03:58

乘简 发表于 2021-4-6 14:52
创想有一款3合1的,又可以3D打印,换头后可以做为激光雕刻,再换个头可以做CNC雕刻,感觉很牛,目前倾向这 ...

啊这……听起来是不错,但感觉换头太麻烦了,还不如整三台独立的专用。就怕换头给换坏了。

乘简 发表于 2021-6-18 22:24:10

0xAA55 发表于 2021-4-6 17:03
啊这……听起来是不错,但感觉换头太麻烦了,还不如整三台独立的专用。就怕换头给换坏了。 ...

终于没等到双11,今天618就已经下单了一台Anycubic Vyper,到手价是2149,等收到货到时再来请教啊。。。

乘简 发表于 2021-8-3 10:41:57

画图呢,我被安利,用的DesignSpark Mechanical(这软件免费的,但要安装.net4.6.2才能运行,运行速度有点卡),看了1小时的视频就能上手画图了,也打印了个肥皂盒,在家里使用着。

后来我画了把梳子,打了4次都失败了,cura切片软件参数太多,很难弄到最好。

晚点我把模型文件发上来,看楼主能否打印。。。
页: [1]
查看完整版本: 【STM32】3D打印一个可以正好嵌入ILI9341(带XPT2046触控)屏幕模块和STM32最小开发板的盒子