CNC扩展板基本功能和步进驱动CNC扩展板基本功能A轴可以根据需求设定为独立工作模式或者同步XYZ中的一轴。A4988驱动:注意en引脚对应CNC扩展版上的en引脚,否则会烧毁驱动A4988驱动电流调节和计算。Vref = Imax 8 0.1DRV8825驱动:注意en引脚对应CNC扩展版上的en引脚,否则会烧毁驱动DRV8825驱动电流调节和计算Vref = Imax /2CNC扩展版和arduino供电问题扩展版需要单独供电:12V-36VA4988电压范围:8V-35V,注意A4988驱动最大电压为35V,小于CNC扩展最大电压36VDRV8825电压范围:8.2V-45VArduino需要额外供电,DC口(5.5x2.1mm)供电范围:7V-12V,可同时接USB线。烧录GRBL固件并简单移动测试GRBL固件:v0.9和v1.1的引脚定义区别,Z轴限位引脚和主轴控制引脚交换,使得主轴可以使用PWM控制。控制软件:UGS,CNCjs,LaserGRBL,GRBL-Plotter可以使用arduinoIDE打开grblUpload例程烧录固件,也可以使用LaserGRBL烧录。步进脉冲数(step/mm)计算计算工具:https://swarfer.co.za/cnc/grblcalc.html步进电机步距角步进电机的旋转是靠脉动信号来驱动的,当步进驱动器接收到一个脉冲信号,步进电机的轴就会转动一个固定的角度,这个转动的角度,就叫“步距角”。最常见的有三种步距角:0.9°,1.8°和7.5°。这三种步距角,也就对应了步进电机每旋转一周(360°),需要的脉冲信号个数为400个、200个以及48个。步进驱动细分设置步进细分数取决于使用的电机驱动板主芯片,常见的细分有1/2,1/4,1/16,1/32等,如果是1/16细分表示的含义是原来一个脉冲可以控制电机转动一个步距角,现在需要16个脉冲电机才能转动一个步距角,如果电机的步距角是1.8°,那么电机旋转一周就需要20016=3200个脉冲信号。同步轮常用的有16齿和20齿,需要注意齿距,比如GT2的同步轮其齿距为2mm,对于20齿的同步轮,旋转一圈即行进的距离为2mm20=40mm。那么对于1.8步距角,16细分步进驱动,则每1mm所需的脉冲数为3200/40=80个脉冲/毫米。丝杆丝杆有几个重要参数,包括螺距,导程,头数。螺距表示相邻两个螺纹之间的距离(可将螺纹印到纸上测量),导程表示丝杆旋转一圈,对应T型螺母移动的距离。头数表示丝杆头部螺纹入口的数量。对于单头螺纹,螺距等于导程,而对于多头螺纹,导程=螺距头数。对于1.8步距角,16细分步进驱动,导程2,螺距2的丝杆,则每1mm所需的脉冲数为3200/2=1600个脉冲。齿轮挤出机通过齿轮推动耗材运动,因此耗材移动的长度基本等同于齿轮的周长。通常MK8挤出机上使用的齿轮直径是11mm,因此齿轮旋转一周的周长为3.1411=34.54mm。那么对于1.8步距角,16细分步进驱动,则每1mm所需的脉冲数为3200/34.54=92.64个脉冲。设置GRBL步进脉冲参数$$:获取当前grbl设定值计算步进脉冲数:XY:360度/1.8度每步=200步8微步=1600微步/(2毫米20)=40step/mmZ:360度/1.8度每步=200步4微步=800微步/2毫米=400step/mm设定步进脉冲参数$100=40,$101=40,$102=400设定最大速率:$110,$111,$112,GRBL最大速率30KHz,8位Grbl几乎无法达到30千赫的步进速率。。30000赫兹60秒=1800000/40=45000$110=45000,理论上,实际根据需要设定合适值设定加速度:$120,$121,$122$120=3200,可多次测试尝试获得恰当的值限位开关的使用常开和常闭限位开关$21:是否启用硬限位,默认$21=0未启用$5:默认为常开限位,如果使用常闭限位(低电平)则$5=1归零操作:启用归零($22)后,首先会在设定方向($23)上以速度($25)寻找限位开关,在找到限位开关后会再以速度($24)移动确定限位开关($26),然后在轴向上移出(pull-off)指定距离($27)。$22:是否启用归零$23:归零方向$24:找到限位开关后再次移动的速度$25:寻找限位开关的速度$26:归零限位开关消抖延时$27:归零后轴向移出(pull-off)的距离设置GRBL工作区域参数设定步进脉冲参数$130,$131,$132,具体可以手动控制各轴移动用以确定最大位置。当设置好各轴(XY)最大移动距离后,可设定归零后操作$N0=G53XmaxYmax,快速移动到指定位置$N1=G92X0Y0,将当前位置指定位原点(0,0)最大位置可以用于软限位:$20,配置激光参数和测试(可使用LED测试)V1.1新增参数:$30,$31,$32注意V1.1版本的主轴对应引脚变化,即spindle enable和Limit Z-axis引脚交换,以便主轴能实现pwm控制。当使用$32启用激光模式后,需要处于运动模式(G1F500)才能使用M3开启和M5关闭激光。M3 S1000:开启,S指定功率,可使用$30指定最大功率。M5:关闭,在关闭前最好使用S0指定功率为0,否则下次使用M3时将直接使用之前指定的功率开启激光。暂停时将关闭激光COREXY结构GRBL参数调整配置config.h文件中参数GRBL命令参考 版本GRBLv0.9/GRBLv1.1V1.1和V0.9相比较,改变了$10的状态报告和增加了新的$30/ $31的主轴转速设置和$32的激光模式设置。指令定义描述$$显示设定值显示当前存储在arduino EEPROM中的GRBL设定值$0=10步进脉冲长度(微秒)设定发送给步进电机的步进脉冲长度(高电平时间),即步进电机可识别的最短步进脉冲长度,可查看步进电机数据手册确认,默认值为10微秒。$1=25步进电机使能闲置时间在GRBL完成一个运动指令后,以毫秒为单位设置步进电机使能状态的闲置时间,如果设置为255则始终保持步进电机为使能状态用以保持当前位置。通常设置25-50毫米的使能延时时间以确保轴完全移动到了目标位置。$2=0步进脉冲配置定义发送给步进电机驱动的步进信号。默认情况,步进信号以low开始向high变化表示一个脉冲信号。在经过$0设置的步进脉冲高电平时间后,恢复为低电平。通常无需设置此参数。 设定值掩码00000ZYXX反向Y反向Z反向000000000NONONO100000001YESNONO200000010NOYESNO300000011YESYESNO400000100NONOYES500000101YESNOYES600000110NOYESYES700000111YESYESYES例如:如果要反向X轴和Z轴的脉冲信号,则设置$2=5。$3=6轴运动方向在不改变接线的情况下改变对应轴步进电机的运动方向,默认情况下,GRBL设定当方向引脚为低电平时沿轴正向移动,高电平时沿轴反向移动。具体数值和$2步进脉冲设置项表相同。$4=0设置步进驱动使能引脚控制步进驱动使能引脚的电平信号,默认情况下,步进使能引脚为高电平时禁用电机驱动,低电平时使能电机驱动。当$4=1表示将使能引脚的电平定义为高电平HIGH,即高电平使能,低电平禁用。$5=0设置限位引脚默认限位开关使用arduino内部上拉电阻将该引脚设置为高电平HIGH,当触发限位开关时引脚变为低电平LOW。如果设置$5=1则表示当接收到高电平HIGH时表示限位开关被触发,当设置$5=1时,必须外接下拉电阻。GRBLv0.9不支持NC常闭限位。可以在config.h文件中禁用限位引脚内部上拉电阻。$6=0设置探针引脚默认使用arduino内部上拉电阻将该引脚设置为高电平HIGH,当触发时引脚变为低电平LOW。如果设置$6=1则表示当接收到高电平HIGH时表示探针被触发,当设置$6=1时,必须外接下拉电阻。$10=3状态报告定义发送给用户的实时状态数据。对于v0.9,当发送“?”指定给GRBL,其会返回运行状态,机器位置和工作位置,且不能关闭。如果需要返回多个状态数据,则将所需类型的值相加发送给GRBL即可。 状态报告类型值机器坐标位置(Machine Position)1工作坐标位置(Work Position)2Planner缓充区(Planner Buffer)4RX 缓冲区(RX Buffer)8限位引脚(Limit Pins)16例如,要取货工作坐标位置(2)和限位引脚(16)的状态报告信息,则需要设置$10=18。对于v1.1,当发送“?”指令获取状态报告。该数据报告包括当前运行状态、实时位置、实时输入速率、引脚状态、当前覆盖值、缓冲区状态和当前执行的g-code行号(如果通过编译时选项启用)。为了保持简单和一致,Grbl v1.1只有两个报告选项。这些主要是为用户和开发人员设置的。可以指定位置类型来显示机器位置(MPos:)或工作位置(WPos:),但不再同时显示两者。在通过串行终端直接与Grbl交互的某些场景中,启用工作位置是有用的,但默认情况下应该使用机器位置报告。Grbl的计划器和串行RX缓冲区的使用数据可能是启用的。这显示了各自缓冲区中可用的块或字节的数量。这通常用于在测试流接口时帮助确定Grbl的执行情况。这在默认情况下应该是禁用的。使用下表启用和禁用报告选项。只需添加想要启用的列表值,然后通过发送Grbl设置值来保存。例如,带有机器位置和无缓冲区数据报告设置的默认报告为$10=1。如果需要工作位置和缓冲区数据,则设置为$10=2。 报告类型值描述位置类型0启用 Wpos:,禁用 MPos:。位置类型1启用 Mpos:,禁用 WPos:。缓冲数据2启用Buf:显示规划器和串行RX可用缓冲区。$11=0.020节点偏差(Junction Deviation,毫米)可认为是转弯速度。较高的值表示允许在拐弯处快速运动,但可能丢步从而降低准确性。反之则转弯速度低,但能避免丢步从而提高准确性。$12=0.002弧度公差(毫米)GRBL将曲线视为很多小直线的集合,该设置用于定义曲线的平滑度,默认为0.002毫米,通常不需要修改该值,因为大多数的机器设备都小于此精度值。$13=0反馈单位设置位置反馈单位,$13=1表示英寸,$13=0表示毫米$20=0是否启用软限位需要启用“Homing”,如果启用则将检查GCode指令是否有超出机器最大行程限制。$20=1表示启用,$20=0表示禁用。$21=0是否启用硬限位需要安装限位开关,当限位开关触发时,则进入“Alarm”模式,该模式下,机器运动,主轴和冷却系统都被关闭。$22=0是否启用归零需要安装限位开关,当启用归零后将锁定所有GCode指令直到归零完成。$23=1归零方向允许设定归零方向,默认先Z轴正向移动归零,然后XY正向移动归零。如果限位开关在负方向,则需要设置归零方向,具体和$2步进脉冲设置项表相同。$24=50.000归零进给速率(mm/min)归零操作首先会以较高的速率寻转限位开关,在确定限位开关后,在以此设定的较低速率确定原点精确位置。在此使用的进给速率越低归零位置越准确。$25=635.000归零搜寻速率(mm/min)在归零时寻找限位开关的速度。将此值设置为不撞坏限位开关的最大值。在归零操作中,先以seek定义的速度寻找限位开关,再以feed定义的速度精确定位原点。$26=250归零限位开关消抖时间Homing Debounce(msec)用于限位开关软件消抖的延时时间(毫秒),通常值为5-25毫秒。$27=1.000归零后离开限位开关的距离Homing Pull-off(mm)定义在定位原点后,远离限位开关的距离以便不触发硬限位。$100=314.961X轴步进速度(steps/mm)定义给定距离所需的步进数。Steps/mm = (Steps per Revolution)(Microsteps) / (mm per Revolution)1.Steps per Revolution = 200,表示步进电机旋转一圈所需的步数,对于1.8度步进电机,旋转一周所需步数为360/1.8=200步。2.Microsteps - 1,2,4,8,16,32,由步进驱动器细分数确定,细分数越高精度越高,但力矩越小。对于DRV8825如果使用3个跳线帽,则细分数为32,即旋转一圈需要20032=6400个脉冲。对于A4988如果使用3个跳线帽,则细分数为16,即旋转一圈需要20016=3200个脉冲3.mm per Revolution,对于GT2同步轮,即旋转一圈行进20个齿,齿间距为2mm,即一圈行进40mm。因此每1mm需要6400/40=160个脉冲每毫米。对于GT2单线螺纹丝杆,螺距等于导程,螺距2,导程2,即旋转一圈行进2mm,因此每1mm需要6400/2=3200个脉冲$101=314.961Y轴步进速度(steps/mm)同x轴$102=314.961Z轴步进速度(steps/mm)同x轴$110=635.000X轴最大速率(mm/min)定义给定轴的最大速度。可以通过试验逐步增加速度测试最大速度,发送测试Gcode指令使轴移动足够距离以便达到其最大速度值,当步进电机出现异常时即为最大速度值,将$110设置为最大速度的80%-90%。$111=635.000Y轴最大速率(mm/min)同X轴$112=635.000Z轴最大速率(mm/min)同X轴$120=50.000X轴最大加速度(mm/sec^2)定义给定轴的最大加速度。同样可以通过试验获得最大加速度,设定为最大加速度的80%-90%即可。$121=50.000Y轴最大加速度(mm/sec^2)同X轴$122=50.000Z轴最大加速度(mm/sec^2)同X轴$130=225.000X轴最大行程(mm)当使用软限位时用于定义轴的最大行程,同样用于归零操作。$131=225.000Y轴最大行程(mm)同X轴$132=225.000Z轴最大行程(mm)同X轴GRBL命令$#显示Gcode参数列出工作坐标偏移(G54-G59),预定义位置(G28 & G30),坐标偏移量(G92),工具长度偏移量(TLO)和探测周期(PRB)。$G显示解析器状态显示GRBL解析器中的活动gCode模式。示例- [G0 G54 G17 G21 G90 G94 M0 M5 M9 T0 S0.0 F500.0]$!显示构建信息显示GRBL版本和源码构建日期$N显示启动块显示每次GRBL上电或复位时运行的启动块。$N0=line$N1=line设置启动块设置启动块。将有效的gCode命令替换为“line”部分,这些命令将在每次GRBL上电或重置时执行。$x=value设置GRBL配置参数设置GRBL参数。将“X”替换为上面列表中的数字,将“value”替换为相应的设置。$CGcode检查模式处理所有传入的gCode命令,但不移动轴、主轴或冷却系统,用于检查gCode程序。$X解除锁定警告解除警告锁定以允许轴移动$H执行归零(Homing)操作执行归零(Homing)操作GRBL实时命令~循环启动启动缓冲的gCode命令。用于在“进给保持”后恢复切割。!进给保持通过控制减速停止主动循环,防止失步造成的位置丢失。?当前状态返回GRBL当前状态,当前机器坐标位置和工作坐标位置Ctrl+x重置GRBL软重启命令,保持机器坐标位置且不关闭arduino其他参数V1.1新增参数$30spindle主轴最高转速RPM设置在5V电压时PWM引脚输出的最大主轴速度。例如$30=10000表示5V电压最大转速为10000rpm,如果试图设置更高的主轴速度,因为GRBL最大输出5V,因此不能够更快。默认情况下,GRBL以255等分最大和最小RMP转速,对应于电压5V到0.02V的PWM输出。当PWM引脚为0V时表示禁用主轴,5V时为最大转速$30所设置的10000RPM。Config.h中可调整其他配置参数。$31spindle主轴最低转速RPM设置在最小0.02V时PWM引脚输出的主轴速度(0V表示禁用)。可以设置较低的RMP值,但PWM输出不会低于0.02V,如果为0V则表示禁用主轴。$32激光模式启用后,当用主轴速度(激光功率)编程时,Grbl将通过连续的G1,G2或G3运动命令连续移动S。主轴PWM引脚将在每次运动时立即更新,而不会停止。使用此模式之前,请阅读GRBL激光文档和激光设备文档。激光非常危险,会永久损坏视力并可能引起火灾。Grbl对固件可能引起的任何问题(由其GPL许可定义)不承担任何责任。禁用后,Grbl会像往常一样运行,对于每个S主轴速度命令停止运动。这是铣床的默认操作,允许暂停以使主轴改变速度。
0 评论