TANDEM Y AXIS CLOSED LOOP STEPPER MOTOR OSCILLATION WHEN IDLE
Hello all,
threre is a stepper motor ticking issue going in my cnc mill that has been bothering me for a while now. I have devoted a fair amount of effort trying to "trial and error" my way out of it by playing around with tuning parameters but i cant reach a satisfactory solution, so hopefully someone here can provide some much needed assistance or reference to a similar case if the topic has already been covered before.
CONTROL SETUP DESCRIPTION
In my setup i use a rpi4b as the linuxcnc host along with an EC300 bob in which i have flashed the 3.1.3 version of the remora firmware for the RT1052 processor. Rpi and EC300 exchange packets over ethernet. 4 integrated closed loop stepper motors are driven by the the EC300 board using the corresponding STEP/DIR pins. Feedback from the motor's encoder does not reach linuxcnc so it essentially acts an an open loop system.
INITIAL ISSUE DESCRIPTION
In the capture5.txt i have recorded the following signals of J1 (one of the two joints driving the Y axis, the other is J3) in the servo_thread period while the joint reached the idle state after executing a jog command in my initial attempts to get my machine going.
1st column : j1pos-cmd
2nd column : j1pos-fb
3rd column : j1freq-cmd
at the time of the recording J1 was configured this way (scale and the rest of the dynamic parameters remained the same to my current configuration) :
- remora.joint.1.pgain = 5
- remora.joint.1.ff1gain = 1
- remora.joint.1.deadband = 0.02
having all of the above parameters configured in the .hal file, the joint could not reach a steady state even though a single step equals to 0.0016 mm as you can see in the screenshot which is way below the deadband specified. The pos_cmd was constant but apparently a freq_cmd was calculated and sent to the EC300 that lead to the oscillation (how is that possible that the deadband gets defeated??).
CURRENT STATUS
In the attached .ini, .hal , remora-config-file.txt you can see how my machine is currently configured. Apparently by not specifying a p_gain and ff1_gain they both default to 1 according to the
remora-eth-3.0.c
and with a deadband of 0.005 the Y axis is able to reach a steady state. The reason i am not satisfied is because the motion isn't smooth when approaching the final position, instead the motors "click" in place after a few steps and the axis makes a squeeking noise. When i try to modify the gain parameters to smooth the axis i roll back to the initial issue of not being able to reach a steady state.
Probably i did a poor job explaining the chronicle of my situation but hopefully i ll be able to further clarify in follow up questions.
Thank you