diy写字机软件部分的使用

diy写字机软件部分的使用,第1张

  1.1 固件:grbl v1.1h 网址:https://github.com/gnea/grbl/releases

  1.2发送Gcode软件:ugs v2.0 网址:https://github.com/winder/Universal-G-Code-Sender/releases

  1.3图片转Gcode软件:inkscape 网址:https://inkscape.org/

写入方法参考:http://www.360doc.com/content/18/0724/17/52973095_772908638.shtml

参考:https://blog.csdn.net/sunxdd/article/details/106144807

  修改grbl下的config.h这个文件,把#define COREXY的注释取消

直接参考:https://blog.csdn.net/sunxdd/article/details/106144807

参考b站视频:https://www.bilibili.com/video/BV1gt411F7HK

注意:inkscape所生成的图形都是有两条路径的,两条路径的宽度就是你图片边的宽度。

在系统进行初始化时,我们需要初始化GRBL的配置参数,函数的本体如下:

void settings_init() {

read_global_settings,

如果返回有错,进行处理:DEBUG输出,设置为默认初始化值,再一次DEBUG输出。

设置为默认值时,我们用到了write_global_settings,主要调用了

eeprom_put_char和memcpy_to_eeprom_with_checksum

这里EEPROM定义在EEPROMCNC.H中,此文件为GRBL定义的,我们进行移植的时候,直接从这里转移到我们实际使用的EEPROM中即可,我们的EEPROM定义在I2CEEPROM中。

在0地址写入参数为SETTINGS_VERSION

在接下来的地址中,写入的参数为settings的结构体,settings结构体为每个系统特殊的应用来决定,默认的值保存在defaults_h中,我们在第一篇解读中有详细介绍。

官网的配置参数介绍:

https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8#grbls-xval-settings-and-what-they-mean

我的解读笔记: https://www.jianshu.com/p/73193ddec6e2

这个是系统和单片机中算法的桥梁,一定要注意配置好。

全局配置读取以后,如果版本号是我们设置的版本,#define SETTINGS_VERSION 5

则从EEPROM中读取memcpy_from_eeprom_with_checksum结构体settings

然后开始读主轴的数据,并存放在coord_data中。

关于EEPROM的移植:

GRBL调用的函数名称为eeprom_get_char,如果用到我们定义的新文件,先把新文件的头文件包括进来#include "I2CEEPROM.h"

在eeprom_get_char的函数本体中,只用一条return TWI_ReadByte( addr)进行跳转。

而memcpy_to_eeprom_with_checksum函数则调用eeprom_get_char,所以不需要修改。

我们用的芯片是24C128,在I2CEEPROM.H中,有如此的宏定义:

#define ADDR_24CXX        0xA0

#define SCLH        GPIOB->BSRR = GPIO_Pin_6

#define SCLL        GPIOB->BRR  = GPIO_Pin_6

#define SDAH        GPIOB->BSRR = GPIO_Pin_7

#define SDAL        GPIOB->BRR  = GPIO_Pin_7

#define SCLread      GPIOB->IDR  &GPIO_Pin_6

#define SDAread      GPIOB->IDR  &GPIO_Pin_7

#define  W_ENANLE  GPIO_WriteBit(GPIOB, GPIO_Pin_5, (BitAction)0x00)

#define  W_DISANLE    GPIO_WriteBit(GPIOB, GPIO_Pin_5, (BitAction)0x01)

在设置相应轴电机运动反向可以通过将相应位置的掩码置位(根据二进制计算)就可以了

要看你 grbl 固件是那个版本来设置。你在controller中输入$$ 就会看到相应的设置了

如1.1版:$3=6 (dirport invert mask:00000110) 步进电机驱动方向位掩码 其中110分别是ZYX的掩码。如只改Z轴方向就是00000010 改为$3=2

在软件command后面输入$3=2 后回车就行了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11545563.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存