Zenbot/Gecko/LinuxCNC?

More
25 Mar 2018 22:56 #107859 by jandyman
Hi,

I've got a Zenbot 2448 Router that I'm currently using with Mach3, an Ethernet SmoothStepper, and a Gecko motor driver. I'm considering switching over to either LinuxCNC or UCCNC, but would prefer a linux solution because I don't see any reason to use Windows for a dedicated application like this if I don't have to. Ideally I'd use something like a BeagleBone and package it and the ethernet controller and the motor driver together, attaching and external mouse/keyboard/monitor and MPG.

The setup should be pretty conventional except for one thing. This router uses two motors powering two belts for X drive, and the motors spin in opposite directions because of how they are mounted. This caused some difficulties when I first got everything up and running with Mach3/ESS.

So the basic questions here are:

Is this feasible?

What recommendations on motion controller? I'm assuming I'll have to turf the Ethernet SmoothStepper since it seems to be Mach3 only from their website.

Any other recommendations? I've never used LinuxCNC, only Mach3

Thanks for any help!

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

More
25 Mar 2018 23:55 #107864 by andypugh
Replied by andypugh on topic Zenbot/Gecko/LinuxCNC?
The closest LinuxCNC device to the ethernet smoothstepper is probably the 7i92
store.mesanet.com/index.php?route=produc...ry&path=83_85&page=2
(There are three versions there, I am not sure what the differences are).

LinuxCNC is relatively easy to configure for mirrored motors. You just set the scale of one of the step generators negative (or you can switch the motor directions in hardware, which would also have worked for the Smoothstepper, just swap the A and B phases or maybe simply reverse one of them. (It's been a while since I used steppers)

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

More
26 Mar 2018 00:18 - 26 Mar 2018 00:19 #107867 by jandyman
Replied by jandyman on topic Zenbot/Gecko/LinuxCNC?
How about the 7i96? Maybe I'm misunderstanding, but it seems that it does more of the low level stepper control work, offloading the CPU?

Thanks for the comment on the mirrored motors - that was my major worry other than just learning curve and so forth.
Last edit: 26 Mar 2018 00:19 by jandyman.

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

More
26 Mar 2018 00:33 #107869 by andypugh
Replied by andypugh on topic Zenbot/Gecko/LinuxCNC?
All the Mesa boards offload step generation, PWM generation, encoder counting, etc onto the onboard FPGA. The 7i92 does this just as much as the 7i96.
None of them (in a LinuxCNC application) do any G-code or motion-planning work. They just output steps at a fixed rate, or count encoder pulses and report them back every servo-thread. (ie they are still 100% reliant on real-time communication with the LinuxCNC host)

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

More
26 Mar 2018 16:27 #107906 by jandyman
Replied by jandyman on topic Zenbot/Gecko/LinuxCNC?
OK, got it. It wasn't clear from the summary page, it looked like a generic I/O board. That looks perfect.

So is using something like the 7i92 for stepper motor control a pretty standard thing to do with LinuxCNC? I read the documentation page for the hardware model for LinuxCNC and it looked like LinuxCNC really wants to talk to the HW at a low level. It made me nervous. I understand the justifications given, but I really don't want to go down a path of using PCI cards and desktop PCs. Part of the appeal of a Linux based solution is the idea of using a diskless linux board and packaging it together with the 7i92 and the Gecko in one location.

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

More
26 Mar 2018 20:18 #107916 by andypugh
Replied by andypugh on topic Zenbot/Gecko/LinuxCNC?

So is using something like the 7i92 for stepper motor control a pretty standard thing to do with LinuxCNC?

Yes. It is equivalent to moving the base-thread into the FPGA. The Mesa and Pico cards both do this, and I rather suspect that General Mecahtronics and Motenc do too. In effect it is like analogue voltage control to a servo, you send a command (speed) to the servo drive and the servo drive controls the speed internally. In the case of an external step generator what it does is output steps at the commanded rate (it will also enforce velocity and acceleration limits and report back the number of actual steps made).

I read the documentation page for the hardware model for LinuxCNC and it looked like LinuxCNC really wants to talk to the HW at a low level. It made me nervous. I understand the justifications given, but I really don't want to go down a path of using PCI cards and desktop PCs. Part of the appeal of a Linux based solution is the idea of using a diskless linux board and packaging it together with the 7i92 and the Gecko in one location.


What board did you have in mind? And where were you planning to run the GUI?

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

More
26 Mar 2018 23:33 - 26 Mar 2018 23:34 #107932 by jandyman
Replied by jandyman on topic Zenbot/Gecko/LinuxCNC?
The first board I would try is a BeagleBone Black I've got laying around here. Some might say that it isn't fast enough, and maybe they are right, but I'm willing to give it a go given that what you call the base-thread would be running on the Mesa instead of the Linux CPU. My router is a pretty basic stepper setup other than the mirrored x motor.

I'd just hook up external monitor, mouse and keyboard. I've done this before and it runs the standard Linux UI stuff just fine.

If this board isn't fast enough, I can look at something else.
Last edit: 26 Mar 2018 23:34 by jandyman.

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

More
27 Mar 2018 00:06 #107934 by andypugh
Replied by andypugh on topic Zenbot/Gecko/LinuxCNC?
Machinekit is a fork of LinuxCNC which seems to centre on the Beaglebone Black. They actually use the PRU for step generation. They tend to rely on a remote PC to render the GUI, the BBB hasn't the graphics power to do that (well) itself.

That's a pretty big saving on hardware, too.

But I don't know much about the project since they forked off.

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

More
27 Mar 2018 14:16 #107956 by jandyman
Replied by jandyman on topic Zenbot/Gecko/LinuxCNC?
Thanks for the tip.

I'm having trouble making sense of the GUI comment. I've never used LinuxCNC, but the UI on Mach3 doesn't do anything fancy at all. It's not like they are doing realtime 3D rendering or anything like that. On my current system, the 3D simulation of the machine paths is done ahead of time in the CAM tool (Fusion360).

I can easily afford a 7i92 for $89, especially if it offloads the CPU. But I did read in a forum post somewhere that you need a special distro of Linux to use LinuxCNC with Mesa ethernet interfaces, with a realtime kernel. I could make much sense of that, but there it is.

PRU = ??. Not familiar with the term.

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

More
27 Mar 2018 14:36 #107957 by andypugh
Replied by andypugh on topic Zenbot/Gecko/LinuxCNC?

I'm having trouble making sense of the GUI comment. I've never used LinuxCNC, but the UI on Mach3 doesn't do anything fancy at all. It's not like they are doing realtime 3D rendering or anything like that.

Some of the LinuxCNC UIs do 3D rendering of the toolpath using OpenGL, and the graphics system on the BBB doesn't excel at OpenGL.
You can use a low-graphics UI and it all ought to be OK.

I can easily afford a 7i92 for $89, especially if it offloads the CPU. But I did read in a forum post somewhere that you need a special distro of Linux to use LinuxCNC with Mesa ethernet interfaces, with a realtime kernel. I could make much sense of that, but there it is.

LinuxCNC has used RTAI as the realtime layer for a long time (decades) but there is no real-time access to ethernet in RTAI. A newer realtime system (preempt-rt) does allow realtime access to ethernet, so that is what needs to be used there.

The simplest way to get something a lot like LinuxCNC running on a BBB would be to download a pre-built image from the Machinekit folks.
But for any problems you would need to ask them, not us.

PRU = ??. Not familiar with the term.


Programmable Realtime Unit. It is a part of the BBB that can do pretty much the same things as a Mesa FPGA card does, but is onboard rather than extra.

The BBB isn't _that_ much smaller or cheaper than a Mini-ITX x86 motherboard, though.

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

Time to create page: 0.098 seconds
Powered by Kunena Forum