Welcome to Our Community

Some features disabled for guests. Register Today.

grblHAL on MKS DLC32 - can't move any Axis?

Discussion in 'Control Software' started by dJOS_500, Jan 17, 2024.

  1. dJOS_500

    dJOS_500 Journeyman
    Builder

    Joined:
    Jul 16, 2022
    Messages:
    271
    Likes Received:
    120
    Howdy All, I found FluidNC + OB Control to be a bad combo, and as I really like Control, I decided to try grblHAL.

    I got the firmware complied via the Web Builder (just a basic setup to start with), and I got my Makita Spindle w/ grbl_spd working immediately (nice!), but I can't get any of my 3 Axis to move. I see the commands sent, but nothing happens. Any ideas on what I need to check?

    Screenshot 2024-01-18 at 11.52.50 am.png Screenshot 2024-01-18 at 11.53.18 am.png Screenshot 2024-01-18 at 11.53.04 am.png

    Here is my config:

    Code:
    $0=10.0  ;  Step pulse time, microseconds
    $1=25  ;  Step idle delay, milliseconds
    $2=0  ;  Step pulse invert, mask
    $3=0  ;  Step direction invert, mask
    $4=0  ;  Invert step enable pin, boolean
    $5=0  ;  Invert limit pins, boolean/mask
    $6=1  ;  Invert probe pin, boolean
    $9=1  ;  PWM Spindle as bitfield where setting bit 0 enables the rest
    $10=511  ;  Status report options, mask
    $11=0.010  ;  Junction deviation, millimeters
    $12=0.002  ;  Arc tolerance, millimeters
    $13=0  ;  Report in inches, boolean
    $14=0  ;  Limit pins invert, mask
    $15=0  ;  Coolant pins invert, mask
    $16=0  ;  Spindle pins invert, mask
    $17=0  ;  Control pins pullup disable, mask
    $18=0  ;  Limit pins pullup disable, mask
    $19=0  ;  Probe pin pullup disable, boolean
    $20=0  ;  Soft limits enable, boolean
    $21=0  ;  Hard limits enable, boolean
    $22=0  ;  Homing cycle enable, boolean (Grbl) / mask (GrblHAL)
    $23=3  ;  Homing direction invert, mask
    $24=50.0  ;  Homing locate feed rate, mm/min
    $25=1500.0  ;  Homing search seek rate, mm/min
    $26=250  ;  Homing switch debounce delay, milliseconds
    $27=1.000  ;  Homing switch pull-off distance, millimeters
    $28=0.100  ;  G73 retract distance, in mm
    $29=0.0  ;  Step pulse delay (ms)
    $30=30000.000  ;  Maximum spindle speed, RPM
    $31=10000.000  ;  Minimum spindle speed, RPM
    $32=0  ;  Laser-mode enable, boolean
    $33=100.0  ;  Spindle PWM frequency
    $34=0.0  ;  Spindle off Value
    $35=1.0  ;  Spindle min value
    $36=100.0  ;  Spindle max value
    $37=1  ;  Stepper deenergize mask
    $39=1  ;  Enable printable realtime command characters, boolean
    $40=0  ;  Apply soft limits for jog commands, boolean
    $43=1  ;  Homing passes
    $44=4  ;  Homing cycle 1
    $45=3  ;  Homing cycle 2
    $46=0  ;  Homing cycle 3
    $62=0  ;  Sleep Enable
    $63=3  ;  Feed Hold Actions
    $64=0  ;  Force Init Alarm
    $65=0  ;  Require homing sequence to be executed at startup
    $100=200.00000  ;  X-axis steps per millimeter
    $101=200.00000  ;  Y-axis steps per millimeter
    $102=200.00000  ;  Z-axis steps per millimeter
    $110=1000.000  ;  X-axis maximum rate, mm/min
    $111=1000.000  ;  Y-axis maximum rate, mm/min
    $112=1000.000  ;  Z-axis maximum rate, mm/min
    $120=1000.000  ;  X-axis acceleration, mm/sec^2
    $121=1000.000  ;  Y-axis acceleration, mm/sec^2
    $122=1000.000  ;  Z-axis acceleration, mm/sec^2
    $130=278.000  ;  X-axis maximum travel, millimeters
    $131=300.000  ;  Y-axis maximum travel, millimeters
    $132=100.000  ;  Z-axis maximum travel, millimeters
    $160=0.000  ;  unknown
    $161=0.000  ;  unknown
    $162=0.000  ;  unknown
    $341=0  ;  Tool Change Mode
    $342=30.0  ;  Tool Change probing distance
    $343=25.0  ;  Tool Change Locate Feed rate
    $344=200.0  ;  Tool Change Search Seek rate
    $345=200.0  ;  Tool Change Probe Pull Off rate
    $346=1  ;  Restore position after M6 as boolean
    $370=0  ;  Invert I/O Port Inputs (mask)
    $372=0  ;  unknown
    $384=0  ;  Disable G92 Persistence
    $398=100  ;  Planner buffer blocks
    $481=0  ;  Autoreport interval in ms
    $486=0  ;  unknown
    $650=0  ;  unknown
    
     
  2. Misterg

    Misterg Veteran
    Staff Member Moderator Builder Resident Builder

    Joined:
    Aug 27, 2022
    Messages:
    344
    Likes Received:
    268
    I don't know about GRBL_HAL specifically, but try reducing your accelerations (to say 200).

    (GRBL_ESP32 plays nicely with Control, BTW)
     
  3. dJOS_500

    dJOS_500 Journeyman
    Builder

    Joined:
    Jul 16, 2022
    Messages:
    271
    Likes Received:
    120
    I don't believe it's the accel settings, I was running them much higher previously - I'm not getting any attempt at motion and the steppers aren't holding position either.

    I ran out of time to test further, but I couldn't see the alarm on for the limits so I assume that isn't it (I had them disabled to start with).

    Re GRBL_ESP32, is that what the BB X32 uses - I thought it ran grblHAL? My DLC32 has the exact same CPU iirc.

    PS, Im pretty sure GRBL_ESP32 was what the DLC32 shipped with and I couldn't figure out how to get my spindle controller working with it.
     
  4. Misterg

    Misterg Veteran
    Staff Member Moderator Builder Resident Builder

    Joined:
    Aug 27, 2022
    Messages:
    344
    Likes Received:
    268
    It does. GRBL_ESP32 is no longer supported, but it works for me. You would probably be better off putting the effort into GRBL_HAL.
     
    dJOS_500 likes this.
  5. Misterg

    Misterg Veteran
    Staff Member Moderator Builder Resident Builder

    Joined:
    Aug 27, 2022
    Messages:
    344
    Likes Received:
    268
    Try $1 = 255

    Does the DLC32 use the enable input of the drivers? You could try $4=1 if the above doesn't make the steppers hold position.
     
    dJOS_500 likes this.
  6. dJOS_500

    dJOS_500 Journeyman
    Builder

    Joined:
    Jul 16, 2022
    Messages:
    271
    Likes Received:
    120
    Interesting, turning on hold position works, but even with $1=255 nothing moves when commanded.
     
  7. dJOS_500

    dJOS_500 Journeyman
    Builder

    Joined:
    Jul 16, 2022
    Messages:
    271
    Likes Received:
    120
    Solved it! I had to enter $$=14 to invert the control pins.

    i guess it helps when you RTFM properly. :nailbite:
     
  8. dJOS_500

    dJOS_500 Journeyman
    Builder

    Joined:
    Jul 16, 2022
    Messages:
    271
    Likes Received:
    120
    So $4=1 was part of it, and then once I entered the $$=14 as per the first start procedure, it all came good. Thanks for the assist, much appreciated. :thumbsup:
     
    Misterg likes this.
  9. dJOS_500

    dJOS_500 Journeyman
    Builder

    Joined:
    Jul 16, 2022
    Messages:
    271
    Likes Received:
    120
    My CNC lives again!



    Although I think I didn’t get the PWM settings quite right as 10k is a bit funky. 30k rpm works great tho and is super loud! :D
     
  10. dJOS_500

    dJOS_500 Journeyman
    Builder

    Joined:
    Jul 16, 2022
    Messages:
    271
    Likes Received:
    120
    For anyone else thinking of trying grblHAL, it's worth noting that the OB Control configuration page doesn't always work for many config items due to the boolean nature of some. Thankfully I found a great config tool that is a companion to ioSender, it's imaginatively called "Config App". :D

    Releases · terjeio/ioSender

    I also found the issues with my Spindle not being stable - I'd left a zero off the PWM frequency and I also needed to set the min value to "2".

    Code:
    $30=30000.000  ;  Maximum spindle speed, RPM
    $31=10000.000  ;  Minimum spindle speed, RPM
    $32=0  ;  Laser-mode enable, boolean
    $33=1000.0  ;  Spindle PWM frequency
    $34=0.0  ;  Spindle off Value
    $35=2.0  ;  Spindle min value
    $36=100.0  ;  Spindle max value
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice