Stepgen only working up to 4 steppers
Peter-van-Tol opened this issue · 2 comments
I have compiled and flashed the example V8.0 12/14 on my 5A-75B V8.2 FPGA board with my Raspberry pi4 according to the described instructions. I have a small gantry milling machine with 2 Y-axes and an additional rotary axis (XYYZA).
To test my Linuxcnc configuration, I made a small test setup with 5 stepper motors.
The first 4 stepper motor outputs on the FPGA board
stepgen.00.... j7:0 with j7:1
stepgen.01.... j7:2 with j7:4
stepgen.02.... j7:5 with j7:6
stepgen.03.... j8:0 with j8:1
work perfectly. The home movement also works without any problems.
The last two stepper motor outputs:
stepgen.04.... j8:2 with j8:4
stepgen.05.... j8:5 with j8:6
show a strange behavior. As soon as a movement (e.g. home movement) is initiated,
the connected stepper motor starts to turn in a certain direction and can only be stopped,
the FPGA board is disconnected from the power supply.
The stepper motor continues to rotate even when the Raspberry is no longer connected to the board.
It doesn't matter which axis I assign this output to in Linuxcnc.
The stepper motor connected to these outputs shows this behavior.
Has anyone ever tested a 5A-75B V8.x with more than 4 axes?
Reported from: https://forum.linuxcnc.org/27-driver-boards/50383-litexcnc-firmware-and-driver-for-5a-75b-and-5a-75e?start=40#292792
The problem is not that up to 4 stepgens are working, but that the buffer is too short and the last stepgen does not receive any data. One of the components is not reporting the right size of the buffer
The culprit has been found. As soon as the encoder module is removed, the joint following error will occur. Solution for now is to remove the encoder module from the JSON. Next step is to investigate why this module is misbehaving. The number of registers reported is correct, so while writing is does not progress the required number of registers.