- LinuxCNC
- General LinuxCNC Questions
- FPGA (field programmable gate array) programmed for linuxcnc motion
FPGA (field programmable gate array) programmed for linuxcnc motion
- Grotius
- Topic Author
- Offline
- Platinum Member
- Posts: 2239
- Thank you received: 1958
I was wondering someone ever used a FPGA chip and programmed this chip for ultra fast motion and i/O for Linuxcnc?
I have seen some youtube video's about FPGA's, but it looks like an FPGA can be implemented in a Mesa product or
stand alone motion controller with much i/o etc. It looks like you can do anything with a FPGA.... even make your own CPU.
I am amazed of the FPGA possibilities. It looks like one FPGA chip beats a GPU in bitcoin hashes multiple times. So i am
thinking to order a FPGA test board and do some research about this.
Please Log in or Create an account to join the conversation.
- cmorley
- Offline
- Moderator
- Posts: 7762
- Thank you received: 2055
Mesa offers a hardware based open-source motion controller.
It's not linuxcnc's mandate to offer the most efficient controller within current technology. Linuxcnc's building-block system, a relatively low bar for modification, use of consumer grade processors, and not hard-locking capabilities to hardware are more important.
At one time someone in Machinekit was talking about a HAL-style system for programming FPGA boards - which after some thought does seem like a great idea to lower the bar for custom FPGA use. I'm not sure if they ever did it.
Chris M
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23310
- Thank you received: 4858
I am amazed of the FPGA possibilities. It looks like one FPGA chip beats a GPU in bitcoin hashes multiple times. So i am
thinking to order a FPGA test board and do some research about this.
Why not buy a Mesa card and hack with that? Then when you have finished experimenting you still have a Mesa card.
Please Log in or Create an account to join the conversation.
- ozzyrob
- Visitor
Please Log in or Create an account to join the conversation.
- Grotius
- Topic Author
- Offline
- Platinum Member
- Posts: 2239
- Thank you received: 1958
Hi Chris, I think if someone makes a good tutorial and example code / program for linuxcnc for a cheap test board it will be easyAt one time someone in Machinekit was talking about a HAL-style system for programming FPGA boards
for users to change the code to their needs. Brenda is talking about poorly linux documatation, but that succes depends on the person who is writing the document.
I did here a tutorial for a modbus example device in python : modbus analog and digital i-o device
Hi Andy,
I would like to start from nothing. If i start with Mesa i push myself in a certain direction i maybe not want to. Mesa flashing on youtube i have seen by the german man.Why not buy a Mesa card and hack with that? Then when you have finished experimenting you still have a Mesa card.
If i search for the fpga chips and choose a very good one, also very good for crypto mining, then i start with this fpga chip.
In a bakery oven i can make the chip to the break out board, if the marked has this product not available.
Hi Ozzy,
That sounds good. The problem for Mesa is that if cheaper fpga board's are available with examples, Mesa can be improve theirI'm helping some get one going
product's with free programmable kits with more hal i/o command's etc.. Just like Chris talked about.
But if you think about possibilities, mesa can make a kit, that could be free programmable for anything.
Intel always looks nice on your board :
Same chip in other environment :
Please Log in or Create an account to join the conversation.
- rodw
- Away
- Platinum Member
- Posts: 10747
- Thank you received: 3543
I can see a hardware might be useful for dedicated control of an oven. But if you are using LinuxCNC for motion control, why not use proven systems that already exist? I'm sure there is scope to negotiate volume pricing. The Mesa 7i76e is perfect for controlling a plasma cutter and it should be possible to use its existing UART to communicate via MODBUS with a plasma machine. It even has some A/D inputs that could be used for temperature monitoring. This approach would substantially reduce your time to market.
If you review the Mesa lineup, I'm pretty sure they have dedicated motion control systems outside of LinuxCNC. But I doubt they are suited to realtime CNC control in a gcode environment.
Please Log in or Create an account to join the conversation.
- Muzzer
- Offline
- Elite Member
- Posts: 262
- Thank you received: 37
You're going to want to implement Linux on it - and wire it up to all the high speed FPGA stuff. That's a tall order unless you are a hardened FPGA specialist and more.
Let us know how you get on.
Please Log in or Create an account to join the conversation.
- islander261
- Offline
- Platinum Member
- Posts: 757
- Thank you received: 216
I wrote my own FPGA code in VHDL years ago to support time critical hardware in Xilynx CPLDs (yes I still own stock in the company). I will tell you right now unless you are a specialist or need > 1000 units per year just buy MESA hardware and ask PCW to help out with your custom application ( my MESA hardware, firmware and software works far better than than my own application layer software layer that I write does and I cut a lot of thin sheet sheet, read very touchy height control with full ( sorry to keep you guys up dated but my system is now working far better than my commercial system ever did,i internal LCNC Z axis control). Seriously I know you are into serial manufacturing but how many plasma systems do you actually ship in a year? The Proma approach is seriously out of date.
Sorry my real aim is to get everyone here to work together to produce a world class LCNC plasma solution.
John
Please Log in or Create an account to join the conversation.
- Grotius
- Topic Author
- Offline
- Platinum Member
- Posts: 2239
- Thank you received: 1958
I like to make a fpga board for hobby purposes at first in the evening hours. It would be great to use a pci express slot
and make here a fpga chip on running with a few step and dir signals. If it is to hard to do, i will stop that process, but i like
to know if i can do that.
Hi Muzzer, yes new to fpga. I want only a pci express connection from my linux pc to the chip and after that a free configure multi output setup. Pci express looks like a mesa setup. But it may also be a ethernet or etercat setup. For me depending on speed and difficulty to get things working.
In beginning i see the fpga chip now only as free configurable hardware layer to use with linux. At this moment i don't think i will put software on this chip like linux...
For example, if i have 50 outputs and 50 inputs. I can make unlimited configurations to use. If you have 8 inputs that behave like dip switches, it is easy for beginners to change the settings with bit control.
It seems nice for me to start with the existing parport driver, and build after that the chip on a modified sunix ltp1 card to test with.
But that is an idea i now have.
Hi Rodw, yes you are right. But it is also important to do things in life, you like to do. This is a kind of hobby for me.
I tested linuxcnc on a hd plasma, but i had some problem's. Soon i will be able to solve a few problems on a new test machine.
I will let you know.
One of my problems is the height measuring macro of linuxcnc (touch off). You see this measuring distance back in your gremlin screen. My measuring default was 100mm. This distance you see back in your gremlin screen. It is actually a problem to solve.
I can make picture if not clear.
Other problem is arc on signal. Okey machine is waiting on "arc on" signal at start for the g-code input seconds you want. "P4" is 4 seconds. So far so good.
But if arc is lost during cutting, machine is not stopping..... So i must make a solution for this, like interrupt code. But this must
be hard coded i think during compiling linuxcnc.... But maybe i can use the emergency input for this with a little python code...
But that can be building on a code you don't want to use for that purpose.
Now i think about mr. Morley he can say this :
So master, so student.But that can be building on a code you don't want to use for that purpose.
From student to teacher :
Python can do sha265, but can it do also free nesting?
Please Log in or Create an account to join the conversation.
- islander261
- Offline
- Platinum Member
- Posts: 757
- Thank you received: 216
While I am still running my plasma table on an external offsets build I am not using any of the features for torch height control. I am actually planning on moving back to the straight master branch next week when I get some time. I never could get good THC using the external offsets branch and the eoffset_pid component. Right now I am using hal components to build a THC solution that works far better than the commercial system I have ever did. That said it still isn't perfect but getting close. For thicker materials and lower speeds, or if you have high powered servos driving your table this will work really well. My table is power limited because of the 3.5Nm steppers used for the axis drives and the high cutting speed, 5.588m/min. Now the solution I have isn't perfect but I welcome any chance to discuss it with you and Rod. I will be able to devote some time to this next week.
I am a real big fan of using a galvanic isolated connection (Ethernet) between the control computer and all the plasma table stuff, that is why I am using 7I76E and THCad cards. To me any PCI connection will eventually have problems in a plasma system.
John
Please Log in or Create an account to join the conversation.
- LinuxCNC
- General LinuxCNC Questions
- FPGA (field programmable gate array) programmed for linuxcnc motion