mhouse1 / mechsoftronic

FPGA based CNC Machine
Other
90 stars 38 forks source link

Do you know these #1

Closed dosas closed 7 months ago

dosas commented 9 years ago

sorry I am opening an issue for that but i did not find a possibility to comment on a repository or write you an email.

You might already know these:

http://linuxcnc.org/

http://www.machinekit.io/

before you go ahead and do everything from scratch. especially the last one might be very interesting since it aims at separating architecture from functionality. Also linuxcnc has a great mailing list and IRC chat.

mhouse1 commented 9 years ago

I've updated my GitHub profile to stop hiding my email: https://github.com/mhouse1

Before starting my CNC machine project I did look into LinuxCNC. It has a lot of amazing features and flexibility but I believe it does everything from a parallel port and motion control is done via software. This means doing everything almost in parallel but not quite, plus you'd need a dedicated PC (this project does not).

With the FPGA based controller i can create a dedicated device, add any peripheral i want, create/experiment with my own motion control modules, and have it move the machine truly in parallel. I'm hoping for better hardware and software integration by designing/implementing the hardware, FPGA modules, firmware, and UI.

the-snowwhite commented 9 years ago

Hi

I have been participating in the Linuxcnc spinoff project Machinekit since January. Machinekit has since it's breakout provided PC less control, via an embedded arm port.

I have just stumbled across your amazing and very impressing project today, in my process of migrating the Machinekit Beaglebone Black (arm port) to the (Terasic produced 100$) Altera fpga-soc based NANO / Atlas (basically an Cyclone IV + dual arm cores) board here:

http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=205&No=941

Utilising fpga fabric has suddenly become a hot subject in this group.

I hope you find following new thread I started yesterday Interesting:

What potential hal implementation change could a low cost soc-fpga bring to the table ? https://groups.google.com/forum/?hl=en#!topic/machinekit/C8xyZ286YOU

Due to the potential current crossing of parallel development efforts there seems to be.

mhouse1 commented 9 years ago

Hi Michael,

How’s your port of BBB to the DE0-NANO-SOC going? When I started my project the DE0-nano was $99, its nice to see that a much better hardware platform has arrived ( DE0-NANO-SOC); I may move to this in the future (possibly to make use of the ethernet module). Am i understanding correctly that you are trying to port machinekit’s HAL to be useable on ALTERA systems? Do you have a GitHub page for the port?

My project is just getting started diving deep into FPGA based motion control. I’m currently in the process of reimplementing the synchronized acceleration modules for the FPGA.

Michael

On 1 nov. 2015, at 19:29, Michael Brown notifications@github.com wrote:

Hi

I have been participating in the Linuxcnc spinoff project Machinekit since January. Machinekit has since it's breakout provided PC less control, via an embedded arm port.

I have just stumbled across your amazing and very impressing project today, in my process of migrating the Machinekit Beaglebone Black (arm port) to the (Terasic produced 100$) Altera fpga-soc based NANO / Atlas (basically an Cyclone IV + dual arm cores) board here:

http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=205&No=941

Utilising fpga fabric has suddenly become a hot subject in this group.

I hope you find following new thread I started yesterday Interesting:

Due to the parallel development efforts there seems to have been.

https://groups.google.com/forum/?hl=en#!topic/machinekit/C8xyZ286YOU

— Reply to this email directly or view it on GitHub.

the-snowwhite commented 9 years ago

Hi Michael :)

The demo version of the Altera Machinekit port is finished tested ok and online. All that's missing in the demo image is connecting to the I/O's.

When the Nano / Atlas board arrived and the guy involved in creating the BBB port and the BBB Cramps I/O shield had expressed (somewhere) that when the soc-fpgas got into the price legue of the BBB he was willing to port the fpga based mesa source code to this platform.

I seized the arrival of the Nano as opportunity to push this port as far as possible.

Detailed progress report and link to sd-card images and github project are buried in this (hijacked) thread:

https://groups.google.com/forum/?hl=en#!topic/machinekit/6Xv_g4Bzdvg

quoted link to imagen in mail from 26-aug:

Sockit + NANO bootable
Sd-Card image now downloadable online here:

https://drive.google.com/folderview?id=0BwyLvgyVIdi8fkdjU0xNVWJGb3JJOHFnN0dBaWV0ZDRjcEZrLXUwLWNJQm12c3pOS2V6QzQ&usp=sharing

So:
I have refined the rev.000 Mk Jessie sd-card image to be able to multi-boot both the NANO and the Sockit board
(well thats only dual boot so far...)
next close in line to be added would be the DE1-Soc, completing the (low-cost / affordable) entry level Terasic fpga-soc  boards.

In short I made it as far as creating fully bootable debian wheezy(7.x) and jessie(8.x) sd card images, that can compile the machinekit source code and run the compiled version in what's called the machinekit rip environment. (bootable on Sockit, de2-soc and Nano)

The initial quartus source template for creating everything for the boot sector, and intended for the mesa I/O ported driver sources is here: https://github.com/the-snowwhite/mksoc SD-card images here: https://drive.google.com/folderview?id=0BwyLvgyVIdi8fkdjU0xNVWJGb3JJOHFnN0dBaWV0ZDRjcEZrLXUwLWNJQm12c3pOS2V6QzQ&usp=sharing

I intended (next )to make docs / scripts of my notes as how you now can use mainline u-boot 2015-10.3RC3+ instead of the Altera provided one from 2013 and also the rt-ltsi kernel build process.

All that then was left to do is to is to get the I/O part u and running (be able to drive som pins), script the whole image creating process and find somewhere to get it hosted.

Then this process halted about a month ago waiting on the initiation of the fpga I/O driver port. (the mesa (machinekit) source codes are Xilinx based so I hoped / waited for some help to get an easier starting point for me )

Then I realized that the natural place to place the (digital logic partions of the) Hal would be in the fpga and not in software fabric and have just initiated that discussion in the MK google group.

And the idea seems to be catching on ATM.

the-snowwhite commented 8 years ago

Hello again Michael

Just a short note to tell that the Machinekit mksocfpga port made it into being fully cnc functional last week or so, and I released a beta3 test image on that occation (with some quirks in the network config....).

Right now I have added adc functionality to the add-adc branch of the mksocfpga repo. And next step is a mk driver for this, which will then conclude the final of basic port implementation. Note: the repo has changed to the lees inclusive name: https://github.com/the-snowwhite/mksocfpga


How are things going here ?

mhouse1 commented 8 years ago

Hi Michael

I've been pretty busy at work lately, its good to see the new changes.

By "being fully cnc functional" does this also mean theres some sort of synchronized acceleration and CNC planning implemented? i'm in the process of implementing some sort of synchronized acceleration movement via vhdl but if you have it in the machinekit itll save me lots of time and effort.

Michael

On Fri, Mar 18, 2016 at 12:55 PM, Michael Brown notifications@github.com wrote:

Hello again Michael

Just a short note to tell that the Machinekit mksocfpga port made it into being fully cnc functional last week or so, and I released a beta3 test image on that occation (with some quirks in the network config....).

Right now I have added adc functionality to the add-adc branch of the mksocfpga repo. And next step is a mk driver for this, which will then conclude the final of basic port implementation. Note: the repo has changed to the lees inclusive name:

https://github.com/the-snowwhite/mksocfpga

How are things going here ?

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/mhouse1/mechsoftronic/issues/1#issuecomment-198451922

mhouse1 commented 8 years ago

nevermind last email, i think your project is porting machinekit to the de0-nano-soc.

By "being fully cnc functional" does this mean i can run machinekit on the de0-nano-soc and communicate through it over ethernet?

Michael

On Wed, Mar 23, 2016 at 11:44 AM, M House patzer9@gmail.com wrote:

Hi Michael

I've been pretty busy at work lately, its good to see the new changes.

By "being fully cnc functional" does this also mean theres some sort of synchronized acceleration and CNC planning implemented? i'm in the process of implementing some sort of synchronized acceleration movement via vhdl but if you have it in the machinekit itll save me lots of time and effort.

Michael

On Fri, Mar 18, 2016 at 12:55 PM, Michael Brown notifications@github.com wrote:

Hello again Michael

Just a short note to tell that the Machinekit mksocfpga port made it into being fully cnc functional last week or so, and I released a beta3 test image on that occation (with some quirks in the network config....).

Right now I have added adc functionality to the add-adc branch of the mksocfpga repo. And next step is a mk driver for this, which will then conclude the final of basic port implementation. Note: the repo has changed to the lees inclusive name:

https://github.com/the-snowwhite/mksocfpga

How are things going here ?

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/mhouse1/mechsoftronic/issues/1#issuecomment-198451922

the-snowwhite commented 8 years ago

Well Nice to hear from you again Michael

On 23 Mar 2016, at 16:44, Michael House notifications@github.com wrote:

Hi Michael

I've been pretty busy at work lately, its good to see the new changes.

By "being fully cnc functional”

This means that the Nano Soc board is fully hooked up to the machinekit Software and the initial Mesa 5i25 clone configuration should behave exactly as the “real” one apart from that al the I/O pins are routed to the GPIO0 port instead of the 2 connectors on the Anything io 5i25 Mesa board.

So It can also generate configs for all the daughter cards for this board. (and drive some steers, pam’s, etc)

does this also mean theres some sort of synchronized acceleration and CNC planning implemented?

I’m really not the right one to ask this question as this is what the motion planner in Machinekit takes care of: We had some live google hangouts last nov-dec where a detailed presentation of some of it are explained...

https://groups.google.com/forum/#!searchin/machinekit/hangout/machinekit/G2AzR3pKdgw/cxiNG7wGCQAJ https://groups.google.com/forum/#!searchin/machinekit/hangout/machinekit/G2AzR3pKdgw/cxiNG7wGCQAJ

i'm in the process of implementing some sort of synchronized acceleration movement via vhdl but if you have it in the machinekit itll save me lots of time and effort.

Yes the project is fully functional but far from finished and Michael the presenter in the hangout’s has stepped in and is heling move the project forward to phase2.

Michael

Best wishes Michael

On Fri, Mar 18, 2016 at 12:55 PM, Michael Brown notifications@github.com wrote:

Hello again Michael

Just a short note to tell that the Machinekit mksocfpga port made it into being fully cnc functional last week or so, and I released a beta3 test image on that occation (with some quirks in the network config....).

Right now I have added adc functionality to the add-adc branch of the mksocfpga repo. And next step is a mk driver for this, which will then conclude the final of basic port implementation. Note: the repo has changed to the lees inclusive name:

https://github.com/the-snowwhite/mksocfpga

How are things going here ?

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/mhouse1/mechsoftronic/issues/1#issuecomment-198451922

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/mhouse1/mechsoftronic/issues/1#issuecomment-200401414

mhouse1 commented 8 years ago

looks like ill have to finally put in some $$ to get myself a DE0-Nano-SoC and try using machinekit through mksocfpga.

really interested in the networking capability of the nano-soc

great work Michael, ill let you know how things are going once the nano-soc arrives

On Wed, Mar 23, 2016 at 12:25 PM, Michael Brown notifications@github.com wrote:

Well Nice to hear from you again Michael

On 23 Mar 2016, at 16:44, Michael House notifications@github.com wrote:

Hi Michael

I've been pretty busy at work lately, its good to see the new changes.

By "being fully cnc functional”

This means that the Nano Soc board is fully hooked up to the machinekit Software and the initial Mesa 5i25 clone configuration should behave exactly as the “real” one apart from that al the I/O pins are routed to the GPIO0 port instead of the 2 connectors on the Anything io 5i25 Mesa board.

So It can also generate configs for all the daughter cards for this board. (and drive some steers, pam’s, etc)

does this also mean theres some sort of synchronized acceleration and CNC planning implemented?

I’m really not the right one to ask this question as this is what the motion planner in Machinekit takes care of: We had some live google hangouts last nov-dec where a detailed presentation of some of it are explained...

https://groups.google.com/forum/#!searchin/machinekit/hangout/machinekit/G2AzR3pKdgw/cxiNG7wGCQAJ < https://groups.google.com/forum/#!searchin/machinekit/hangout/machinekit/G2AzR3pKdgw/cxiNG7wGCQAJ

i'm in the process of implementing some sort of synchronized acceleration movement via vhdl but if you have it in the machinekit itll save me lots of time and effort.

Yes the project is fully functional but far from finished and Michael the presenter in the hangout’s has stepped in and is heling move the project forward to phase2.

Michael

Best wishes Michael

On Fri, Mar 18, 2016 at 12:55 PM, Michael Brown < notifications@github.com> wrote:

Hello again Michael

Just a short note to tell that the Machinekit mksocfpga port made it into being fully cnc functional last week or so, and I released a beta3 test image on that occation (with some quirks in the network config....).

Right now I have added adc functionality to the add-adc branch of the mksocfpga repo. And next step is a mk driver for this, which will then conclude the final of basic port implementation. Note: the repo has changed to the lees inclusive name:

https://github.com/the-snowwhite/mksocfpga

How are things going here ?

— You are receiving this because you commented. Reply to this email directly or view it on GitHub < https://github.com/mhouse1/mechsoftronic/issues/1#issuecomment-198451922>

— You are receiving this because you commented. Reply to this email directly or view it on GitHub < https://github.com/mhouse1/mechsoftronic/issues/1#issuecomment-200401414>

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/mhouse1/mechsoftronic/issues/1#issuecomment-200422223

mhaberler commented 8 years ago

Hi @mhouse1 , I'm conspiring with @the-snowwhite on machinekit and the socfpga port in particular

just correcting some misconceptions -

parport is one option only, and certainly not the fastest one on the AM335x Sitara (aka Beaglebone) the stepgen+pwmgen functions are executed on the PRU controllers, not the host ARM core, and hence not subject to its restrictions many people use mesanet.com cards which run time-critical stuff on it's FPGA's, among them stepgen, a/b encoder, pwmgen etc other folks like @kinsamanka have created external steppers like the picnc connected over SPI

personally I believe the combined ARM core+FPGA platforms are the way to go, as you get more bang for less hardware moving parts and no low-bandwidth bus connections - those are all shared memory interfaces and very fast

The idea we're following with the socfpga (and eventually the Xilinx Zynq) port is:

happy to discuss - have a look at https://groups.google.com/forum/#!forum/machinekit or meet us at https://gitter.im/machinekit/machinekit

the-snowwhite commented 8 years ago

Yes Its running a headless Debian Jessie 8.3 with 3,10-rt ltsi kernel And we are working on 4.4.4 -rt mainline kernel that Still has some kinks. On 23 Mar 2016 5:25 p.m., "Michael House" notifications@github.com wrote:

nevermind last email, i think your project is porting machinekit to the de0-nano-soc.

By "being fully cnc functional" does this mean i can run machinekit on the de0-nano-soc and communicate through it over ethernet?

Michael

On Wed, Mar 23, 2016 at 11:44 AM, M House patzer9@gmail.com wrote:

Hi Michael

I've been pretty busy at work lately, its good to see the new changes.

By "being fully cnc functional" does this also mean theres some sort of synchronized acceleration and CNC planning implemented? i'm in the process of implementing some sort of synchronized acceleration movement via vhdl but if you have it in the machinekit itll save me lots of time and effort.

Michael

On Fri, Mar 18, 2016 at 12:55 PM, Michael Brown < notifications@github.com> wrote:

Hello again Michael

Just a short note to tell that the Machinekit mksocfpga port made it into being fully cnc functional last week or so, and I released a beta3 test image on that occation (with some quirks in the network config....).

Right now I have added adc functionality to the add-adc branch of the mksocfpga repo. And next step is a mk driver for this, which will then conclude the final of basic port implementation. Note: the repo has changed to the lees inclusive name:

https://github.com/the-snowwhite/mksocfpga

How are things going here ?

— You are receiving this because you commented. Reply to this email directly or view it on GitHub < https://github.com/mhouse1/mechsoftronic/issues/1#issuecomment-198451922>

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/mhouse1/mechsoftronic/issues/1#issuecomment-200421990

mhouse1 commented 8 years ago

Hi Michael,

My DE0 nano atlas/soc kit just arrived a few days ago.

I'm looking to trying out machinekit/mksocfpga now. From the project page I found https://github.com/the-snowwhite/mksocfpga/blob/master/docs/Quartus-setup-notes/Altera-15.1-depedencies-and-udev-rules.md

It seems like my first steps would be to get quartus 15.1 setup, then build my own image. Can all this be done on free versions of quartus 15.1 running on windows 7 ? I'm currently running on a fullly loaded version of quartus 13.1 and will probably make the switch to a fully licensed quartus 15.1 soon but that will all be on windows 7.

if not windows 7 then can i run this using purely free sofware package on linux?

Mhouse

On Wed, Mar 23, 2016 at 2:52 PM, Michael Brown notifications@github.com wrote:

Yes Its running a headless Debian Jessie 8.3 with 3,10-rt ltsi kernel And we are working on 4.4.4 -rt mainline kernel that Still has some links. On 23 Mar 2016 5:25 p.m., "Michael House" notifications@github.com wrote:

nevermind last email, i think your project is porting machinekit to the de0-nano-soc.

By "being fully cnc functional" does this mean i can run machinekit on the de0-nano-soc and communicate through it over ethernet?

Michael

On Wed, Mar 23, 2016 at 11:44 AM, M House patzer9@gmail.com wrote:

Hi Michael

I've been pretty busy at work lately, its good to see the new changes.

By "being fully cnc functional" does this also mean theres some sort of synchronized acceleration and CNC planning implemented? i'm in the process of implementing some sort of synchronized acceleration movement via vhdl but if you have it in the machinekit itll save me lots of time and effort.

Michael

On Fri, Mar 18, 2016 at 12:55 PM, Michael Brown < notifications@github.com> wrote:

Hello again Michael

Just a short note to tell that the Machinekit mksocfpga port made it into being fully cnc functional last week or so, and I released a beta3 test image on that occation (with some quirks in the network config....).

Right now I have added adc functionality to the add-adc branch of the mksocfpga repo. And next step is a mk driver for this, which will then conclude the final of basic port implementation. Note: the repo has changed to the lees inclusive name:

https://github.com/the-snowwhite/mksocfpga

How are things going here ?

— You are receiving this because you commented. Reply to this email directly or view it on GitHub < https://github.com/mhouse1/mechsoftronic/issues/1#issuecomment-198451922

— You are receiving this because you commented. Reply to this email directly or view it on GitHub < https://github.com/mhouse1/mechsoftronic/issues/1#issuecomment-200421990>

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/mhouse1/mechsoftronic/issues/1#issuecomment-200493155

mhaberler commented 8 years ago

there is a test image for download here: https://github.com/machinekit/machinekit/issues/915#issuecomment-215223440

for the Quartus builds we use docker containers: https://github.com/cdsteinkuehler/QuartusBuildVMs

the-snowwhite commented 8 years ago

Hi Michael If you prefer to build locally I have tested the Altera mksocfpga projects in win7 / win 10 with Quartus Prime Lite 15,2,1, unlicensed. And this should work without any issues (that have not already been solved.)

I very much recommend @mhaberler 's sd-image as this also has a MK build system built in, so it is very easy to f.eks recompile the hm2_soc.c driver module.

Remember to check correct msel dip's on board (for linux booting). And also start with usb uart serial console (115k n-1), press a key within 3 sek of powerup and set a hw mac address so you don't get a new one on each reboot. :-)

the-snowwhite commented 8 years ago

latest build info and methods: https://github.com/machinekit/machinekit/issues/915#issuecomment-215223440