LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)

More
2 months 3 weeks ago #348477 by tommylight
1. interference due to bad/not shielded/grounded cabling
2. marginal output signals for the drive optocouplers
3. Tango skipping steps, although LinuxCNC is very good at avoiding this, tango might not be, or LinuxCNC might not be aware that is happening.
Does this also happen at very low feeds/speeds?

Please Log in to join the conversation.

More
2 months 3 weeks ago #348480 by PCW
Another possibility is marginal timing.

Either too narrow step pulse widths,
or insufficient setup times from DIR change to
STEP or insufficient hold times from STEP
to DIR change.

Please Log in to join the conversation.

More
2 months 3 weeks ago #348482 by viewsat
DIR/PULSE issue resolved, thank you!! (2026-08-19)
My tests on both the ICEBreakerV1.0e and Tana Nano9k yielded the same results, not due to the FPGA brand, noise, or settings.
I noticed that the Dir PIN output returns to its original position after the step action is completed. This may be because the DIR operation is not yet complete, but the STEP operation occurs prematurely, causing an error.

Please Log in to join the conversation.

More
2 months 3 weeks ago #348483 by meister
can you post your json config please, i will check it.
you can also try to invert the step pulse in rio, maybe thats the problem.

Another possible cause could be that the deadband value is too high. Does the zero position drift, or does it remain stable with the same offset? How large is the deviation from the actual zero point (approximately 1, 10, 100, or 1,000 steps)?

Please Log in to join the conversation.

More
2 months 3 weeks ago #348484 by meister
I checked the stepdir generator again in Verilog/GTKWave and tested a few edge cases.
I noticed that a pulse can be strtched if the velocity drops to 0 at the wrong moment, so I fixed that.
But that shouldn't have anything to do with your problem; it's more of a cosmetic change than a bug fix.
(in the dev branch)

Please Log in to join the conversation.

More
2 months 3 weeks ago #348526 by meister

Please Log in to join the conversation.

More
2 months 3 weeks ago #348548 by viewsat
Because I'm busy with work, I'll do testing when I have time.

Please Log in to join the conversation.

More
2 months 3 weeks ago #348598 by viewsat
DIR/PULSE issue resolved, thank you!! (2026-08-19)
I tested with the Branches dev from GitHub and the Tang Nano 9k, but the motor still couldn't return to the zero position after stopping. You must use the same DM542 stepper motor driver to reproduce this problem.

 

Attachment not found


 

Attachment not found


 

Attachment not found


 

Attachment not found



 

Attachment not found


 

Please Log in to join the conversation.

More
2 months 3 weeks ago #348602 by meister
1. try other pins, looks like you are on two of the HDMI pins (there are filters on the board)
2. set an inverter/modifier to the step pin: (Pins -> Step -> Modifier + -> invert)
3. check that Pulse_LEN and Dir_Delay set to default (4.0 / 0.7)


I have several machines running on this, and there are a few other users as well, all with different drivers and motors; so far, it’s always worked.

EDIT: what is on the breadboard ?

EDIT2: I’ve gone ahead and ordered one of those DM542s just to be on the safe side,
it’s due to arrive on Tuesday or Wednesday

Please Log in to join the conversation.

More
2 months 3 weeks ago #348622 by viewsat
DIR/PULSE issue resolved, thank you!! (2026-08-19)
1. I will try other pins.( tests on both the ICEBreakerV1.0e and Tana Nano9k yielded the same results)
2. I will set an inverter/modifier to the step pin
3. Pulse_LEN => 10us and Dir_Delay => 25us
4. There is a 74HC245 on the breadboard.

I have used many DM542 stepper motor drivers (see the photo above), and  no problems when using GRBL and 7i92.

 

Attachment not found

 

Please Log in to join the conversation.

Time to create page: 0.365 seconds
Powered by Kunena Forum