MiniPCB2 -- Axis 2 stepper driver not working


d.revan
 


Got a doozy.  I can't get the axis 2 stepper to respond to any move commands.  The axis 1 stepper works as expected.  

My setup is the MiniPCB2 published board, using a Teensy 4.0, BTT TMC2130 drivers, and the Wemos board for the SWS.  I'm using StepperOnline Nema 17 1.5A 1.8 degree motors.  32 microsteps.  12V input power from a 6 amp power supply.  Actual measured voltage is 12.48V.  

Here's a list of things I've tested: 

1. Used the reset home button in the smart web server and enabled tracking to allow manual moves.  E&W buttons move Axis 1.  Nothing happens when pressing N&S buttons.  First time I pressed reset home, the below horizon error popped up in the status screen.  I adjusted the allowable range of the Alt axis to -30 and the error no longer pops up when using the reset home button.  

2. Swapped stepper drivers, stepper motors, and connection cables to the steppers in every possible configuration.  Axis 1 always works with whichever combination of stepper/driver/cable is used there, and axis 2 always fails to work.

3. Tested voltage at the enable pin.  With the steppers disabled in the OnStep webserver (used the home reset button in OnStep to do this), there is 3.3v present on Axis 2 (also on Axis 1).  With the steppers enabled (enabling tracking), there is 3.0mV present at the enable pin on Axis 2, but the stepper motor can be moved by hand freely.  On Axis 1, there is 0V at the enable pin, and the motor does not move freely.  

4. Tested continuity and resistance from the control pins on the stepper to the appropriate pins on the Teensy 4.0 board.  All checked out on both stepper drivers.

5. Went into the pinmap.h file and swapped "Axis1" for "Axis2" throughout the MiniPCB tab.  Compiled and uploaded the revised firmware to the Teensy and tested again.  With the modified firmware, N&S now moved Axis 1, but Axis 2 is still unresponsive - E&W buttons do nothing.  I may be misinterpreting, but this result seems to confirm that the problem is a hardware problem as opposed to a software problem.  

6. Changed the firmware back to normal.  I had been using the trim pot on the steppers to control current, so I switched to SPI in the firmware just to see if that would somehow help.  It didn't.  Same behavior.  

The only thing that I see that is slightly out of expectation (other than axis 2 not working at all) is the 3.0mV present on the enable pin when the drivers are enabled.  I'm having trouble finding information about whether that is enough voltage present to prevent the driver from enabling.  My hunch is that this is not the problem

Any suggestions on how to proceed with further troubleshooting would be greatly appreciated.  

  



Howard Dutton
 

Reading this over... I wonder about the Axis2 M0,M1,M2 pins (MOSI, SCK, CS.)

It is required for the TMC-SPI driver to be programmed before it powers up the outputs.

You'd need an oscilloscope to see the signals being sent on those pins but instead you could set Axis2 to an LV8729 and set various microstep modes to see the M0, M1, M2 states appear High/Low on your meter.  That would be a fair indication of it working or not.

Mode M0 M1 M2
1x Low Low Low
2x High Low Low
4x Low High Low
8x High High Low
16x Low Low High
32x High Low High
64x Low High High
128x High High High


hitosi sato
 

Hi
Are VM and Vcc normal on the stuck AXIS2 motor driver pin?

Hitoshi


Mark Christensen
 

One additional hardware thing to check: With the Teensy and the motor drivers unplugged check for shorts between adjacent pins on the socket for Axis2 and the Teensy. Test this with a bare strip of pins, so that the actual physical configuration is the same.

I've seen cases where the thin plastic walls that separate the 'forks' in the header strips melted, producing a short between adjacent forks when they are spread by the pins (plural!) being inserted.

Shorts like these are most likely to occur if the builder inserts the driver (or Teensy) into the two header strips in an attempt to ensure that the two headers will be perpendicular and parallel. They then solder the header in with the driver installed. The inserted driver pins spread the little 'tuning forks' in the header and the heat melts the thin plastic wall that separates the pins, allowing the now-tensioned fork to spread into the space of the adjacent pin, producing a short. It can also happen that the header strip was defective in the first place - it is a good idea to test them for shorts before initial installation.

The cure is to remove the shorted header strip and solder in a new one without the device inserted. Removing the shorted header is most easily done by destroying the guilty header strip with diagonal cutters so the individual forks can be removed one at a time. if you don't have a 'solder sucker' get one in any case, along with de-soldering wick.

As to the 3mV on the ENABLE (Complement) pin, that is a safe value - the logic low threshold is usually something of the order of several 100 mV. The exact value depends on the logic family and the Vcc.

Best Wishes,

Mark Christensen


George Cushing
 

In SPI the 2130s' pots should be set to max output. On the V 3.0 I'm using that's fully counter clockwise.


d.revan
 

VM and VCC are normal - 12V and 3.3V respectively.  The headers all checked out as well.  

I'm currently working on connecting the teensy and steppers on a breadboard with a minimum of circuitry to see if I can isolate the pcb as the potential problem.  If that doesn't work, a couple of backordered teensy boards showed up today, so may load up onstep on a spare teensy and see what happens there.  I kind of hate just throwing parts at a problem, but I'm starting to get there.  

I haven't yet tried Howard's suggestion of setting the stepper to an LV8729, but that will be on the list for this weekend if none of the above works.  

I'll report back once I figure out the issue.  

On Wed, Nov 30, 2022 at 9:37 AM Mark Christensen <mjcw500@...> wrote:
One additional hardware thing to check: With the Teensy and the motor drivers unplugged check for shorts between adjacent pins on the socket for Axis2 and the Teensy. Test this with a bare strip of pins, so that the actual physical configuration is the same.

I've seen cases where the thin plastic walls that separate the 'forks' in the header strips melted, producing a short between adjacent forks when they are spread by the pins (plural!) being inserted.

Shorts like these are most likely to occur if the builder inserts the driver (or Teensy) into the two header strips in an attempt to ensure that the two headers will be perpendicular and parallel. They then solder the header in with the driver installed. The inserted driver pins spread the little 'tuning forks' in the header and the heat melts the thin plastic wall that separates the pins, allowing the now-tensioned fork to spread into the space of the adjacent pin, producing a short. It can also happen that the header strip was defective in the first place - it is a good idea to test them for shorts before initial installation.

The cure is to remove the shorted header strip and solder in a new one without the device inserted. Removing the shorted header is most easily done by destroying the guilty header strip with diagonal cutters so the individual forks can be removed one at a time. if you don't have a 'solder sucker' get one in any case, along with de-soldering wick.

As to the 3mV on the ENABLE (Complement) pin, that is a safe value - the logic low threshold is usually something of the order of several 100 mV. The exact value depends on the logic family and the Vcc.

Best Wishes,

Mark Christensen


d.revan
 

Breadboard experiment with a somewhat simplified circuit produced the same result - Axis 2 still didn't work.  I ended up throwing a new Teensy 4.0 at it from the boards that I received on backorder from Sparkfun on Friday, and both axes work with the new Teensy board.  I'm not sure how much farther I'm going to go on testing the old board since I now have a working solution.  Thank you all for your help!

Chris


Mark Christensen
 

Chris,

Glad to hear that you got your baby up and running. I've seen two Teensys fail. One with a stuck IO bit and another with a missing fuse (F1 on the underside). The fuse failure was odd because that sample had worked at one time but when the system came back to my shop (I help friends - not as a business) the fuse was gone. So it appears it just fell off. Was easy to fix. The other one with the bad bit went into a parts mystery bin.

Mark C.