MakerLab创客实验室 — Let's Make something.
现在注册
已注册用户请 登入
15 回复
Andy medium avatar
#1 - 2 年前
Andy

旋转轴一般不是步进电机吧?主轴电机一般是简单开关类型的电机,或者通过pwm控制的电机,不是步进电机。所以不需要改E轴。而是用一个io口控制即可。

wen135 medium avatar
#2 - 2 年前
wen135

例:
切片程序:
X100 Y150 Z10 E5……
雕刻程序:
X100 Y150 Z10 A5……
由于2个程序中电机A和E名称不一样,主板无法执行。当然可以手工修改程序,将A全部改为E。但这样会非常麻烦。所以最好的方法是在固件中将E电机改为A电机。
不知这样说清楚了没有?

Andy medium avatar
#3 - 2 年前
Andy

@wen135 你的意思A和E电机一样?是步进电机?你确定吗?

wen135 medium avatar
#4 - 2 年前
wen135

确定是步进电机。
在repetier-host软件中切片输出g-code类型有mach3,这样的切片输出凡是送丝均为A,见程序举例:
X117.877 Y82.987 A273.912
这样的程序指令能在用MACH3软件的雕刻机改装的3D打印机中直接应用。
现在反过来,我想用雕刻机产生的程序指令
X100 Y150 Z10 A5……在mega2560直接应用。理论上只要将E电机名称改成A即可。
问题是在什么地方改?改了以后mega2560能按新指令执行。

Andy medium avatar
#5 - 2 年前
Andy

@wen135 试试安装下面方式改:

在Marlin_main.cpp文件中的335行:

const char axis_codes[NUM_AXIS] = {'X', 'Y', 'Z', 'E'}; //这里的E改为你想用的A

测试后,不管管不管用,希望能上来反馈一下,以便帮其他朋友做参考,谢谢。

wen135 medium avatar
#6 - 2 年前
wen135

这几天网上查了些资料,上面说的应该是mega2560和ramps1.4的编程问题。
笨办法,估计marin里所有“e”均改为“a”即可。
会弄一块板子试试看。
谢谢。

Andy medium avatar
#7 - 2 年前
Andy

@wen135 上面回复你了,试试可不可以,分析代码看的话是这样改。

wen135 medium avatar
#8 - 2 年前
wen135

弄一块2560板子试了,上面的方法不适用,提示编译错误。
marin里有许多文件互相关连,要改动须熟悉arduino编程。

Andy medium avatar
#9 - 2 年前
Andy

@wen135 不应该啊,错误信息发上来

wen135 medium avatar
#10 - 2 年前
wen135

按:“const char axis_codes[NUM_AXIS] = {'X', 'Y', 'Z', 'E'}; //这里的E改为你想用的A”更改。可以保存。
按验证,显示:编译有误。
#include“Marlin.h”
compilation terminated
刚才试,将保存的Marlin_main.cpp文件复制到marlin文件夹中,替换原cpp文件,可以编译完成。
检查conf….h、pin.h文件,里面仍然是E、E0等。

Andy medium avatar
#11 - 2 年前
Andy

@wen135 你管其他文件干什么呢?发送G代码试试A可不可以不就知道了?

dzs998 medium avatar
#12 - 2 年前
dzs998

雕刻机上 3个轴能用吗 用mach3操作 可以的话 就再买一块做个雕刻机

Andy medium avatar
#13 - 2 年前
Andy

@dzs998
应该可以,但我没试过,不敢确定

dzs998 medium avatar
#14 - 2 年前
dzs998

主轴不可能是步进电机 雕刻机主轴是可以不用控制板控制的 当然也可以给个信号控制 简单的主轴就是普通的直流电机带个夹头 通过调速器调速 一般3000到20000转以上 步进电机怎么可能上高速 另外问一下 如果控制板5路步进电机输出 其中xyz坏了一路 怎么用E路输出带替 ?

Andy medium avatar
#15 - 2 年前
Andy

@dzs998 恩,我也感觉主轴不可能是步进电机,替换xyz轴可以通过更改pins.h相应地方配置信息来实现举例,将E1位置改为X位置,找到pins.h文件,然后搜索310(我的板子类型是310,其他板子做相应调整),

//省略n行
#define X_STEP_PIN 62//将这里的数字改为下面对应的管脚编号即可,这里改为26
#define X_DIR_PIN 63//改为27
#define X_ENABLE_PIN 61//改为25

//省略n行
#define E1_STEP_PIN 26//如果怕冲突,可以将这里改为-1
#define E1_DIR_PIN 27//改为-1
#define E1_ENABLE_PIN 25//改为-1
//省略n行