STM32 Firmware.

2,028 views
Skip to first unread message

Arthur Wolf

unread,
Nov 29, 2011, 11:05:20 AM11/29/11
to OpenPnP
Hi ! ( contraptor guy again ).

Been reading http://code.google.com/p/openpnp/wiki/BrainDump and I see
you're interrested in a Cortex-M3 based board.

I'm currently develloping Smoothie : http://smoothieware.org/ , which
is a Cortex-M3 port of Grbl, but with added ultra-modularity.
Making it usable for your project would be a breeze, just disable the
planning part, and add a small C-axis module ( http://smoothieware.org/moduleexample
http://smoothieware.org/howitworks ) ... about a day worth of work.
It currently runs on NXP LPC17xx chips ( mBed, LPCXpresso ), but there
are plans by others to port it to both Atmel SAM3U and STM32.

Also, I'm working on a general puprose board for that firmware that
could be used to control a 3D printer, a lasercutter, a CMC mill
or ... a pnp machine, more on that in about a month.

Cheers !

Bryan

unread,
Nov 29, 2011, 3:12:11 PM11/29/11
to ope...@googlegroups.com
Hi Arthur!

Nice of you to drop in. :-D

I came across the Smoothie (Grbl port) project in the earlier stages, before the source was available. I was impatient, so I just went ahead and ported Grbl to my STM32-based Maple. It works very well.

However, since we cleared away all the buffer space used for the look-ahead planning (which doesn't help in our case) we've decided to return to the 8-bit Arduino, since it does the job just as nicely and is more commonly available. We  needed other custom control commands too, of course. Jason has taken over the coding now and seems to have all that well under control.

Nice to know you're progressing with Smoothie though, for sure! You were involved with the R2C2 project too, were you not? Is the 'general purpose' board you mentioned along those lines, or something you've done separately? looking forward to knowing more ... though

As for the Contraptor ... I'll be frank, if I may and simply say that IMHO I don't believe that design is remotely as rigid or solid as we will be needing for this specific task. I did however take considerable interest in the Contraptor for other purposes. It's quite a clever combination of seemingly cheap and easy to obtain parts.

Bryan.


On 30 November 2011 05:05, Arthur Wolf <wolf....@gmail.com> wrote:
Hi ! ( contraptor guy again ).

Been reading http://code.google.com/p/openpnp/wiki/BrainDump and I see
you're interrested in a Cortex-M3 based board.
...

ARTHUR WOLF

unread,
Nov 29, 2011, 3:53:53 PM11/29/11
to ope...@googlegroups.com

2011/11/29 Bryan <gru...@gmail.com>


I came across the Smoothie (Grbl port) project in the earlier stages, before the source was available. I was impatient, so I just went ahead and ported Grbl to my STM32-based Maple. It works very well.

Oh neat, is there a repo somewhere ?

However, since we cleared away all the buffer space used for the look-ahead planning (which doesn't help in our case) we've decided to return to the 8-bit Arduino, since it does the job just as nicely and is more commonly available. We  needed other custom control commands too, of course. Jason has taken over the coding now and seems to have all that well under control.

I completely get it, arduino is enough for most basic needs. If you want to run at 250mm/s like I saw on the wiki though, you'll probably hit grbl's stepping frequency limit ( 30kHz ), depending on the exact setup. That's one of the reasons for Smoothie.

Nice to know you're progressing with Smoothie though, for sure! You were involved with the R2C2 project too, were you not?

Yes, I still am. They did not take a lot of interest in Smoothie anyway, because they have an already functional firmware ( a port of one of the 8bit ones ).

Is the 'general purpose' board you mentioned along those lines, or something you've done separately? looking forward to knowing more ... though

It's completely separate, it's basically a 120Mhz Cortex-M3 chip ( LPC1769 ), with 4 allegro stepper drivers ( A4982, pretty similar to the A4983s but easier to solder ), a quadruple digital potentiometer to control the stepper drivers' current,  thermistor connectors, 2 SMT Mosfets and 2 optional Mosfets, and SD card reader, an ethernet connector, and a USB connector ( ultimately it should show up to the computer as both a Mass Storage device ( USB Key ) and a Serial Device ( like the Arduino ). Most pins will come with an option for both 3.5mm and 2.54mm spaced connectors, and there'll be lots of options for power input. And LEDs :) And a big illuminated Play/Pause button.

Currently Smoothie is good enough for Laser Cutting, and CNC Milling, and I nearly got 3D printing done ( printed a few things, but currently there's a memory fault at some point I'm trying to get out ).
Getting PnP in it would be quite easy, so you'll probably see me try at some point :)

As for the Contraptor ... I'll be frank, if I may and simply say that IMHO I don't believe that design is remotely as rigid or solid as we will be needing for this specific task.

If you're talking about structural rigidity, indeed, the angle is not stiff enough for large machines. The solution to that is that we'd preconize using 80/20 or Misumi or any kind of compatible T-Slot for length lower than 200mm/10"
The aluminum is however very handy for all sorts of stuff when stiffness is not such a concern.
But the big thing in contraptor is not the angle, it's the grid.
The basic idea is the same as openstructures ( http://openstructures.net/pages/9 ) : make everything in a way where it is know to easily assemble with other stuff.
In the case of contraptor, that means make everything in a way where it will easily attach to 1"-based objects. ( 20mm for the metric version I'm working on ).
You can do that even without using the contraptor angles, or any of the components : as long as you space fixing holes 1"/20mm appart, it's pretty much contraptor-compatible ( btw, will you be doing metric, or the other strange thing ? )
This makes even more sense with open hardware, where your work has good chances of being modified, merged, etc ... and sticking to that 1"/20mm grid makes it that much easier / compatble with other projects.
So I'm not really trying to get you to use the contraptor angle ( that'd be difficult, there's a shortage until the beginning of next year, where the situation should be much better ), but just : next time you have to space holes in your design, think 1"/20mm grid :)

I did however take considerable interest in the Contraptor for other purposes. It's quite a clever combination of seemingly cheap and easy to obtain parts.

It is :)

Arthur.


Bryan.


On 30 November 2011 05:05, Arthur Wolf <wolf....@gmail.com> wrote:
Hi ! ( contraptor guy again ).

Been reading http://code.google.com/p/openpnp/wiki/BrainDump and I see
you're interrested in a Cortex-M3 based board.
...

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To post to this group, send email to ope...@googlegroups.com.
To unsubscribe from this group, send email to openpnp+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/openpnp?hl=en.



--
Courage et bonne humeur.

Bryan

unread,
Nov 29, 2011, 4:42:39 PM11/29/11
to ope...@googlegroups.com
On 30 November 2011 09:53, ARTHUR WOLF <wolf....@gmail.com> wrote:

Oh neat, is there a repo somewhere ?

Repo? Not familiar with the term sorry.
 
I completely get it, arduino is enough for most basic needs. If you want to run at 250mm/s like I saw on the wiki though, you'll probably hit grbl's stepping frequency limit ( 30kHz ), depending on the exact setup. That's one of the reasons for Smoothie.

Interesting point. However, I'm not able to get even unloaded stepper motors running at anything like 30,000 steps a second -- even with 16-micro-steps. So I suspect the motors will be more a limitation than the step speed.
 
Is the 'general purpose' board you mentioned along those lines, or something you've done separately? looking forward to knowing more ... though

It's completely separate, it's basically a 120Mhz Cortex-M3 chip ( LPC1769 ), ...

Nice.
 
...

Getting PnP in it would be quite easy, so you'll probably see me try at some point :)

By all means! :-D

As for the Contraptor ... I'll be frank, if I may and simply say that IMHO I don't believe that design is remotely as rigid or solid as we will be needing for this specific task.

If you're talking about structural rigidity, indeed, the angle is not stiff enough for large machines.

No ... more the bearings, slop, wear and tear causing it to get worse over time, etc. I've not checked in on the Contraptor project for some time now ... but last I saw, all the running bearings were essentially home made in style. Perhaps I should update myself.
 
...

The basic idea is the same as openstructures ( http://openstructures.net/pages/9 ) : make everything in a way where it is know to easily assemble with other stuff.

That part I do like.
 
...
This makes even more sense with open hardware ...

Sure. That makes plenty of sense.
 
So I'm not really trying to get you to use the contraptor angle ( that'd be difficult, there's a shortage until the beginning of next year, where the situation should be much better ), but just : next time you have to space holes in your design, think 1"/20mm grid :)

Ah! I see. There you go Jason. Back to imperial measurement I'm afraid. :-P

Bryan.

ARTHUR WOLF

unread,
Nov 29, 2011, 4:50:09 PM11/29/11
to ope...@googlegroups.com


2011/11/29 Bryan <gru...@gmail.com>



On 30 November 2011 09:53, ARTHUR WOLF <wolf....@gmail.com> wrote:

Oh neat, is there a repo somewhere ?

Repo? Not familiar with the term sorry.

Repository. Github ? ^^
 
I completely get it, arduino is enough for most basic needs. If you want to run at 250mm/s like I saw on the wiki though, you'll probably hit grbl's stepping frequency limit ( 30kHz ), depending on the exact setup. That's one of the reasons for Smoothie.

Interesting point. However, I'm not able to get even unloaded stepper motors running at anything like 30,000 steps a second -- even with 16-micro-steps. So I suspect the motors will be more a limitation than the step speed.

300mm/s is kind of the record speed right now for reprap machines, and they can't go higher both for mechanical problems, but also for this stepping rate limit. But this depends for example of things like the number of teeth on your pulley, the stepper, etc ...
 
Is the 'general purpose' board you mentioned along those lines, or something you've done separately? looking forward to knowing more ... though

It's completely separate, it's basically a 120Mhz Cortex-M3 chip ( LPC1769 ), ...

Nice.
 
...

Getting PnP in it would be quite easy, so you'll probably see me try at some point :)

By all means! :-D

As for the Contraptor ... I'll be frank, if I may and simply say that IMHO I don't believe that design is remotely as rigid or solid as we will be needing for this specific task.

If you're talking about structural rigidity, indeed, the angle is not stiff enough for large machines.

No ... more the bearings, slop, wear and tear causing it to get worse over time, etc. I've not checked in on the Contraptor project for some time now ... but last I saw, all the running bearings were essentially home made in style. Perhaps I should update myself.

Oh, the old reprap linear rail had it's problems, yes indeed. There's a new one, not public yet, that's much better. Pretty much like Makerslide, but stiffer.
Also, the metric version is compatible with makerslide, I have tried it, it's awesome, so obviously that can be used too.
Also, there is a linear-ball-bearing element for the metric version that works quite well ( LM10UU ).
 
 
...

The basic idea is the same as openstructures ( http://openstructures.net/pages/9 ) : make everything in a way where it is know to easily assemble with other stuff.

That part I do like.
 
...
This makes even more sense with open hardware ...

Sure. That makes plenty of sense.
 
So I'm not really trying to get you to use the contraptor angle ( that'd be difficult, there's a shortage until the beginning of next year, where the situation should be much better ), but just : next time you have to space holes in your design, think 1"/20mm grid :)

Ah! I see. There you go Jason. Back to imperial measurement I'm afraid. :-P

Bryan.

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To post to this group, send email to ope...@googlegroups.com.
To unsubscribe from this group, send email to openpnp+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/openpnp?hl=en.

Jason von Nieda

unread,
Nov 30, 2011, 1:52:20 AM11/30/11
to ope...@googlegroups.com
Re: the step rate limit, yea, we've already hit that a bit on Jeremiah's machine. My machine design calls for about 59 steps per mm, so 250mm/sec is only about 15k steps/sec but for a design using smaller pulleys or a different linear mechanism it does get pretty close to the Arduino's and Grbl's limit. 

One of the nice things about OpenPnP's software is that the driver interface is very simple, and adding a new driver is very easy. It would be a matter of a night or two of work to create a driver that interfaced with Smoothie or nearly any other motion controller. My hope is that this ease will allow people who need higher performance to quickly adapt the system to their designs and platforms.

You can see the current GrblDriver at http://code.google.com/p/openpnp/source/browse/gui/src/org/openpnp/machine/reference/driver/GrblDriver.java and the interface for creating a driver at http://code.google.com/p/openpnp/source/browse/gui/src/org/openpnp/machine/reference/ReferenceDriver.java. Implementing that class is all that's currently needed to have the software work with another machine. 

Jason
Reply all
Reply to author
Forward
0 new messages