Welcome! Log In Create A New Profile

Advanced

No Deacceleration?

Posted by NixToDo 
No Deacceleration?
August 10, 2013 02:54PM
Hi,

I have a strange behave at my CNC style Reprap.
I use Repetier Host 0.90c and Firmware 0.83 an it works well. But I have to reduce the speed limits to very low values.
Because of the CNC style (mass of Y bridge) the steppers have to accelerate slowly (50mm/secĀ²). The speed is about 60mm/sec.

I have attached a link to a video:
[dl.dropboxusercontent.com]

First move (from Y 0):
G1 Y200 F3600
All works fine. You can hear the sound when accelerating, traveling and deaccelerating.
Second move:
G1 Y50 F3600
Same as above.
Thrid move:
G1 Y100 F3600
You can hear the sound when accelerating and stopping without deaccelerating. (Strange sound at the end of the move.)
Fourth move:
G1 Y50 F3600
Same as above.

It seems that there is a bug in the firmware for the case that the desired speed was not reached before the end of the travel disdance.
The firmware should decrease the maximum speed to a value that a accelerating and deaccelerating is done in the travel disdance.

At this video the CNC does not lost steps, but in print moves with medium lenght moves (~10 to 40mm) the Y axis and a little bit later the X axis lost steps. My temporay solution is to reduce the maximum speed. sad smiley
I hope you have a solution for my issue.
See you, Dirk
Re: No Deacceleration?
August 11, 2013 02:39AM
Your video is broken :-(

Trying acceleration 50 with jerk 1 on my printer worked as expected. So I do not know which setting might be the problem.

What are your settings for jerk/steps per mm?

You could upload the firmware again compiled with

#define DEBUG_QUEUE_MOVE

if you then enable ECHO in debug options you will get many informations about speed computation and acceleration/deceleration steps. These could maybe halp to analyse your problem. If I understood you correctly, the commands were entered manually and not in a row as script/g-code file?


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: No Deacceleration?
August 11, 2013 06:41AM
Hi, thanks for your help.
The jerk is default value (20). I have tested 50 and 100, resulting in lost steps from beginning moving. Also I have tested a value of 0. It has no effect.

Yes, I have entered the commands at manuel control panel.

Download the video then it plays, a direct view doesn't work. I don't know why.

I will compile the firmware tomorrow.
Dirk

Edited 2 time(s). Last edit at 08/11/2013 08:21AM by NixToDo.
Re: No Deacceleration?
August 12, 2013 12:56PM
Hi,

now I have compiled the firmware with #define DEBUG_QUEUE_MOVE included.
See the attached log file.

I have also attached my Configuration.h file.

By the way: Running g code from manual panel or from a file doesn't make a difference.

Do you have an idea?
Dirk

Edited 1 time(s). Last edit at 08/12/2013 12:57PM by NixToDo.
Attachments:
open | download - Fail Log.txt (3.7 KB)
open | download - Configuration.h (47.7 KB)
Re: No Deacceleration?
August 12, 2013 03:55PM
What I see is a high number of steps per mm. That might give some problems with overflow. Negative acceleration steps are an indication of this. The other thing is that 60 mm/s is too fast. That would be 60khz and tha is too much for the avr. I think you should limit speed to 40mm/s. Perrhaps the numerical problem stop then. Please try how fast you need to go, until the problem starts to occur.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: No Deacceleration?
August 13, 2013 03:20AM
The original manufacturer of the CNC have installed steppers with 200 steps and a TR12x3 (= 66.666 Steps/mm). I have switched to 16x micro stepping (= 1066.666 Steps/mm). All axis (XYZ) shown the same behave.

The stepper drivers have DIR and STEP inputs. I have connected a selfe made Gen7 with only one Polulo for the Extruder to them. My first use case of the CNC is using it with LinuxCNC. With LinuxCNC the maximum speed is 34.xx mm/sec, but the speed limit is the LPT / computer.

I will try reducing the speed.

By the way: When I press the home button with already homed axis the X and Y axis move off the reference switches (as noted in ENDSTOP_x_BACK_MOVE) and moves back to the switch. The Z axis doesn't move. A new homing of the Z axis is only possible when moving the axis a little bit out of the reference switch. Because of the CNC style of my machine, the reference switches mounted at X and Y at minimum and at Z at maximum. Is this behave normal?
Re: No Deacceleration?
August 13, 2013 03:36AM
NixToDo Wrote:
-------------------------------------------------------
> The original manufacturer of the CNC have
> installed steppers with 200 steps and a TR12x3 (=
> 66.666 Steps/mm). I have switched to 16x micro
> stepping (= 1066.666 Steps/mm). All axis (XYZ)
> shown the same behave.

Why so high? Send resolution is 0.01mm so if you reduce to 2xMicrostepping you still have 133.33 Steps per mm. That is a speed the avr can handle much better and you could even run 200mm/s with that if motors are strong enough. And as a benefit the avr is not working with 100% load and can handle perimeter with many short segments much better.

>
> The stepper drivers have DIR and STEP inputs. I
> have connected a selfe made Gen7 with only one
> Polulo for the Extruder to them. My first use case
> of the CNC is using it with LinuxCNC. With
> LinuxCNC the maximum speed is 34.xx mm/sec, but
> the speed limit is the LPT / computer.
>
> I will try reducing the speed.
>
> By the way: When I press the home button with
> already homed axis the X and Y axis move off the
> reference switches (as noted in
> ENDSTOP_x_BACK_MOVE) and moves back to the switch.
> The Z axis doesn't move. A new homing of the Z
> axis is only possible when moving the axis a
> little bit out of the reference switch. Because of
> the CNC style of my machine, the reference
> switches mounted at X and Y at minimum and at Z at
> maximum. Is this behave normal?

Sound wrong. Check M119 and see if you have a configured a max endstop for z as well, which you do not have. That could prevent the move during homing. Or you have set the retest length to 0.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: No Deacceleration?
August 13, 2013 04:35AM
OK, you are right. I will reduce the micro steps to 2x.

M119 shows correct values. Low with not actuated switch and High with actuated. As you can see in the attached configuration.h above I have set up X and Y axis with MIN switches and Z with a MAX switch. There is no back move at Z axis when homing first time. The Z axis stops only.

#define ENDSTOP_PULLUP_X_MIN true
#define ENDSTOP_PULLUP_Y_MIN true
#define ENDSTOP_PULLUP_Z_MIN false
#define ENDSTOP_PULLUP_X_MAX false
#define ENDSTOP_PULLUP_Y_MAX false
#define ENDSTOP_PULLUP_Z_MAX true

#define ENDSTOP_X_MIN_INVERTING false
#define ENDSTOP_Y_MIN_INVERTING false
#define ENDSTOP_Z_MIN_INVERTING false
#define ENDSTOP_X_MAX_INVERTING false
#define ENDSTOP_Y_MAX_INVERTING false
#define ENDSTOP_Z_MAX_INVERTING false

#define MIN_HARDWARE_ENDSTOP_X true
#define MIN_HARDWARE_ENDSTOP_Y true
#define MIN_HARDWARE_ENDSTOP_Z false
#define MAX_HARDWARE_ENDSTOP_X false
#define MAX_HARDWARE_ENDSTOP_Y false
#define MAX_HARDWARE_ENDSTOP_Z true

#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR 1

#define ENDSTOP_X_BACK_MOVE 1
#define ENDSTOP_Y_BACK_MOVE 1
#define ENDSTOP_Z_BACK_MOVE 1

#define ENDSTOP_X_RETEST_REDUCTION_FACTOR 10
#define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 10
#define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 10

#define ENDSTOP_X_BACK_ON_HOME 0
#define ENDSTOP_Y_BACK_ON_HOME 0
#define ENDSTOP_Z_BACK_ON_HOME 0
Re: No Deacceleration?
August 13, 2013 09:12AM
I think the z axis problem is caused by a bug in combination with software endstop in min direction. In commands.cpp line 203

      printer_state.currentPositionSteps[2] = 0;

should be changed into
      printer_state.currentPositionSteps[2] = (Z_HOME_DIR == -1) ? printer_state.zMinSteps : printer_state.zMaxSteps;
(same line as 210 in case forum software creates smileys from my code :-)

Or you disable software z endstop, but I would prefer the fix. Or you ignore the missing retest.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: No Deacceleration?
August 14, 2013 02:29AM
Great! The homing of the Z axis works now as expected!

With reducing the microsteps to 2x the deacceleration works, but the sound and vibrations of the CNC are very bad.
A direct use of the existing speed and acceleratrion settings doesn't work.
I will play the next days a little bit with the microsteps, speed, acceleration and jerk settings.
Sorry, only registered users may post in this forum.

Click here to login