Linumeric-LPT V3 - Ethernet to LPT controller for LinuxCNC

  • drzasiek90
  • Topic Author
  • New Member
  • New Member
More
2 years 10 months ago #288507 by drzasiek90
This time results from communication time, module service time, buffering time, base period, etc. The device is made of very simple and easily accessible modules, so you can build it yourself without specialized tools and skills. About 1 ms is the total delay time that I can achieve on my laptop - my configuration has a base period of 30 us - no more is needed, and my computer cannot do much more (the computer is not specially selected; it is already an old average). The delay is counted in read-write communication, i.e., it is the propagation time of data in the input-output FIFO buffers. 100 kHz gives 10us, not 5us. Theoretically, every 10us, it is possible to change the signal, which does not mean that 1 ms is buffered. In my case, the buffer time is currently 240us input and 240us output, which, with a base period of 30us, gives 8 samples in the FIFO input buffer and 8 in the FIFO output buffer. The remaining delay time results from network communication, communication support via the uC, and the W5500 module - as I wrote, these are very simple modules and have some limitations. Most of us, when using the LPT port, focus on the base period, and the servo period leaves the default of 1 ms (I think). In my opinion, this is an incorrect approach, and the servo period should also be minimized (at least 2 times the base period), so we should have a modern, efficient computer for LinuxCNC. For example, we can measure on an oscilloscope what the delay will be between reading and writing on the physical port LPT 0x378 with a servo period of 1 ms. We will connect the input as a limit signal (blue graph) and the output as an amplifier enable signal (yellow graph).
 
It turns out that the delay varies up to 1 ms because the servo thread manages the response. This is also crucial in threading, as the servo thread determines the start of the cycle. If we minimize the servo period (in my case, 30us base and 90us servo), the delay tested in the same way may yield a similar result on Linumeric-LPT V3.
 
The conclusion is that with proper and accurate configuration of Linumeric-LPT V3, the results will be better than with the standard 'ill-thought-out' configuration of the physical LPT port.

Please Log in or Create an account to join the conversation.

More
2 years 10 months ago #288958 by cakeslob
Hey this looks pretty cool. I was just working on my own remora version using the 411, then stumbled on this. Ive been keeping my eye on your other project for a while though. Mine includes a raspberry pi header.

I am very interested to see your firmware and linuxcnc driver.

Please Log in or Create an account to join the conversation.

  • drzasiek90
  • Topic Author
  • New Member
  • New Member
More
2 years 10 months ago #289012 by drzasiek90
LPT is really sufficient to run most machines. All this can be divided really sensibly in such a way that the number of pins in the LPT is sufficient and the frequency of service is also sufficient. However, I am planning a fourth version of the device which, in addition to the LPT port, will include industrial standard inputs/outputs, also isolated, relay outputs, high-current outputs, and analog inputs and outputs. I already have a ready PCB design.
 

Please Log in or Create an account to join the conversation.

More
2 years 10 months ago #289337 by TOLP2

Does it mean that Linumeric-LPT receives every 1 ms a packet from PC that is enough to output some number of bits with 5 us resolution? Thus, 1ms/5us=200 samples, multiply by number of bits in LPT, say, 16, yields 1ms/5us*16bits/8bits per byte=400 bytes every period? (litexcnc yet hasn't fifo mode but there are some examples of udp stream receiver in litex to provide control for something like laser galvanic scanner - and there is the same obvious application for Linumeric-LPT too)
Don;t want to hijack the topic about another product. But could you elaborate more about the FIFO mode you described? Do you mean that the card should buffer more frames? 

Please Log in or Create an account to join the conversation.

  • drzasiek90
  • Topic Author
  • New Member
  • New Member
More
2 years 9 months ago - 2 years 9 months ago #291142 by drzasiek90
I added the ability to run on rpi.
A ready-made image of the Debian bookworm system is prepared, which works immediately after being copied to the card.
Last edit: 2 years 9 months ago by drzasiek90.

Please Log in or Create an account to join the conversation.

More
2 years 9 months ago #291145 by Mecanix
Worlds size coolest gizmo, mini-lathe, and video on the entire Internet.

How did you managed to prevent the rigid tapping to randomly M3 after the M4? Some sort of bug in my version of Lcnc i.e. M3-Tap-M4-Tap-M3-M5. Yours seems to work correctly. M3-Tap-M4-Tap-M5. 

And I want that desktop lathe so bad lol. Pay cash. 

Please Log in or Create an account to join the conversation.

Moderators: PCW, jmelson
Time to create page: 0.195 seconds
Powered by Kunena Forum