Introduction: ArtSoft / Mach3 forum drove me here

More
21 Jan 2021 13:32 - 21 Jan 2021 13:41 #196087 by Etaoin
Hi all,

A few years ago I had made my mind up to buy some kind of CNC machine for my workshop, and thought very long and hard on what would deliver the biggest bang for my rather limited buck. I looked at laser cutters, 3D printers, "mini mills" and CNC routers, and eventually decided on an OmioCNC X4-800L (the model with linear guides). My thinking was that a sturdy set of XYZ axes with decent precision might allow me to add on both a laser and an extruder should I want to - or indeed to mill out the parts for a dedicated 3D printer or laser cutter. None of the other machines apart from the "mini mill" could be used to build other machines with, and the "mini mill" felt too limited in envelope. Specifically, I knew wanted to be able to make front-panels, switch/fuse boards, signs and PCBs but the throat on the "mini mill" was too shallow for this. So although the X4-800L was just outside my £2k budget I scraped together the extra cash and ordered the machine. This arrived after the usual customs delays etc, and having read many horror stories I was pleasantly surprised to find that my machine was damn near flawless; very smooth on all axes, with no obvious manufacturing or assembly issues. But just as I was beginning to explore the wonders of CNC routing my life was turned upside down; I lost my home and my job, and ended up taking on the restoration and conversion of a 100-year old barge into a place to live - which, perhaps predictably, turned into a bit of a marathon project.

Four years on and I've finally come to the point where I can start moving in, and of course one of the first items to come out of storage was my X4-800L router - in fact I had planned a dedicated space for it from the beginning. This is now the only boat I know of with a CNC machine on board :) Needless to say, I'm careful to keep rails and screws well greased; I'd rather deal with cleaning off chips than rust, and these routers are certainly not built for a marine environment... The machine is now fully assembled, hooked up to power and coolant, and I've run a few test programs to make sure it all still works as it should. My next plan was to fit a dedicated computer with a 10" XGA touch screen, running Mach3 since that's what came with the machine, but I was rather underwhelmed by the designs of the available screen sets - particularly the lack of a clean touch-friendly XGA screen set - so I set about designing my own. After two days of pushing pixels in InkScape I felt like I had something I'd be happy to show, and posted a couple of renders in the machsupport forum to ask for feedback. And that's when the whole can of worms spilled out into my lap.

Waking up today I thought I'd check if I had any responses (doubting very much that there would be any reaction of any kind), only to find that my account had been permanently banned. I couldn't believe it, what had I done wrong!? I looked at a cached copy of my post (which had been deleted) and could see nothing which might upset anyone. Then I looked at the ban notification again - there was a comment, two words: "Physics Anonymous". Hmm. I had mentioned in my post that two of the screen sets I had taken some inspiration from were "SwissU" and "Physics Anonymous" - could it be some bizarre copyright complaint? But my screenset really looks nothing like either of them; "inspiration" really was just that, not a "copy paste" job. I started trawling the web for an explanation, and eventually think I figured it out: you are not allowed to even mention "Physics Anonymous" on the machsupport forum, because he has posted a negative review of Mach4 on YouTube. This ridiculous behaviour, and the comments on that video, made me completely re-evaluate my CNC software plans. In fact, I felt stupid having even considered using Mach3, when there is a high quality open source Linux based alternative available - an environment I feel much more at home in than the closed world of Windows. I had already repeatedly cursed Microsoft while installing Windows 7 on the CNC control computer; it's been more than a decade since I last had to do this and my god what a pain in the *** it is to get Windows running smoothly - it took me the best part of a day to get it sorted. Even creating the bootable USB media to install from was a major hassle compared to the simple "dd" I am used to.

And that's how I ended up here, and why I'm going to give LinuxCNC a go. BUT. I don't think it is compatible with the USB motion controller card in the OmioCNC boxes? If that's the case, what would be the go-to alternative hardware that you would recommend? I'm also wondering if the time I spent working on that Mach3 screen set is now completely wasted, or if some of it can be used as the basis for a LinuxCNC GUI... See below for pics!

Cheers!

Etaoin

Edit: I should perhaps point out that the installation is very much work-in-progress; for example I have no intention of keeping the control box on its side inside the enclosure - and the spoil board is missing. This is just so I can test the machine a little before I extend the cables.
Attachments:
Last edit: 21 Jan 2021 13:41 by Etaoin. Reason: Photo clarification

Please Log in or Create an account to join the conversation.

More
21 Jan 2021 14:06 #196089 by tommylight
Oh good, another person who is convinced (from experience) that installing Linux is MUCH easier than installing Windoze !
Welcome to the club, there are not many of us.
Back on topic:
Most probably you can get rid of the UBS controller and wire the drives directly to a parallel port on the PC, without a BOB, just a bit of care during wiring. FYI, i have plenty of big machines using parallel port, it works perfectly.
A picture of the controller guts would help in deciding a route to follow.
The following user(s) said Thank You: Etaoin

Please Log in or Create an account to join the conversation.

More
21 Jan 2021 14:27 #196093 by Etaoin
I think I would prefer some kind of motion controller, perhaps an Ethernet one? Small beer compared to the overall cost of the machine... See pics of guts below.
Attachments:

Please Log in or Create an account to join the conversation.

More
21 Jan 2021 16:53 #196103 by tommylight
Mesa 7i92 or 7i96 or 7i76E, in that order, but in your case i would skip the first two and get the 7i76E as it has everything and more of what you need, just in case you want to add another axis or two.
The following user(s) said Thank You: Etaoin

Please Log in or Create an account to join the conversation.

More
21 Jan 2021 17:39 #196121 by Todd Zuercher
I'd probably just replace the usb board with a basic cheapo parallel port breakout board.
www.ebay.com/itm/5-Axis-CNC-Breakout-Boa...-Driver/164316377002
Looks like the stepper drives would plug using the same connectors, but you'd have to wire the VFD and limit switches.

If you don't want to use a parallel port then I'd suggest one of the above Mesa cards. (Some of which could still plug into and use the above parallel port bob.)
The following user(s) said Thank You: Etaoin

Please Log in or Create an account to join the conversation.

More
22 Jan 2021 23:40 #196295 by andypugh
I don't really understand the urge to design custom user interfaces, but if that is what floats your boat... :-)

I would normally have recommended that you try coding your screen as a Gscreen skin:
linuxcnc.org/docs/2.8/html/gui/gscreen.html
However a version of Glade that is compatible with GladeVCP is rather harder to obtain than one might wish.
forum.linuxcnc.org/48-gladevcp/33309-gla...3-8-6?start=10#99607

Another option, likely to have better long-term support is QtVCP
linuxcnc.org/docs/2.8/html/gui/qtvcp_development.html
But I don't think that is quite so easy to get to a usable state.

Please Log in or Create an account to join the conversation.

More
25 Jan 2021 16:31 - 25 Jan 2021 16:32 #196535 by Etaoin

I don't really understand the urge to design custom user interfaces, but if that is what floats your boat... :-)


Not only does my boat float - I'm pushing it right out to sea ;)

See attached ZIP for a quick & dirty mock-up of a GTK3 CNC GUI for XGA and WXGA touch screens. Unzip and run with "python3 main.py" from within the folder you unpacked it in (all asset paths are relative). Caveats:

  • I used my Mach3 mock-up as the basis for this, so controls may not be relevant for LinuxCNC
  • This really is just a mock-up: you can click buttons and toggles and they change state, but there's little else going on
  • I would expect to run this full screen, but for convenience it is currently windowed

I would be interested to hear if this does not render as per the sample.png, and welcome any other feedback & thoughts!
Attachments:
Last edit: 25 Jan 2021 16:32 by Etaoin.

Please Log in or Create an account to join the conversation.

More
25 Jan 2021 16:44 #196536 by robertspark
nice, liked the PNG,

what about HD? (1920x1080). I have a nice 23" capacitive touchscreen arriving to replace my (poor) optical touchscreen

I am trying to get my head around creating clean and simple if button screensets.
The following user(s) said Thank You: Etaoin

Please Log in or Create an account to join the conversation.

More
25 Jan 2021 18:28 #196546 by andypugh

However a version of Glade that is compatible with GladeVCP is rather harder to obtain than one might wish.


This is fixed. sudo apt-get install glade-gtk2 should install glade 3.8.6 from the LinuxCNC repository.
You would also need the linuxcnc-uspace-dev package to have access to the GladeVCP LinuxCNC GUI widgets inside the Glade editor.
The following user(s) said Thank You: Etaoin

Please Log in or Create an account to join the conversation.

More
25 Jan 2021 20:03 - 25 Jan 2021 20:08 #196549 by Etaoin
> glade 3.8.6

I used Glade 3.22.1, which was what the Devuan repo shipped. Not that it matters; the goal was not to make a fully fledged UI for LinuxCNC, but to explore the GTK widgets and how they can be used for a touch screen friendly CNC user interface. Proof of concept, if you like.

I forgot to mention that I'm bundling a font, an Airbus developed cockpit instrumentation font called B612 , which I'm really quite fond of. To get the right look of my demo you should install this first (included in the ZIP, regular & monospaced).

Another thing I forgot to mention: since the goal is a touch screen friendly UI, feedback sounds are essential - with no haptics or key-travel, and with the widgets being covered by your finger, audio is the only way to inform the user that an action has been triggered. I wanted to use GTK's libcanberra for this, but unfortunately that API is not in a state that is usable in this application. Instead I went with PyGame which has a small and responsive audio back-end for Python (pygame.mixer) - so you may need to "pip3 install pygame" before running the demo.
Last edit: 25 Jan 2021 20:08 by Etaoin.

Please Log in or Create an account to join the conversation.

Time to create page: 0.096 seconds
Powered by Kunena Forum