G'day,
I have been working on this in the background and have made a few false starts at getting it running.
Unfortunately life and figuring out how to make a living keeps getting in the way, not to mention about 1000000 other half baked ideas running around the grey matter
So the basic idea is to have 2 controllers, one a CNC controller on the machine, and one as a G-Code transmitter / HMI:
Use a standard PICO2 at the CNC machine end as a stand alone controller running the STEPPER SYSTEM under MMBasic, this:
Accepts G-Code and Outputs STEP/DIR/EN to the Stepper Drivers.
Monitors the Homing / Limit / Stop switches and transmits status and position.
The G-Code transmitter end can be pretty much anything, but a PICOMITE HDMIUSB or a PC make the most sense:
Runs a simple MMBasic / Python program to parse and send G-Code to the CNC controller.
Accepts return strings / position information / status from the CNC controller.
If we use a standard PICO2 at the CNC end we have the option of using the USB-CDC to communicate with the G-Code transmitter or using a USB-TTL232 converter, this gives us as an example:
GP00-GP01 USB-TTL
GP02-GP03 I2C RTC + OLED status display? + Extra I/O via expanders
GP04-GP06 X Axis EN/STP/DIR
GP07-GP09 Y Axis EN/STP/DIR
GP10-GP12 Z Axis EN/STP/DIR
GP13-GP15 A Axis EN/STP/DIR
GP16-GP21 X-X,Y-Y,Z-Z Limits
GP22 E-Stop
GP26-GP28 AUX Analog / Encoder / Limits / Spindle
OR:
GP00-GP01 USB-TTL
GP02-GP03 I2C RTC + OLED status display? + Extra I/O via expanders
GP04 SPINDLE
GP05 ENABLE
GP06-GP07 X Axis STP/DIR
GP08-GP09 Y Axis STP/DIR
GP10-GP11 Z Axis STP/DIR
GP12-GP13 A Axis STP/DIR
GP14-GP15 Spare
GP16 E-Stop
GP17-GP19 X,Y,Z Limits
GP20-GP28 AUX Analog / Encoder / Limits
For more I/O use an RP2350B instead, although 22 I/O from the PICO2 should be enough for most systems.
The advantage of using the USB-TTL converter is we can opto-isolate the USB system and thus protect the G-Code transmitter from any spikes etc, this is my current plan after seeing several PC motherboards and LPT cards damaged by spikes on what where supposed to be isolated systems, I think it is much better to destroy an $11AUD PICO2 than anything more expensive.
Also means we only need one PICO COMPUTER3 / PC / Monitor for all the different machines.
This is still a work in motion so any ideas welcome.
Regards, Lyle.