For nerds only: Raspberry Pi for EMC2 controller? - Page 5

Page 5 of 8 FirstFirst ... 2345678 LastLast
Results 81 to 100 of 159

Thread: For nerds only: Raspberry Pi for EMC2 controller?

  1. #81
    Registered
    Join Date
    Mar 2012
    Location
    UK
    Posts
    22
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by crane550 View Post
    If someone was to produce a software repository or a linux distro that would run on the RPi I have no doubt in my mind it would sell like hot-cakes.
    I assume you're aware that there are (off the top of my head) three Linux distros already ported to the RPi, and available as sdcard image downloads from the RPi website.

    However, I believe one of these would have to be adapted to use a real time kernel before it would be suitable to use with EMC2. I have not looked at what RPi peripherals these existing ports support. Let's assume that some additional simple drivers might be needed too.

    Still, it doesn't seem like a huge amount of work.



  2. #82
    Registered
    Join Date
    May 2005
    Location
    usa
    Posts
    81
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by mpack View Post
    I assume you're aware that there are (off the top of my head) three Linux distros already ported to the RPi, and available as sdcard image downloads from the RPi website.

    However, I believe one of these would have to be adapted to use a real time kernel before it would be suitable to use with EMC2. I have not looked at what RPi peripherals these existing ports support. Let's assume that some additional simple drivers might be needed too.

    Still, it doesn't seem like a huge amount of work.
    LinuxCNC/EMC requires a parallel port, PCI or ISA bus for interfacing to the physical world, so that would need to be worked out.

    Porting a real time kernel and device drivers to work with the RPi may be pretty significant, never looked deep enough into the code to have a estimate, but it could be a lot of work.

    Post the question to the LInxCNC forum and see what responses you get back, Those folks could bring some solid comments to this thread.

    Question, you referenced the reprap/maker/High school projects as one driver for this project, why do you think those existing solutions are inadequate?



  3. #83
    Registered
    Join Date
    Mar 2012
    Location
    UK
    Posts
    22
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by ad_bfl View Post
    LinuxCNC/EMC requires a parallel port, PCI or ISA bus for interfacing to the physical world, so that would need to be worked out.
    No, it just requires PIOs, which it accesses via a HAL. It so happens that the PC HAL uses the PC parallel port - obviously because the PC doesn't have other PIO options. An RPi version would use a different HAL.

    Quote Originally Posted by ad_bfl View Post
    Porting a real time kernel and device drivers to work with the RPi may be pretty significant, never looked deep enough into the code to have a estimate, but it could be a lot of work.
    Yes, if no ARM RTK already exists, and if we decide we really do need an OS kernel, then implementing one could be quite a bit of work.

    Quote Originally Posted by ad_bfl View Post
    Question, you referenced the reprap/maker/High school projects as one driver for this project, why do you think those existing solutions are inadequate?
    That wasn't me, that was Crane550.



  4. #84
    Registered
    Join Date
    May 2005
    Location
    usa
    Posts
    81
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by mpack View Post
    No, it just requires PIOs, which it accesses via a HAL. It so happens that the PC HAL uses the PC parallel port - obviously because the PC doesn't have other PIO options. An RPi version would use a different HAL.


    Yes, if no ARM RTK already exists, and if we decide we really do need an OS kernel, then implementing one could be quite a bit of work.


    That wasn't me, that was Crane550.
    Hal/DeviceDriver/PIO..., someone would need to write that I/O stuff, which can be a pain to write when I have a complete OS sitting on the top.

    I have a RPi on order, but mostly to see how it compares to a BeagleBoard Xm, which is my current toy due to my need to implement some computer vision algorithms which then controls some Arduinos for handling the motors using i2c.

    The thing I am realizing with the BeagleBoard is that the OS gets in the way. If all I need to do is watch some pins and respond, it is a real pain vs a simple loop. If I did not need the CV stuff, I would NOT use it.

    I keep having this feeling that a combo RPi and a FPGA would be ideal, sort of like what Gecko is designing, but a open source/hardware version. The FPGA is inherently parallel and is great for handling the motors and I/O, which keeps us from having to deal with a RTOS and interrupts.

    Commercial stuff uses that pattern (Galil), LinuxCNC when used with the Mesa cards is an instance of that pattern, Mach3/smoothstepper also.

    Adding a FPGA to a pi and putting that tool chain together would be a LOT of work, but would make a kick butt platform for advanced hacker type projects.



  5. #85


  6. #86
    Registered
    Join Date
    Mar 2012
    Location
    UK
    Posts
    22
    Downloads
    0
    Uploads
    0

    Default

    Nice find - so a real time Linux kernel for ARM already exists, and runs on a board with half the SDRAM of the RPi.



  7. #87
    Registered
    Join Date
    Apr 2010
    Location
    USA
    Posts
    363
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by mpack View Post
    Nice find - so a real time Linux kernel for ARM already exists, and runs on a board with half the SDRAM of the RPi.




  8. #88
    Member
    Join Date
    Jun 2007
    Location
    canada
    Posts
    3891
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by mpack View Post
    Nice find - so a real time Linux kernel for ARM already exists, and runs on a board with half the SDRAM of the RPi.
    does the fact that the raspberry pi has no real time clock impact the use of this? supposedly you can add one via the gpio.



  9. #89
    Registered
    Join Date
    Aug 2010
    Location
    USA
    Posts
    1
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by ihavenofish View Post
    does the fact that the raspberry pi has no real time clock impact the use of this? supposedly you can add one via the gpio.

    I don't see why it would. The clocks that are important for a real-time kernel are the interrupts and timers that are on the ARM CPU.

    I have done some reading on the linuxcnc forum about porting linuxcnc to the Raspberry pi. it seems the biggest concern is having a solid real-time kernel that runs on ARM and if it works on a SOC that is GPU first CPU second.



  10. #90
    Registered
    Join Date
    Mar 2012
    Location
    UK
    Posts
    22
    Downloads
    0
    Uploads
    0

    Default

    The GPU on the RPi seems to be, unfortunately, useless for our purposes, whether you consider it the primary or secondary core. The GPU seems to be completely undocumented, which my engineers mind immediately makes me shy away from. So, it's the ARM core alone that we care about.

    Even the SoC peripherals are poorly documented, but at least in that regard Broadcom seem to have relented and provide info at least on the peripherals that make it out to the RPi externals.



  11. #91
    Registered
    Join Date
    Mar 2007
    Location
    France
    Posts
    51
    Downloads
    0
    Uploads
    0

    Default

    Worse thing about GPU is that it's closed source driver. Closed source drivers and RTAI/EMC2 are not playing well together by experience.
    You can spend a lot of time porting RTAI or other RT kernel to ARM11 and found that using the linux closed source GPU driver completely destroy the RT system, voiding all your work.
    Closed source means also that any change in the future could break compatibility.
    For me, porting something like GRBL to RPI or other ARM Cortex board is also an interesting option (cortex board are cheap and have also internal flash, which frees the SDcard port used on RPI for boot).

    Today the platform of choice for EMC2 is atom board (less than 100$ with ram + drive + picopsu). You can purchase cheap PCI to LPT adapter if you need more I/O (<30$ for dual lpt with non netmos chip)

    You can otherwise add 5i25 pci board, gives you nice servo/pulse/encoder interface for less than 100$. And since it's mesa, you gain the EMC2 internal servo loop (this is THE thing about EMC2).

    Story will be different when board with PCI will disappears (3x20 pcie board is outrageously expensive), but do not forget that RPI will also exist for the time Broadcom/RPI foundation want it to exist as they are the only suppliers.

    So yes RPI could be a cheap CNC controller, but maybe not with EMC2.



  12. #92
    Registered
    Join Date
    Mar 2012
    Location
    UK
    Posts
    22
    Downloads
    0
    Uploads
    0

    Default

    Closed source drivers? Since we won't be using them that should hardly matter. The GPU core is closed to us, but we don't need the GPU to do CNC. The 700MHz ARM core should be plenty, and the Broadcom data sheet seems to document all of the onchip peripherals which are accessible from the ARM. That should be plenty.

    Sure, if I'm an RPi owner then one day I hope we'll have info on the GPU - but it's a curiosity only, not something any CNC app would need.



  13. #93
    Member
    Join Date
    Jun 2007
    Location
    canada
    Posts
    3891
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by mpack View Post
    Closed source drivers? Since we won't be using them that should hardly matter. The GPU core is closed to us, but we don't need the GPU to do CNC. The 700MHz ARM core should be plenty, and the Broadcom data sheet seems to document all of the onchip peripherals which are accessible from the ARM. That should be plenty.

    Sure, if I'm an RPi owner then one day I hope we'll have info on the GPU - but it's a curiosity only, not something any CNC app would need.
    you need the gpu to run the display via hdmi obviously, but also the 3d viewport that shows the tool path progress. thats opengl i think.

    if you are thinking you can get away with no display, youre quite wrong. a few application might be able to use bypass it, like a very basic 3d printer or repetitive factory automation, but almost everything else will need a monitor and 3d graphics.



  14. #94
    Registered
    Join Date
    Apr 2006
    Location
    US
    Posts
    40
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by ihavenofish View Post
    you need the gpu to run the display via hdmi obviously, but also the 3d viewport that shows the tool path progress. thats opengl i think.

    if you are thinking you can get away with no display, youre quite wrong. a few application might be able to use bypass it, like a very basic 3d printer or repetitive factory automation, but almost everything else will need a monitor and 3d graphics.
    Yes as an application, you wouldn't need direct access to the GPU. As long as it has the correct video drivers, the interface would be the same as normal linux.



  15. #95
    Registered
    Join Date
    Mar 2012
    Location
    UK
    Posts
    22
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by ihavenofish View Post
    you need the gpu to run the display via hdmi obviously
    Hmm - not so obvious to me. You must be privy to information I don't have - because no HDMI out I've used in the past has needed a GPU, and I see nothing in the peripheral notes that it's needed here. All it should need is the HDMI video encoder peripheral, an I2C bus (or similar) to configure it, and a DMA controller to keep it fed with data.

    A GPU would be helpful to speed up the rendering of lots of fancy 3D graphics - but I don't expect that to be needed here, despite your comments. CNC has been around a long time, and for most of that time managed perfectly well without 3D graphics beside the machine.



  16. #96
    Member
    Join Date
    Jun 2007
    Location
    canada
    Posts
    3891
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by mpack View Post
    Hmm - not so obvious to me. You must be privy to information I don't have - because no HDMI out I've used in the past has needed a GPU, and I see nothing in the peripheral notes that it's needed here. All it should need is the HDMI video encoder peripheral, an I2C bus (or similar) to configure it, and a DMA controller to keep it fed with data.

    A GPU would be helpful to speed up the rendering of lots of fancy 3D graphics - but I don't expect that to be needed here, despite your comments. CNC has been around a long time, and for most of that time managed perfectly well without 3D graphics beside the machine.
    theyve had 3d graphics since the early 80's.

    but yes, i see your point, "graphics" are needed, but not necessarily the gpu. theres more than enough power for software 3d on this board. cnc 3d tends not to be highly interactive as well. its basically some lines in 3d space on emc and mach3 which you can orbit around and pan.



  17. #97
    Member
    Join Date
    Jan 2005
    Location
    USA
    Posts
    1943
    Downloads
    2
    Uploads
    0

    Default

    I just came across this thread and am very interested. It is obvious to me that there are some folks on here that know a great deal more than me about this kind of stuff. About the only thing I can offer is in response to how I would use such a setup. Let me start off by saying that I haven't finished my CNC mill/drill conversion yet, but I was a CNC programmer/operator in a previous life. I personally would mainly use the RPi as a machine controller with a few "at the machine" edits of the g-code. That is the way I did it when employed as a CNC P/O and I see no reason that I wouldn't run my personal machine the same way. I don't see that I would ever "need" to run a CAD or CAM program on it although based on the specs it should be able to run a basic 2D cad program fine, and the common dfx to g-code interpreters as well. Anything more than basic edits and I would head to a PC running Linux or Windows. I have several netbooks and laptops that are capable enough for that and I could carry one right to the shop. I actually had considered running TurboCNC on my mill using an Intel 486 DX2 66 MHz machine that I still happen to have. I didn't have the cool graphic representations showing the tool moving along when I was earning a living running CNC. It is nice, but I personally could live without the graphics. A simple DRO readout was all I had before and would still be fine with me.

    The current plan for my CNC build is to use an old Pentium 4 tower and 15" LCD monitor that I have running LinuxCNC/EMC2. The size of this CPU and monitor will make my CNC setup cumbersome, but it will work. I had been considering getting a Atom based CPU and 8" LCD monitor to reduce size and allow mounting in a small custom built "control console". For size reduction I have already purchased a mini-keyboard with built-in trackpad. After finding this thread, I am very excited about the Raspberry Pi CPU. I wish I knew enough to try this myself but I know I don't have that kind of knowledge. I hope someone takes the reins and comes up with something. I may go ahead and buy a RPi just for the sake of trying it out. The GPIO pins sound promising for "talking" to the motor drivers. I will definitely be following this thread.



  18. #98
    Registered
    Join Date
    Mar 2012
    Location
    UK
    Posts
    22
    Downloads
    0
    Uploads
    0

    Default

    It looks like the RPi is no longer vaporware. It passed EMC testing recently (not to be confused with the EMC CNC app!), thus gained CE approval, and the first few thousand final production boards have been shipped. Apparantly 10000 more boards are due in the week to come, and a much bigger production run after that. Unfortunately I have no idea how far down the waiting list I am! I'm really on tenterhooks to get a good close look and see if there's some monstrous gotcha that stops this thing being useful in the role we've been discussing.

    AIUI, this is all UK/Europe only. I get the feeling that they aren't trying for FCC approval right away, hence they can't officially sell in the US/Canada (not directly anyway).



  19. #99
    Member
    Join Date
    Jan 2005
    Location
    USA
    Posts
    1943
    Downloads
    2
    Uploads
    0

    Default

    Well I guess it is still unclear if the Raspberry Pi will ever make it to hobby CNC but I am very hopeful. Even if it doesn't, it still looks like a great idea. I went ahead and placed an order for one anyway. If nothing else, I can use it for my 12 yr old son. It is backordered of course, but on order.



  20. #100
    Registered
    Join Date
    Mar 2012
    Location
    UK
    Posts
    22
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by mpack View Post
    AIUI, this is all UK/Europe only. I get the feeling that they aren't trying for FCC approval right away
    Apparantly that's wrong. I was speaking yesterday to the guy who designed the RPi, and he tells me that they now have FCC approval as well.



Page 5 of 8 FirstFirst ... 2345678 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

For nerds only: Raspberry Pi for EMC2 controller?

For nerds only: Raspberry Pi for EMC2 controller?