Hello to all,
for a project i installed a microdispensing System in an CoreXY Machine. An external controller does all the calculation for the dispensing. For Marlin there are not a lot of changes. I took the Step_Pin of the E1 extruder and this signal goes to dispensing system.
So far so good. Now E1 isn't a stepper, so i want to change the behavior of the E1 axis. Sending the Step Pulses must be different to the rest of the axis system. I could make the system more stable if i can change some parameters in marlin specific for the E1 axis and not for the hole System.
The used mainboard is an Archim2 with TMC2130. The STEP_PIN for E1 goes to a free GPIO Pin.
1. INVERT_E1_STEP_PIN true
In configuration_adv there is just a #define INVERT_E_STEP_PIN. What i want is INVERT_E_STEP_PIN false and INVERT_E1_STEP_PIN true.
I tried
- INVERT_E0_STEP_PIN false with INVERT_E1_STEP_PIN true. This makes a compile error.
- INVERT_E_STEP_PIN false with INVERT_E1_STEP_PIN true. Can compile but Step_Pin_E1 stay at active high.
Perhaps i used the wrong nomenclature. E0 is important because there is still an normal filament extruder on that axis.
2. define MAXIMUM_STEPPER_RATE
The dispensing system works with frequencies below 2 kHz. I tried different possible solution but in the end, marlin takes the lowest value of any axis and takes this value for all axis. define MAXIMUM_STEPPER_RATE 2000 is too low for the normal X,Y,Z,E axis.
For example if i set for #define DRIVER_TYPE TMC2130 for X,Y,Z an E0 und TB6560 for E1. All axis work at a maximum stepper rate of only 15000 Hz (the value defined for the TB6560). I verified this with an Oscilloscope.
Can Marlin define a stepper rate specific for one axis? It's like limiting the maximum travel speed. But in the phases of Jerk and Acceleration MAXIMUM_STEPPER_RATE define the limits. It is important because frequencies over 2 kHz would behave like a loss of steps. I tried a fixed value for speed (resulting in a Step value below 2 kHz) with variations of Acceleration and Jerk but Marlin always goes for a double pulse at the start of a move which is faster than 2 KHz. #define MAXIMUM_STEPPER_RATE 2000 solves this issue.
I have you can help me for this two issues.
Many thanks!
for a project i installed a microdispensing System in an CoreXY Machine. An external controller does all the calculation for the dispensing. For Marlin there are not a lot of changes. I took the Step_Pin of the E1 extruder and this signal goes to dispensing system.
So far so good. Now E1 isn't a stepper, so i want to change the behavior of the E1 axis. Sending the Step Pulses must be different to the rest of the axis system. I could make the system more stable if i can change some parameters in marlin specific for the E1 axis and not for the hole System.
The used mainboard is an Archim2 with TMC2130. The STEP_PIN for E1 goes to a free GPIO Pin.
1. INVERT_E1_STEP_PIN true
In configuration_adv there is just a #define INVERT_E_STEP_PIN. What i want is INVERT_E_STEP_PIN false and INVERT_E1_STEP_PIN true.
I tried
- INVERT_E0_STEP_PIN false with INVERT_E1_STEP_PIN true. This makes a compile error.
- INVERT_E_STEP_PIN false with INVERT_E1_STEP_PIN true. Can compile but Step_Pin_E1 stay at active high.
Perhaps i used the wrong nomenclature. E0 is important because there is still an normal filament extruder on that axis.
2. define MAXIMUM_STEPPER_RATE
The dispensing system works with frequencies below 2 kHz. I tried different possible solution but in the end, marlin takes the lowest value of any axis and takes this value for all axis. define MAXIMUM_STEPPER_RATE 2000 is too low for the normal X,Y,Z,E axis.
For example if i set for #define DRIVER_TYPE TMC2130 for X,Y,Z an E0 und TB6560 for E1. All axis work at a maximum stepper rate of only 15000 Hz (the value defined for the TB6560). I verified this with an Oscilloscope.
Can Marlin define a stepper rate specific for one axis? It's like limiting the maximum travel speed. But in the phases of Jerk and Acceleration MAXIMUM_STEPPER_RATE define the limits. It is important because frequencies over 2 kHz would behave like a loss of steps. I tried a fixed value for speed (resulting in a Step value below 2 kHz) with variations of Acceleration and Jerk but Marlin always goes for a double pulse at the start of a move which is faster than 2 KHz. #define MAXIMUM_STEPPER_RATE 2000 solves this issue.
I have you can help me for this two issues.
Many thanks!