讨论:Mini CNC:修订间差异

来自工场百科
→‎Axis 界面:​ 新章节
第47行: 第47行:
由于我们使用的4060CNC在触发Limit switch 的时候会自动向后移动一个固定offset,所以不必担心serach velocity带来的问题,可以把它调大一点儿。
由于我们使用的4060CNC在触发Limit switch 的时候会自动向后移动一个固定offset,所以不必担心serach velocity带来的问题,可以把它调大一点儿。
但是后面又发现limit switch 用作home switch 和直接使用home switch 是不同的,电机会在触发limit switch 之后再次调整位置,触发limit switch 同时导致电机进入急停,一方面这会碰撞机器,另一方面使得home all无法使用,目前还没有一个比较好的解决办法。
但是后面又发现limit switch 用作home switch 和直接使用home switch 是不同的,电机会在触发limit switch 之后再次调整位置,触发limit switch 同时导致电机进入急停,一方面这会碰撞机器,另一方面使得home all无法使用,目前还没有一个比较好的解决办法。
== Axis 界面 ==
--[[用户:Weibc19|魏冰川]]([[用户讨论:Weibc19|讨论]]) 2021年9月1日 (三) 20:50 (CST)
打开LinuxCNC 不知道为啥home之后XYZ不为零,就很懵逼,仔细查看发现是坐标的显示格式发生了变化。<br>
在Axis中,工具栏->View中可以设置坐标的显示格式,分别可以选择''show commanded/actual position'',''show machine/relative position'',两两组合有四种坐标的显示模式。<br>
对于Machine Actual模式,XYZ 值表示刀头在绝对坐标系中的位置,Homing过后,XYZ值都变成零,G54 三个坐标值表示G54坐标原点在机械坐标中的坐标值,touch off之后,XYZ值不变,G54坐标值变为当前XYZ值。<br>
对于Relative Actual模式,XYZ值变为刀头在工件坐标中的数值,homing过后,XYZ值不一定归零,G54三个坐标值表示G54坐标原点在机械坐标中的坐标值,touch off之后,XYZ和G54值相反。<br>
在Homing之外,有一个操作为Zero Coordinate System, 这个操作就是将G54坐标原点与机械坐标原点重合。<br>
在View中还有其他设置,打开''Show machine Limits''是非常有帮助的。

2021年9月1日 (三) 20:50的版本

讨论实验

Latency and Jitter

魏冰川讨论) 2021年8月19日 (四) 15:09 (CST) latency 和 Jitter 是LinuxCNC 对机器要求最重要的两个参数,Linux CNC为RTOS,运行有servo thread(1ms) 和 base thread(25us), 后者用于步进电机控制,是最为重要的关注对象,一般要求Jitter在25us内可以获得良好效果。 Jitter可以在Application->LinuxCNC->latency test中进行测试 可以使用glxgear等软件增加负荷 

关于Windows下的Mach3

--魏冰川讨论) 2021年8月19日 (四) 20:55 (CST) Mach3支持WindowsXP,Windows 7 32bit,考虑到Windowsxp对sata接口的支持有问题,我一开始选择了Windows7,然而使用精雕机官方提供的Mach3破解,软件汉化之后的UI被修改,感觉非常山寨,更离谱的是每次打开软件,电脑都会出现黑屏错误,修改数据读写保护等设置都没有改善这种状态。于是换用了LinuxCNC。在调LinuxCNC的过程中王冠同学觉的是国内的Mach3破解有问题,于是从国外下载破解的软件,企图用Windows使之工作,但是仍然出现黑屏的问题,遂彻底放弃此方案,转向LinuxCNC。

CNC参数获取

--魏冰川讨论) 2021年8月20日 (五) 10:20 (CST) 使用LinuxCNC,需要获取CNC的各项参数。 电机部分:步距角1.8 电机驱动(问商家得到):细分1:8 丝杆:有丝杆信息 并口映射(从原来的Mach3配置文件中获取): X/Y/Z Dir/StepPin 容易理解,可以直接使用 Spindle Index 直接从xml文件读取信息有难度,可以在Windows电脑上装Mach3(不需要破解),然后用loader把xml文件导入,再在配置里面看各引脚映射

并口

--魏冰川讨论) 2021年8月25日 (三) 21:58 (CST) LinuxCNC 只支持特定型号的PCIE转并口,选型时应当格外注意。 一开始选用AX 99100,发现不work(没有配套并口驱动) 后来换成了9901,能work

Stepconf 细节

--魏冰川讨论) 2021年8月25日 (三) 21:57 (CST) 配置里的BothLimits and HOME 是指home switch,问题是:我们的机子上并没有硬件home switch, 但是一个limit switch可以被用作home switch。 关于Home的详细说明参考 http://linuxcnc.org/docs/2.4/html/config_ini_homing.html 每次home后机器会回到机械右上角点,然后将此点处坐标标记成(0,0,0),然后在接下来的运动中,机器只能在0 - Max范围内移动,然而bug在于,三轴继续正向移动只会触发限位开关,所以三轴实际上无法进一步移动,这个bug让我反思stepconf中每个轴配置中的Home location, table travel, home switch location 这几个量。

首先更改home location 在更改之后,仍然运动到限位开关处,但是此点处坐标不再是(0,0,0)而是home location的值,而机器的行程仍然是0-Max,这使得三轴不再是被卡到home处,通过这个也知道了table travel中的值正是基于G53坐标的。

思考CNC总是回到右上角点而不是左下角点的原因,想到一种可能的原因:我们没有home switch,所以机器只能朝一个方向试探,在试探过程汇总trip到了limit switch,于是在A点停止,能否通过更改试探的方向,使得机器能在B点home呢?因为我想使用正的坐标,这样可以对后续的G code采用的坐标系统进行一个sanity check。 在stepconf 中修改了home search Velocity ,将其调成负值 它 W O R K 了!

由于我们使用的4060CNC在触发Limit switch 的时候会自动向后移动一个固定offset,所以不必担心serach velocity带来的问题,可以把它调大一点儿。 但是后面又发现limit switch 用作home switch 和直接使用home switch 是不同的,电机会在触发limit switch 之后再次调整位置,触发limit switch 同时导致电机进入急停,一方面这会碰撞机器,另一方面使得home all无法使用,目前还没有一个比较好的解决办法。

Axis 界面

--魏冰川讨论) 2021年9月1日 (三) 20:50 (CST) 打开LinuxCNC 不知道为啥home之后XYZ不为零,就很懵逼,仔细查看发现是坐标的显示格式发生了变化。
在Axis中,工具栏->View中可以设置坐标的显示格式,分别可以选择show commanded/actual position,show machine/relative position,两两组合有四种坐标的显示模式。
对于Machine Actual模式,XYZ 值表示刀头在绝对坐标系中的位置,Homing过后,XYZ值都变成零,G54 三个坐标值表示G54坐标原点在机械坐标中的坐标值,touch off之后,XYZ值不变,G54坐标值变为当前XYZ值。
对于Relative Actual模式,XYZ值变为刀头在工件坐标中的数值,homing过后,XYZ值不一定归零,G54三个坐标值表示G54坐标原点在机械坐标中的坐标值,touch off之后,XYZ和G54值相反。
在Homing之外,有一个操作为Zero Coordinate System, 这个操作就是将G54坐标原点与机械坐标原点重合。
在View中还有其他设置,打开Show machine Limits是非常有帮助的。