Welcome! Log In Create A New Profile

Advanced

DRV8825 tiny trouble

Posted by Yellobello 
DRV8825 tiny trouble
May 21, 2014 04:56PM
Hi, since I got 5 Getech drv8825 chips for free, i thought i´ll give it a try.
XYZ works great, torque is still good even with 32/microstepping and the whole thing is a lot less loud.

What not works is my extruder. I can´t get it moving,any idea why?
Firmware-wise all I changed is doubling the steps per unit value from

#define DEFAULT_AXIS_STEPS_PER_UNIT {66.83,66.83,2560,254} // A4988

to
#define DEFAULT_AXIS_STEPS_PER_UNIT {133.67,133.67,5120,508} // DRV8825

the other spare driver gives the same result, even when connected to another spare stepper motor with no load at all.

Al I get is some noise, which varies when I turn the pot, but not a single step(at least not one I noticed).

Somewhere I read that I should raise the step time from arround 1ms to 1.9ms, but where can I do this on marlin??
Any other ideas??
Re: DRV8825 tiny trouble
May 21, 2014 10:31PM
Do you have a thermistor and a hotend that indicate ~190C? There are some checks in place to avoid pushing plastic into a cold extruder. Assuming you have marlin, check marlin the section with:
//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
//can be software-disabled for whatever purposes by
#define PREVENT_DANGEROUS_EXTRUDE
//if PREVENT_DANGEROUS_EXTRUDE is on, you can still disable (uncomment) very long bits of extrusion separately.
#define PREVENT_LENGTHY_EXTRUDE

#define EXTRUDE_MINTEMP 170
#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.
Some senders could have checks of this type also.
If all you want to do is testing, its probably better to leave these on and in place of thermistor put some low value resistor (100-200ohms) or a pot (10k-1k), to make it display a temperature of ~200C. Perhaps it just needs that to work.
If x and y and z does work ok, then so it should E, then chances are you do not need to change the step width.
Re: DRV8825 tiny trouble
May 22, 2014 03:53AM
But in this case, i´ll get an cold extrusion prevented error, right?

Maybe I still have to tune step width... I noticed when homing, my x axis makes a very fast move and in the middle of this move it looks it skips alot of steps.. at least it makes this sound. I don´t know if any real steps are lost, but its definitely the very fast move. It occurs on no other part of any print.
Where can I tune step width?

Edited 1 time(s). Last edit at 05/22/2014 03:56AM by Yellobello.
Re: DRV8825 tiny trouble
May 22, 2014 04:26AM
Dunno if you get a cold extrusion error, if the sender blocks it or if the firmware blocks it, these are bit different cases.

I dont think thats an issue with step width, more likely you are probably trying to move the axis too fast, which can be adjusted by changing max speed setting.
#define DEFAULT_MAX_FEEDRATE {500, 500, 5, 25} // (mm/sec)
You could change that to {70,70,3,25} which bit are more realistic. I think the reason why in firmware limits are high, is to allow people experiment different settings in slicer. If you put in slicer a setting for a speed more than 70 for example, you wont see any difference because all faster speeds will be executed at 70 - that is the point of having a "maximum" there. Also different hardware out there so you need to find speed and acceleration values for your own printer.
Re: DRV8825 tiny trouble
May 22, 2014 05:27AM
When single axes fail, it's always a good idea to swap these stepper drivers with other axes and look wether the failure follows.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: DRV8825 tiny trouble
May 22, 2014 07:09AM
Yeah, the fault follows, even when i swap the stepper driver. Also when I swap the stepper motor. My settings are:


#define DEFAULT_AXIS_STEPS_PER_UNIT {133.67,133.67,5120,254} // for DRV8825; for A4998: {66.83,66.83,2560,254}
#define DEFAULT_MAX_FEEDRATE {500, 500, 4, 25}
#define DEFAULT_MAX_ACCELERATION {500,500,25,100}

#define DEFAULT_ACCELERATION 250
#define DEFAULT_RETRACT_ACCELERATION 250

#define DEFAULT_XYJERK 10.0 // (mm/sec)
#define DEFAULT_ZJERK 0.4 // (mm/sec)
#define DEFAULT_EJERK 5.0 // (mm/sec)


I think you are right with the 70 limit though.
Re: DRV8825 tiny trouble
May 22, 2014 11:03PM
The default 500mm/sec means 30.000mm/min, which is way too fast, especially for cartesian machine. A more practical range would be around 70-80mm/sec for max speed. But you can test to see how it behaves at increasing speeds, then you find your own setting for the max speed of the machine. Also later on (if and when) you will test printing, can basically do the same thing with the speeds setting in slicing program and dont rely on default speeds which would ge again high. Instead, start from low speeds like 15-20mm/sec, then go up untill you find a point where the machine behaves best during printing. Imo, its way better to start from low and go up, then other way around.
Re: DRV8825 tiny trouble
May 23, 2014 04:04AM
Ok, but again my problem is only for the E axis. XYZ behaves mostly fine. I just did a 10 hour test print with 3 DRV8825s for XYZ and one A4998 for E since i can't get any of my spare 8825s working with E.
In all arrays that get defined it goes like this : #define variable {X,Y,Z,E}, so the last value is for E. In all cases, for Max feedrate and Steps per unit, my E value is between my XY and Z value (254 and 25). Since XY and Z all work, I can't find a logical explanation why E shouldn't work.... I always extrude when temperature is higher than 170C and I also used a spare stepper motor whithout any load for testing . All I got is some sounds from the stepper when trimming the pot and at one very fine setting I can see an attempt of the motor to move, but when I just turn the pot one degree further it starts just making sound again....

Edited 1 time(s). Last edit at 05/23/2014 04:07AM by Yellobello.
Re: DRV8825 tiny trouble
May 23, 2014 06:22AM
Quote
Yellobello
[...] my x axis makes a very fast move and in the middle of this move it looks it skips alot of steps.. at least it makes this sound. I don´t know if any real steps are lost, but its definitely the very fast move. It occurs on no other part of any print.
Where can I tune step width?

You need to decide if your isses are with x axis or with e. A little clarity when you state the problem goes a long way towards solution. Presumably the x axis speed is now allright, i understand you have an issue with E. In which E seems to work with an a4988 but does not work with a drv8825.

Maybe that drv8825 is fried - have you tried swapping it with another axis to confirm if that driver works.
Re: DRV8825 tiny trouble
May 23, 2014 08:58AM
Sorry for confusing you, my main issue is E, i just thought that the sound my X made is somehow related because my assumption was that the timing would be wrong. Since I lowered the speed, XYZ are fine, but the extruder issue is still there. I used about every stepper driver I had on that axis, and the only ones that work are the A4498s. Neiter the GE tech 8825s of the other axes nor the one other DRV8825 from seedstudio I have works on E, so i still assume its somehow firmware related.
Re: DRV8825 tiny trouble
May 23, 2014 11:53AM
According to the pololu webpage, assuming that is what you have, take a multimeter and measure the reset, sleep and enable pins while in that situation when the driver does not want to move. The sleep and reset should be high (5v between them and gnd), and enable should be low (0v to gnd).

Also what hardware you have, e.g. if you have ramps 1.4 have you tried both slots of E0 and E1. Check which is E0 (near the mosfets) and which is the E1 (top middle), and it should be E0 that is used.

Edited 1 time(s). Last edit at 05/24/2014 03:38AM by NoobMan.
Re: DRV8825 tiny trouble
May 24, 2014 03:33AM
Quote

The SLEEP pin on the DRV8825 is not pulled up by default like it is on the A4988, but the carrier board does connect it to the FAULT pin through a 10k resistor. Therefore, systems intended for the A4988 that route logic power to the FAULT pin will effectively have a 10k pull-up on the SLEEP pin. (This 10k resistor is not present on the initial (md20a) version of the DRV8825 carrier.)
Maybe you have that md20a version which does not fit a pullup on sleep, hence the driver would just be in sleepmode, check this situation, by measuring (offline) between sleep and fault/5v.

Quote

To keep faults from pulling down the SLEEP pin, any external pull-up resistor you add to the SLEEP pin input should not exceed 4.7k.
Also perhaps you can try fit a 3-4k resistor between sleep and 5v just to test if that fixes the problem or not. On ramps the sleep and reset are shorted to each other, both using the drv8825 fault pullup of 10k, perhaps that is not enough and then sleep and reset may read something like 4v or lower so they sit in forbidden zone instead of registering a "high" 5v. If they read like 4v or lower, a fix to that would be adding a pullup resistor to them like that.

Edited 2 time(s). Last edit at 05/24/2014 04:28AM by NoobMan.
Re: DRV8825 tiny trouble
June 19, 2014 05:00PM
I have not yet found a solution for this.
But I have an idea.
I'd like to swap the E0 driver to E1 and tell marlin to use extruder #1 instead of #0....maybe that fixes it... I somehow assume that RAMPS is the source of the trouble.
Do you think it's a big deal to tell marlin to use E1 instead of E0 everytime?
Re: DRV8825 tiny trouble
June 19, 2014 05:30PM
Do you know for a fact that E1 works and E0 doesnt, or is that just a test.

If you are sure that E1 works while E0 does not, you can go in pins.h and see which pins does it use for E0 and E1, and just swap them to each other. And with this change, the new E0 will be physically considered the old E1, and ofc, vice-versa.
Re: DRV8825 tiny trouble
June 20, 2014 06:18PM
It's just a test because I am running out of ideas.... This is such a strange issue...

I can hear the stepper making a sound while trimming the pot but no movement on E0... I tried lots of drv8825s and lots of stepper motors. They all work on xyz but refuse to work on e.... When i use a random 4988 it works everytime, even on e0.

Strange, right?
Re: DRV8825 tiny trouble
June 21, 2014 09:06AM
Ok, this brings me back to my first assumption, that step size might be involved:

I just tried repetier firmware instead of marlin, and E0 works fine with the drv8825....

Even more strange???
Re: DRV8825 tiny trouble
June 22, 2014 07:36AM
See what pins definitions each have for E0 step and E0 dir, and compare. Those are in file pins.h under the section of motherboard=... which you selected in config.h. I think its possible that in you may have wrong pin definition. Or perhaps you used some development branch of marlin, or somebody elses branch, see if you used the marlin from the official marlin page.
Re: DRV8825 tiny trouble
June 23, 2014 09:43AM
It´s official Marlin, latest.

And I checked the pins.. on marlin i´ts:
    #define E0_STEP_PIN        26
    #define E0_DIR_PIN         28
    #define E0_ENABLE_PIN      24

    #define E1_STEP_PIN        36
    #define E1_DIR_PIN         34
    #define E1_ENABLE_PIN      30


And on Repetier, it´s:
#define ORIG_E0_STEP_PIN         26
#define ORIG_E0_DIR_PIN          28
#define ORIG_E0_ENABLE_PIN       24

#define ORIG_E1_STEP_PIN         36
#define ORIG_E1_DIR_PIN          34
#define ORIG_E1_ENABLE_PIN       30


So... hum :-)


Again: Where can I set step width on Marlin?
Re: DRV8825 tiny trouble
June 23, 2014 11:29AM
Check if your EEprom is enabled and if yes, be sure that speeds are not set to unrealistic values here. It can be a problem to switch from Repetier to Marlin or viceversa.
I am running motors and 2 extruders with DRV8825 only and Marlin with no issues at all and thousands are doing the same, so forget about step pulses etc.
Re: DRV8825 tiny trouble
May 15, 2016 10:40PM
Quote
NoobMan
The default 500mm/sec means 30.000mm/min, which is way too fast, especially for cartesian machine. A more practical range would be around 70-80mm/sec for max speed. But you can test to see how it behaves at increasing speeds, then you find your own setting for the max speed of the machine. Also later on (if and when) you will test printing, can basically do the same thing with the speeds setting in slicing program and dont rely on default speeds which would go again high. Instead, start from low speeds like 15-20mm/sec, then go up until you find a point where the machine behaves best during printing. Imo, its way better to start from low and go up, then other way around.

Had the same problem with E0 not working, then found this suggestion and set it to 90 mm/sec and motor turned over. I am also using the DRV8825 on all axis and E0. Best Advice Ever. Thanks NoobMan, you get a hero cookie from me.
Re: DRV8825 tiny trouble
May 16, 2016 04:20PM
Without pulse length modification in the firmware the dvr8825 wont do more than 5500mm/min ish, after that is skipping or worst. 90mm/sec is right at the mark before you run in problem.

Then there is the Low current speed problem too, drv8825 are not well made for 3d printer. I still waiting on makerfarm to restock the Raps128 to finally say goodbye to my 8825's, so far its been problem after problem

Edited 1 time(s). Last edit at 05/16/2016 04:21PM by GroupB.
Sorry, only registered users may post in this forum.

Click here to login