Mp3dp v4 slow build

I was printing a skew cube for tuning and I wasn’t even going to do it this week due to time constrains and I found a few minutes and got it started, but didn’t stay to watch the first layer and should have. I have spent a few minutes here and there getting it taken apart and removing the blob over the last few days. It should all be fine. It came apart by pulsing the heater to get stuff to melt and then clean it up. No heat gun this time. No thermistor overheating, no torn wires. Just have to reassemble all the belts and redo the skew measurements once it is back together. just a facepalm. That has become all to common of an experience lately.

2 Likes

Would your file set for v2 be editable freecad? That is the only package I have to use and I don’t really know it well at all.

Back to building… fixed the blob without really any drama. just could not get a good first layer for anything. I tried more glue stick, more heat, less heat, slower print, but it might be the new PETG roll. Finally just washed off all the glue and scuffed the print plate surface. Just printed part of a skew test with everything working, but it won’t bridge well, need to run a temp tower again with the fan in place. canceled the skew test part way and discovered that this might have been a contributor to some of the inconsistencies:

4 Likes

What had happened?

1 Like

not sure exactly. I think it was broken for some time. The belt was loose and the truck would slip every once in a while. After cancelling the print, I reached back to peel the magnetic top off and the truck gave way.

Edit: the root cause of failure is unknown. The bed has probably crashed from 400 mm up likely more than a dozen times, so that would be one factor. The z trucks are relatively thin at that point of breakage. The new ones were printed at 45% with 5 layers and it is an abs part. I’ll post another pic once I get it off.

Pics of the broken part and the new parts.


Looks like 2 layers.

1 Like

Possible bad layer adhesion as well as underextrusion. Note the gaps showing distinct perimeter layers separating from each other. Also gaps from infill to perimeter layers.

This print was destined to fail. If the other ones were printed same time/same material, might want to think about reprinting.

1 Like

the new ones were printed today with more walls. That one part was the only piece from that color on the printer. I’ll keep an eye on the other 2 z trucks…

2 Likes

I made a printer out of translucent yellow. Same brand as always, I have nearly all parts fail on that one. I have no idea what is so different. Some filaments are just not the same.

That part does look bad to me as well.

Maybe that spool was undersized and the whole thing underextruded a bit. Pretty crazy as I feel like those parts are under the lightest load off all the parts.

1 Like

In an ideal situation, yes, however the bed drops and this one support on the back side of the bed in the middle takes at least half the bed weight as it slams in to the belt stop… repeatedly. I’m going to put the relay short on the motors…

chicken scratch circuit drawing (does not show correctly the coil shorting):


there will be 2 relays in series. if either are not satisfied, then the motors will be shorted to ground with 1 ohm and/or together (dpdt relays). The first relay (blue) will be tied to 24v power. The second will be connected to gpio toggled when the board firmware boots. It will likely be the gpio one that triggers most of the switching.

klipper macros cand be used to redefine M84 so the bed disable can be redefined to first flip this gpio and then disable the motor drivers.

1 Like

Did you see our ebrake thread?

In that thread the conclusion was add springs or maybe a circuit. I never saw a diagram for the wiring and was thinking about it. I do recall that shorting the coils together was a workable option with a relay, but also a gpio may be needed since the 24v power does not cycle with the board reset and a resistor to ground would be another way to dissipate the back emf of a spinning motor.

yes, what that is connected to is the hard part. System power catches all bad things except klipper’s save config soft reset.

exactly.

Aza asked about a reset macro in the klipper discord and as far as I know there were no useful answers.

I don’t know enough about it to weigh in on that one.

The relay is super cheap and works great, if a macro or powered line could be found that triggers with the reset it would work. Maybe even something as simple as an always on “fan” or something. I do not have klipper running on anything to look for an easy-to-use pin.

how exactly did you wire the coil switching in your example test? did you connect coil A to coil B in 1 or 2 places so there was no connection to the board? If I can get that wired up, there has to be a pin ground state on controller boot that we can set so when it changes on boot it will trip. I can test this.

Not true. If end gcode turns off the Z stepper enables, the bed’s going to crash unless you use the stepper enable line to act as a BRAKE_DISABLE for the logic tree. There’s probably other edge cases where this could happen, like in Klipper as described here:

It’s not just about preventing back EMF from overvolting a board power rail. Shorting the coils also supplies holding torque at the steppers which will slow down or even stop the drop of a print bed or a lowrider gantry.

Ideally: Short coil A to itself (only) and short coil B to itself (only). Motor power or driver enable must be removed from the stepper drivers before this or they will go into overcurrent (best case) or cook (worst case).

I haven’t given up on the idea of a pass-through protective carrier, maybe with a cheap but effective SCR e-brake as was discussed. Just no time to work on that idea at the moment.

If you go the most simple route and just have a coil path shunt to ground, make it a value that won’t fry when shorted with motor power applied. E.g. something like 2x the nominal coil winding resistance (and use a resistor rated for whatever power dissipation you’d get with VMOT going through that resistor). You also need to make sure the shorting relay is rated for whatever that potential short circuit current is.

Edit to make it clear for all those following along. Worst case would be sinking whatever current the drivers can source in this state through that parallel set of shunt resistors. If for some reason that is a stuck on VMOT, things are going to fry (Dramatic example deleted; it lets the smoke out :slight_smile: )

This wouldn’t normally happen with your serial GPIO and 24V control- But what if GPIO hickups our you break a wire…? it highlights why you want to be really careful with shorts to ground through small resistors. Whatever you do has to be safe for that scenario.

ok, so each stepper coil needs a DPDT relay… so 6 relays just to switch each coil to the board or itself.

There has to be a stepper enable pin somewhere we can monitor… like maybe one of the 3 pins sticking up off the 2209? I’ll look into it.

based on

The schematic will be:

I don’t have any 1 ohm resistors, so I’d add that later and I was unclear on how exactly to wire it, so I’d start with the relays. Looks like 2 per channel and 2 for the voltage and GPIO input, so 8 are needed unless I can find some good 24 V 4PDT relays at a reasonable price.

1 Like

It is possible and desireable to configure SPDT relays to never present a short circuit to the driver.

So make a single pole the “A” circuit, another could be “B” or the “A” of another motor.

Common goes to motor side A1, normally closed goes to A2, both motor and board. Normally open goes to board side A1.

Relay unpowered, board side is open circuit. Board A1 goes to floating, Board A2 goes to motor A1 and motor A2. Relay powered, Board A1 to Motor A1, Board A2 to Motor A2, life is good.

Provided a break-before-make relay (most common type), no possible circumstance offers a short circuit to the board. On loss of power, there is a brief moment where the motor load is floating (no brake)

The board can only ever see open circuit or motor load. Never a resistive load nor a short circuit can be presented.

Only one circuit (probably) need interruption. You certainly could short both loops, and it would create a very strong brake, with zero possibility of buring out the board, but it’s simply unnecessary. If your motor load is strong enough to still turn the motor fast enough to present an unacceptable voltage with the brake on would be the only reason to short both leads. You still do not ever need a resistive load. The whole reason that a short circuit makes the motor harder to turn is that there isn’t a load there. The usual situation is a resistive load already which doesn’t provide an adequate brake, and sees voltage too high for components in it. If you wanted a safe shunt there you would actually need one that can handle the much higher voltage, but still low current. The motors are not producing high wattage after all.

Hmmm. Closer look, you should use the DPDT relay and short both coils, or else the back EMF on the “B” coil could flip the relay on and turn off the brake as the biggest possible hazard, but you still do not need a shunt resistor at all. The motor will not be turning fast with both coils shorted, and cannot produce enough wattage to damage the coils.

I agree

Honestly, it sounds like Klipper needs to stop resetting all teh time. If there is an endstop issue it resets? Even in Marlin it stops and says there is an issue. I am confident resetting in this case is not ideal, but I can not rewrite klipper.

If you want to catch all edge cases where it randomly resets pick a pin and make it high (or low) when on, tell it, it is a fan/heater,/stepper whatever and when it resets that pin will change state as well.

I don’t think this is going to be a huge deal. I don’t have klipper running to test, so when I do I will figure out how to get a decent signal. Unless someone makes some other circuit I have set this aside as solved with the $1 relay on each Z stepper. The relays can be wired into the power cut and signal pin at the same time. I feel like that covers 100% of the issues.