Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: Maslow style motor controls #70

Open
akzmonster opened this issue Oct 16, 2019 · 2 comments
Open

Feature request: Maslow style motor controls #70

akzmonster opened this issue Oct 16, 2019 · 2 comments

Comments

@akzmonster
Copy link

akzmonster commented Oct 16, 2019

Hey Gauthier,

First of all, allow me to butter your biscuit. You have been very helpful and knowledgeable and I greatly admire and envy your skill. GRBL is so huge and complex and I would have loved very much to be a part of it.

Are you familiar with a Maslow CNC? It's similar to a CoreXY but uses the shared hypotenuse of two motors from which the spindle hangs. The images are far more effective. Well, I've been noodling around the internet trying to find a way to make something work as simple as GRBL can be to use. I would like to build a Maslow-style (polargraph-style) CNC using GRBL Mega and Ramps 1.4. This would allow full sheet CNC capabilities with minimal floor space and minimal motors all in the GRBL family. I have checked out "GRBL Mega Wall-Plotter" here on Github but there is little progress there and I am learning GRBL very slowly. I am a beginner programmer and would love to contribute but I seem to be spinning my wheels. I figured that one will never get what they don't ask for so I thought that I could at least try.

So, is it possible to add that functionality to grbl-Mega-5X? Even if not but you tell me how that functionality could be added I could try and implement it myself using the existing code as a start. I know this is probably asking a lot but I can't seem to find any project that works:

  • I have found some that use G-codes but also requires servos (light-duty pen plotters)
  • I have found some that use steppers but don't use standard G-codes
  • I have found some that use steppers and/or g-codes but aren't made for mega/ramps
  • The rest are not open source or are proprietary :(
@bdurbrow
Copy link

Do a search across the source files for COREXY. The coordinate frame translations are implemented at those locations; so it would be just a matter of creating a compile-time switch (for example, #define MASLOW) and adding the requisite transforms in the same spots as for COREXY.

There are a few concerns that I have with this though - not insurmountable issues, just things to watch out for:

  1. You will probably not be able to get reasonable performance out of motors that can be driven by by Stepstick-sized drivers. I would expect to have to use outboard drivers for this - so unless you are using my fork of Grbl which supports 3D-printer-style user interface hardware; there's no need for the actual RAMPS board itself. Instead you can either connect directly to the Arduino Mega with 'DuPont' style 0.100"-pin wires; or use a screw-terminal shield (mechanically this will be the more reliable of the two, of course) in order to route the step and direction signals to the stepper drivers. Also, you won't want to run the stepper drivers on 12v - that will limit the top speed of them, and make rapids painfully slow.

  2. Pretty much by definition, a Maslow CNC has no rigidity. I might seriously think about adding a third control line to it to fully constrain the position of the head in the X-Y plane.

  3. Depending on the kind of cuts you intend to make, it may be worthwhile to build a vacuum table for it to keep cut-out parts from separating from the table and jamming the head. Attaching some sort of high-friction material (perhaps paint it with flooring-rated paint with coarse sand mixed in?) would probably be a good idea also; just be sure that the result is reasonably rigid (so the foam rubber drawer liners probably isn't the best choice).

P.s. - it's not ready yet - as I still have testing to do - but I do have a breakout board that is designed to support outboard motor drivers; has IO for the same user-interface hardware that works with my version of Grbl-mega; and has pinouts largely compatible with a RAMPS card (the LCD pin mapping is a little different than a RAMPS+RepRapDiscount Smart Controller stack uses). I intend to release gerbers for it as soon as I've confirmed that it works right.

😄

@fra589
Copy link
Owner

fra589 commented Oct 26, 2019

Hi,
Thanks @bdurbrow for the reply, This is the good method to implement the good @akzmonster idea.
Unfortunately, I have not enough time to do it by myself, but perhaps I will can help by responding if you have precises questions on grbl-Mega-5X internal functioning.
See you on this feature request for the continuation of this subject 😄
@++;
Gauthier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants