5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
楼主: zhanghailu
打印 上一主题 下一主题

DIY 3D打印机关键问题(一)挤出头步进电机的控制

[复制链接]
21
 楼主| 发表于 2012-4-26 08:23 | 只看该作者
找到一可行方案:用四轴驱动板(可以接两路继电器控制和主轴调速板的),也就是用2个开关量实现步进电机的正转和反转,用主轴调速板,实现步进电机转速调节,当然需要做一个板子,这样就可以用M3,M4和M5控制步进电机的正转,反转和停止了,用S命令控制步进电机的转速,方案正在确定中。

欢迎继续阅读楼主其他信息

22
发表于 2012-4-26 12:55 | 只看该作者
LZ在2楼贴出的代码不是用步进电机控制挤出头,是用普通的脉宽调速直流电机,这种挤出头设计不能精确控制,已经过时了。现在的3D打印机都是用步进电机控制挤出头,你可以把挤出头理解成第4轴,这个第4轴也是要和XY联动的,XY走多少,就要控制挤出多长的丝,走得快,挤出就多,反之就少,遇到空走的时候,还要把丝抽一点回去,这些都是要用挤出距离来控制的,不是正反调速转和停转这么简单

3D打印机完全可以DIY,只要买个挤出头的机械零件就可以了,电路和雕刻机的差不多,甚至更简单。完全没必要用MACH或者维宏,“国外人专门控制3D打印机的软件”是开源的免费软件,控制器是很简单的单片机,驱动步进电机的是常见的3977或者其他芯片做的驱动器。等你搞明白了,就会发现“我们这里满世界都是3D打印机的控制器”

上面有人说的“并且打印过程中中间没有填充物的方式,打印物体的外形有很大的限制”,不知道你有没有用过3D打印机,现在的3D打印机可以打印支撑材料,对外形的限制很少,而不是很大。“用喷墨头或紫外固化成型”也不是没有缺点,他们最大的缺点是树脂有毒或者粉尘很大,操作时需要佩带防护面罩,其次就是耗材太贵

这是一段REPRAP的G代码:
G1 X-2.0 Y36.19 Z0.36 F900.0 E80.321
G1 X-1.755 Y36yue4ri35 Z0.36 F1950.0 E80.5349

XYZF的定义和雕刻机一样,多了一个E轴,这个是控制出丝距离的,可以看出这个是一个4轴联动的控制

实际在做3D打印时,要求尺寸和底面平整度高的时候,需要先打一个支撑架,在架子上打印物体,打印完后,把架子剥离。既要让架子很容易剥离,又要让打印的物体非常结实,而影响层之间的结合强度的,是打印温度,温度越高,结合越强。进一步说,温度不同,打印速度也不能一样,温度越低,打印要越慢,否则喷出的丝会被喷头带起,拖着到处走导致打印失败。所以这个过程是一个关键,打印中需要改变温度和改变速度,需要准确设置支撑架、物体第1层、物体其他层的打印温度和打印速度,才能保证次次达到好的效果。打印温度是用挤出机控制板控制的,和主控制板通过RS485协议通讯,MACH或者维宏没有这种控制能力,也没有RS485通讯能力,所以做不了

LZ现在的想法,感觉就像是在研究怎么用焊接用的热风枪来吹头发,只是因为有现成的很多的热风枪,实际上去买一个普通电吹风就可以了,而且比热风枪更便宜

给LZ一个建议方案:到网上买一套REPRAP的电子控制版,Generation3的,既第3版的,就可以了,不用买最新的G7。买到后,学习一下Arduino,其实知道怎么烧固件就够了。然后把开源PCB设计拿给网上店打样,平均下来一套电路板的空板,大概几十园,焊上单片机等零件,就可以自己做出第2套控制器了,成本很低,比唯宏卡便宜一半以上
23
发表于 2012-4-26 18:02 | 只看该作者
看到你回复了我的帖子,我觉得你的方法是一个,但是不清楚,用mach3控制位置。用单片机控制喷头这种办法,如何实现二者的协调工作呢?谢谢你啦。



我估计你是想把喷头和雕刻机的主轴放到一起把,你只需要用并口控制所有的不仅电机/mach3,用单片机控制控制温度就可以了,或者用单片机做步进电机的切换电路(假设你有很多个喷头)。

[ 本帖最后由 hzs_1002 于 2012-4-26 18:05 编辑 ]
24
 楼主| 发表于 2012-4-26 22:51 | 只看该作者
原帖由 3dbuild 于 2012-4-26 12:55 发表
LZ在2楼贴出的代码不是用步进电机控制挤出头,是用普通的脉宽调速直流电机,这种挤出头设计不能精确控制,已经过时了。现在的3D打印机都是用步进电机控制挤出头,你可以把挤出头理解成第4轴,这个第4轴也是要和XY联动 ...

首先感谢3dbuild网友,花出一定时间和精力恢复我的帖子,很是感动。
一 通过你的回复,我学到了很多东西。
1 原来我错了。我一直以为我在在2楼贴出的代码是用步进电机控制挤出头,而不是用普通的脉宽调速直流电机控制的!所以我满世界找“用M3、M4和M5(主轴正转、反转、停止)来控制步进电机的正转、反转和停止"的方法,原来就是用普通直流电机控制的。
2 了解了,3D打印机的控制部分比雕刻机控制部分要简单。
3 原来真的存在“4轴程序”!我还以为我在2楼生成的程序(用ReplicatorG-0029_r2生成的)是目前所有3D打印机的格式。
(问题补充:这是一段REPRAP的G代码:
G1 X-2.0 Y36.19 Z0.36 F900.0 E80.321
G1 X-1.755 Y36yue4ri35 Z0.36 F1950.0 E80.5349

这是用什么软件生成的?哪个版本?)
4 学到了批量生产(批量山寨:em15: )的可行方法(可我不是为了批量生产)。
二 通过你的回复,请教的地方。

我在2楼贴出的代码(不全)
(<alteration>)
(**** beginning of start.gcode ****)
(This file is for a MakerBot Thing-O-Matic)
(**** begin initialization commands ****)
G21 (set units to mm)
G90 (set positioning to absolute)
M108 R1.98 (set extruder speed)
M103 (Make sure extruder is off)
M104 S225 T0 (set extruder temperature)
M109 S110 T0 (set heated-build-platform temperature)
(**** end initialization commands ****)
(**** begin homing ****)
G162 Z F500 (home Z axis maximum)
G92 Z10 (set Z to 10)
G1 Z0.0 (move Z down 0)
G162 Z F100 (home Z axis maximum)
G161 X Y F2500 (home XY axes minimum)
M132 X Y Z A B (Recall stored home offsets for XYZAB axis)
(**** end homing ****)
(**** begin pre-wipe commands ****)
G1 X52.0 Y-57.0 Z10.0 F3300.0 (move to waiting position)
M6 T0 (wait for toolhead parts, nozzle, HBP, etc., to reach temperature)
M101 (Extruder on, forward)
G04 P5000 (Wait t/1000 seconds)
M103 (Extruder off)
(**** end pre-wipe commands ****)
(**** end of start.gcode ****)
这是生成的程序开头部分,其中
M104 S225 T0 (set extruder temperature)
M109 S110 T0 (set heated-build-platform temperature)
是设置喷嘴温度和加热床温度,也就是说,在打印过程中,这个温度应该一直保持,因为后面的程序里没有再提到这个温度,所以,这和你说的“所以这个过程是一个关键,打印中需要改变温度和改变速度,需要准确设置支撑架、物体第1层、物体其他层的打印温度和打印速度,才能保证次次达到好的效果。”有出入,why?

三 通过你的回复,需要讨论的几点。
1 我之所有想用mach或微宏系统,主要是因为考虑到广大diy雕刻机爱好者,非批量生产,只是个人爱好的爱好者,利用雕刻机的三轴,+第四轴(挤出头控制和机械部分)+喷嘴加热及温度控制部分+加热床加热及温度控制部分,就可以实现“一机两用”。
2 关于“打印温度是用挤出机控制板控制的,和主控制板通过RS485协议通讯,MACH或者维宏没有这种控制能力,也没有RS485通讯能力,所以做不了”我有不同意见,步进电机驱动器可用单片机控制,就像hzs_1002朋友说的,用单片机和步进电机驱动**。

再次感谢回复的网友们,以上只是我的个人一些想法和意见,如有不妥或明显漏洞请不要见笑,和大家一起交流学习。

25
发表于 2012-4-27 00:01 | 只看该作者
我贴的代码是用skeinforge生成的,ReplicatorG-0029_r2里面也集成了一个简化版skeinforge,功能和参数有区别,我不用这个集成版,很多参数不知道在哪里调

你的程序看起来是用了MakerBot Thing-O-Matic的机器设置,虽然也是从REPRAP派生出来,但是MakerBot Thing-O-Matic的固件有修改,一些M代码和标准的REPRAP有区别,而且这个代码应该也是对应旧版的机器,MakerBot早就换成用步进电机驱动挤出头,所以M108 R1.98 (set extruder speed)这样的设置直流电机速度的代码不会有任何实际效果。用直流电机控制挤出头的缺点是很明显的,挤出速度很难和挤出头的移动配合得很好,遇到空走的时候,会有余丝流出,即使用反余丝策略,也就是在空走前让挤出电机反转,也难以处理好。

你的程序只设置了一个温度,这个跟你的设置有关,如果要求不高可不打印支撑架,是可以用一个温度的,但是大部分情况下,建议先打印一个支撑架。例如你打印一个大的盒子,不用支撑架的话,打印完这个盒子粘在打印床上很难搞下来。当然,用支撑架的情况下,也可以只用一个温度来打印,问题是打印完之后,你要用美工刀等工具,花很多工夫来除去支撑架

如果有雕刻机,可以利用机械部分和步进电机驱动部分,加上3D打印机的控制器、挤出机和控制软件,就可以了。雕刻机的控制器和软件都不需要。具体来说,如果雕刻机是用最便宜的全集成并口驱动器+MACH,可以做一个简单的转接板,把3D打印机的XYZ步进电机输出脉冲转接到一个并口的母头上,再插上雕刻机的并口驱动器,另外加一个单轴的驱动接挤出机,这样就可以了。如果是用维宏卡,也差不多,把原来接到维宏卡上的步进电机驱动,改接到3D打印机的控制器,其他的和MACH的一样。这样改接后,雕刻机就变成3D打印机,3D打印机的控制器自带G代码解释和实时插补,所以不再需要MACH和维宏卡了。这样做只有一个问题,3D打印机的5D控制器支持输出的频率在10K左右,雕刻机运动速度会比较慢
26
 楼主| 发表于 2012-4-27 09:53 | 只看该作者
原帖由 3dbuild 于 2012-4-27 00:01 发表
我贴的代码是用skeinforge生成的,ReplicatorG-0029_r2里面也集成了一个简化版skeinforge,功能和参数有区别,我不用这个集成版,很多参数不知道在哪里调

你的程序看起来是用了MakerBot Thing-O-Matic的机器设置, ...

好,看来需要把雕刻机的X和Y轴的传动改成同步带才能达到高速的目的!
27
发表于 2012-4-27 10:03 | 只看该作者
挤出头部分用主轴转速脉冲控制就得了
28
 楼主| 发表于 2012-4-27 14:10 | 只看该作者
楼上的朋友,没有仔细看帖哦,主轴转速脉冲控制只能控制直流电机,不能控制步进电机,精度和质量跟不上。
29
发表于 2013-2-10 22:21 | 只看该作者
有对这方面比较熟悉的朋友吗?小弟刚接触这个,最近需要做一个类似3D打印的产品。qq 83272874 ,希望对这方面有研究的朋友跟我联系,谢谢!
30
发表于 2013-2-11 02:07 | 只看该作者
如果是做fdm,沒必要再寫控制軟件,只寫單片機的下位軟件沒什麼用處,現成開源和付費都有,軟件不只控制用,還要計算支撐結構,
31
 楼主| 发表于 2013-2-11 19:52 | 只看该作者
已经攻克用雕刻机改3D打印机所有问题。此贴封贴。
32
发表于 2013-3-5 16:43 | 只看该作者
能把你的成果给大家分享下
33
发表于 2013-3-6 13:07 | 只看该作者
本帖最后由 d0661 于 2013-3-6 13:09 编辑

我来告诉你吧
把G代码里面的E改成A .让A轴步进电机做给料电机就行了。
文本编辑用“替换全部”E -->A

不论是MACH  还是USN-CNC 都一样可以运行。
34
发表于 2013-3-6 13:33 | 只看该作者
上海的朋友 可以去 创客新车间看看,那里最近 正在交流 DIY  3D打印机 。
35
发表于 2013-3-9 17:42 | 只看该作者
话说,本人非专业对于代码来说是一窍不通
36
发表于 2013-3-9 19:05 | 只看该作者
话说,可以共享下开源3D打印机的图纸吗
37
发表于 2013-3-9 20:12 | 只看该作者
楼主能分享一下就好了
38
发表于 2014-1-9 11:45 | 只看该作者
有空再来研究
39
发表于 2014-1-9 14:07 | 只看该作者
多谢分享。学习学习。
40
发表于 2014-1-24 13:48 | 只看该作者
想知道你是怎么把雕刻机和3d打印结合起来的,能否指点一下?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表