6 axis motor control from TinyG2

638 views
Skip to first unread message

Anthony Webb

unread,
Jan 7, 2016, 12:44:48 PM1/7/16
to OpenPnP
For those looking for quick and dirty 6 axis motor control from TinyG2 (Current solutions I could find are only 3 or 4 axis)  We made a breakout board that you can snap 2 grbl shields (in yellow) onto and get control of all 6 axis from your Arduino DUE running the TinyG2 motion planning firmware.  What isnt complete yet, are the 4 outputs, I'm trying to identify how to get those wired up, the G2 has some great general purpose IO support in the works, but not complete yet.  I could map 2 of them to the existing Coolant/Spindle outputs, but I really need 4 of them for my application.  Until then, smoothie is working great for me, but I am a fan of the G2 motion planning.


Rich Obermeyer

unread,
Jan 7, 2016, 12:48:30 PM1/7/16
to ope...@googlegroups.com
@Anthony, Can't the motion planning of TinyG be duplicated on smoothie?

On Thu, Jan 7, 2016 at 9:44 AM, Anthony Webb <anthon...@gmail.com> wrote:
For those looking for quick and dirty 6 axis motor control from TinyG2 (Current solutions I could find are only 3 or 4 axis)  We made a breakout board that you can snap 2 grbl shields (in yellow) onto and get control of all 6 axis from your Arduino DUE running the TinyG2 motion planning firmware.  What isnt complete yet, are the 4 outputs, I'm trying to identify how to get those wired up, the G2 has some great general purpose IO support in the works, but not complete yet.  I could map 2 of them to the existing Coolant/Spindle outputs, but I really need 4 of them for my application.  Until then, smoothie is working great for me, but I am a fan of the G2 motion planning.


--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/9a887d21-add8-4222-a7b7-c31c2e5f8de4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Rich

Jacob Christ

unread,
Jan 7, 2016, 12:52:34 PM1/7/16
to ope...@googlegroups.com
Anthony,

TinyG2 is cool, do you how ARM specific it is?  I'm always on the lookout for a planer that is easy to port to a MIPS4000 PIC32.

Jacob

On Thu, Jan 7, 2016 at 9:44 AM, Anthony Webb <anthon...@gmail.com> wrote:
For those looking for quick and dirty 6 axis motor control from TinyG2 (Current solutions I could find are only 3 or 4 axis)  We made a breakout board that you can snap 2 grbl shields (in yellow) onto and get control of all 6 axis from your Arduino DUE running the TinyG2 motion planning firmware.  What isnt complete yet, are the 4 outputs, I'm trying to identify how to get those wired up, the G2 has some great general purpose IO support in the works, but not complete yet.  I could map 2 of them to the existing Coolant/Spindle outputs, but I really need 4 of them for my application.  Until then, smoothie is working great for me, but I am a fan of the G2 motion planning.


--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/9a887d21-add8-4222-a7b7-c31c2e5f8de4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Jacob Christ
ProLinear/PONTECH, Inc.
1-877-985-9286 Phone
1-413-235-1651 Fax
http://www.pontech.com

Anthony Webb

unread,
Jan 7, 2016, 1:15:22 PM1/7/16
to OpenPnP
@maddog I know there has been talk about bringing updated motion planning to smoothie, but I would expect that may not happen until V2.  I must admit I am not near as familiar with the smoothie as I am with TinyG (and G2) I'm contemplating adding Smoothie support into firenodejs as an exercise in learning more about smoothie under the hood.  

There is an exchange between people very familiar with each platform you can read up on here http://smoothieware.org/forum/t-839730/tinyg-motion-planning-vs-smoothie

@jacob, you may want to poke around the G2 repo, I know that the G2 runs on many many different platforms, one of the real nice things they did with G2 was made it such that it will run in lots of different places. https://github.com/synthetos/g2

Robert Walter

unread,
Jan 7, 2016, 1:40:46 PM1/7/16
to OpenPnP
Last time I looked at the TinyG codebase, it only did four axis on board. The firmware supported 6 axis via a second TinyG connected via RS485 if I remember correctly. However, you could not do co-ordinated control in this manner, as the serial link is not fast enough. It was suitable for non-synchronized motion, such as advancing a tape peeler, or possibly for the nozzle rotation (sketchy), but I am sure there is some practicality to this feature.

I did really like the TinyG as it is a pretty nice piece of code, and it ran on processors that I am familiar with, but, the lack of on board axis control made me start with smoothie. At least if smoothie doesn't work out on the PNP, it will be a nice update for my 3D Printer.

Rob.

Anthony Webb

unread,
Jan 7, 2016, 1:57:56 PM1/7/16
to OpenPnP
The DUE running G2 exposes pins for all 6axis and their endstops.  So I think gone are the days of needing to chain boards together.

The thing I really love in the tinyg code is the ability to register listeners to inputs, position, etc and get a callback whenever any of those things change.  With firenodejs I ran into an issue that when firenodejs issues a move command, it will immediately ask the machine where it thinks it is at.  On a long move, the machine may not be done moving when firenodejs asks where the machine is at, this messes stuff up.  So there are 2 options, one option is to add an articficial delay any time firenodejs asks the tinyg driver for its current position (yuck, articficial delays suck), the other way, the way I ended up building it was to queue up the request for position until the tinyg is done moving.  And, because I am able to listen to the "is moving" status from tinyg I am assured to get a status report immediately once the machine is done with the move.  At which time I execute the "where you at" command.

I have been looking over the smoothie console commands (http://smoothieware.org/console-commands) but have not found a way to do very simple things like query the current position or state of the smoothie board, or execute a single G-Code command (there is a way to "play" a file, but that is the only way I can see to actually move the machine?)  At any rate, I am certain I am terribly missing something, perhaps I am not looking for console commands but more of a lower level serial api, but I havent found anything in the docs yet. If anyone has any tips please do send them along!

Jason von Nieda

unread,
Jan 7, 2016, 2:06:15 PM1/7/16
to OpenPnP
Have a look at the openpnp open builds driver to see how to communicate with smoothie on a line by line basis. There is also a command in there for getting current location.
--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.

Robert Walter

unread,
Jan 8, 2016, 6:25:54 PM1/8/16
to OpenPnP
Smoothie is pretty easy. Just issue a G or M command at the console, and it will do the motion. There are some custom codes for getting position, home switch status, etc.

Matt Arabie

unread,
Jan 14, 2016, 5:46:25 PM1/14/16
to OpenPnP
Hope you don't mind but I liked to this over on the Chillipeppr boards. https://groups.google.com/forum/#!topic/chilipeppr/A702WpQ2yR0

Very excited to see the progress on this.

Anthony Webb

unread,
Jan 14, 2016, 6:44:56 PM1/14/16
to OpenPnP
That's great, thanks for helping spread the word Matt!

Matt Arabie

unread,
Jan 26, 2016, 1:42:30 PM1/26/16
to OpenPnP
Might be good to add an EEPROM to the design. I am following another project that is using a 
"
2Mbit STMicro EEPROM chip to the device to provide up to 256 kbytes of memory. This EEPROM chip is connected via the integrated circuit inter communications I2C protocol and uses the SDA (pin 20) and SCL (pin 21) port on the board to communicate with the EEPROM. This may limit the ability to use other shields that use pins 20 and 21 of the board.
"
If those pins are available you could add this to the design?

Graeme Bridge

unread,
Jan 27, 2016, 3:51:51 PM1/27/16
to OpenPnP
Do you have a rough price on this Anthony?

Anthony Webb

unread,
Jan 27, 2016, 4:31:23 PM1/27/16
to ope...@googlegroups.com
I'm in a holding pattern on these pending some updates from Synthetos for the IO stuff that will allow for toggling those load switches.  Someone suggested an eeprom chip on there as well.  I havent priced the boards yet, but we are hoping that fully loaded with the GRBL shields (so 6 axis control) we could be under $150

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.

Graeme Bridge

unread,
Jan 27, 2016, 4:47:41 PM1/27/16
to OpenPnP
Sounds a fair price, i know smoothie has said the pro version would possibly have multiple driver boards that you can daisy chain but no real time frame on that
Reply all
Reply to author
Forward
0 new messages