Welcome! Log In Create A New Profile

Advanced

Stepping Signal Problem

Posted by brianpaavo 
Stepping Signal Problem
November 24, 2011 04:56AM
Hiya everyone,

I've just built a Prusa (Dunedin Makerspace). On the initial test run, X, Z, and extruder steppers behave as expected. The Y stepper doesn't move (even when free from the frame). The problem is not the motor, nor the driver (logically excluded). I thought it would have been my RAMPS v1.3 build, but when I remove the shield from the Arduino mega and snoop on pin A0 (X_step) I see a nice clean square wave, on pin A6 (Y_step) I see a messy signal which rises high appropriately, but slopes back down to ground, the Z_step signal is clean and square. Anyone have any ideas? Do I have a faulty Mega or a faulty shield that damaged the Mega? What would cause this problem (bad cap?). I will test a virgin Mega, but it'll take a few days to get the Mega and oscilloscope at the same place again. The other problem I see is that the LEDs on the drivers don't light, but I do NOT suspect a major polarity problem as the shield's transmission LED works as expected and the opto-endstops also operate as expected. All the polarised caps, diodes, and transistors are placed properly, and I can't find any solder bridges. Going through the teacup firmware I couldn't find any inconsistencies between the definitions and actions on pinA0 and its symbols from those for pinA6 (except a single statement in an analogue-mask routine present for X, not present for Y) and a commented-out statement in X active in Y (which just inverses the direction). Thanks in advance for any suggestions you share.

Cheers,
Re: Stepping Signal Problem
November 25, 2011 08:06AM
The Y issue does sound like a mega issue.

LEDs on the drivers?

What drivers are you using? Standard pololu drivers have no LEDs
Re: Stepping Signal Problem
November 26, 2011 04:30PM
Thanks Dust! I am using typical Pololu (http://www.pololu.com/catalog/product/1182) I didn't look closely. I assumed the two green SMDs were LEDs!
Re: Stepping Signal Problem
December 01, 2011 04:03AM
Problem solved! After solving this problem we found discussion of the solution online, but we couldn't find it before stepping through the teacup code so I hope the search engine crawlers pick this up!

System: Arduino ATMega2560 using the Teacup firmware (http://reprap.org/wiki/Teacup_Firmware) with a RAMPS v1.3 shield and standard Pololu stepping motor drivers for my Prusa Mendel with a heated bed, operated with the RepRap GUI

Diagnosis of the problem: X, Z, and extruder motors work as expected. Bed temperatures are wacky (mine were reading around 750-851 degrees C), Y-axis motor is working hard without moving, and using an oscilloscope to peek on analog pin 6 (driver step signal) while using the interface to command a Y-axis move I see a rapid signal rise, but an ugly sloping fall instead of a clean square wave like you see on analog pin 0 when commanding an X-axis move.

The analog_mask routine in the code shifts incoming values to something wonky, so a work-around is to explicitly state the pin usage in the config.h file. Line 289-291 are by default:

// name type pin additional
DEFINE_TEMP_SENSOR( extruder, TT_THERMISTOR, AIO13_PIN, THERMISTOR_EXTRUDER)
//DEFINE_TEMP_SENSOR( bed, TT_THERMISTOR, AIO14_PIN, THERMISTOR_EXTRUDER)


I uncommented the bed sensor line because I have a heated bed so I properly changed it to:

// name type pin additional
DEFINE_TEMP_SENSOR( extruder, TT_THERMISTOR, AIO13_PIN, THERMISTOR_EXTRUDER)
DEFINE_TEMP_SENSOR( bed, TT_THERMISTOR, AIO14_PIN, THERMISTOR_EXTRUDER)


But explicitly stating the relationship makes all of the problems go away:

// name type pin additional
DEFINE_TEMP_SENSOR( extruder, TT_THERMISTOR, 13, THERMISTOR_EXTRUDER)
DEFINE_TEMP_SENSOR( bed, TT_THERMISTOR, 14, THERMISTOR_EXTRUDER)


I couldn't have solved this problem without the super folks at the Dunedin Makerspace !
Sorry, only registered users may post in this forum.

Click here to login