【打印虎】RepRap 3D打印机Melzi主板电路详解

一、简介

玩RepRap 3D打印机的朋友们,一定听说过Melzi主板。Melzi主板是一种在3D打印机领域应用非常广泛的紧凑型全合一3D打印机控制板,适合于单挤出头的3D打印机机型。

Melzi主板最开始是基于Arduino Leonardo进行的设计改进,Leonardo就是我们熟知的列奥纳多·达·芬奇,所以设计者选择了达·芬奇最钟爱的学生Francesco Melzi,弗朗西斯科·梅尔兹作为主板的名字。

image001

弗朗西斯科·梅尔兹《青年妇女肖像》

Melzi主板有三个主要的版本,下面表格总结了三个版本的差异:

版本 ATmega MCU 步进电机驱动
Melzi 1.0 644P A4988
Melzi 2.0 1284P A4982
Melzi 2.0混合版 1284P A4988

可以看出,实际上Melzi的三个版本之间差异不大,只有两种不同的PCB版型,Melzi 1.0与Melzi 2.0混合版,使用的是完全一样的PCB版型,而Melzi 2.0由于将步进电机驱动芯片换成了A4982,修改了步进电机驱动芯片局部的PCB走线。

目前在市面上,能够购买到的Melzi主板,基本上只有Melzi 2.0以及Melzi 2.0混合版两种。这两种唯一的区别就是步进电机驱动芯片,而A4988和A4982两种芯片,基本上只是封装外观不同,没有本质的区别,因此在选购时随便哪一种都是可以的。

image002

上图是一片Melzi 2.0主板,所有芯片上都没有覆盖散热片。可以看到,主板上的步进电机驱动芯片是A4982。

Melzi 2.0以及Melzi 2.0混合版主板的主要参数:

  1. 处理器:ATmega 1284P
  2. 全部电气连接使用螺丝端子,不需要压线或者焊接
  3. 提供Micro SD卡(TF卡)接口,脱机打印G-code文件
  4. Mini USB接口
  5. 提供4个独立的A4982(或者A4988)步进电机驱动
  6. 提供3个独立的MOSFET驱动,用于挤出头加热、热床加热以及风扇
  7. 外形尺寸:210mm x 50mm x 17mm
  8. 重量:70g

一个3D打印机玩家经常问虎哥的问题,是Melzi与另一种特别常见的RepRap 3D打印机主板Arduino Mega 2560 + RAMPS的方案相比有哪些异同?我们专门列了一个表格,来说明这个问题:

  Melzi Arduino Mega 2560 + RAMPS
MCU型号 ATmega 1284P ATmega 2560
主频速度 16MHz 16MHz
FLASH容量 128K 256K
SRAM容量 16K 8K
PCB版型 全合一形式,单片PCB板,可靠性高 插接形式,由1片Arduino Mega 2560,1片RAMPS以及4片步进电机驱动板组成,灵活性高
电气连接端子 侧面螺丝端子,使用方便可靠,连接完成后接线整洁 直插杜邦线接口,容易出错,连接完成后接线混乱
SD卡支持 支持 不支持
挤出头支持 1个 2个
LCD支持 单线LCD,不需要额外转接板 双线LCD,需要额外转接板

如果你对Melzi主板感兴趣,想把Melzi主板用在自己的3D打印机上,可以到打印虎的Melzi产品页面上看看。

有些朋友,会觉得Melzi不能支持双挤出头,或者感觉FLASH容量小,不够用,怎么办?对于这些问题,就必须给打印虎做一个小广告了。日前,打印虎正式推出了自主研发的下一代3D打印机主板Salai,这个主板采用了32位ARM体系结构,CPU运行速度是传统8位主板的5倍,可以有效提高3D打印的质量,同时支持双挤出头,自带3.5英寸的TFT全彩触摸屏,配合大幅改进的Repetier-firmware固件,拥有丰富的操作功能和良好的用户界面。这个产品的固件不仅功能丰富,还是开源的,可以满足深入学习的需求!这个产品不光性能高、颜值高,核心代码开源,价格还特别低,有兴趣的朋友,可以到打印虎的产品页面,看看更详细的信息,这里就不多说了。

二、设计图纸

既然Melzi是完全开源的设计,相关的设计图、电路PCB板图在哪里能下载到呢?如果你的英文没有问题,可以直接从github上下载Melzi的原始设计文档:

https://github.com/reprappro/melzi

如果觉得直接看英文页面有困难,也可以在这里下载(打印虎本地下载百度云下载)。

下面,我们就一起看一下这个zip文件中都有哪些内容。

解压缩zip压缩包之后,可以看到很多文件,其中有两张png图片。Melzi.png以及melzi-board.png,分别是电路原理图以及PCB版图。

这两张图我们都贴在这里,但因为图片很大,在页面上肯定是看不清楚的,如果需要看清晰版,还是要下载zip包之后在电脑上看。

image003

Melzi 2.0原理图,文件名melzi.png

image004

Melzi 2.0 PCB图,文件名melzi-board.png

虽然使用png格式的图片,用很多看图软件都可以直接查看,但对于电路图来说,特别是PCB设计图,仅仅使用看图软件查看是远远不够的。电路板上很多的细节,特别是正反面都有的PCB走线,如果只凭一张图片,就会有很多东西被覆盖住,完全看不出来了。对于这样的情况,就要求我们必须用EDA(电子设计自动化)软件进行查看了。

Melzi设计时,使用的EDA软件是EAGLE 6.2,在我写这篇文章的时候,EAGLE已经升级到7.5版,经过试验,EAGLE 7.5完全兼容EAGLE 6.2生成的文件,所以我们就用EAGLE 7.5来进行下面的介绍。最新的EAGLE 7.5版可以从这里下载(打印虎本地下载百度云下载)。下载、安装完成之后,就直接可以开始使用了,因为这篇文章不是专门介绍EAGLE软件操作的,所以我们只是进行简要的介绍,一些细节如需要可参考其他的相关资料。

image005

EAGLE启动到主界面之后,就可以使用菜单,打开Melzi的原理图和PCB版图了。首先我们使用菜单“文件”-“打开”-“原理图”,并选择刚才解压的zip压缩包中的melzi.sch文件。可以看到,Melzi的原理图以及PCB图,会在两个独立的窗口中打开。屏幕上首先应该能看到原理图窗口:

image006

PCB图窗口,一开始应该是处于最小化状态,点击Windows的任务栏上的图标,就可以将这个窗口展现出来。这个窗口中实际打开的是melzi.brd文件:

image007

在EAGLE软件里面,再观察原理图以及PCB图,就很方便了。可以任意放大缩小、分层、按照网络查看等,完全可以满足各种需求了。

除了以上介绍的4个文件之外,zip压缩包中还有不少文件。其中,melzi-bom.csv和melzi-bom.ods是Melzi主板的BOM(物料清单)文件,两个文件的内容一样,可以用Excel等电子表格工具软件打开。

剩下的其他文件,是用于Melzi主板制造的GERBER文件。这些文件都是从PCB版设计图中导出的,并不是基础文件,因此即使删除,也可以很容易地重新导出。至于GERBER文件如何生成、查看、使用,就不是本文的主题了,有兴趣的朋友可以查其他资料获得答案。

三、原理分析

以上两节,从总体上介绍了一下Melzi主板,以及Melzi开源文件压缩包中的各个文件。这一节简单分析一下Melzi电路板原理图。

image008

首先是MCU模块,这个模块设计非常简单,基本上就是使用了数据手册的参考设计。所有的通用IO引脚都利用上了,有几条还进行了重用。

image009

电源部分,使用了7805DT提供+5V电源,另外用了一个跳线(位于主板中部),选择从USB供电还是从7805供电。对于7805来说,+12V的电源输入比较合适,如果用+24V的电源输入,这个芯片就会太烫,需要特别散热才行。

image010

热床、挤出头以及风扇的控制(图中是风扇的一路,其他两路完全相同),使用了一个MOSFET管作为开关。因为热床要求的功率很高(大约100W),因此这里的MOSFET管电压降必须要小,才能避免在这里产生过多的热量。也是由于同样的原因,虽然原理图上没有体现,但需要从PCB板上体现的是,+12V的VMOT的导线需要尽可能宽,减小电阻和发热量。

image011

主板上有4路步进电机驱动芯片,每一路的图纸是完全一样的。这里的设计也是标准设计,MS1/MS2/MS3(只有A4988有MS3)要与VCC短接,得到步进电机16细分。另外,SENSE1/SENSE2两个电阻,与获取REF参考电压的电位器,要成比例。如果是如图中设计的情况,SENSE1/SENSE2使用0.1R电阻,则REF参考电压应该设定在0.6~0.8V之间;如果SENSE1/SENSE2使用的是0.05R电阻(我在市面上的一些Melzi主板上见到过),则REF参考电压应该设定在0.3~0.4V之间。

image012

XYZ三个限位开关,以及热床和挤出头的热敏电阻,都使用同样的方法与MCU连接。连接端子引出的两个头,一个接地,另一个接MCU通用IO接口,同时有一个10K电阻上拉。对于限位开关来说,MCU只要能判断0/1信号即可。但对于热床和挤出头热敏电阻来说,需要得到一个电压值,因此必须连接支持ADC的MCU接口。实际上,当前的Melzi设计中,热床和挤出头的热敏电阻,分别连接了MCU的ADC6和ADC7两个口。

image013

Melzi主板使用了FTDI FT232RL芯片连接USB端口。使用这个芯片有两个好处,一是芯片已经固化了USB连接程序,不需要再自己刷入了;另一方面这个芯片还提供了3.3V的电源输出,可以直接给SD卡模块使用,省去了一个单独的电压转换芯片。

image014

最后是SD卡的电路,这里使用一个74HC4050D芯片,将+5V的信号转为+3.3V的信号。

四、配套LCD模块

现在越来越多的DIY爱好者给自己的3D打印机配上了LCD,这样可以脱离电脑单独控制3D打印机。Melzi主板配套LCD的最佳选择,是打印虎研发的Melzi专用12864中文LCD产品。这个LCD模块使用单条10pin JTAG导线连接,在标准Melzi 2.0主板上,不需要再增加转接板,即可直接连接LCD屏幕。

image015

另一种方案,是使用原本给RAMPS设计的双线12864 LCD模块,这种LCD模块由于要支持上面自带的SD卡插槽(RAMPS上缺少SD卡插槽),所以必须用两根10pin JTAG导线连接。虽然Melzi自己已经有了SD卡插槽,但也必须把两根线都接好这个LCD模块才能工作。可惜对于双线LCD来说,Melzi主板上没有合适的插槽了,所以还需要一片转接板,才能正常使用。

image016

很明显,与打印虎提供的Melzi专用12864 LCD模块方案相比,这个方案在使用的方便程度、完善程度上,就有差距了。

五、常见问题

Melzi主板经过最近一两年的发展,也出现了很多相关的问题。特别是在国内,Melzi设计的开源,让大家学习到设计知识的同时,也带来了更多的混乱。下面我们就总结一下目前比较常见的一些Melzi主板的问题。

image017

首先看图中这块Melzi主板,实际上,这块板子是否还能叫做Melzi我都有点存疑。这块主板最大的问题,就是对Melzi设计的修改过于混乱。既失去了Melzi主板原有的可靠性,又没有获得Arduino MEGA 2560 + RAMPS的灵活性。可以注意一下图中右下角的Melzi扩展端口,为了连接双线12864 LCD又不要扩展板,就直接把Melzi的扩展口改为了双10pin JTAG形式。这样,连接双线12864 LCD确实不需要扩展板了,但其他标准Melzi的扩展设备,也就不能连接了。如果用户购买了这样的主板,又买了某种针对标准Melzi主板设计的扩展设备,就只能自认倒霉了。

另一种相对比较常见的问题,出在FTDI芯片上。在元器件市场上有些假冒的FTDI FT232RL芯片,售价比原厂芯片便宜不少。有些主板制造商,为了降低主板的成本,就去使用这样的假冒芯片。这种芯片质量比较差,容易出问题,而且一旦厂商采取措施,这些芯片用户就只能承担相应的损失了。关于假冒FTDI芯片的问题,打印虎在之前的文章中已经比较详细的介绍过了,这里就不再详细说明了。有兴趣的朋友可以去参考【打印虎】Melzi USB设备不能识别解决办法

除了FTDI芯片这样的关键部件的质量问题之外,其他小零件也会有类似的问题。为了降低成本,有些主板制造商会采用价格较低质量较差的元器件。这里我们举一个小例子,如以下所示。

image018

这里我们给了两块Melzi主板接线端子的特写照片。上面的Melzi主板,接线端子使用的是方形接口的接线端子,而下面的Melzi主板,使用了圆形接口的接线端子。这两者看起来很类似,但实际上用起来差别很大。方形接口的接线端子,不论导线较粗还是较细,都可以很容易地插入端子,并且牢牢固定住。但圆形接口就费劲多了,导线不能粗也不能细,要恰好符合端子的要求,而且插入的时候也很困难,比方形接口要多用几倍的时间才能搞定。价钱呢?不用我说大家也能猜到了,方形接口当然更贵。可能是因为制造工艺的原因,同样一个端子要比圆形接口的贵出2~4倍,虽然只是几毛钱,但积少成多,很多制造商还是选择了便宜的版本。

六、结束语

到这里为止,我们对Melzi主板的介绍就全部结束了。不知道大家看了这篇文章之后,是否对Melzi主板的理解加深了一些呢?

如果你看了我们的文章,对Melzi主板很感兴趣,可以到我们的产品页面查看产品详情,产品页面的底部,是打印虎淘宝店的连接,购买主板可以到打印虎淘宝店完成。

打印虎作为国内最专业的3D打印机主板设计生产厂家,竭诚为广大用户提供最优质最便宜的3D打印机主板产品。目前主要提供Melzi主板,以及Melzi的升级产品Salai主板。除了主板之外,打印虎还提供3D打印机软件、硬件研发定制服务。无论您是3D打印机DIY玩家,或者是3D打印机的生产企业,都欢迎来打印虎选购产品,洽谈合作。我们会用专业的态度加精湛的技术帮助你解决3D打印机研发中的困难,提供最优质产品和服务。希望能够得到广大用户的认同和选择。我们的联系方式可以从打印虎网站获得。祝大家玩机愉快,每天都有好心情。