Welcome! Log In Create A New Profile

Advanced

Introducing the ramps 10 - "Ramps10" an open source multi-configurable stepper controller shield based on the Ramps 1.4 design.

Posted by Simba 
Not a word I usually use, but this deserved it : awesome!

What exactly does "prepared for Arduino Due" mean?
HI Simba,

great to hear the Decapede boards are ready, i cant wait to see the modified sprinter firmware you are using..

Have been trying these few days on changing the firmware, even marlin , etc... but no luck..

really need your expert advise on this.

sincerely,
Conrad
bobc Wrote:
-------------------------------------------------------
> Not a word I usually use, but this deserved it :
> awesome!
>
> What exactly does "prepared for Arduino Due" mean?

Thanks for your kind encouragement !!

By prepared for Arduino DUE I mean, we did not think about it or evaluate it much, but we planned for most of the pins working on only 3.3V by supplying our own voltage and current by means of on board 5V and 12V regulators, and 1 or 2 stage amplifiers before the FET stages.... that way in the future, people can use high processor power if needed (though we think Mega can handle 3rd order acceleration with simple lookup tables across 10 motors fine). We don't know if the thermistor inputs will work, we think that will depend on a per thermistor basis to not overload the inputs with more than 3.3V. That said, no gaurentees, but its on the to do list..


RE: firmware, I wish I could be called expert but we have people on our team that are working on it. I will let you know as soon as it is available, even if only modified with an addition channel.
HI Simba,

thanks so much for you and your team's great work on this.

looking forward to the board and the firmware release.

Sincerely,
Conrad
Very interesting, and looking great. Just what is needed for researching more hardware permutations.

Sorry if this has been asked already (I looked but didn't see it), why develop for Sprinter and not Marlin?
Dale Dunn Wrote:
-------------------------------------------------------
> Very interesting, and looking great. Just what is
> needed for researching more hardware
> permutations.
>
> Sorry if this has been asked already (I looked but
> didn't see it), why develop for Sprinter and not
> Marlin?

No reason beyond familiarity and lack of time actually.

Hopefully people can help with other firmwares, as this board is open and the firmware should be 99% compete as it was made for Ramps. All that is needed for a.first pass is.pin assignmens. As a secondary pass maybe some memory or speed optimizations.
Was considering building something in the CNC class, like custom router table. These might be just the ticket....

Jeff.
Quote
Simba
Yes, certainly, because the manufacturers really don't want to make less than 100-200 units, we have to sell quite a large portion before we can begin to break even, that is, if we are to give reprappers a fair price. The biggest missing piece is a clear "aha moment" or application that makes obvious use of the decapede, the most obvious I think is a 10 legged robot or a multi color all-in-one 3d printer /cnc machine.

What do you think?

In any case I can't wait to see what people come up with! There are so many clever people out there and they will use commercially available tools to great effect, just like ramps/sanguinolu has done for 3d printers, maybe there are some crucial robotics people waiting for something like this too.

BTW, the arduino mega pin assignments are attached.
If were were to integrate a mega into our PCB directly, there are actually quite a number of excess pins available. We could practically make a 20-stepstick system.

Hello first poster here but have lurked his thread since its start

Regarding controlling many stepper motors. Ive got a hobby/art/robotics project where I in the end might need to control hundreds of motors each with an absolute encoder so the system at all times knows the exact position of each stepper even after power cycle. How could "hundreds of encoders" be connected to a system like this?
Also having an arduino integrated would be great..

This project can turn out good and other want to follow (a bit secret by now) making a board like this essential.. ..Looking forward of buying many of your boards

Have a great day

Edited 3 time(s). Last edit at 11/05/2013 11:43AM by Sluggo.
Hi everyone,

We are trying to finalize this board for a mass purchase...still not sure if it will be preorders or just order or Indegogo.

In the meantime we are verifying the board and thought of a few areas where people may want improvement.
The first is that it can handle 60A peak but 24A continuous. This was designed for 24V switching supplies. a 600W atx can only deliver 12V 24A.
So we are increasing the power terminals to be able to handle 48A continuous current in case you want to use 12V switching supplies that can in fact deliver much more current than an ATX. what do you think?

Second we are thinking about making a jumper interrupt on the thermistor channels, in case you want to reserve the use of those analog pins for something else.

Other than these, everything tests okay so far, we still have to verify the on board SD card reader, and then we should be able to order.

RE: Encoders, can you tell us more about the encoder electronics? For 100's of motors, you should probably dedicate several arduino units just for the encoders separately.
Current specifications:

> Dimensions: 142mm x 110mm
> PCB thickness: 1.6mm
> Base Copper laminate = 2 Oz and Finished Copper thickness = 4 Oz (Total)
> Base Material: NEMA Grade FR4 Glass Epoxy
> Surface finished: HASL (NO LEAD)
> Minimum Clearance(pad-pad, pad-trace, trace-trace): 0.2mm
> Minimum Drill size: 0.5mm
> Minimum trace thickness: 0.3mm
> PCB is UL approved
> Green masking on both the sides of the PCB
> White silk screen on both sides of the PCB
> BBT & Test report required


Detailed schematics are also attached. Now would be a great time to point out any mistakes (if any) smileys with beer
Attachments:
open | download - Schematic.pdf (171.8 KB)
Quote
Simba

RE: Encoders, can you tell us more about the encoder electronics? For 100's of motors, you should probably dedicate several arduino units just for the encoders separately.

Thanks for your time. I was thinking something along these lines for encoder
[www.usdigital.com] to mount on the back of a dual shaft stepper. But if someone can recommend an encoder that slips on a single shaft stepper I would be glad to hear .. ..and yes several dedicated arduinos is possible the way to go smiling smiley
Quote
Sluggo
Quote
Simba

RE: Encoders, can you tell us more about the encoder electronics? For 100's of motors, you should probably dedicate several arduino units just for the encoders separately.

Thanks for your time. I was thinking something along these lines for encoder
[www.usdigital.com] to mount on the back of a dual shaft stepper. But if someone can recommend an encoder that slips on a single shaft stepper I would be glad to hear .. ..and yes several dedicated arduinos is possible the way to go smiling smiley

It's not my area, and I'm sure someone here could help you...
BUT maybe a dual channel magnetic encoder can detect the motion of the stepper (OR current induction in coils) indirectly if it was stuck to the side of the motor??
Quote
Sluggo
Hello first poster here but have lurked his thread since its start

Regarding controlling many stepper motors. Ive got a hobby/art/robotics project where I in the end might need to control hundreds of motors each with an absolute encoder so the system at all times knows the exact position of each stepper even after power cycle. How could "hundreds of encoders" be connected to a system like this?
Also having an arduino integrated would be great..

Sounds like an interesting project! Not trivial though. Assuming you had 100 motors, and a 10 stepper control board, obviously that is 10 boards. You would need a comms network with low latency/predictable response time if you wanted to coordinate motion with all those boards, something like CAN or ethernet. At a pinch you might be able to do it with an SPI or UART type interface in "broadcast" mode, I think point to point comms introduces too much overhead. Extending SPI buses off board runs into electrical issues, UART is more robust but a lot slower.

An Arduino Due would be good but it doesn't have onboard ethernet, but maybe an LPC1769 based board like Smoothieboard would be a starting point.

The next question is handling encoders. The ones you linked to would need timer/capture in hardware to get microsecond resolution on the PWM output (I wouldn't consider using the analog output). A chip with 10 timer/capture inputs would be needed in that case. A more ideal encoder would have an I2C or SPI interface.

The motor, encoders and electronics will run to several $1000, so I guess you have a fair size budget for the overall project?
If most of the code is local, or on SD it can work too.

A while ago someone suggested leaving the serial communication lines (pins 1-2?) for arduino open on decapede and we did just that...in case one of these protocol like SPI allows you to chain arduinos...I'm not sure how to even begin suggesting this... But the TX RX pins are on a jumper routed to the surface of Decapede that should allow chaining. There are 3 D I/O pins and RX/TX free in addition to everything else that is used on the decapede already.


In ramps 1.4, Aux-1 also has RX/DX routed separately. If you can find breakoutboards or connectors that used Aux-1 on the ramps that may be an indicator of what works.
Hello Everyone,

Thanks for everyone who has given their feedback, and lurkers, people on the mailing list, etc. We really appreciate your enthusiasm for this new board.

After some discussion and testing we've decided that we don't to wait for extensive sample applications before releasing the board. Instead we've tested the board, burnt them in and showed that they work really well. We will take that, plus some envisioned uses and make a small indiegogo type campaign out of it soon. Its just much, a few thousand raised will hopefully be doable and get us started with enough for a reasonably sized bulk purchase. This way we can get the boards to you guys sooner and have the development grow sooner. In the meantime we'll finish a robust version of Sprinter as a good starting point (As was the case with ramps) and hopefully others will keep modifying the alternative firmware options.
grande @Simba.... tutto questo รจ fantastico!


[www.falla3d.com]
[3dita.blogspot.it]
Hello Everyone,

We are happy to report Decapede testing is finished. However bear in mind it is still an experimental board and their may be minor changes in future versions as needed to optimize performance.

In our tests we tested the basic function of the input pins (useful for thermistors, volume control, analog, and more), outputs (useful for heaters, fans, and more), mega output.
Then we tested driving the 10 motors independently and simultaneously and showed there is no problem there. Part of the reasons is that stepsticks reduce the amount of processing needed as they have on board PWM signal cgenerators. We've tested G3D, basic allegra stepsticks, and TI DRV88XX style controllers, mixed and match (5 of each) and showed no problems.
We also verified SD card function using repetier host.

Currently the decapede is limited to a maximum fuse setting of 60A peak current. However it was designed for 24A continuous current at 24V (if you have 24V enabled stepsticks). It is extremely well suited for running of ATX power supplies and linear supplies that work on 12V/24A as well, without overheating, and without needing any kind of active cooling. This is because there is so much copper (4 OZ) on the board that heat sinks really fast and far on the decapede board.

With all this, we have not yet developed a unifying firmware that can do everything at once. We are looking for two willing volunteers who are interested in decapede and have sufficient programming background to modify any of the firmwares out there (Repetier host, Sprinter, Marlin, etc Firmwares) to work with the board. In exchange we will give you free shipping and a decapede right now. It should be a 1-day job for a good programmer who knows printers and printer firmware. If this is you please PM me now!

Thanks!
HI Simba,

I am building a 3d printer that will use all 10 stepper drivers. I think it is great that you had the vision to see that 4 or 5 steppers are not enough for many current and future applications. This board addresses that limitation and I can't wait to get my hands on one of them.

However, I do have a concern after looking at the schematics published on Nov 5th. On page 8 "Thermistors with FET" shows the analog inputs pulled up to +12v. Since the analog inputs to the Arduino are 0-5v this presents a problem when connecting thermistors to the inputs. The input would always be maxed out at the positive rail and even with low impedance sensors that could overcome this problem, the signal would be more prone to noise if steppers and others actuators are connected to the same 12v. Connecting pull-ups to the 12v rail could also damage the analog inputs in time, since they are not designed to operate above the Arduino's supply voltage.

The 4.7K pull-up resistors should have been connected to the +5v supply to operate properly. I think this was an error when generating the board since your 'http://reprap.org/wiki/Decapede' link "Reprap Expansion Feature III - 7 Thermistor Header" states that the pull-ups would be tied to 5VDC.

I'm still a big fan of this board even it I have to stand the surface mount resistors on end and connect my own 5V buss wire to them. But it would be in your customers best interest to address this problem before you go into production.

Thanks.
Quote
wrdjr20
HI Simba,

I am building a 3d printer that will use all 10 stepper drivers. I think it is great that you had the vision to see that 4 or 5 steppers are not enough for many current and future applications. This board addresses that limitation and I can't wait to get my hands on one of them.

However, I do have a concern after looking at the schematics published on Nov 5th. On page 8 "Thermistors with FET" shows the analog inputs pulled up to +12v. Since the analog inputs to the Arduino are 0-5v this presents a problem when connecting thermistors to the inputs. The input would always be maxed out at the positive rail and even with low impedance sensors that could overcome this problem, the signal would be more prone to noise if steppers and others actuators are connected to the same 12v. Connecting pull-ups to the 12v rail could also damage the analog inputs in time, since they are not designed to operate above the Arduino's supply voltage.

The 4.7K pull-up resistors should have been connected to the +5v supply to operate properly. I think this was an error when generating the board since your 'http://reprap.org/wiki/Decapede' link "Reprap Expansion Feature III - 7 Thermistor Header" states that the pull-ups would be tied to 5VDC.

I'm still a big fan of this board even it I have to stand the surface mount resistors on end and connect my own 5V buss wire to them. But it would be in your customers best interest to address this problem before you go into production.

Thanks.

Hi!

Thanks for your feedback, and you are correct. Also I wanted to give a shout out to user MAJKL (Michael) who has given up a lot of time to test a sample board for you guys. You can see his updates here: Majkl's review. He's also making the preliminary firmware in Marlin I believe.

There are 3 problems, and 2 changes we want too make:
-Yes you are correct there is a problem with these (though they didnt damage analog in) you have to wait for the thermistor to get really hot for it to go below 5V.
-Also, 5 thermistors are wrongly connected to digital inputs.
-The USB somehow indirectly powers the decapede board, we don't know how.

Changes:
-Add a cool LED under the fuse
-Add more LED indicators per each FET output
-Potentially change the thermistors so the voltage divider can be decoupled using a jumper so people can access the analog ports freely.

The above are easy to fix, but we don't have funding left to pay a person to modify the layout right now. We've put in about ~$3500 into the developing the decapede and it is almost production ready. Hopefully we can get more spending cash in the next few months and develop it further, unless someone who knows layout would like to offer their time (please PM me).
I can't help you with the board layout, but maybe now is the right time to start your crowdfunding campaign. You've already got a mostly functional prototype and surely whatever funds you raise will be enough to cover fixing the last few bugs.
Quote
Simba
we don't have funding left to pay a person to modify the layout right now
Would you consider trying out the new bounty system we're trying to get going? You could post a request for funds on the Bounty Forum and see what happens...
I would quite like to help with this, but I don't have Altium, only Kicad. I would be even more interested if it was compatible with Arduino Due or other 3V3 chips!


What is Open Source?
What is Open Source Hardware?
Open Source in a nutshell: the Four Freedoms
CC BY-NC is not an Open Source license
Hi Bob,

Nice work on the expansion boards. how are they going so far?

How we will make these cheap at low volume is another question : )
IF you want to convert to kicad and help revise the board that would be great. It is nearly final, just 2 or 3 bugs to work out.
I volunteered to update the board, so I have captured the design in Kicad, since I don't have access to Altium. I've tried to keep the design as close as possible to the original, there are some mostly cosmetic differences due to Kicad.

I made a few changes which have been mentioned already, plus a couple of minor enhancements. There are a few other changes that could be usefully made I think, as well adding extra features such as LEDs.

I will be pushing files to my github soon, here is a render of the current layout :



Changes
========

1. Change P1 power connector to 5.08 pitch. Move fuse holder and reset switch.
Add separate connector fan/aux output.
2. Thermistors connect to +5V
3. Footprints for optional latching connectors 0.1" KK (heaters, thermistors)
4. Use the Arduino R3 shield layout
5. Make sure thermistors are on ADC inputs. All FET outputs on PWM pins.
Rearrange other connections for easier layout.
6. Don't backfeed 5V to Arduino - jumper option to power Arduino


If anyone has any suggestions, please let me know.


What is Open Source?
What is Open Source Hardware?
Open Source in a nutshell: the Four Freedoms
CC BY-NC is not an Open Source license
Guys, thanks so much for working on this open source projects. Its been a long stretch, and now thanks to BoBc it seems the final problems are solved with the board, and our friend Michal put a version Marlin modified and verified on Decapede here [github.com] who also discusses his work here Reprap. A lot of the original goals were to try to keep the board costs low (boards components like these will easily cost in the $100 range even per unit when ordered by digikey) if we aren't careful, it wouldn't even make sense as a group buy, but I think we've achieved a reasonable balance now. A good way to proceed would be to buy the components and solder them using an American PCB company that produces the solder mask. Then the components are then placed carefully on the soldermask and baked (in a convection oven?). Hopefully after we release our 3D printer we can get back to this project with gusto and help scale it up to the community.
I've wrapped up some more changes and pushed to my github [github.com]

Some highlights:

Changes
========

1. Change P1 power connector to 5.08 pitch. Move fuse holder and reset switch.
   Add separate connector for fan/aux output.
2. Thermistors connect to +5V
3. Footprints for optional latching connectors 0.1" KK (heaters, thermistors)
4. Use the Arduino R3 shield layout
5. Make sure thermistors are on ADC inputs. All FET outputs on PWM pins. 
   Rearrange other connections for easier layout.
6. Don't backfeed 5V to Arduino - jumper option to power Arduino via VIN

7. 10uf elco on thermistors to ceramic, Change 1206 resistors to 0805

8. Separate logic voltage from 5V in preparation for Due.

9. Change 1206/1210 on gate drivers resistors to 0805, remove apparently unneeded 
     components (2 resistors + zener).
     Add pull down on control inputs

10. Add LEDs for power, FET outputs

11. Separate ground for analog

12. Due "ready", just change one resistor on LM317
13. More copper in power/ground zone fills
14. Add connectors for SPI, I2C1



Schematic : [github.com]

I understand that Simba is busy with another project (good luck btw), but if anyone has any comments please post them. I think I covered most of the known issues, and added a few extra features. I managed to sneak in some future compatibility with Due, requiring only one resistor change. I uprated the copper fills so it could work at 12V with reduced maximum ratings. 12V operation would require changing the 12V regulator to a 9V one.

There are a couple changes I would prefer, but I am keeping the original spec. For example, I would use endstops with active low operation. I would also like to add some more fuses to the board, to provide more protection. 60A is quite a lot of juice if it goes to the wrong place! Adding fuses would probably add $7-8 to the cost, might need to extend the board size a little.

I will probably order some PCBs to verify layout and design, I can get 5 for $95, so it is not too expensive.


What is Open Source?
What is Open Source Hardware?
Open Source in a nutshell: the Four Freedoms
CC BY-NC is not an Open Source license
Excellent. Arduino Due support will be handy. I suspect a lot of machines that will use this board will need the extra processing power.

If your going to order a batch of PCBs, and you think you have all the kinks worked out, then count me in for one. It looks like it will be a while before Simba gets these things into production and I can handle soldering my own stuff together.

One other thing. Why are you keeping all your hardware projects in a single repository instead of seperate repos for each one?
Quote
unlimitedbacon
Excellent. Arduino Due support will be handy. I suspect a lot of machines that will use this board will need the extra processing power.

If your going to order a batch of PCBs, and you think you have all the kinks worked out, then count me in for one. It looks like it will be a while before Simba gets these things into production and I can handle soldering my own stuff together.

One other thing. Why are you keeping all your hardware projects in a single repository instead of seperate repos for each one?

Mainly because my brain struggles to cope with more than one repo smiling smiley

I have to wait a couple of weeks for the chinese holidays so there's a while to look over the design and spot any problems. There is usually something I have overlooked !


What is Open Source?
What is Open Source Hardware?
Open Source in a nutshell: the Four Freedoms
CC BY-NC is not an Open Source license
I have made a few more changes. Added fuses for each section, extending the board size to 150mm to accommodate this. The fuses add only $1-3 to the cost. The increased area allows a much cleaner layout of the power zones. I've also spaced all the connectors to allow latching connectors (e.g. KK100), although Molex 0.1" type can still be used if preferred.

I've a nagging feeling the power connector should be uprated, it's nominally rated for 30A per terminal, so at 60A (2 x 30A) it is close to the limit. Even at 20A though, you need a solid connection to avoid excessive heating. Experience on RAMPS suggests the 5.08 pitch terminals can overheat on the heatbed connection, at less than 15A.




What is Open Source?
What is Open Source Hardware?
Open Source in a nutshell: the Four Freedoms
CC BY-NC is not an Open Source license
Good work bobc! You are our savior ..
Long live open source.

I decided to create low level stepper motor H-bridges soon, wish to use RODOS operating system (it's like RTOS but C++). The reason is I don't need microstepping and want to save the current sensing so that it's a ultra low cost and easy solution. (hopefully).

If I fail I will fall back to your, Michal's and all the other contributers' solution. Thank you so much! We must not stop trying to make this world a better place.

Edit: Wanted to add a note to the Decapede Wikientry, but it says I'm not allowed to do so, so I post here, so that perhaps someelse might include it or something different:
=Create yourself=

The newest version can be found on RepRap community member's Bobc's Github: 
* [https://github.com/bobc/bobc_hardware Hardware].
And on Michal's github (pull request sent to Marlin software):
* [https://github.com/ErikZalm/Marlin/pull/713/files Software] (Marlin was thought to be used, though in general any may be adapted).

Edited 3 time(s). Last edit at 04/16/2014 11:43AM by Radagast.
Sorry, only registered users may post in this forum.

Click here to login