- Posts: 806
- Thank you received: 502
LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
- meister
- Offline
- Platinum Member
-
Less
More
2 months 2 weeks ago #348701
by meister
Replied by meister on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
Sorry for my poor English – enjoy it; it’s the first and probably the last video in which I’ll try to speak English.
www.youtube.com/shorts/u9xUOXN080M
Well, yes, blue is a 3.3V level, as I measured it directly at the FPGA pin
www.youtube.com/shorts/u9xUOXN080M
Well, yes, blue is a 3.3V level, as I measured it directly at the FPGA pin
The following user(s) said Thank You: viewsat
Please Log in or Create an account to join the conversation.
- tuxcnc
- Offline
- Elite Member
-
Less
More
- Posts: 297
- Thank you received: 56
2 months 2 weeks ago #348705
by tuxcnc
I wrote that modifying Chinese electronics is a bad idea, which is true for several reasons.
Cheap PCBs do not tolerate re-soldering very well, the copper peels off from the substrate, even if something works well immediately after such an operation, there is no guarantee that it will work after a month or a year.
Is there any prohibition against writing about it?
PC817 is a strange chip that works in a strange way.
First of all, it is an analog circuit, not a digital one.
Secondly, the input is controlled by current, not voltage, and the output forces current, not voltage.
In addition, the frequency response strongly depends on the input current, a small current means a small propagation time, but also a small output current.
The chip can work really fast (several dozen kilohertz), but then it may not drive the next stage with a small current.
However, when driven by high current, it may have problems already at a few kHz.
There must always be some compromise, assuming that the designer knew what he was doing and did not assume that if the PC817 withstands 50 mA, 20 will be fine...
Replied by tuxcnc on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
I have never written anywhere that I forbid anyone to do anything.
I wrote that modifying Chinese electronics is a bad idea, which is true for several reasons.
Cheap PCBs do not tolerate re-soldering very well, the copper peels off from the substrate, even if something works well immediately after such an operation, there is no guarantee that it will work after a month or a year.
Is there any prohibition against writing about it?
PC817 is a strange chip that works in a strange way.
First of all, it is an analog circuit, not a digital one.
Secondly, the input is controlled by current, not voltage, and the output forces current, not voltage.
In addition, the frequency response strongly depends on the input current, a small current means a small propagation time, but also a small output current.
The chip can work really fast (several dozen kilohertz), but then it may not drive the next stage with a small current.
However, when driven by high current, it may have problems already at a few kHz.
There must always be some compromise, assuming that the designer knew what he was doing and did not assume that if the PC817 withstands 50 mA, 20 will be fine...
The following user(s) said Thank You: viewsat, tommylight
Please Log in or Create an account to join the conversation.
- PCW
- Offline
- Moderator
-
Less
More
- Posts: 18115
- Thank you received: 5334
2 months 2 weeks ago #348708
by PCW
Replied by PCW on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
PC817 is a strange chip that works in a strange way.
First of all, it is an analog circuit, not a digital one.
Secondly, the input is controlled by current, not voltage, and the output forces current, not voltage.
In addition, the frequency response strongly depends on the input current, a small current means a small propagation time, but also a small output current.
Not really strange at all, almost all transistor/Darlington output optocouplers function this way
and this type optocoupler is by far the most common.
Logic optocouplers also typically have current inputs (since the input of most optocouplers is simply a bare LED)
but differ in having a voltage output.
First of all, it is an analog circuit, not a digital one.
Secondly, the input is controlled by current, not voltage, and the output forces current, not voltage.
In addition, the frequency response strongly depends on the input current, a small current means a small propagation time, but also a small output current.
Not really strange at all, almost all transistor/Darlington output optocouplers function this way
and this type optocoupler is by far the most common.
Logic optocouplers also typically have current inputs (since the input of most optocouplers is simply a bare LED)
but differ in having a voltage output.
The following user(s) said Thank You: viewsat, tommylight
Please Log in or Create an account to join the conversation.
- viewsat
- Offline
- Junior Member
-
Less
More
- Posts: 33
- Thank you received: 10
2 months 2 weeks ago - 2 months 1 week ago #348714
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)
I used this inexpensive DM542 only for testing RioCore, not for an actual CNC machine tool. The circuit modifications are for technical discussion only, please don't mind. I'm showing four sets of drivers in the photos, but only this inexpensive DM542 has a problem, hence this discussion. Strangely, increasing the dirhold value doesn't solve the problem; I really can't understand this. However, this inexpensive DM542, when used with the same settings on a MESA7I92, shows no positioning error. This inexpensive DM542 was taken from my existing engraving machine for testing.
I used this inexpensive DM542 only for testing RioCore, not for an actual CNC machine tool. The circuit modifications are for technical discussion only, please don't mind. I'm showing four sets of drivers in the photos, but only this inexpensive DM542 has a problem, hence this discussion. Strangely, increasing the dirhold value doesn't solve the problem; I really can't understand this. However, this inexpensive DM542, when used with the same settings on a MESA7I92, shows no positioning error. This inexpensive DM542 was taken from my existing engraving machine for testing.
Last edit: 2 months 1 week ago by viewsat.
The following user(s) said Thank You: meister
Please Log in or Create an account to join the conversation.
- viewsat
- Offline
- Junior Member
-
Less
More
- Posts: 33
- Thank you received: 10
2 months 2 weeks ago - 2 months 1 week ago #348717
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)
DIR use pc817 Error!
DIR modified 6N137 ok!!
DIR use pc817 Error!
DIR modified 6N137 ok!!
Last edit: 2 months 1 week ago by viewsat.
Please Log in or Create an account to join the conversation.
- tuxcnc
- Offline
- Elite Member
-
Less
More
- Posts: 297
- Thank you received: 56
2 months 2 weeks ago #348721
by tuxcnc
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.
Replied by tuxcnc on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
A long time ago, 3xTB6560 drivers were popular and I had them too.I'm showing four sets of drivers in the photos, but only this inexpensive DM542 has a problem
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.
Please Log in or Create an account to join the conversation.
Time to create page: 0.385 seconds