508,660 active members
1,969 visitors online
Register for free
Login
IndustryArena Forum > OpenSource CNC Design Center > Raspberry Pi CNC > PyCNC - first CNC machine controller on pure Python for Raspberry Pi.
Page 2 of 2 12
Results 13 to 23 of 23
  1. #13
    Registered
    Join Date
    Dec 2016
    Posts
    5

    Re: PyCNC - first CNC machine controller on pure Python for Raspberry Pi.

    Quote Originally Posted by reg.miller View Post
    NO, it would not be "ideal" or even suitable for controlling heavy machinery like a lathe.

    It may be OK for 3D printers where it does not really matter if something goes wrong. Although printers usually move quite fast and this is likely to mean lack of RT will lead to errors. Since home 3D printers produce pretty crude results anyway you may not notice some of them.

    Please don't use it for anything bigger.
    It's not my intention to start new vs. old flame war. I'm interesting in a fair critique of Nikolay approach using DMA controller. Given large enough circular buffer and dedicated high priority channel for DMA operations you could minimize negative effects of whatever controls CPU, RT kernel or not. I presume most promising results could be achieved using closed-loop drivers. Just to be clear: I'm talking here about general approach of using DMA controllers, not this very particular found in BCM2835/BCM2836, which could be inappropriate for some other reasons.

  2. #14
    Registered
    Join Date
    Nov 2015
    Posts
    5

    Re: PyCNC - first CNC machine controller on pure Python for Raspberry Pi.

    Thank you for your feedbacks and critiques.

    Quote Originally Posted by jcdammeyer View Post
    hardware PRUs
    btw, I'm think about adding BBB with PRU to one of the HAL implementation of my project. But definitely not in the close future.

    Quote Originally Posted by reg.miller View Post
    You NEED real time control for controlling machines.
    I can precisely generate pulses for steppers using SoC's hardware modules, why do I need to control something else in realtime during machine run? I've used only 3d printers, cutters and engraving machines, all of them don't require realtime handling, only pulses at the right time moments. So, what for I need realtime? I haven't use lathe machine, may be there is something I don't know(some sensors which I need to take into consideration during machine run or something else), please tell me.

    Quote Originally Posted by saxa View Post
    Great work man, do you plan to develop a kind of GUI for it ?
    Thanks. Yes, I'm thinking about some graphical interface, but definitely not about any native window systems. I think web interface would be the best choice for that.

  3. #15
    Registered
    Join Date
    Feb 2008
    Posts
    591

    Re: PyCNC - first CNC machine controller on pure Python for Raspberry Pi.

    A DMA based stepgenerator is basically a buffered system and if the host has no real time capabilities there's
    no way to use real time feedback from machine inputs to control motion. If a RTOS was used, the DMA buffer
    could be smaller and close to real time control might be possible.

    Here are a few places where real time feedback is required (or realtime is a superior and more flexible solution than a non-realtime solution ):

    Threading (threading is possible without realtime feedback with servo spindles but not the more common induction motors/VFDs that need encoder feedback )
    Rigid tapping
    Probing (if reaction time is not important, probing might be possible by polling a DMA GPIO
    read data stream with known synchronization with the step generator stream)
    Closed loop position control (reading position and running feedback loop in real time)
    Adaptive feed
    Velocity / Gcode aware Plasma THCs

    The advantage of systems like LinuxCNC is that they can do all of these (and almost any additional real time function you might require)
    using almost any hardware.

  4. #16
    Registered
    Join Date
    Dec 2016
    Posts
    5

    Re: PyCNC - first CNC machine controller on pure Python for Raspberry Pi.

    Quote Originally Posted by PCW_MESA View Post
    A DMA based stepgenerator is basically a buffered system and if the host has no real time capabilities there's
    no way to use real time feedback from machine inputs to control motion. If a RTOS was used, the DMA buffer
    could be smaller and close to real time control might be possible.
    MCU/FPGA between host and driver could make that job.

    Quote Originally Posted by PCW_MESA View Post
    The advantage of systems like LinuxCNC is that they can do all of these (and almost any additional real time function you might require)
    using almost any hardware.
    At the cost of profound code complexity. The main benefits of using LinuxCNC are a permissive license and user head count. Hardly technical arguments.

  5. #17
    Registered
    Join Date
    Feb 2008
    Posts
    591

    Re: PyCNC - first CNC machine controller on pure Python for Raspberry Pi.

    Quote Originally Posted by for View Post
    MCU/FPGA between host and driver could make that job.

    Sure

    At the cost of profound code complexity. The main benefits of using LinuxCNC are a permissive license and user head count. Hardly technical arguments.
    Nonsense, there are lots of technical advantages for a simple single locus of control realtime motion system like LinuxCNC
    Buffered systems that have the same capabilities are more complex

  6. #18
    Registered
    Join Date
    Jan 2005
    Posts
    1938

    Re: PyCNC - first CNC machine controller on pure Python for Raspberry Pi.

    Quote Originally Posted by for View Post
    MCU/FPGA between host and driver could make that job.



    At the cost of profound code complexity. The main benefits of using LinuxCNC are a permissive license and user head count. Hardly technical arguments.
    So when your system can match even 10% of the capabilities as a simple parallel port LinuxCNC system then you might have an argument.

  7. #19
    Registered
    Join Date
    Dec 2016
    Posts
    5

    Re: PyCNC - first CNC machine controller on pure Python for Raspberry Pi.

    Quote Originally Posted by PCW_MESA View Post
    Nonsense, there are lots of technical advantages for a simple single locus of control realtime motion system like LinuxCNC
    Buffered systems that have the same capabilities are more complex
    I beg your pardon. There are three different linux rt patch sets, yet none of these is fully incorporated in the mainline, even though one of them has been selected to be there over 10 years ago. There are reasons why enforcing realtime regime on general purpose OS designed to run on general purpose CPU is so challenging. I'm not questioning what you wrote about advantages and so on. But I guess I can achieve the very same set of functionalities (that I'm interested in) enforcing clear hardware distinction between rt domain and the rest with less effort required.

  8. #20
    Registered
    Join Date
    Dec 2016
    Posts
    5

    Re: PyCNC - first CNC machine controller on pure Python for Raspberry Pi.

    Quote Originally Posted by 109jb View Post
    So when your system can match even 10% of the capabilities as a simple parallel port LinuxCNC system then you might have an argument.
    I'm not sure which decile you are referring to, but I can imagine that e.g. a combination of PyCNC and Tarocco would make happy pretty large part of LinuxCNC user base at some point; set aside more gentle learning curve.

  9. #21
    Registered
    Join Date
    Feb 2008
    Posts
    591

    Re: PyCNC - first CNC machine controller on pure Python for Raspberry Pi.

    Quote Originally Posted by for View Post
    I beg your pardon. There are three different linux rt patch sets, yet none of these is fully incorporated in the mainline, even though one of them has been selected to be there over 10 years ago. There are reasons why enforcing realtime regime on general purpose OS designed to run on general purpose CPU is so challenging. I'm not questioning what you wrote about advantages and so on. But I guess I can achieve the very same set of functionalities (that I'm interested in) enforcing clear hardware distinction between rt domain and the rest with less effort required.
    Nope, that's just silly FUD

    LinuxCNC (and now Machinekit) have been working well on Linux RTOS's for more than 15 years

    Also Preempt-RT will be mainlined soon (not that that is a real issue)

  10. #22
    Registered
    Join Date
    Dec 2016
    Posts
    5

    Re: PyCNC - first CNC machine controller on pure Python for Raspberry Pi.

    Quote Originally Posted by PCW_MESA View Post
    Nope, that's just silly FUD

    LinuxCNC (and now Machinekit) have been working well on Linux RTOS's for more than 15 years
    Cite me where I wrote otherwise. Pic or didn't happen.

    Quote Originally Posted by PCW_MESA View Post
    Also Preempt-RT will be mainlined soon (not that that is a real issue)
    Yeah, sure. I've just realized that in your world the majority of development costs is swept under the rug. Good luck with that and feel free to discuss with a machinekit maintainer what a real issue is and what is not [1].

    [1] Machinekit Blog: And the winner is: RT-PREEMPT

  11. #23
    Registered
    Join Date
    Nov 2015
    Posts
    5

    Re: PyCNC - first CNC machine controller on pure Python for Raspberry Pi.

    Hello!
    Great news! PyCNC has full 3D printer implementation. Version 1.0.0 is released.
    Also I made a hardware with RerRap Prusa i3, RAMPSv1.4 board and Raspberry Pi3. Circuit diagram and photos in repo's README.md file - https://github.com/Nikolay-Kha/PyCNC. First 3D model was printed on this video:


    Overall PyCNC supports:
    - 4 axis - X, Y, Z, E;
    - Linear interpolation;
    - Circular(in XY, ZX, YZ planes) interpolation;
    - Minimum end stops and homing procedure;
    - Extruder and bed heaters;
    - Spindle for engraving.

Page 2 of 2 12

Similar Threads

  1. *NEED HELP* machining pure molybdenum
    By vladp in forum General MetalWorking
    Replies: 3
    Last Post: 09-27-2016, 09:08 PM
  2. For nerds only: Raspberry Pi for EMC2 controller?
    By crane550 in forum Raspberry Pi CNC
    Replies: 159
    Last Post: 12-03-2015, 10:17 PM
  3. Pure Magic
    By CNCadmin in forum EnRoute
    Replies: 0
    Last Post: 03-03-2012, 09:00 PM
  4. just another python gcode thing
    By cyclestart in forum LinuxCNC (formerly EMC2)
    Replies: 8
    Last Post: 02-18-2008, 03:54 PM

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
  •