UPDATE: Issue solved by removing LEDs on the boards endstops. Board died a few hours after LEDs were removed for unknown reason. If you need endstops, check out a different board!
Issue:
I would like to first start by apologizing for my ignorance in this field. I have started an internship with a company that does industrial printing and machining, and this is my only exposure to the world of 3D printing.
We have a material test bench that is using the board I specified above. At some point before I started working for this company, the limit switches began to not function correctly and I do not know the reason . The issue is that some limit switch ports work and others do not. I have swapped out and tested three different boards, along with a brand new one that is installed currently. On the newest board limit switch ports X, Y and Z do not work at all, but ports E0, E1 and E2 do work. We need to have a total of 5 limit switches, otherwise I would just ignore the issue and use the ones that are available.
The exact issue we are having is that once the limit switch is pressed for endstops X, Y and Z (ports X-, Y- and Z- respectively) The endstop enters the âtriggeredâ phase and will not come out of it unless we power cycle the system. Endstops X1 (port E0) and Z1 (port E1) are behaving as expected, but they were not yesterday. I am unsure what happened that made these two now function properly.
Observations:
each board tested has unique limit switch port issues
once the limit switch is pressed, endstops X, Y and Z will enter the âtriggeredâ state and only goes open when the systems power is cycled
LED indicators on board are always on and turn off when corresponding switch is triggered (user manual specifies this is the case for NO switches)
Pullup resistor does NOT work
Any suggestions would be appreciated. We are running Klipper version 0.12.0-302. Version 0.12.0-348 is available through the Mainsail update manager if anyone thinks that is something that should be updated. I am sure I left much more needed information out, but I am glad to provide whatever is needed for additional troubleshooting.
I appreciate the reply again. I should have specified that, that was something I have already tried to do and it did not work. Would you have any other suggestions?
Also it may be a dumb question, the â#â you added, is that just for you to denote where you made a change from my printer.cfg, or is that needed when using the pullup resistor
As of right now, we are just manually clicking the switch and not homing any of the axes, so I donât think that is something that we should be looking at, unless you think otherwise.
My goal right now is to get the switch to go back to the âopenâ state once the trigger is released.
Under normal operating conditions there is basically no way that the endstop-state will stay triggered after the trigger has been released. Also, if this would be a Klipper issue, then this place would be on fire, given the fact that about most printers do have such switches.
This very much looks like an hardware issue on your side. If you have a digital multimeter, then you can measure the resistance between GND and SIG. Likely this is a NC switch, so the DMM should show continuity when not pressed and unlimited resistance when pressed.
Itâs a bit weird - Yes, I would expect the LEDs to be on when the switches are open and off when they are closed. Along with that, when the switches are open youâre going to get an intermediate voltage (2.2V).
Looking at the datasheet, if VDD is 3.3V, then your VIH (Input Voltage High Threshold) is 1.8V, which isnât great, but should be okay:
Have you ever seen this printer working correctly? Iâm wondering if itâs something that was put together, didnât work and is used as a test for interns to see how smart they are.
Are you using the âENDSTOP TESTâ OPEN/TRIGGERED indicator on Mainsail (or whatever it is on Fluidd)? It sounds like you are, but I donât see it stated explicitly.
I believe that the OpenBuilds endstop sensor just has a microswitch and a socket on the PCB - is this correct? Thereâs no other circuitry (ie an LED) on the board? Are only two lines (the sensor-Socket Pin 3 and GND-Socket Pin 2) connected on the endstop sensor and the 5V Line (Socket Pin 1) is not connected?
Do you have the means to put together your own Endstop switch simulator (just a connector and a two conductor cable about 100mm long with the wiress at the other end bared)? If so, how do the Endstop triggers work?
The Endstop circuitry in the SKR-PRO-V1.2 is not a great design, but it should work in this situation.
No I have never seen this work, and no one here has the knowledge to get it to work as it was commissioned by a seperate company, so it is not a test for interns
Yes I am using the ENDSTOP TEST via Mainsail
There is the socket, the micro switch and an LED. All three connections are made, and I disconnected the +V in response to a previous users question to see what would happen. The only difference this made is that the LED on the switch did not turn on, but it still sent a signal that triggered the Endstop in Mainsail.
I could do that, but in my opinion and at this point I believe there has to be some sort of short going on within the cabinet for the printer.
At this time, my two working limit switches no longer work and stay triggered once activated. From the other two boards, there were two limit switch ports that didnât work on one and 3 ports that did not work on the other. After going through this forum, I believe it cannot be software related anymore because in theory i would assume all boards to have the same exact issue with the same ports.
I greatly appreciate your diagnosis and did not expect a clear answer by any means. This thread has been enlightening!
I can definitely see an LED in there. Is this the LED youâre talking about or is there another one?
If there is any kind of circuitry on the OpenBuilds switch then I highly recommend that you create a test endstop - the IO pin circuitry in the SKR-PRO-V1.2 is not what I would consider robust or standard and any additional impedance or non-linear circuitry (ie an LED) then the IO Pin may end up in the intermediate voltage range which is neither Vil or Vih after switch change which leads to the result youâre seeing here.
From what youâre reporting, I think itâs very unlikely there is a short in the cabinet.
Just thinking about it, the easiest way to test my theory is to disconnect the OpenBuilds switch from the cable and short out the Signal (Pin 3) and GND (Pin 2) at the cable connector you just unplugged from the switch and see if the reported state information in Klipper comes back as expected.
I expect that youâll discover that this case will give you the expected OPEN/TRIGGERED notification. If thatâs the case, weâll figure out how to get the OpenBuilds switch working with your SKR-PRO-V1.2 (hint: it involves a soldering iron).
I tried a test endstop and touched the bare ends of the signal wire to the ground. This triggered the endstop, but again it will not return to âopenâ.
Interestingly enough, the two limit switches that I said in my last reply were no longer working, are now working again. I have no explanation as no changes were made (This happened before using the test endstop).
Forgive my ignorance, but how is a signal able to pass through without the âV+â connected?
One more question for you, as this is an industrial setting for this printer, and this board is clearly not meant for that type of setting, would you have a recommendation for another board with better protection elements and reliability? I plan to begin researching a new one soon, but would like to know if there is specifics I should be looking into aside from what I know the system needs to do based on our current setup?
As I indicated above, this is a marginal design. I can see there being cases where things will work one day and not work in others or if wires are moved or if a metal enclosure was on or off.
So I did a bit of research and, apparently, you are experiencing a common SKR-PRO-V1.2 Endstop problem. Doing a Google search on âSKR-PRO-V1.2 endstopâ yielded a lot of results with these being somewhat representative:
It seems that there are three recommended actions for the issue:
Remove the LEDs on the SKR-PRO-V1.2 Endstops. This will resolve the issue but there is the risk of damaging the boards and you have to know exactly what you are going after.
Add 1.5k resistors between +5V (Pin 1 of the Socket) and the endstop input (Pin 3 of the Socket). This is less challenging in terms of soldering but doesnât seem to be successful 100% of the time and Iâm not sure about your case of the OpenBuilds switches with the built in LEDs.
Buy a new board with more conventional endstop circuitry.
The endstop signal pin has a pull up resistor on it which holds the endstop sensor pin voltage at a high logic level until a switch closes and pulls the line down to ground. This is the typical way endstop sensors are implemented in main controller board circuitry.
Hereâs an explanation with graphics:
The issue here is that there is an LED and another resistor in the circuit which raises the endstop sensor voltage to and intermediate level, not a definite high logic level or low one.
This is why removing the LED is the first thing I recommend as it will break the path to ground and give you a definitively high voltage.
The problem here has nothing to do with where the SKR-PRO-V1.2 is running. The issue is simply a bad endstop pin circuit.
There are a lot of good boards out there but before I can recommend one, I need to understand your requirements. The SKR-PRO-V1.2 has six stepper motor drivers and four heaters, which is a bit unusual.
I think the best first step would be to remove the LEDs on the endstop pins and see if that resolves your problem. I think you indicated that somebody created this custom printer and thereâs probably a reason why they used the SKR-PRO-V1.2 (and hopefully itâs not they had one lying around they wanted to get rid of).
Thank you for all of that information and explanation of the signal. It is somewhat good to hear, there is at least a possible solution to the issue although it comes with a high risk factor, but we have three of these boards so Iâd have two to mess up before I get it right.
Regarding our requirements. We have 2 x-steppers, 1 y-stepper and 2 z-steppers and a servo drive (I believe for the extruder, based on what I can make of the config file). We need a limit switch for each axes, which as you know is 5 total, and correct me if I am wrong, but the heaters would be T0 - T3? If that is the case, we are only occupying the T0 port.
As I have never seen the machine work, I cannot describe much more than what I can see plugged into the board, or how the config file is setup.
As for why they used the SKR-PRO-V1.2, from my understanding they initially built this testbench to test materials and needed a cheap alternative to something commercial. It has since been added on to more and more and became very complicated system.
The two X Axis Steppers and two Y Axis steppers simply operate in parallel so you only need one endstop for each of these, not two. You need a total of 3 endstop switches.
I looked over the klippy.log and itâs my understanding that the endstop_pin assignments for stepper_x1 and stepper_z1 will simply be ignored.
Sorry to be blunt but youâve been handed a turd - My spidey-sense is tingling and telling me that the endstop issues are just the tip of the iceberg. I suspected this when I first saw your post and this is why I asked if this was a test for interns.
Iâm not sure what to recommend. I (as well as other people here) can help you through getting this printer going but youâre going to have to understand from your management how much work/time/money they want you to put into this.
I guess as a start, you should start reading through some introductions to Klipper and instructions for setting up a printer to use Klipper (ideally with the SKR-PRO-V1.2). At least youâll have some familiarity with the process and terms.
Then pull the LEDs on the SKR-PRO-V1.2 endstop pins and letâs see where we are.