Bypassing a stepper motor socket whose pins are hard-wired to a cable. - Page 1
Forum section: electronics / projects

author: cds333
author_rank: Contributor
timestamp: March 10, 2023, 08:53:08 pm
content: I am working on a 3d printer mainboard where the stepper motorsocketfor the extruder went bad.I am able to use a free socket and reassign the pins in the firmware and flash the MB to fix the problem, but unfortunately the original socket was hardwired via traces on the board to the all-in-one cable that goes from the MB to a breakout board on the extruder carriage.Each stepper socket has a JST connector as is standard with such boards (except the original extruder socket did not use its JST connector due to the aforementioned hardwire traces).I am trying to connect the secondary socket to the primary socket via a JST jumper (with the driver chip removed from the latter), so I can utilize the original all-in-one cable.This does not work though, likely due to some other components on the board connected to those same pins, despite the driver chip being removed (the cap maybe?).What would I have to do to get this to work?TIA

author: wraper
author_rank: Unknown
timestamp: March 10, 2023, 08:57:10 pm
content: Why not gust transfer good driver chip in place of a bad one instead of making nonsensical bodge spaghetti?

author: cds333
author_rank: Contributor
timestamp: March 10, 2023, 08:58:58 pm
content: The socket is bad, not the driver chip.

author: cds333
author_rank: Contributor
timestamp: March 13, 2023, 10:23:06 pm
content: What else could it be besides the cap, that is causing that socket to leech power?

author: james_s
author_rank: Super Contributor
timestamp: March 13, 2023, 11:27:51 pm
content: What do you mean leach power? Usually power for the motor comes from the driver chip, what makes you think the socket itself is the problem? Is it physically broken?

author: cds333
author_rank: Contributor
timestamp: March 14, 2023, 01:42:52 am
content: There is nothing physically wrong with the socket that I can see, but I have checked all the driver chips and they all work in any other socket. I am using the original chip from the E0 socket in the E1 socket to run the motor now, so the chips and motor are not the issue.By "leech power" I mean- there is something connected to the empty socket that is preventing the driver chip from recognizing the motor. Either some pin is high when it should be low, or vice versa, or maybe a pin is diverting the current that needs to be going to the motor. I have no idea as I do not have an actual schematic diagram for the board. I need to isolate the empty socket from the board/MCU or whatever else is interfering with the signals, so I can use its connection to the breakout board cable, essentially running the two sockets' JSTs in parallel (only the E0 socket has a hardwired connection to the cable and I am trying to avoid running a second cable from E1M to the motor)Does that make any sense?

author: james_s
author_rank: Super Contributor
timestamp: March 14, 2023, 02:02:21 am
content: How does the driver chip recognize the motor? Stepper motors are normally open loop. Is there a schematic for this board available somewhere? That would be helpful to see how it's set up. Maybe there's a shorted protection diode or an open current sense resistor or something? It's got to be something simple.

author: tooki
author_rank: Super Contributor
timestamp: March 14, 2023, 07:04:08 pm
content: Quote from: cds333 on March 10, 2023, 08:58:58 pmIf the connector is bad, then why not replace the connector?If by “socket” you meananythingother than the connector, then you need to translate to normal terminology by explaining what you mean.

author: tooki
author_rank: Super Contributor
timestamp: March 14, 2023, 07:21:38 pm
content: Quote from: james_s on March 14, 2023, 02:02:21 amHere you go:https://github.com/bigtreetech/BIQU-BX/blob/master/Hardware/V2.0/SKR%20SE-BX%20V2.0-SCH.pdf(it's an in-browser view, not a download; be sure to click "more pages" at the bottom of the page)Since the OP is doing the common thing of drip-feeding critical information, here's what a few minutes of googling turned up:- the board is a dedicated MCU board for 3D printers and the like, using a fairly beefy STM32 MCU- it doesn't contain actual stepper drivers, but instead has sockets for stepper driver daughtercards, so that the user can choose which drivers they want to use- the drivers have both a shared SPI bus, as well as individual RX, EN, STP, and DIR lines that are connected to the MCU via a 100 ohm resistor array- each driver has a pull-up resistor on its EN line- each driver has a 100uF cap between motor ground and the motor supply voltage- the outputs of the driver are then just routed to JST connectors to go to the motors- there's a separate pair of connectors that look like they might be diagnostics for the motor channel- the board appears to use an HDMI connector to run a bunch of signals to something -- I guess this is the "all in one cable" OP was talking about.- said HDMI connector includes the E0 motor's 4 driver outputsSince we know the driver boards are OK, then it stands to reason that on the failed channel, either the connector, the resistor array, the pull-up resistor, or one or more of the MCU pins are dead.If I am translating OP's opacity correctly, it's this E0 channel that isn't working. Since the only thing that's different about it is the outputs paralleled to the HDMI jack, the HDMI jack is where I'd start looking. Maybe a pin has shorted out, or broken off, either on this boardor on whatever board is at the other end of the cable. [Edit: that'd be the extruder head.] If it's not that, then it would have to be one of the things enumerated in the previous paragraph.Here's the system that board (at least some version) is part of:https://3dprintbeginner.com/biqu-bx-review/

author: cds333
author_rank: Contributor
timestamp: March 15, 2023, 03:00:56 am
content: Quote from: james_s on March 14, 2023, 02:02:21 amTrue they are open loop, but somehow it does. For example if you boot the printer without a motor connected, and then connect the motor, it will not respond to commands. Reboot and that same motor works normally.Quote from: tooki on March 14, 2023, 07:04:08 pmIn language associated with 3D printer motherboards, a "stepper socket" is what a set of parallel female DIP rails that accept the driver chip is called.And yes people usually "drip feed" critical information because if they are able to articulate everything you did in your post they probably wouldn't need to come here for help because they could just fix it themselves. Thanks for doing that btw.Anyway- the E0M JST socket has continuity to the breakout board's extruder JST socket on the far end, so there is no problem with the HDMI cable or its accoutrements.It is likely one of the other things you mentioned. Is there any easy way to disconnect the socket from the other components on the board and only use its connection to the HDMI cable?

author: DavidKo
author_rank: Frequent Contributor
timestamp: March 15, 2023, 07:13:43 am
content: What happens if you connect different motor to discussed position? Have you had checked if the soldering is OK?

author: cds333
author_rank: Contributor
timestamp: March 15, 2023, 06:24:26 pm
content: Quote from: DavidKo on March 15, 2023, 07:13:43 amNothing. And inspection of the board yields no obvious damage.Given that it worked at one point and then stopped working, as opposed to having never worked from the factory, I am leaning towards something burned out or damage to the MCU pins.

author: wraper
author_rank: Unknown
timestamp: March 15, 2023, 06:57:34 pm
content: Quote from: cds333 on March 15, 2023, 06:24:26 pmWhy would MCU pins burn without motor driver failing first?

author: james_s
author_rank: Super Contributor
timestamp: March 16, 2023, 01:19:47 am
content: Quote from: wraper on March 15, 2023, 06:57:34 pmI can think of a few possible scenarios. Electrostatic discharge, manufacturing defect, accidental short circuit to a supply rail, possibly through a defective motor driver or one that is plugged in backwards, off by a pin, etc. I have seen MCU pins fail, once I even fixed a dishwasher by adding an external pullup resistor, apparently the pullup in the MCU failed, as far as I know it's still working a decade later.

author: wraper
author_rank: Unknown
timestamp: March 16, 2023, 02:38:49 pm
content: Quote from: james_s on March 16, 2023, 01:19:47 amBut driver module is alive. Non exposed to outside MCU pin fail is extremely rare, unless something else in the circuit kills it. But that must fail first.

author: james_s
author_rank: Super Contributor
timestamp: March 17, 2023, 03:30:05 am
content: Quote from: wraper on March 16, 2023, 02:38:49 pmDo we know that there wasn't a defective driver module at some point? Or one that was plugged in incorrectly, or a short circuit, or static discharge, or the MCU was cooked a bit too hot when it was soldered? Any number of things can happen, ICs do fail. The IC may even be fine, I've seen resistors fail open.

author: cds333
author_rank: Contributor
timestamp: March 17, 2023, 04:23:30 am
content: Many of those things are possible. It was an open box deal. All I know is that all driver chips currently work in other slots.

author: tooki
author_rank: Super Contributor
timestamp: March 17, 2023, 07:37:00 am
content: Do you have an oscilloscope or logic analyzer? You could monitor what the signals look like on a working channel, then probe around the failed channel to see what’s going on.

author: james_s
author_rank: Super Contributor
timestamp: March 18, 2023, 05:22:56 pm
content: Open box? So maybe somebody bought it, hooked something up wrong and damaged it then boxed it up and returned it?

author: cds333
author_rank: Contributor
timestamp: March 19, 2023, 09:18:44 pm
content: Quote from: tooki on March 17, 2023, 07:37:00 amI do. But since I already have it working on another channel I thought it would be quicker to just isolate the E0 channel from the board entirely, use it's connection to the HDMI cable, and just use E1 to drive the motor.Quote from: james_s on March 18, 2023, 05:22:56 pmYes. Very common. I would never buy one myself without checking it out first; I am fixing this for someone else. Actually given the reputation of BTT it's also entirely possible its a manufacturing defect.

author: james_s
author_rank: Super Contributor
timestamp: March 19, 2023, 10:53:16 pm
content: Quote from: cds333 on March 19, 2023, 09:18:44 pmYou can do what you want, but personally I would test all the easy stuff and verify that the microcontroller pins are actually dead before condemning the port and hacking the hardware. It shouldn't be too hard to check continuity from the pins on the MCU to the pins on the socket for the motor driver.

author: tooki
author_rank: Super Contributor
timestamp: March 20, 2023, 08:37:48 am
content: Quote from: james_s on March 19, 2023, 10:53:16 pmExactly! I mean, if it’s something as simple as a failed resistor network, then it’d be easy to fix.