XTXB 发表于 2018-11-25 09:34:03

用stc15w和旧光驱移植arduino写字机GRBL之五:G_Code

本帖最后由 XTXB 于 2018-11-26 09:21 编辑

用stc15w4k32s4和旧光驱移植arduino写字机GRBL连载:

用stc15w4k32s4和旧光驱移植arduino写字机GRBL之一:机架搭建
https://www.amobbs.com/thread-5701202-1-1.html

用stc15w4k32s4和旧光驱移植arduino写字机GRBL之二:PCB制作
https://www.amobbs.com/thread-5701573-1-1.html

用stc15w4k32s4和旧光驱移植arduino写字机GRBL之三:Bresenham算法
https://www.amobbs.com/thread-5701994-1-1.html

用stc15w4k32s4和旧光驱移植arduino写字机GRBL之四:FIFO算法
https://www.amobbs.com/thread-5702730-1-1.html

用stc15w4k32s4和旧光驱移植arduino写字机GRBL之五:G_Code
GRBL主循环数据流向过程如下:

GRBL的G代码常用命令如下,用NCVIEWER打开:方框.nc,双击左边代码,会自动打开记事本,修改保存后可返回查看器查看:

GRBL的G代码解析在gcode.cpp,主要完成以下任务:
1,解析M指令和G指令。
2,将线段预处理后调用mc_line()。
3,将圆弧预处理后调用mc_arc()(G代码的XYR弧转化为XYIJK弧的数学模型如下)。

其中函数Void mc_arc(float *position, float *target, float *offset, uint8_t axis_0, uint8_t axis_1,   
uint8_t axis_linear, float feed_rate, uint8_t invert_feed_rate, float radius, uint8_t isclockwise)
各个变量解释如下:
起点坐标 position,终点坐标target圆心相对于起始点的偏移向量offset,轴,轴进给速度,进给速率含义标志位,弧半径radius,旋转方向 isclockwise

int 发表于 2018-11-27 12:26:07

哇!厉害了大佬!

gmyu 发表于 2018-11-27 14:56:42

有stm32的才有兴趣{:smile:}

XTXB 发表于 2018-11-28 18:27:29

这个GRBL对硬件资源需求不高,一个串口,2个定时器就可以,程序大部分都是算法,算法搞通了,平台移植差别不大,初步估计,用C语言写AVR ,STC, STM 程序,95%的代码都可以直接使用。

flash3g 发表于 2018-11-28 19:49:28

发现一个错误,在05编号 G1 F30.0000这里,应该是 //将速度F设置为 30

XTXB 发表于 2018-11-28 20:00:07

是的,当时确实对这个F理解不清楚

wxlcj 发表于 2018-11-28 20:12:55

收藏了,等有空,也试试。

sunbest80 发表于 2018-11-29 12:26:32

学习了,

su33691 发表于 2018-11-30 14:45:18

也想将GRBL移植到STC8上,可惜不懂AVR。

XTXB 发表于 2018-11-30 17:51:48

su33691 发表于 2018-11-30 14:45
也想将GRBL移植到STC8上,可惜不懂AVR。

主要是算法思路,跟单片机关系真的不大,咱们一起玩吧

kms2hh 发表于 2018-11-30 21:33:59

非常好的资料,楼主辛苦, 学习了{:handshake:}{:handshake:}

lcmdw 发表于 2018-12-1 09:00:40

学习!   

armok. 发表于 2023-10-25 16:16:28

帖子移动通知:
原分论坛:8051/STC32【已下线】
目标分论坛:51单片机
移动时间:0小时之后
页: [1]
查看完整版本: 用stc15w和旧光驱移植arduino写字机GRBL之五:G_Code