Welcome to Our Community

Some features disabled for guests. Register Today.

Help Blackbox Y-limit switch permanently triggered

Discussion in 'Controller Boards' started by Daniël van Hurk, Oct 7, 2023.

  1. Daniël van Hurk

    Builder

    Joined:
    Sep 10, 2020
    Messages:
    10
    Likes Received:
    0
    So my Y limit switch is permanently triggered.
    The switch itself is fine and works on x, z and probe but for Y it's Triggered and I'm unable to untrigger it. Even when nothing is connected (no limit switches) it's still showing triggered.
    I reset the board, wiped eeprom, redid the settings but no change. Changed the jumper from 5v to 24v, still no change.

    The only thing that I know has changed is that I had a laser module set up for a while but at some point in time blackbox refused to turn the laser on but the laser still worked in its own designated gantry.

    I had the end stop triggers turned off for the longest time due to EMI but I've reset the build (lead 1515) and wanted to activate them again and now this shows.
    I know I can do without limit switches but I want them to work out of principle.

    Now I never use the probe, is there a way to get the probe plug to register as the Y limit switch plug instead? As in switch them over?

    I've looked inside and nothing seems to have burned out visually but who knows, the fuse was still fine.

    Any guidance would be amazing, I'm truly stuck

    It's the blackbox version 1
    I added a close up picture of the inside of where the switch connects in the hopes maybe someone sees something I missed.
     

    Attached Files:

  2. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    15,190
    Likes Received:
    4,346
    Likely MCU damage caused at the same time the laser damaged the PWM Pin. Consider replacing it, as unfortunately it looks like a V2.7 making it around 2020/2021 and no longer under warranty
     
  3. Daniël van Hurk

    Builder

    Joined:
    Sep 10, 2020
    Messages:
    10
    Likes Received:
    0
    Ah ok, thanks for the speedy reply. Yeah I wasn't after any warranty, I'm trying to find a workaround. So would you know how do I get a new PWM pin? Is there a part I should look up?

    Alternatively is there possibly a way in code that I can change to use the probe switch / plug for Y and Y for the probe instead? So that I can circumvent replacement?
    I never use the probe really
     
    #3 Daniël van Hurk, Oct 7, 2023
    Last edited: Oct 7, 2023
  4. Daniël van Hurk

    Builder

    Joined:
    Sep 10, 2020
    Messages:
    10
    Likes Received:
    0
    Could I go into the cpu_map.h and swap some stuff around in this section to make it work perhaps?


    #define LIMIT_DDR DDRB
    #define LIMIT_PIN PINB
    #define LIMIT_PORT PORTB
    #define X_LIMIT_BIT 1 // Uno Digital Pin 9
    #define Y_LIMIT_BIT 2 // Uno Digital Pin 10
    #ifdef VARIABLE_SPINDLE // Z Limit pin and spindle enabled swapped to access hardware PWM on Pin 11.
    #define Z_LIMIT_BIT 4 // Uno Digital Pin 12
    #else
    #define Z_LIMIT_BIT 3 // Uno Digital Pin 11
    #endif
    #if !defined(ENABLE_DUAL_AXIS)
    #define LIMIT_MASK ((1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT)) // All limit bits
    #endif
    #define LIMIT_INT PCIE0 // Pin change interrupt enable pin
    #define LIMIT_INT_vect PCINT0_vect
    #define LIMIT_PCMSK PCMSK0 // Pin change interrupt register

    // Define user-control controls (cycle start, reset, feed hold) input pins.
    // NOTE: All CONTROLs pins must be on the same port and not on a port with other input pins (limits).
    #define CONTROL_DDR DDRC
    #define CONTROL_PIN PINC
    #define CONTROL_PORT PORTC
    #define CONTROL_RESET_BIT 0 // Uno Analog Pin 0
    #define CONTROL_FEED_HOLD_BIT 1 // Uno Analog Pin 1
    #define CONTROL_CYCLE_START_BIT 2 // Uno Analog Pin 2
    #define CONTROL_SAFETY_DOOR_BIT 1 // Uno Analog Pin 1 NOTE: Safety door is shared with feed hold. Enabled by config define.
    #define CONTROL_INT PCIE1 // Pin change interrupt enable pin
    #define CONTROL_INT_vect PCINT1_vect
    #define CONTROL_PCMSK PCMSK1 // Pin change interrupt register
    #define CONTROL_MASK ((1<<CONTROL_RESET_BIT)|(1<<CONTROL_FEED_HOLD_BIT)|(1<<CONTROL_CYCLE_START_BIT)|(1<<CONTROL_SAFETY_DOOR_BIT))
    #define CONTROL_INVERT_MASK CONTROL_MASK // May be re-defined to only invert certain control pins.

    // Define probe switch input pin.
    #define PROBE_DDR DDRC
    #define PROBE_PIN PINC
    #define PROBE_PORT PORTC
    #define PROBE_BIT 5 // Uno Analog Pin 5
    #define PROBE_MASK (1<<PROBE_BIT)
     

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