Interesting project, I will be following it.
Best regards,
kreutz
Hi CNC people !
I've been advised to come here and ask for opinions about my new project, so here I am !
Before the board, short story :
I got into CNCing stuff by building a Contraptor Mini CNC.
Then I converted a $1k cheap chinese laser to run using an arduino instead of the crap electronics they have in there.
At that point both machines were running using the awesome opensource Grbl firmware on arduinos.
I started contributing to it, and had all kinds of crazy ideas about stuff to add to it, but it soon became evident the 8bit atmega chips are not very well suited for feature-packed firmwares.
Simen, grbl's author at that moment, suggested doing an ARM ( 32bits ) port.
Around 9 months ago I started doing just that. building a new firmware from scratch to run on the mBed board, keeping only grbl's acceleration/jerk/planning math, 6 months ago I had CNC mill, and laser control working with it, and a few months ago I got it to do 3D printing. Smoothie was born.
Right I should explain that now: smoothie is a modular firmware.
You have a basic core that does you usual Gcode interpretation, 3-axis ( including non-cartesian ) stepper control.
And on top of that you can enable ( or code ) additional modules that add capabilities.
There are for example modules for :
* Laser control
* Spindle control
* Extruder control ( 3D printing )
Other features can be easily added as modules ( see here for an example of how that works ).
This way you can add functionality very simply without having to worry about the deep inner workings of the firmware, and just have it to what you want.
Ok but that's for programmers. For users that just means that you enable/disable modules in a config file, and the firmware does what you want it to do.
And that different projects can share a common firmware, and thus share progress on the core.
The source code for the firmware is here : .
The website is : smoothieware.org/, and there is a growing community of users.
At the moment, users are mostly from the reprap community, and they build breadboard setups using LPCXpresso or mBed boards.
But a few are also into lasers, and CNC milling.
So Smoothie runs lasers, mills, 3D printers, and it's been suggested quite early that it would be possible to design a board or boards that could run Smoothie, and be used for those uses.
That's where smoothieboard comes in.
I've been developing it for the past months, got a lot of help from the reprap community and from individuals, I finally have a prototype working, and a probable release date ( June 1 ).
Let me paste the feature list from the website, those things are exhausting to type:
Micro-controller
* NXP LPC1769 32-bits Cortex-M3 MCU, running at 120Mhz. 512kB Flash, 64kB RAM.
* Drag and drop flashing : simply drop a new firmware file to the smoothieboard to update.
* USB2 Composite device : shows to the computer as both a Serial device, and a Mass Storage device ( exposing the SD-card ), ΰ-la mbed
* Ethernet
* microSD card file storage for file based config, and playing gcode files from SD
Stepper drivers
* 4 Allegro A4982 stepper drivers.
* Each capable of driving bipolar steppers up to 35V and 2A.
* 1/16 microstepping.
* TSSOP package allows for much better thermal handling than commonly used A4983/8.
* Digital control of the current setting for each driver instead of trim-pot manual control.
Power outputs
* Two SMT BSP100 ( 30V/6A ) Mosfets sharing a power circuit
* Two optional thru-hole ( TO220 ) Mosfets sharing a power circuit : solder what you need.
Power inputs
* Main 12-35V ( Stepper drivers ) power can be connected using a 3.5mm screw terminal, SMT power jack connector, or a Molex connector ( ATX-harddrive style )
* 5V input can come from either a 3.5mm screw terminal, a SMT power jack connector, or a Molex connector as above. Or be taken directly from the USB cable.
* Each of the two Mosfet couple can take it's power either from it's own 3.5mm screw terminal, or SMT power jack connector, or be connected to the main stepper driver circuit using jumpers.
Inputs
* 4 Thermistor ( ADC ) inputs.
* 6 Endstop inputs.
* Play/Pause [LED Tactile Button
Extensibility
* SPI connector, I2C connector, Serial connector
* Lots of pins broken out ( Including step, direction and enable pins for the stepper drivers, and mosfet pins )
* 13 Additional GPIO pins broken out
* 4 LEDs, many connectivity options
The design inherits a lot from the current RepRap electronics : RAMPS and Sanguinololu in terms of features, but is also much more powerful, and designed with other uses than reprap in mind.
A*second version of the board, without the stepper drivers, but with connectors for power, step, direction, enable etc ... will be available for when 2A is not enough also.
What you can see on the website now is the prototype version :
The production version will be a tad smaller ( 120x120mm ), 4 layers, and have neater component placement, but otherwise it's pretty much it.
At the moment, we have a working prototype. A few things still need coding for it, once that's done we'll probably do a test run of the production version just to be sure everything is ok, then a real production run around June 1. There is a no-string attached reservation list on the smoothieboard page to help us plan the quantity of that if you are interrested in getting one before everybody.
Not sure what to addQuestions ?
So there, what do you think about it ? Criticism is very very welcome, the board has gotten a lot of it over the past months, that has changed it considerably, and helped a lot.
Cheers !
Edit : a small video we did the other day when we got the prototype stepping for the first time : "http://www.youtube.com/watch?v=W1zAcWRP-_8"]Smoothieboard Prototype - YouTube
Edit : and yes, of course, the board is opensource ( GPL )
Last edited by arthurwolf; 04-14-2012 at 10:40 AM. Reason: forgot something
Interesting project, I will be following it.
Best regards,
kreutz
arthurwolf
Very cool project
Mactec54
This is an interesting development and I will have to look into it in more detail.
I do have a couple of LPCXpresso and mBed boards, and did not realize that people were doing CNC control with them, and so I guess that I should look into that as well.
Thanks !*
There is a guide here : it works for both mBed and LPCXpresso :*Smoothie On A Breadboard - Smoothie Project
This is a very nice project. Here are a few additional things i would like to see on your Todo list.
lead screw error mapping/compensation.
At least one more full axis, 4 axis typically required to cut gears.
I like the idea of a control board with only step and direction out for high power applications.
I just started ordering parts for a co2 laser I will build. Your price is very attractive and I was wondering would the ability to do laser engraving be on list of things that might be added? If not I would still be interested in it for laser cutting. tks
Thanks !
I'm quite familiar with belt driven stuff ( lasercutter, 3D printer ) but less with screw driven. Would you have a link about that particular feature ?
That's pretty much already implemented with the Extruder module. I think you could use it as-is for gear cutting, but of course it needs to be semantically separated.
It is on the list. Loxgen in the IRC channel is working on that, and also the LAOS*project ( using the same chip but not the same firmware ) is working on it and has results.
There is also going to be a kit for modding those laser cutters : USB CO2 LASER ENGRAVING CUTTING MACHINE ENGRAVER/NEW e1 | eBay using smoothieboard, will allow for sub-$1000 lasercutters ( shipping including ) with openhardware electronics.
Originally Posted by cnc_4_me View Post
Here are a few additional things i would like to see on your Todo list.
lead screw error mapping/compensation.
Originally Posted by cnc_4_me arthurwolf
I'm quite familiar with belt driven stuff ( lasercutter, 3D printer ) but less with screw driven. Would you have a link about that particular feature ?
Here is a link from an EMC linux thread talking about leadscrew compensation.
Re: [Emc-users] lead screw compensation
Leadscrew compensation is a process of having the ability to enter in to the controller the accuracy of the leadscrew in a form of error per distance, such as +.002 at 3 or -.001 at 6 from its end. When you buy a quality leadscrew you are supposed to get a chart with the leadscrew errors listed. Another way to get this information commercially is hire someone with an laser interferometer to map out your axis on your finished machine and have all errors taken in account. Or use the low dollar method of a dial indicator and 123 blocks.
2 extruder heads wood be great.
a touch screen 3 or 4 inch to control the machine wood be great to.