在这个项目中,我将向您展示如何构建一个用于3D扫描的电动转台。这个DIY项目由三个主要部分组成:顶板、中央齿轮驱动板和底座。顶板保持静止,作为放置待扫描物体的平台。
在设计的核心,中间板的特点是一个内部齿轮机构,隐藏在视线之外,这是由一个步进电机驱动。这个齿轮板旋转360度,包括一个安装点,用于附加一个外部3d打印的手机支架。这使得智能手机可以在保持固定距离的情况下围绕物体平滑旋转。
底板提供结构支撑,容纳所有必要的部件。顶、底板固定在一起,中间齿轮盘独立旋转。为了确保运动平稳,系统用四个滚珠轴承加固。
扫描时,我使用了一款基于ios的应用程序,但用户可以选择任何适合自己需求的软件。这个项目的主要目标是演示逐步建立一个电动转台的3D扫描过程。我们开始吧!
这个项目由三个主要的3d打印部分组成。第一部分为底座,包括三个轴承槽、一个步进电机座、三个侧面安装支腿槽和一个电源开关槽。
第二部分是齿轮盘。它在中心有一个轴承槽,是唯一负责旋转的运动部件。在它的一侧,有一个安装点,用于连接手机座。
第三部分为顶板,放置待扫描物体。这块是直接从它的中心固定到底板,确保两者保持完全静止。
此外,该项目还包括一个连接到步进电机的小齿轮,三个固定轴承的引脚和三个安装腿。此外,手机还配有加长臂和固定板。
如果你没有3D打印机,你可以使用PCBWay的3D打印服务来获得这些零件。STL文件是免费的。
在硬件方面,需要四个608 ZZ轴承来确保更平稳的旋转。需要一些螺栓和螺母来固定步进电机和手机支架。最后,将使用流行的28BYJ-48爱好步进电机。
我们将在接下来的步骤中介绍电子元件。现在,让我们开始建立固定轴承的基础。
•将引脚插入底座的引脚槽中,但不要完全插入。
•然后将轴承插入轴承壳,并将销完全压入槽中。
•然后将3英尺的碎片插入基座的脚槽中。它足够紧,但如果你愿意,你可以用M3螺栓固定它。
•取齿轮部件,将一个轴承压入齿轮部件中心的轴承槽内。
•将齿轮部分放在基座部分的顶部。
•放置顶板,使顶板部分的母槽与底座中心的公槽相匹配。
•最后,插入手机支架臂和支架,用M5螺栓和螺母固定。
完成了所有3D部件的装配。手动将中间层齿轮部分转动几圈,若转动平稳,拆下顶板和齿轮部分,将步进电机放入槽内,用M3螺栓固定。然后插入步进电机齿轮。这是所有!现在让我们进入电子步骤。
在电子方面,该项目使用ESP8266开发板,允许在需要时无线控制转台。对于步进电机驱动器,使用流行的ULN2003。需要一个面包板和几根跳线来建立电路。
为了给系统供电,将使用一个9伏的适配器,以及一些电容器和一个电压调节器,为开发板提供5伏的电压。一个电路图已经分享,以帮助您建立面包板设置。但是,将面包板放置在底座内可能会干扰旋转齿轮,并且松动的电线可能导致断开或短路。
出于这个原因,将使用自定义PCB代替。先前设计的PCB非常适合这个项目。PCB上的电源连接器已经更新,最新的版本现在可以在PCBWay项目页面上找到。
现在,收集必要的组件和焊接工具——让我们开始焊接吧!
如果PCB的焊接过程完成,将步进电机驱动芯片插入板中。确保正确对齐-芯片上的缺口应该与PCB上的缺口匹配。
接下来,将PCB放在基板上并连接步进电机。现在,是时候设置电源连接了。一个2针的开关用于接通和关闭电路,但这是可选的——你也可以直接连接电源适配器。
由于该项目使用较旧的PCB版本,因此将使用桶顶连接。然而,更新的PCB版本包括一个2针端子块,更容易布线。将电源线剪成合适的长度,连接到开关上,并焊接固定。为了防止短路,我使用了电工胶带,但为了更安全的连接,建议使用热缩管。
一旦电路设置好,我们就可以开始编程了。打开提供的源代码,并根据您的电机连接更新引脚号码。这是一个简单的代码,使步进电机在一个方向上旋转。将代码上传到电路板后,将其插入PCB板并上电。
在第一次测试中,马达熄火并发出一些噪音。如果发生这种情况,请尝试反转电机连接。您可以更改代码中的引脚序列或简单地翻转电机连接器。
现在它工作了!马达运转平稳。接下来,把齿轮板在中心。如果旋转仍然是平稳的,附加顶板以及。
正如你所看到的,转盘现在功能齐全,旋转起来毫不费力。在下一步中,我们将探索应用程序端。
在研究iPhone的3D扫描应用程序时,我在YouTube频道Through Iris上看到了一个很棒的视频。这个视频回顾了多个应用程序,对于这个项目,我选择了Polycam。由于这个项目的主要焦点是电动转盘,我将只介绍应用程序的基本使用。如果你也想使用Polycam,我建议你在YouTube上观看Andrew Sink的一步一步的指南。
下载应用程序后,您可以关闭订阅页面,继续免费测试。在扫描界面中,您将发现两种捕获模式。在手动模式下,每次拍摄你都需要按下快门按钮,而在自动模式下,你只需要在扫描开始和结束时按下录制按钮。
现在,把你想要扫描的对象放在旋转工作台的正中央。然后,把你的手机安装在支架上,按下录制按钮,然后启动转盘。该应用程序将自动捕获和保存图像在定期间隔的桌子旋转。如果需要,还可以降低电机步进速度,这可以提高扫描质量。基于源代码中当前的步进速度,一个完整的旋转捕获大约60个图像。
扫描完成后,停止录制并按应用程序中的上传和过程完成扫描。现在,你的3D网格已经准备好了!看看结果,我对它的效果感到惊讶,即使是快速的测试扫描。有了更精确的设置,我相信细节会更好。
代码
// wait for a single step of stepperint delaytime = 2;// ports used to control the stepper motor// if your motor rotate to the opposite direction,// change the order as {4, 5, 6, 7};int port[4] = {15, 13, 12, 14};// sequence of stepper motor controlint seq[8][4] = {{ LOW, HIGH, HIGH, LOW},{ LOW, LOW, HIGH, LOW},{ LOW, LOW, HIGH, HIGH},{ LOW, LOW, LOW, HIGH},{ HIGH, LOW, LOW, HIGH},{ HIGH, LOW, LOW, LOW},{ HIGH, HIGH, LOW, LOW},{ LOW, HIGH, LOW, LOW}};void rotate(int step) {static int phase = 0;int i, j;int delta = (step > 0) ? 1 : 7;step = (step > 0) ? step : -step;for(j = 0; j < step; j++) {phase = (phase + delta) % 8;for(i = 0; i < 4; i++) {digitalWrite(port[i], seq[phase][i]);}delay(delaytime);}// power cutfor(i = 0; i < 4; i++) {digitalWrite(port[i], LOW);}}void setup() {pinMode(port[0], OUTPUT);pinMode(port[1], OUTPUT);pinMode(port[2], OUTPUT);pinMode(port[3], OUTPUT);}void loop() {rotate(100);}