Welcome! Log In Create A New Profile

Advanced

marlin pulse width issue

Posted by AndreyR 
marlin pulse width issue
May 12, 2014 01:10AM
I'm digging for a month how to change a pulse width for marlin. So far what I have I can change a delay after each pulse in stepper.cpp in the Marlin Folder line 242.

void step_wait(){
delayMicroseconds(5);

but looks like it does not really help. I still have hissing , grinding sound, vibration e.t.c.

here is my extruder's driver .I'm using AC80V or DC110V 7.2A driver [www.aliexpress.com]

The goal is to get as much as possible torque at the low speed

any ideas?

Edited 1 time(s). Last edit at 05/12/2014 01:30PM by AndreyR.
Re: marlin pulse width issue
May 12, 2014 08:12AM
I don't know if anybody's had real good luck with running normal stepper drivers with the Arduino set up I looked into I didn't try it seemed sketchy at best. Just wondering why you didn't go with a planetary geared stepper motor you can buy them in any gear ratio personally I have one on a extruder I built but haven't tested yet that's 100 to 1 with a larger diameter serrated drive wheel from a mig welder

Edited 1 time(s). Last edit at 05/12/2014 08:16AM by cnc dick.
Re: marlin pulse width issue
May 12, 2014 07:59PM
void step_wait(){
delayMicroseconds(5);

this may not be high enough. if there is optical isolation then there is the slew rate time.
Re: marlin pulse width issue
May 12, 2014 08:05PM
what I found:

Alan Wood:
We changed the firmware (Marlin) on phoenix drivers (Tosh based) to extend the step width, we detected this problem in the early days of testing the Tosh drivers. We don't get issues with loosing or missing steps, or speed of the axis, its the extrusion process itself that ultimately slows us down. In fact the new controllers and drivers we are exploring are even lower powered!

most folk don't want to change the firmware., however in our case we were doing large group builds and supplying parts etc.. along with compiled binaries as well as source code.

As far as I know Erik has pulled those changes ( I guess its about: EXTEND_STEP_PULSE_USEC that has been removed from the current Marlin code: on github go to /ErikZalm/Marlin/pull/160) and the master may be a bit out of wack with current Marlin although other members in our group have merged changes with newer Marlin versions etc..

You can find the changes we made to Marlin at Buserror's repo: https://github.com/buserror-uk/Marlin feel free to use those changes. We pursued a number of options for the pulse width expansion, the final one didn't effect the timing and proved wide enough for all of our applications (we were very careful not to change the overall timings, Buserror has his own AVR sim!).

Yes we used the TB6560 and solved the sequencing issues

As far as you pulse stretching goes using hardware : I would avoid this as it is not a hardware problem, its a software engineering problem. Because Marlin (along with other RepRap firmwares) are open loop motor control systems they assume pretty much zero latencies for motor actuation. Thus introducing hardware pulse stretching (especially lp filter based) will inevitably introduce step delays will could cause further issues and complications. LP filters also change the harmonic content of your step significantly reducing the slew rate, even if this is then fed through schmitt trigger it basically will introduce latency.
Sorry, only registered users may post in this forum.

Click here to login