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