- Posts: 803
- Thank you received: 0
LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
2 months 2 weeks ago #348722
by meister
Replied by meister on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
I’d guess that with the Mesa card, the voltage is slightly higher than that of your level shifter, which produces a more stable pulse.
It must be right on the limit, as some pulses get through and some don’t; even 0.2 volts could make the difference.
All in all, I’d recommend not using the drivers – not with Mesa, anyway – as the threshold is too close to the limit.
Or you’ll need to switch to 12/24V so that the driver is triggered reliably.
If you have a variable power supply, you could try increasing the voltage to 5.5 V and see if that helps; the level shifter should be able to cope with that.
It must be right on the limit, as some pulses get through and some don’t; even 0.2 volts could make the difference.
All in all, I’d recommend not using the drivers – not with Mesa, anyway – as the threshold is too close to the limit.
Or you’ll need to switch to 12/24V so that the driver is triggered reliably.
If you have a variable power supply, you could try increasing the voltage to 5.5 V and see if that helps; the level shifter should be able to cope with that.
Please Log in to join the conversation.
2 months 2 weeks ago #348723
by viewsat
Replied by viewsat on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
DIR/PULSE issue resolved, thank you!! (2026-08-19)
Using a Mesa7i92 + 74hc245 (5V) + dm542 (unmodified dir input pc817), the zero-point return is correct and without error. This is why I raised the issue of the Riocore + Tang Nano9k + 74hc245 (5V) + dm542 (unmodified dir input pc817) failing to return to zero.
Using a Mesa7i92 + 74hc245 (5V) + dm542 (unmodified dir input pc817), the zero-point return is correct and without error. This is why I raised the issue of the Riocore + Tang Nano9k + 74hc245 (5V) + dm542 (unmodified dir input pc817) failing to return to zero.
Please Log in to join the conversation.
2 months 2 weeks ago #348724
by meister
Replied by meister on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
I believe you; I understand your problem too.
You could try measuring the voltages at the DIR pin (which can be held at a constant level) and comparing them.
Better still, use an oscilloscope to see how steep the edges are.
Otherwise, I’m out of ideas.
You could try measuring the voltages at the DIR pin (which can be held at a constant level) and comparing them.
Better still, use an oscilloscope to see how steep the edges are.
Otherwise, I’m out of ideas.
Please Log in to join the conversation.
2 months 2 weeks ago #348725
by viewsat
Replied by viewsat on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
I believe you; I understand your problem too.
You could try measuring the voltages at the DIR pin (which can be held at a constant level) and comparing them.
Better still, use an oscilloscope to see how steep the edges are.
Otherwise, I’m out of ideas.
Meister, thank you for your enthusiastic response!
Please Log in to join the conversation.
2 months 2 weeks ago #348726
by viewsat
2.Although this DM542 is very cheap, I have used about 1,000 units, and its failure rate is very low, less than 1%. Most of the problems can be found as soon as they are powered on for testing.
Replied by viewsat on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
1.This DM542 was taken from my CNC engraving machine, which I'm currently using, for testing.
I'm showing four sets of drivers in the photos, but only this inexpensive DM542 has a problem
A long time ago, 3xTB6560 drivers were popular and I had them too.
There, PC817 supported not only dir inputs, but also step inputs. There were problems with this, but the chips were in sockets and it was easy to replace them with selected ones and it worked somehow.
So there are only two options:
1. Your driver is faulty.
2. This type of driver is poorly designed.
Either way, the cause is not to be found in riocore.
2.Although this DM542 is very cheap, I have used about 1,000 units, and its failure rate is very low, less than 1%. Most of the problems can be found as soon as they are powered on for testing.
Please Log in to join the conversation.
2 months 2 weeks ago #348739
by viewsat
Replied by viewsat on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
I have a Riocore + ICEBreakerV1.0e + 26LS31 (pulse, dir) control board. I tested connecting it to an unmodified DM542 (dir / pc817), but it still cannot return to the zero position correctly.There shouldn't be any problem connecting this board to the motor driver using the 26C31 differential output. Adjusting the dirhold value had no effect. I suspect it might be caused by a deviation in the dir/step during the forward and reverse rotation of the riocore.
ICEBreakerV1.0e board
26C31 Differential Output Driver
FPGA
ICEBreakerV1.0e board
Attachment not found
26C31 Differential Output Driver
Attachment not found
FPGA
Attachment not found
Please Log in to join the conversation.
2 months 2 weeks ago #348742
by meister
Replied by meister on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
Hey, that’s a bit mean – I want a board like that too 
Yes, that really is strange, but I can’t explain it at the moment and I’d be glad if I knew the solution.
All I can do here is take some more measurements; I’ll connect it to a logic analyser again and record the pulses for a bit longer to check them.
But on that board too, please measure the voltage arriving at the driver.
That board looks really good
Yes, that really is strange, but I can’t explain it at the moment and I’d be glad if I knew the solution.
All I can do here is take some more measurements; I’ll connect it to a logic analyser again and record the pulses for a bit longer to check them.
But on that board too, please measure the voltage arriving at the driver.
That board looks really good
Please Log in to join the conversation.
2 months 2 weeks ago #348744
by meister
Replied by meister on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
Looks ok for me
Attachment not found
Attachment not found
Attachment not found
Please Log in to join the conversation.
2 months 2 weeks ago #348746
by meister
Replied by meister on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
Why doesn't anyone tell me that there's been a Rio Board in China for three years now?
www.ruten.com.tw/item/22418437051883/
cool
and a video: www.bilibili.com/video/BV15nG96kEQt/
www.ruten.com.tw/item/22418437051883/
and a video: www.bilibili.com/video/BV15nG96kEQt/
Please Log in to join the conversation.
2 months 2 weeks ago #348749
by PCW
Replied by PCW on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
If this is a drive level issue, note that a 26C31 does not swing to 5V
and its output level is about 2 diode drops below 5V (3.6V) with a 5 mA load.
and its output level is about 2 diode drops below 5V (3.6V) with a 5 mA load.
Please Log in to join the conversation.
Time to create page: 0.692 seconds
