Hi Ron,
I was contemplating your reply and this whole RTOS for Machine Control while I 
was assembling this small module.
http://www.autoartisans.com/mill/PWMSpindle-1.jpg
It's a carrier and I/O interface for a PWM to 10V board from China.  It also 
translates that same PWM signal as step/dir into RS422 to drive the 1.8kW 
Bergerda AC Servo I purchased to turn my spindle from 0 to 3000 RPM.

The reason for this is to be able to still swap back and forth between MACH3 
and LinuxCNC using the parallel port for I/O.  Part of my research into all 
this.  The Windows Parallel Port interface (or Smooth Stepper) and MACH3 with a 
simple check box can make the STEP pin a PWM pin for spindle speed.   The HAL 
file also lets me do that with the parallel port although I've not tried the 
STEP option on that pin yet.

The MESA 7i92H cannot do this.  It can be programmed with a different FPGA file 
to have a STEP Generator on that pin instead of the PWM but it requires 
reprogramming the 7i92H and of course a restart of LinuxCNC.  Not as easy as a 
checkbox. 

Anyway, while I was assembling this board, the expression "If all you have is a 
hammer, everything looks like a nail" popped into my head.   I'm sure there are 
tens of thousands of mills out there that are manual with no power feed.  
Others with a single or dual power feed.   Then there's DRO's/

An article I read today in the #288 Model Engineer's Workshop magazine 
discussed adding a spindle RPM readout and another on switching the DRO head 
between a mill and a lathe. 

The very first thing I did with my mill 13 years ago was add a Shumatech DRO 
kit and some inexpensive scales.  I've never looked back.  Nor looked at the 
hand wheel scales.    A few years later I added a stepper motor to the knee to 
give it power feed.  I used a surplus ELS I had lying around to move it up and 
down.  And since it was calibrated to the knee I could set zero and even move 
to predefined positions.  All still manually though.  Plus the mill had a power 
feed on the X axis.

I've seen other articles on adding power feed to mills using anything from 
electric drills to quite sophisticated operations.  Those mill owners aren't 
running LinuxCNC or MACH.  So if all you have is LinuxCNC the idea that there 
might be other types of fasteners and not just nails can appear to dominate 
one's thinking without even realizing it.

Now that I'm adding CNC to the mill I've noticed something about the way I work 
on it and at times I miss that 'manual' operation.  After all with a DRO 
cutting a bolt circle is a no brainer.  But cutting an arc without a rotary 
table (my previous approach) is virtually impossible.  So I'm wondering if 
maybe we are all overthinking this.

A standalone box that drives 3 to 5 axis, detects/controls spindle RPM and 
other I/O like a power draw bar, even tool changer carousel.  Buttons like the 
one on the Axis screen or the MACH flyout tab that let you step/jog increments 
and an MPG input for that sort of interface.  Like the AXIS and MACH screens,  
a DRO showing positions so we need at least 4 lines and 20 characters or maybe 
a midsize LCD display.  Perhaps touch screen and like the DRO the ability to do 
a predefined series of assists like hole circles perhaps even arcs.

At this point about the only thing missing is G-Code interpretation.  Or am I 
missing something?  

So this box, has one or two DB-25 output connectors that match a PC along with 
a couple of RS232/RS485 ports.    Connected to that is the standard, custom for 
the machine, BoB drive hardware.  On the other end of the box an Ethernet port 
for connection to something...  And perhaps a USB port for installing updated 
firmware.  What you now have is a standalone DRO c/w power feed on all axis 
that is up and running within a second of power being applied with time 
sensitive stuff running under RTOS control.  

I believe that this is the concept that was initially introduced with this 
subject line.  And the PC, if even connected and powered up services as the 
visual user interface with graphical display of tool path etc.  Not only that, 
remove this box and connect the DB-25 cables to the back of a PC or MESA 7i92H 
and you have that PC based CNC system without the hardware by just selecting a 
different HAL INI file set.

So why have the box at all if you're prepared to also power up a PC that runs 
LinuxCNC?  One might ask the question the other way.  Why aren't all the manual 
mills in the world running LinuxCNC with a PC and monitor on a stand right by 
the mill?  Maybe because some one-of  tasks are just easier with a manual mill 
and many mills in the world are used for one-of tasks.  So perhaps a box with 
an RTOS and limited automation fills a void.

Just throwing ideas up in the air.
John Dammeyer




> -----Original Message-----
> From: R C [mailto:cjv...@gmail.com]
> Sent: January-24-20 12:55 PM
> To: linuxcnc-users-list
> Subject: Re: [Emc-users] Real-time OS for machine controllers
> 
> How are you going to do ethernet, wifi or "what ever communication"�
> that is reliable (which means the process has to be able to take
> priority), without using PCI or anything like it on PC style hardware,
> or even non-PC computing hardware?
> 
> If you'd use anything affordable (which means Intel/ARM/'other' based
> stuff, you are just moving the problem around, because
> 
> at some point in the process you need a very well timed/orchestrated
> mechanism to make steppermotors (or even servos) do what you want them
> to do.
> 
> Whatever the approach, at some point somewhere you need some
> hardware
> function that does that, even if you'd have a specific controller, FPGA,
> whatever, then
> 
> that piece has to take that function over, the problem didn't go away.
> 
> 
> Can you make that "hardware function" more reliable or less intrusive?�
> Of course, that is why there are these special controllers, but that
> also costs more money for the
> 
> hardware/software. (It is possible to do that with networking too, by
> replacing ethernet with IB (InfiniBand) or so, however again...� that is
> expensive and does not
> 
> make the hardware dependency go away, you just relocate it).
> 
> 
> Maybe a "good way forward" for those that are looking for that "forward"
> for LinuxCNC is, besides using PCI/Parallel port hardware, also support
> other hardware, where you can just select a device/protocol to do your
> stepping with. (if that doesn't already exist).
> 
> 
> just another 2cnts,
> 
> 
> Ron
> 
> 
> On 1/24/20 12:15 PM, John Dammeyer wrote:
> > Hi Jon,
> >> -----Original Message-----
> >> From: Jon Elson [mailto:el...@pico-systems.com]
> >>
> >> On 01/23/2020 11:45 PM, John Dammeyer wrote:
> >>> I really don't know what is going on under the covers for
> >>> either the MESA Ethernet 7i92H or the Ethernet Smooth
> >>> Stepper for MACH. But considering the power of the
> >>> processors running machines back in the 90's or early
> >>> 2000's and that the mechanics for the metal cutting
> >>> haven't changed much, my guess is that some 32 bit
> >>> processor _not_ running Linux so that the
> >>> graphics/USB/etc. doesn't cripple the real time behaviour
> >>> will be the solution.
> >> You keep going around and around saying that LinuxCNC
> >> doesn't work. Thousands of people are using it daily, and
> >> know it DOES work!  If you want to do software stepping, how
> >> about Machinekit on the Beagle Bone, using the PRU
> >> to do the step generation?  This works amazingly well, and
> >> costs about $145 plus keyboard, mouse and LCD screen.
> >> Or, you can network into the Beagle and use some other
> >> machine for the man-machine interface.
> >>
> >> Jon
> > I'm _not_ saying LinuxCNC doesn't work.
> > The opposite in fact and I've run the BBB with the Xylotex cape so I can
> attest that it does especially with the dual PRU I/O processors.  Even posted 
> a
> youtube video on that.
> >
> > Where the beagle falls down on the Linux side of things, say compared to a
> Pi or a PC, is the video processing just isn't as good.  And it shows even 
> when
> just running normal Linux compared to normal Linux on a Pi.
> >
> > Where my LinuxCNC box falls apart is with the parallel port for stepping
> with very high latency issues and that one time warning when LinuxCNC
> starts up that I've basically got my motion parameters set too high for the
> system.
> >
> > The solution is of course the MESA 7 I92H which solves that problem.
> >
> > Or when I run MACH3 on WIN-XP with the parallel port with a 65KHz clock
> rate.   Then that exact same PC doesn't have any high speed step rate issues.
> >
> > Now like the BBB I/O, the PC parallel port is directly coupled to the
> processor motherboard and therefore the processor.  That LinuxCNC cannot
> run the same step rates as the WIN-XP system on identical hardware (dual
> boot PC remember) shows that there is some sort of issue with PC hardware
> that LinuxCNC is not able to solve.  Might well be video drivers.  USB 
> drivers.
> Network Drivers.  Might be how it handles the BIOS parameters.
> >
> > Offload that I/O to a USB/Ethernet smooth stepper for MACH or the MESA
> 7i92H for LinuxCNC and the latency problems (there are others in Windows)
> go away.
> >
> > And that, I think, is the point that everyone is making.  It's not like the 
> > PC
> parallel port is used with SPI or I2C on each output pin to expand I/O.  Some
> of the LinuxCNC solutions involve plugging a board into the PCI bus and using
> either co-processors or FPGA (which could have a co-processor built into
> them) to handle the heavy lifting.  The others involve using Ethernet and
> processing outside the box again.
> >
> > I agree there are probably thousands if not tens of thousands of LinuxCNC
> systems out there running from the parallel port.  And odds are they are
> running micro-steppers that, if they are lucky, require at most 15kHz to 18kHz
> step rates before the stepper motor torque falls off so badly that they lock
> up.  So the Parallel port version of LinuxCNC has no issues on those systems.
> >
> > But the latency warning for 50khz step rates for the DC Servos under
> LinuxCNC that doesn't happen on WIN-XP and MACH3 suggests that I've
> reached the upper limit of the LinuxCNC OS and the parallel port with this
> particular configuration.
> >
> > But as I've been saying, the moment you add some sort of external FPGA
> or processor based external card that offloads the heavy processing for high
> speed encoder/step/SSERIAL etc. then it's not just LinuxCNC anymore but a
> PC  dependent on outside hardware.   And that's what the subject line and
> discussion was about I thought.  If the motion control was offloaded to a
> separate processor then just about any PC remote or right there can load G-
> Code, display tool paths and control the machine.
> >
> > Without a PCI plug in card.  So we really are talking about Ethernet Based
> control; perhaps even WiFi.  Now we're back to the question as to why
> should it be LinuxCNC when it could be a dedicated processing I/O module
> with Ethernet connectivity running an RTOS with pre-emptive scheduling.  A
> small BoB sized board with a single cable (antenna or Ethernet) out to the
> outside world.  And with a clearly documented interface the software that
> connects to this no longer has to run on a particular PC running a particular
> OS.
> >
> > I hope that clears it up.
> > John Dammeyer
> >
> >
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > Emc-users mailing list
> > Emc-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/emc-users
> 
> 
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users



_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to