The printer port isn’t dead! (linuxcnc is cool and powerful)

Advert

The printer port isn’t dead! (linuxcnc is cool and powerful)

Home Forums CNC machines, Home builds, Conversions, ELS, automation, software, etc tools The printer port isn’t dead! (linuxcnc is cool and powerful)

Viewing 25 posts - 26 through 50 (of 52 total)
  • Author
    Posts
  • #623052
    sam sokolik
    Participant
      @samsokolik60334

      Finally scored a compact 5 turret!

       

      Edited By sam sokolik on 29/11/2022 18:11:46

      Advert
      #623053
      sam sokolik
      Participant
        @samsokolik60334

        A bit of ladder for testing…

        #623597
        sam sokolik
        Participant
          @samsokolik60334

          an hour you won't get back…

          #623671
          Robin
          Participant
            @robin

            Happy days when you could actually take over the timer interrupt with Bill Gates blessing. I still have the original IBM PC Technical reference manual with all the circuit diagrams including the printer port.

            It looked suspiciously like IBM made a motherboard with active low interrupts and expansion cards with active high dont know

            Rather than do a massive trip to the dump they found a weird edge-triggered interrupt and pretended that was what they always intended. Of course you only got one bite of the cherry, miss the edge and it was gone, but that was how things were and everyone muddled through laugh

            bestest

            Robin

            #655532
            sam sokolik
            Participant
              @samsokolik60334

              Finally had a little time to work on this project. I got the X ball nut assembly done – it took some creative machining…

              #656250
              sam sokolik
              Participant
                @samsokolik60334

                +/- 10 volts out of the printer port..

                Found some circuits here.. **LINK**

                The first one from the forum seemed simple enough to try – although it took me a bit to figure out the filter was setup as a high pass – not low pass.. After figuring that out it made sense..

                It should be more than good enough to do closed loop spindle control – and constant surface speed…

                #660089
                sam sokolik
                Participant
                  @samsokolik60334

                  Getting closer…..

                  #660216
                  george baker 1
                  Participant
                    @georgebaker1

                    Hi

                    I knew of the whereabouts one of those Emco's, from memory it was complete and in good nick. Any idea what it would be worth?

                    George

                    #711154
                    sam sokolik
                    Participant
                      @samsokolik60334

                      Kinda a side quest on the emco – automatic oiling…

                       

                      https://www.youtube.com/watch?v=ejFw3V3sy2w

                       

                       

                      #711157
                      sam sokolik
                      Participant
                        @samsokolik60334

                        does this work?

                        I can’t seem to figure out how to embed youtube videos anymore.

                        #711164
                        Robin
                        Participant
                          @robin

                          Just in case any of you have lost your IBM PC manuals…

                          PrinterPort

                          #711615
                          sam sokolik
                          Participant
                            @samsokolik60334

                            I drilled a bunch of interconnecting holes to bring all the oil fittings to the front of the saddle…

                             

                            https://www.youtube.com/shorts/1xbJ-e6XY3U

                             

                            #711751
                            sam sokolik
                            Participant
                              @samsokolik60334

                              This is how I snaked the path through the saddle for the oil passages..

                               

                              https://www.youtube.com/watch?v=4aHgv_WaR-k

                              #715494
                              sam sokolik
                              Participant
                                @samsokolik60334

                                Getting there..

                                 

                                PXL_20240220_024208497

                                #716345
                                sam sokolik
                                Participant
                                  @samsokolik60334

                                  Comparing performance of printer port and external interface hardware (Mesa)

                                   

                                  #716392
                                  Michael Gilligan
                                  Participant
                                    @michaelgilligan61133

                                    Let me just say, Sam … I am very impressed !

                                    Not that I really understand what you are doing, but just that it is blindingly-obvious you are doing it right.

                                    Keep it coming, Sir … one day I might catch-up.

                                     

                                    MichaelG.

                                    #716448
                                    Another JohnS
                                    Participant
                                      @anotherjohns

                                      I’m sold on LinuxCNC, with Mesa hardware for stepper interfacing. Been using it for well over 10 years now; one mill (a KX1) was the first, then another larger mill, and, also a small lathe (currently with dials; learning how well it turns without chatter/stalling).

                                      I believe that 100% of the CNC-at-home people in our club are running LinuxCNC.

                                      Tormach has used (and helped fund development of) LinuxCNC (re-badged for their marketing) for a while now, replacing Mach3/Mach4.

                                      The price is right, the Mesa hardware is great, and the thing is is that my machines just work. No tweaking since configured, just load a program, material, tooling, press play and I know the results will be good.

                                      I know many here might be happy with their current setup, but for those with a keen mind and like to experiment with minimal cash outlay, LinuxCNC just might be of interest.

                                      JohnS.

                                      #716449
                                      sam sokolik
                                      Participant
                                        @samsokolik60334
                                        On Another JohnS Said:

                                        I’m sold on LinuxCNC, with Mesa hardware for stepper interfacing. Been using it for well over 10 years now; one mill (a KX1) was the first, then another larger mill, and, also a small lathe (currently with dials; learning how well it turns without chatter/stalling).

                                        I believe that 100% of the CNC-at-home people in our club are running LinuxCNC.

                                        Tormach has used (and helped fund development of) LinuxCNC (re-badged for their marketing) for a while now, replacing Mach3/Mach4.

                                        The price is right, the Mesa hardware is great, and the thing is is that my machines just work. No tweaking since configured, just load a program, material, tooling, press play and I know the results will be good.

                                        I know many here might be happy with their current setup, but for those with a keen mind and like to experiment with minimal cash outlay, LinuxCNC just might be of interest.

                                        JohnS.

                                        I think that is what people don’t believe.   It is the stabilest (that might not be a word) thing I have ever used X100..   I have a machine that has 8 tons of cutting force.  I have never once had it do something I couldn’t explain.  It was always user error.   I have been running it since around 2005.

                                        sam.

                                        PS – and the things you can do with it.  The realtime abstraction layer you have access to as a lowly user is amazing.  Truly amazing.

                                        #716483
                                        Tomfilery
                                        Participant
                                          @tomfilery

                                          Sam, et al,

                                          It’s ok for you evangelists, however, for us mere mortals the reality is somewhat different.

                                          I found the Linux CNC website to be absolutely carp!!  No basic overview; inclined to get too techy, far too quickly; out of date; oh, and virtually no mention of the elephant in the room, i.e. the need for a parallel port (unlike your thread here)!  Although the use of other port cards is mentioned, the links take you straight to sales sites, with little practical information on the products and how they integrate with the software.

                                          I’m a Linux user (for most of my computing) and found the site approach bizarre.  They go on at length about the need for a real-time kernel, (without explicitly stating that a standard build will not be adequate), but the method for checking which kernel you have doesn’t work with the latest Long Term Stable version of Linux.  I know that the software is free and that all the site maintenance is undertaken by volunteers, but they are never going persuade others to switch, without a distinct change in approach.  I couldn’t even find a “contact us” link to report how poor I found the site to be.

                                          I drive my cnc router via Mach 3, under Windows XP and the computer is now getting flaky.  I’ve been trying to find an alternative which doesn’t require a complete rebuild of my system and have reluctantly concluded that the only viable alternative is to find another old pc with a parallel port.

                                          Good luck with your project.

                                          Regards Tom

                                          #716499
                                          sam sokolik
                                          Participant
                                            @samsokolik60334
                                            On Tomfilery Said:

                                            Sam, et al,

                                            It’s ok for you evangelists, however, for us mere mortals the reality is somewhat different.

                                            I found the Linux CNC website to be absolutely carp!!  No basic overview; inclined to get too techy, far too quickly; out of date; oh, and virtually no mention of the elephant in the room, i.e. the need for a parallel port (unlike your thread here)!  Although the use of other port cards is mentioned, the links take you straight to sales sites, with little practical information on the products and how they integrate with the software.

                                            I’m a Linux user (for most of my computing) and found the site approach bizarre.  They go on at length about the need for a real-time kernel, (without explicitly stating that a standard build will not be adequate), but the method for checking which kernel you have doesn’t work with the latest Long Term Stable version of Linux.  I know that the software is free and that all the site maintenance is undertaken by volunteers, but they are never going persuade others to switch, without a distinct change in approach.  I couldn’t even find a “contact us” link to report how poor I found the site to be.

                                            I drive my cnc router via Mach 3, under Windows XP and the computer is now getting flaky.  I’ve been trying to find an alternative which doesn’t require a complete rebuild of my system and have reluctantly concluded that the only viable alternative is to find another old pc with a parallel port.

                                            Good luck with your project.

                                            Regards Tom

                                            Sorry you have had such a bad experience with the website.  As you stated – this is all done by volunteers.

                                            When is the last time you looked?  As with all things linux – things are constantly changing and updating..

                                            These are the docs – normally you would use the stable version (unless you are testing things)

                                            https://linuxcnc.org/docs/

                                            I use the html versions all the time – they are very good.  (you can probably see in the video I have at least one tab open in the browser point to the docs)

                                            The forum is also very good – there are a lot of people willing to help.

                                            https://forum.linuxcnc.org/forum

                                            Linuxcnc hasn’t stopped evolving – moving forward.  Be it moving from older versions of python to using different realtime kernels.

                                            I have been using it for ages now and have seen some really cool things happen in linuxcnc and linux.   The big one is that rt-prempt (one of the main real time kernels that linuxcnc uses) is now part of the debian kernel.   You can now install the realtime kernel with your favorite package manager.   It used to be that you pretty much had to use the linuxcnc livecd to get the realtime stuff – unless you wanted to compile your own realtime kernel.  It is awesome.

                                            Patches and updates are being applied usually daily.  As of right now – something was updated an hour ago..

                                            https://github.com/LinuxCNC/linuxcnc

                                            It certainly takes a bit of time to wrap your head around how linuxcnc works – but you are half way there if you already use linux..

                                            BTW – you don’t have to find a machine with a printer port – I have been using pci and pci-e printer port cards for ages now.  You can get them from newegg or such.  they are really cheap and seem to work perfectly.  (but really – I am just showing that for no money – other than a cheap computer – you can do some pretty high end things with just a printer port.  you are not limited to step/dir and single index encoders..  Heck – you could rigid tap using just the printer port and linuxcnc)  External interface hardware (like mesa) is a much better way to go though – moving the higher speed stuff off the computer.

                                            sam

                                             

                                            #716503
                                            Another JohnS
                                            Participant
                                              @anotherjohns
                                              On Tomfilery Said:

                                              Sam, et al,

                                              It’s ok for you evangelists, however, for us mere mortals the reality is somewhat different.

                                              I found the Linux CNC website to be absolutely carp!!  No basic overview; inclined to get too techy, far too quickly; out of date; oh, and virtually no mention of the elephant in the room, i.e. the need for a parallel port (unlike your thread here)!  Although the use of other port cards is mentioned, the links take you straight to sales sites, with little practical information on the products and how they integrate with the software.

                                              I’m a Linux user (for most of my computing) and found the site approach bizarre.

                                              There’s the universal go-to – Youtube.

                                              Search for “linuxcnc tutorial for beginners” on Youtube and see how you get along.

                                              I think it’s like anything workshop related; once you master (say) turning a bit of brass to size, it’s easy, and you go on to more and more types of machining operations. Same with CAD drawing, playing the guitar, golfing, figuring out how to raise kids, and so on.

                                              Sam is way ahead of 99.9% of LinuxCNC users; so he sets the bar high. LinuxCNC is so adaptable that the interesting projects are way off in left field. The simple CNC 3-axis mill is not as sexy!

                                              If you have a simple parallel port-based CNC mill, entering “linuxcnc” in a terminal will start it up, and allow you to select some pre-built configurations; I’ve always used the “Sherline 3-axis mill” option to start with.

                                              JohnS.

                                              #716548
                                              Nealeb
                                              Participant
                                                @nealeb

                                                I would like to ask a question, if I may, as there is something here I don’t quite understand. I’m not a complete CNC numpty – in fact my first CNC router used LinuxCNC – and I have used Linux a bit, although never as my main operating system. Since that first machine, I have used external motion controllers with various bits of software including Mach3, mainly on Windows but once on Linux. My understanding is that the motion controller offloads time-critical stuff like pulse generation. Useful for higher speeds with steppers and almost essential for high-resolution servos/encoders. Mach3, UCCNC, PlanetCNC, MyCNC, all do that.

                                                I looked at LinuxCNC and Mesa card for my latest project, rebuilding the electronics in a Denford CNC lathe. Two things put me off. One was that every time I looked at the Mesa web site, what seemed to be the most relevant card (might have been 7i76e but not sure now) was listed as unavailable. The other was that as far as I could see, LinuxCNC never offloaded pulse generation to an external motion controller. In fact, the more I looked, the more the Mesa card looked like a very sophisticated Ethernet breakout board. This is a very crude description, but in essence I mean that it does not have the kind of processing that my other motion controllers have, and as I understand it, the LinuxCNC architecture is not amenable to using that style of motion controller at all.

                                                So, am I right in thinking that LinuxCNC with its real-time kernel is capable of generating very high pulse rates but is limited by the parallel port, and the Mesa card via the Ethernet interface allows this high pulse rate to be demultiplexed from the Ethernet data to pass to the servo drivers? Conventional PC hardware running LinuxCNC is capable of doing all the trajectory planning and pulse generation required, and just needs a way of getting the pulse streams out? And Windows-based systems cannot because Windows is a long, long way from being real-time?

                                                If this seems a trivial question to those in the know, I can only say that in common with another post above, I find the available information goes from hand-waving top-level description to bits and bytes depth without drawing breath! Although my main reservations for going LinuxCNC were as above, I was somewhat discouraged by the fact that I would have to reverse-engineer an understanding of things like getting a spindle encoder connected and working from HAL examples where with my chosen software I just had to click a couple of boxes! Happy to agree that simple things are easy with LinuxCNC and that it is capable of doing some very clever things  – but once you go past the three-axis-and-steppers level, there is a steep learning curve!

                                                #716552
                                                sam sokolik
                                                Participant
                                                  @samsokolik60334
                                                  On Nealeb Said:

                                                  I would like to ask a question, if I may, as there is something here I don’t quite understand. I’m not a complete CNC numpty – in fact my first CNC router used LinuxCNC – and I have used Linux a bit, although never as my main operating system. Since that first machine, I have used external motion controllers with various bits of software including Mach3, mainly on Windows but once on Linux. My understanding is that the motion controller offloads time-critical stuff like pulse generation. Useful for higher speeds with steppers and almost essential for high-resolution servos/encoders. Mach3, UCCNC, PlanetCNC, MyCNC, all do that.

                                                  I looked at LinuxCNC and Mesa card for my latest project, rebuilding the electronics in a Denford CNC lathe. Two things put me off. One was that every time I looked at the Mesa web site, what seemed to be the most relevant card (might have been 7i76e but not sure now) was listed as unavailable. The other was that as far as I could see, LinuxCNC never offloaded pulse generation to an external motion controller. In fact, the more I looked, the more the Mesa card looked like a very sophisticated Ethernet breakout board. This is a very crude description, but in essence I mean that it does not have the kind of processing that my other motion controllers have, and as I understand it, the LinuxCNC architecture is not amenable to using that style of motion controller at all.

                                                  So, am I right in thinking that LinuxCNC with its real-time kernel is capable of generating very high pulse rates but is limited by the parallel port, and the Mesa card via the Ethernet interface allows this high pulse rate to be demultiplexed from the Ethernet data to pass to the servo drivers? Conventional PC hardware running LinuxCNC is capable of doing all the trajectory planning and pulse generation required, and just needs a way of getting the pulse streams out? And Windows-based systems cannot because Windows is a long, long way from being real-time?

                                                  If this seems a trivial question to those in the know, I can only say that in common with another post above, I find the available information goes from hand-waving top-level description to bits and bytes depth without drawing breath! Although my main reservations for going LinuxCNC were as above, I was somewhat discouraged by the fact that I would have to reverse-engineer an understanding of things like getting a spindle encoder connected and working from HAL examples where with my chosen software I just had to click a couple of boxes! Happy to agree that simple things are easy with LinuxCNC and that it is capable of doing some very clever things  – but once you go past the three-axis-and-steppers level, there is a steep learning curve!

                                                  I think you have most of it..   Yes – linuxcnc needs a realtime kernel.  The printer port is just an interface as is mesa.  (whenever I am talking about linuxcnc hardware – I usually say – ‘external interface hardware’ instead of ‘external motion controller’.   Linuxcnc is the motion controller (in the computer)  Linuxcnc uses the pc for what it does well – calculating trajectory’s and such.

                                                  The printer port when used with linuxcnc is just raw i/o.  Within linuxcnc hal (hardware abstraction layer) you have software modules like pwmgen, encoder, step generators..  These require a high speed realtime thread that can do the step pulses, read encoder inputs and such.   So – you are limited by how fast the realtime thread can run (linuxcnc terms – the ‘base thread’)  Depending on the computer – this can be anywhere between 30 and 50khz..  (this is the limit of what you can do with raw i/o)

                                                  Now – external interface hardware like mesa or such moves the high speed stuff (like pwm generation, encoder counting, step generation) to the hardware.  So linuxcnc only needs a 1 to 5khz thread to do the trajectory planning and such..   So – every ms – linuxcnc sends a packet setting pwm amounts/stepgen data/ i/o and reads back encoder positions, stepgen velocity and so on (depending on what you are doing)

                                                  The external motion devices are buffered..  You send it info and the motion device figures out the timings..  This has issues with delays and such (remember the feed hold issue with mach?)

                                                  The big advantage with the motion controller being in the computer is that any feature added to linuxcnc works with any interface device.  You can rigid tap with the printer port if you want.    With an external motion device – you better make sure it does everything you want it to before buying it – or hope that it is added later..  (like rigid tapping, gear hobbing and such)

                                                  The other thing is – Linuxcnc scales.   You want to run a simple table top router with steppers?  No problem.   Want to run a 5 axis horizontal machining center with pallets and tool changer?  You can do that too.    Linuxcnc has a built in plc which works very well (I used it on the K&T and others)  Ethercat?  Yes!

                                                  As far as availability – Yes – mesa has been hit with supply issues like everyone else.  I think it has gotten better..

                                                  might try https://mesaus.com/

                                                  If I missed anything – please ask away – I will answer the best I can.

                                                  #716558
                                                  sam sokolik
                                                  Participant
                                                    @samsokolik60334

                                                    Also – There are configuration programs with linuxcnc.  (I have not used them as I just edit the hal/ini files. – which once you get a handle on – is way more flexible/powerful)

                                                     

                                                    This is for stepper machines on the printer port…

                                                    https://linuxcnc.org/docs/stable/html/config/stepconf.html

                                                    This is for mesa hardware..

                                                    https://linuxcnc.org/docs/stable/html/config/pncconf.html

                                                    There is also a guy making a better masa configuration utility..

                                                    https://gnipsel.com/linuxcnc/mesact/index.html

                                                    https://github.com/jethornton/mesact

                                                     

                                                    The thing is – Linuxcnc is like lego.  You can build almost any machine with it almost any way.  So making a ‘configuration utility’ that does it all is almost impossible.  So the above give you a frame work to build a machine.  Now anything outside of that – you will have to edit HAL and INI files.

                                                    sam

                                                     

                                                    #716564
                                                    Nealeb
                                                    Participant
                                                      @nealeb

                                                      Sam – many thanks for your comments. While it may be as configurable as Lego, I get the feeling that each brick has been documented to a different level by a different person! To be more serious, it does take a bit of work to get beyond the easy stuff. I used stepconf to set up my machine and it was as easy as the equivalent in Mach3 but to go further needs a bit more understanding of at least some of the internal structures and conventions.

                                                      I must admit, though, that it was only when writing my post that I started to understand what was going on. However, when I look at the number of problems some users have with simple concepts like “steps per…” it’s not surprising that LinuxCNC has a reputation for being a technical challenge!

                                                      Thinking back to your video – my own lathe is based on an Emco 8 but with ballscrews fitted. I’m using the original steppers, something like 1970 or 1980 vintage. Wonder how fast it would go with modern servos! But what’s there is fine for cutting speeds, so it’s only rapid feeds that would be affected. Be interesting to try a tool-changer, though…

                                                       

                                                    Viewing 25 posts - 26 through 50 (of 52 total)
                                                    • Please log in to reply to this topic. Registering is free and easy using the links on the menu at the top of this page.

                                                    Advert

                                                    Latest Replies

                                                    Viewing 25 topics - 1 through 25 (of 25 total)
                                                    Viewing 25 topics - 1 through 25 (of 25 total)

                                                    View full reply list.

                                                    Advert