Is Mach 3/4 open source?

On Sat, Jan 25, 2020, 4:56 PM John Dammeyer <jo...@autoartisans.com> wrote:

> Let's see if I can sum up this discussion and then I'll be quiet about it.
> 1.  LinuxCNC runs on PC type hardware generally distributed with WIN-10
> and is open source and free for download.
>     a) However there are also PC compatible boxes designed for embedded
> systems but still initially designed for WIN-10 that also work.
>     b) The Beagle Bone Black hardware is open source which is why the
> LinuxCNC port of MachineKit can run on this platform.
> 2. LinuxCNC does the user interface, display of tool path, loading of
> G-Code and trajectory planning.
> 3. LinuxCNC can issue simple step/dir motion at limited speeds on a
> Parallel port if it's included on the CPU motherboard.
>     a) not all PC add on parallel port cards have drivers that make the
> card work with LinuxCNC even though they will work with WIN-7 and up.
>     b) not all PC add on Video cards (or motherboard video) work well with
> LinuxCNC resulting in a latency warning if step rates are too high.
> 4. LinuxCNC stops being an true open source solution the moment an
> aftermarket hardware step/servo interface board is required.
>     a) external boards all use different hardware/communication formats so
> there is no pluggable replacement for one compared to another.
>     b) if an existing unit fails and the supplier has vanished a different
> incompatible unit is normally required with extensive wiring changes.
>
> The above points suggest that for LinuxCNC to remain an true open source
> solution,  a redesign is required which describes an interface and
> communications format via Ethernet and a target module.  The target module
> would undoubtedly have a 32 bit processor running an RTOS and perhaps even
> an FPGA.  Or maybe a big FPGA with a processor core defined inside it.
>
> But this module would have motor signalling and I/O on the output side
> with a clearly defined TCP/IP protocol on the input side.  Ideally a unit
> without an FPGA but with a 32 bit processor with full source code and
> schematics would be the minimum solution.  Essentially six axis where we
> have X,Y,Z and A,B plus Spindle.  Enough I/O for limit switch,  tool
> changer control and even an array of buttons and a simple display.  Also at
> a minimum one serial port with RS232/485 (jumperable for driver type) with
> MODbus support and one CAN port with CANopen support.  Such a unit could
> run the machine in a standalone local fashion without connection to a PC
> with simple motion actions.
>
> And once again this unit should be fully open source with both schematics
> and software.  Needless to say the LinuxCNC software driver would also be
> open source.
>
> Oh and the CANopen side of things would allow it to either be the CANopen
> master running CANopen motors or as a CANopen slave controlled by a CANopen
> master for synchronizing motion over a larger number of systems.
>
> At its simplest though, it would look like a MESA 7i92H looking like two
> PC Parallel ports but not require writing and programming the FPGA to do
> something as simple as switch between a PWM on parallel port pin 14 and a
> stepgen on pin 14.
>
> For example:
> net spindle-pwm     => remoteport.0.pin-14-out
> net spindle-pwm <= pwmgen.0.pwm
> or
> net spindle-step      => remoteport.0.pin-14-out
> net spindle-step  <= stepgen.5.step
>
> At the moment with the MESA 7i92H we need:
> net spindle-cw              =>  hm2_7i92.0.gpio.005.out
> which is pin 14 on the P2 parallel port connection.
>
> Stepgen.5.step is on the P1 connector and can't be put on the P2 for a
> simple single Parallel Port implementation.  Not without going through the
> steps to reprogram the FPGA file and there is no off the shelf ready to go
> file that will do that.  So one has to learn about FPGAs and how to program
> them to set up one output to be step instead of PWM.  (the direction
> probably also has to be defined for the stepgen)
>
> On MACH3 it's done with a checkbox regardless of whether the output is the
> parallel port on the PC motherboard or the Ethernet Smooth Stepper.   It
> should really be that simple for LinuxCNC.
>
> IMHO
> 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

Reply via email to