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

More
31 Aug 2024 12:24 #309084 by meister
Hi Russell,
good idea, thank you very much,
I would prefer riocore
it is no longer worth doing new things with the old version
Cheers.
Olli

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

More
31 Aug 2024 13:35 #309085 by fest

Looks good. Lots of hard work. Lots of thought gone into it.


Generally when I've been designing my boards I've followed the mesa example where all the signals from the FPGA that will be controller something go through a FET bus switch with a pullup resistor to 5v on the "world side"(I'm a cruddy old guy lol, I like 5v). Gives you bi directional voltage translation, and works fine even with the 2.5MHz SmartSerial signals (when I use mesa firmware tho my design also can run rio with no issues). To drive outputs I add a buffer or just connect directly to a simple Parallel Port breakout board.

Have you thought about screw terminals for the outputs ?
With regards to the differential outputs for the stepper drivers, it would take some serious noise to have any affect when driving an opto. I've used plain old 74 series 540/541 powered by 5 volts with no issues for years, plenty of drive there. And generally the cable length isn't all that great from between the step\dir source & destination.

Tommy linked a video to a guy that experiments with noise & shielded cables, very interesting.

For 5v to 3.3v translation 74lvc is a good candidate.

Thanks for the suggestions. The digital input module has spring-type wiring terminals (though now when I looked at it, my choice of two row 3.5mm pitch may have gone a bit too tiny). Regarding the stepdir/encoder- I really don't like how messy does the differential signal wiring becomes, so I'll be trying out the off-the-shelf cables + specific breakout boards (for encoder, for particular servo drives). Of course, there is also the generic RJ45->wiring terminal breakout for those unforseen circumstances.

 

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

More
31 Aug 2024 13:42 #309086 by fest

i knew you were working on something modular but you exceeded all my expectations, respect !

WOW !!!!!

Thanks! It really did turn out to be more complicated than I first imagined (the more I thought about using the colorlight modules the less I liked the idea, so in the end I just decided to go for FPGA onboard).

I'm also not fully certain if the non-opto-isolated encoder and stepdir modules will be a good idea- at least the motor drives I'm using all have opto-isolated stepdir inputs, and the PC side is isolated via Ethernet- so should be good enough for my uses.

Time will also tell if 12 bits per module is enough or too limiting. Probably the only use case I can see is something that needs a lot of IOs wired directly- the shift-register based module should be enough for general purpose CNC use (buttons, endstops, relays etc).

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

More
02 Sep 2024 05:21 - 02 Sep 2024 05:21 #309189 by meister
It all makes a very solid impression on me.
I also find optos on the step/dir outputs excessive, I don't know of any drivers without built-in optos.
The advantage of your board is also the modular design,
so you can easily replace a part if it doesn't suit someone.

I find the 12bit per module more than sufficient, I had already experimented with modular boards and 8bit + enable were actually sufficient for me. The whole thing was actually mostly limited by the number of connectors I could place per module.
 
Last edit: 02 Sep 2024 05:21 by meister.

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

More
02 Sep 2024 05:55 #309192 by cornholio
I have an old cnc4pc board with the RJ45 connectors, in all honesty I found them a bit of a PITA. The plugin screw terminals are great. Tho the ones that Mesa uses are really expensive, but unlike the more common ones, which you cant put side by side and have the plug part "straddle" the socket part or use 4x2 way plugs in a 8 socket, the Mesa ones can.

I'm really sold on bootlace ferrules & screw terminals.
I had a think my self about a modular design for my hardware, even had a run of boards made, but then thought going with a Parallel Port compatible setup would make a change over from a Parallel Port s\w stepgen system easier. Tho I'm still running with an EPP interface.

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

More
03 Sep 2024 09:47 #309271 by kzali

Hi Russell,
good idea, thank you very much,
I would prefer riocore
it is no longer worth doing new things with the old version
Cheers.
Olli

So where is the thread?
 

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

More
More
03 Sep 2024 13:37 - 03 Sep 2024 13:38 #309290 by meister
i build some debian packages for riocore (debian 11 + 12):

multixmedia.org/debian-packages/

if someone like to test it without having to deal with git and so on,
but you need always the right toolchain for your board.

the easiest to install is yosys/next-pnr for the lattice FPGA's:
cd /opt/
wget https://github.com/YosysHQ/oss-cad-suite-build/releases/download/2024-09-03/oss-cad-suite-linux-x64-20240903.tgz
tar xzvpf oss-cad-suite-linux-x64-20240903.tgz
rm oss-cad-suite-linux-x64-20240903.tgz
export PATH=$PATH:/opt/oss-cad-suite/bin/
Last edit: 03 Sep 2024 13:38 by meister.

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

More
16 Sep 2024 12:16 #310255 by itai
I am switching LinuxCNC from an old PC to RaspberryPI + Tango compatible board.
I see that riocore has support for HY_VFD and I want to use it. After resolving simple issues I can get a serial signal out of the Tang Nano, but no connectio to the VFD yet. I guess I will need a TTL to RS485 brekout board. Will this one do?
Last time that I made changes to the HY_VFD configuration it cost me a burnt spindle, so now I'm trying to learn more and if possible from other's experience. I will appreciare any help and suggestions.
Thanks!
-- Itai
 
Attachments:
The following user(s) said Thank You: besriworld

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

More
16 Sep 2024 12:45 #310258 by meister
cool board, but why does it look better than mine, it's a schame :)

i using this converter-boards:
WINGONEER 5PCS 5V MAX485 / RS485 Modul TTL zu RS-485 MCU Entwicklungsboard

www.amazon.de/gp/product/B06XHHWLMW

i think it's better to use an converter with DE/RE pins to prevent reading the own sended data.
you have to bridge this two pins and configure 'tx_enable' to it in the json-config.

you can look at the octobot config and schematics: github.com/multigcs/riocore/tree/main/riocore/boards/OctoBot
The following user(s) said Thank You: besriworld

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

Time to create page: 1.020 seconds
Powered by Kunena Forum