玩RepRap 3D打印机的朋友们,经常给打印虎提出一个问题,为什么自己的3D打印机驱动安装不上。根据我们的估计,这个问题应该能排在最常见的问题第一名了。因此,我觉得非常有必要单独写一篇文章,专门讲解一下驱动方面的问题。
实际上,根据虎哥我的经验,驱动安装不上的问题可以归为三种常见的情况。下面我们逐一讨论。
第一种情况,Windows自动下载安装驱动程序被关闭了针对主板:Melzi主板,以及少量使用FTDI芯片的RAMPS主板
我见过很多Windows 7,只要是国内重新打包的,不论是Ghost版、精简版、或者是完美装机版,都有类似的情况。这是因为对于盗版Windows来说,自动下载安装驱动的服务是不能工作的(微软的服务器会发现你使用的是盗版Windows,进而拒绝服务)。如果这个选项是打开的,则会白白浪费很长时间寻找驱动,但却一无所获。因此,所有的非正版Windows系统,都会将这个“自动下载安装驱动程序”关闭。
对于3D打印机用户来说,如果你用的是Melzi主板,并且使用的是正版Windows操作系统,那么恭喜你,直接在USB端口上插入Melzi主板之后,Windows就会发现并且下载正确的驱动程序,Melzi主板就直接可以使用了。但是,如果你用的是上面我们所说的盗版Windows操作系统,就会看到这样的错误提示:
进入设备管理器,可以看到设备上带有了惊叹号标志,代表目前没有驱动程序。双击设备,可以看到出错提示“该设备的驱动程序未被安装。(代码28)”。
驱动下载之后,是一个zip压缩包,解压缩之后,得到这样一个文件夹:
这时候,只要双击其中的dpinst-x86(对于32位操作系统),或者dpinst-amd64(对于64位操作系统),就可以开始安装了。经过简单的几步,安装完成之后,会得到这样的结果:
如果你的结果也是这样,那么Melzi主板的驱动程序就已经安装完成了。
第二种情况,Melzi主板上的FTDI芯片是山寨的针对主板:Melzi主板,以及少量使用FTDI芯片的RAMPS主板(其中FTDI芯片为山寨货的)
这种情况相对少见一些。如果你的Melzi主板,使用上面的方法仍然无法安装驱动程序,那么就要怀疑是不是FTDI芯片有问题了。首先打开设备管理器。如果设备管理器里面是这样显示的:
设备上带有了惊叹号标志,代表目前没有驱动程序。双击设备,可以看到出错提示“该设备的驱动程序未被安装。(代码28)”。这里的现象与上面的第一种情况中的现象是一致的。
下面选择“详细信息”属性页,并将“属性”调整为“硬件Id”,观察“值”列表,如果与图中所示相同,第一项是USB\VID_0403&PID_0000&REV_0600,那么恭喜你,你用的Melzi板子上焊的FTDI芯片就是山寨货了。(说明一下,如果是原厂的FTDI芯片,这里的值应该是USB\VID_0403&PID_6001&REV_0600,这样的原厂芯片应该用上面的第一种情况中介绍的方法就可以搞定了)
这里,我们只给出最终的解决方法,也很简单,就是下载我们专们用于解决这个问题的驱动包CDM_2.08.28_R.zip(
打印虎本地下载,
百度云下载)。这个驱动包,同样的32位/64位兼容的。
下载得到驱动程序zip压缩文件之后,将它解压,假设我们把这个文件解压到D:\CDM_2.08.28_R位置。下面回到设备管理器,在FT232R设备的对话框中,单击“更新驱动程序”按钮。
在弹出的更新驱动程序对话框中,点击“浏览计算机以查找驱动程序软件”。
然后在驱动软件路径编辑框里面,输入我们解压zip包的位置。对于我们这里示例的情况,就填入D:\CDM_2.08.28_R就可以了。点击“下一步”按钮。
接下来,Window会弹出一个警告,原因是这个驱动没有合法的数字签名。如果你安装了360安装卫士之类的软件,还可能在安装过程中被杀死。唉,谁让我们用了山寨货FT232R芯片呢,只好凑合了。在这里点击“始终安装此驱动程序软件”,继续安装过程。
这样山寨FT232R的驱动程序就安装好了。为了区别于正规的FT232R芯片,这里的设备名称最后加了一个R字母,叫做USB Serial ConverterR。
关闭这个对话框之后,我们就会发现设备管理器中“其他设备”处又出现了一个新的不能识别的设备。
再一次使用刚才的方法手动安装驱动程序,就可以解决这个问题。类似的,安装好的设备名称,为了清晰标示,变为了USB Serial PortR。两个设备都安装完成之后,在设备管理器中可以看到两个设备都可以工作了:
出现了串行COM端口之后,就代表着Melzi电路板的设备驱动安装好了。
第三种情况,Windows操作系统精简过度,缺少基础驱动程序文件针对主板:RAMPS主板
上面我们提到的Melzi主板,一般不会出现这种情况。出现这种情况的是另一种常用的3D打印机主板RAMPS。原本对于RAMPS主板来说,驱动程序的安装十分简单,只要用户安装Arduino软件,RAMPS对应的Arduino MEGA 2560主板的USB驱动程序就自动安装好了。但是如果你的Windows不是完整版,而是经过精简的版本,那么你就要小心了。Arduino安装完成之后,再插入RAMPS,会出现这样的现象:
看起来和第一种情况的Melzi主板很类似,都是驱动没有安装好,但如果进入设备管理器,就会看到不太一样的情况:
可以看到,这时候的错误代码是18,代表着驱动程序安装过程中出错了。切换到“驱动程序”属性页,并且点击“驱动程序详细信息”按钮之后,会发现当前没有加载任何驱动程序文件。
这个问题的原因是Arduino中提供的驱动程序所依赖的文件,在你的Windows之中被“精简”掉了,造成安装之后的驱动程序包不完整,也就无法工作了。
为了解决这个问题,打印虎给大家准备了一个完整无依赖的驱动程序包,可以从这里下载mega2560_usbser.zip(
打印虎本地下载,
百度云下载)。下载完成之后,同样要解压缩后使用。对于32位操作系统,应该使用解压缩之后x86文件夹;而对于64位操作系统,则应该使用解压缩之后的amd64文件夹。两个文件夹内都是一样的内容,下面的介绍我们就以32位为例。驱动程序下载、解压好之后放在一边备用即可,我们还要先执行卸载旧驱动的操作,然后再安装这个驱动程序。
如果你已经安装过Arduino自带的驱动程序,那么在设备管理器的“驱动程序”属性页里面,点击“卸载”按钮。在弹出的确认设备卸载对话框中,勾选“删除此设备的驱动程序软件”并且按下确定按钮。
完成之后,设备会在列表中消失,这时候按下窗口工具栏的“扫描检测硬件改动”按钮。
这时Arduino MEGA 2560对应的设备会回到设备树之中,同时具有如下图所示的几个特征:
- 设备类型是“其他设备”;
- 双击未知设备并且切换到“驱动程序”属性页后,可以发现驱动程序的相关信息都是空的;
- 再次点击“卸载”按钮,可以发现这次弹出的确认设备卸载对话框中,是没有“删除此设备的驱动程序软件”勾选项目的。
这就说明这个设备的驱动程序已经被清理干净了,可以进行下一步。如果这里还有驱动,那么还要按照之前的步骤再次卸载驱动程序,直到这里被清理干净为止。这点一定要注意,如果没有卸载干净,那么安装了打印虎提供的驱动也是不起作用的。
下面的驱动安装过程就很简单了,进入刚才已经下载解压备用的打印虎mega2560_usbser驱动程序文件夹(如下图所示),并且双击dpinst-x86(对于64位系统,应该进入amd64文件夹并且双击dpinst-amd64),即可。
在安装过程中我们会看到这样的警告信息:
这是因为打印虎提供的驱动程序没有经过数字签名。出现这个界面的时候,应该选择“始终安装此驱动程序软件”。接下来,驱动安装就完成了:
当看到这个界面的时候,我们的RAMPS主板驱动就已经安装好了。再回到设备管理器,可以看到:
这样就成功了。
结束语从我们这篇文章可以看出,3D打印机在驱动安装方面,还是有一些比较麻烦的问题的。如果你的运气比较好,也许整个安装过程完全不会出问题,顺利结束了。如果运气不太好,也许就需要在我们这篇文章中找找合适的解决方案了。
当然,我们虽然在32位的Windows 7上进行了全部的测试,但很多其他常用的系统,比如Windows XP(虽然已经发布了超过15年,但似乎还有不少粉丝在用哦,打印虎建议使用3D打印机的朋友尽快升级到Windows 7, 或者Windows 10),或者最新的Windows 10,并没有仔细测试过,如果你发现了问题,欢迎给我们指出。
最后,如果您对3D打印机驱动安装或是任何其他方面的3D打印问题,都可以在
打印虎3D打印问答社区提问。在打印虎3D打印问答社区,所有问题都会得到认真详细的解答。祝大家玩机愉快,每天都有好心情。