RE: [MendelMax] Re: R.A.M.P.S vs R.A.M.B.O

3,952 views
Skip to first unread message

Colt D. Majkrzak

unread,
Dec 31, 2012, 1:02:11 PM12/31/12
to mend...@googlegroups.com

I’m no expert in the topic, so I guess let me try to fill in what I think I know, and hopefully it helps.

 

As far as I understand, the stepping settings is defining how many steps for a full turn of the motor shaft.  So in 1/16, 16 steps for a full turn, 1/8 would be 8 steps for a full 360 deg.

 

So I guess to your question, would you notice, I would say it depends.  What is the motor turning, how fine of detail is it? A low tooth count gear/pully, etc and you’re most likely going to introduce slop into the print because can’t get super fine resolution when its moving in large chunks.  All of my printers have been 1/16, so I can’t really give you any base of comparision.  So would you notice?  Maybe?  If you want the best possible result, 1/16 is the way to go (this assumes your using a fine threaded Z rods, and something like GT2 or better pullies / belts).

 

Again I could be way off here, here’s a link though I just found that explains a stepper motor more http://en.wikipedia.org/wiki/Stepper_motor

 

 

 

Best regards,

Colt Majkrzak  F5CI, F5SE

www.newerastreaming.com

www.bitbucketsolutions.com

 

From: mend...@googlegroups.com [mailto:mend...@googlegroups.com] On Behalf Of Zander McHade
Sent: Monday, December 31, 2012 9:39 AM
To: mend...@googlegroups.com
Subject: [MendelMax] Re: R.A.M.P.S vs R.A.M.B.O

 

I'm a little disappointed that there hasn't been more explanation on this. I am very curious about this as well.

On Tuesday, October 23, 2012 12:41:28 PM UTC-7, coreformula wrote:

Is there a big difference between the 2?

 

Would I see a difference between 1/16 and 1/8 micro-stepping?

 

 

--
 
 

Jordan Miller

unread,
Dec 31, 2012, 1:00:16 PM12/31/12
to mend...@googlegroups.com
RAMBO has 5 MOSFETs so you can easily do sugar and chocolate printing.

on a smooth running machine (low friction) you won't see a difference. it may be slightly louder though.

I typically run with 0.9 degree motors at 1/4 or 1/8th stepping which is technically more accurate (with an identical motherboard and driver and firmware, since a step is typically rated to only about +/- 5% accuracy [though printer hardware makers don't advertise this], so finer degree motors will improve accuracy though the precision appears identical).

jordan


Sean Mitchell

unread,
Dec 31, 2012, 1:01:14 PM12/31/12
to mend...@googlegroups.com
I am not familiar with RAMBO, but it looks like an integrated RAMPS board.

Instead of buying 1x Arduino, 1x RAMPS, and 4x/5x Stepper drivers (4=single extruder, 5=dual extruders), you would need to buy 1x RAMBO (which includes 5 stepper drivers for dual extruders).

It appears that the microstepping is set in the firmware, not really sure the advantage to this.  RAMPS is done via jumpers which need to be added/removed by hand, but is a set it and forget it operation.

The biggest drawback IMO is the fact that it is integrated - I have seen a number of people on this list accidentally blow their stepper drivers, or someone also damaged their arduino.  If you lose a stepper driver with RAMPS, you can replace it at a cost of around $15; if you blow a stepper on this board it would need to be replaced altogether (or you could unsolder the chip, but it is SMD and would be very difficult to do).

On the positive side, i has 5 high current outputs.  RAMPS only has 3 (two extruders and one heated bed), you could use the extra for fans, LED strips, or other accessories.  RAMPS has 3 thermistor inputs, RAMBO has 4.  RAMPS sets the stepper current via a small potentiometer which a number of users have damaged by accident.  RAMBO sets this in software, but once this value is correctly set it can be forgotten about.  As long as you are careful, you shouldnt damage the wipers.

Other than these, it should work just like RAMPS, it supports the LCD panel.




On Mon, Dec 31, 2012 at 9:39 AM, Zander McHade <zana...@gmail.com> wrote:
I'm a little disappointed that there hasn't been more explanation on this. I am very curious about this as well.


On Tuesday, October 23, 2012 12:41:28 PM UTC-7, coreformula wrote:
Is there a big difference between the 2?

Would I see a difference between 1/16 and 1/8 micro-stepping?


--
 
 



--
========
Sean Mitchell
50668 Köln

Germany
echo "zvgp...@tznvy.pbz" | tr '[a-m][n-z][A-M][N-Z]' '[n-z][a-m][N-Z][A-M]'

Jordan Miller

unread,
Dec 31, 2012, 1:07:07 PM12/31/12
to mend...@googlegroups.com
in a 360 degree rotation most steppers we all are buyin for reprap are 1.8 degree per step. this means 400 steps per revolution with no microstepping. the microstepping divides two each step, so 800 steps per rev. at 1/2 stepping, 1600 at 1/4, 3200 at 1/8, and 6400 at 1/16th stepping.

a practical consideration is that since increased microstepping decreases the holding torque at each position, if your motors are not very strong or if your friction is very high you will be more inclined to "lose steps" at higher microstepping (the step signal is sent but no distance is traveled). you may never notice since it is such a tiny distance at that microstepping, but if you are running insane resolution prints it may affect you eventually (the errors, if they are happening, will technically add up throughout a given print).

you may also lose steps if your belts are not properly tensioned (circles will print with flats on their x or y faces, for example).

jordan


--
 
 

Alex

unread,
Dec 31, 2012, 1:11:50 PM12/31/12
to mend...@googlegroups.com
Looks like reprapdiscounts is coming out with a "RUMBA"


I that you can the drivers with this board.

Lee

unread,
Dec 31, 2012, 1:23:28 PM12/31/12
to mend...@googlegroups.com
Ugh. I wish people would stop using the atmega 2560 in new designs. It's such a bad value for the money. The arduino Due is out and has an 84MHz processor with more memory. Why not use that instead? The chips are the same price.

Arthur Wolf

unread,
Dec 31, 2012, 1:24:46 PM12/31/12
to mend...@googlegroups.com
There are some ARM boards coming out, they are just not necessarily as mature on everything as the RAMPS board/firmware family.


2012/12/31 Lee <dleem...@gmail.com>
--
 
 



--
Courage et bonne humeur.

Mike Payson

unread,
Dec 31, 2012, 1:26:13 PM12/31/12
to mend...@googlegroups.com
RAMBO is the next gen board from the creator of the RAMPS board. Both use the same firmwares.

Pros:
  • All in one design, no Arduino or Pololu drivers needed
  • Better thermal design allows somewhat higher current without additional coolling
  • Digital Pots allow stepper current adjustment from the host, no more trimpots.
  • 5 onboard drivers
  • 5 fets
Cons:
  • All in one design, if you fry a driver you replace the whole board
  • Max 1/8 step
As much as I like the board, that 1/8 step limit is a deal breaker for me. I think I remember Johnny saying that he had a new version that would support 1/16 step coming soon, which would make me seriously consider it, but currently I still prefer RAMPS.

RUMBA is the next up and comer: http://www.indiegogo.com/rumba. It is the one that is probably my current favorite.

Pros:
  • Semi-modular design, still uses Pololu's, but no Arduino required
  • High voltage capable, up to 35V
  • Onboard 12V regulator for Fans/LEDs
  • Onboard 5V regulator for running headless
  • supports up to 6 stepper drivers
  • supports up to 5 FETS
  • 3 fets can be set to run from main voltage or 12V
  • 5 Thermistor inputs
  • Optional screw terminal motor connectors
  • LCD option available
  • Supports 1/16 mode drivers
Cons:
  • Still uses Pololu's, so poorer thermal management
  • Still uses Pololu's so no digital pots.

Mike Payson

unread,
Dec 31, 2012, 1:34:35 PM12/31/12
to mend...@googlegroups.com
The firmwares we use are not written in Arduino, they are written in C. That means that in spite of the fact that we use the Arduino IDE to upload he firmware, the firmware will not just run on the new chip like programs written in Arduino do. There is a lot that goes on under the hood in the Arduino libs to allow that compatibility. That is great, but it comes at a big expense of running much slower-- too slow for our needs in most cases.

Like Arthur said, their are Arm boards out there, both the Smoothie Board and 4pi at present look promising, unfortunately in my opinion they are not yet ready for prime time. Wait a couple months and they may be a great choice.

--
 
 

John Driggers

unread,
Dec 31, 2012, 2:01:12 PM12/31/12
to mend...@googlegroups.com
RAMBO is a no started for me simply because you can't replace the stepper drivers easily in the even of a disaster.  On the 1/8 vs 1/16, I'd challenge anyone not running a Aluminatus to actually see a difference in print quality caused by microstepping or lack thereof - if it actually was perceptible, simply go to a .9 degree motor and the "real" step resolution....

RUMBA is a damned good alternative, and I've already got a couple of them ordered.

Both of the above are dead in the water the minute someone ports Marlin or Repetier to Due or another modern ARM processor.  I know of an effort with Repetier to port to both a TI Stellaris and a DUE.

Personally, I'm going to spend some cycles trying to figure out a clean way to use a old trust and true RAMPS board with a DUE - just need to do some jiggery-pokery on the MOSFETS to work around the 5 volt trigger voltage....

Arthur Wolf

unread,
Dec 31, 2012, 2:08:22 PM12/31/12
to mend...@googlegroups.com

2012/12/31 John Driggers <jdri...@gmail.com>

RAMBO is a no started for me simply because you can't replace the stepper drivers easily in the even of a disaster. 

With *modern* allegro drivers, the only way to fry them is to connect/disconnect the stepper while it's powered on.
I think once you know it's a dumb thing to do, there is very little chance you will do it.
 
On the 1/8 vs 1/16, I'd challenge anyone not running a Aluminatus to actually see a difference in print quality caused by microstepping or lack thereof
 
Microstepping is far from only being for quality ( meaning resolution here ).
If you've even seen a machine running at half-step or full-step, you know what I mean. If you've ever had problems with resonnance too.
 
- if it actually was perceptible, simply go to a .9 degree motor and the "real" step resolution....

RUMBA is a damned good alternative, and I've already got a couple of them ordered.

Both of the above are dead in the water the minute someone ports Marlin or Repetier to Due or another modern ARM processor. 

There is a port of Sprinter to the 4pi, which runs a chip very similar to what is on the DUE.
And on the smoothieboard, the smoothie firmware ( which shares much code with Marlin/Sprinter/Grbl ) nowadays has most of the features you'd expect from a reprap firmware, and prints just fine.

 
I know of an effort with Repetier to port to both a TI Stellaris and a DUE.

Personally, I'm going to spend some cycles trying to figure out a clean way to use a old trust and true RAMPS board with a DUE - just need to do some jiggery-pokery on the MOSFETS to work around the 5 volt trigger voltage....


On Tuesday, October 23, 2012 2:41:28 PM UTC-5, coreformula wrote:
Is there a big difference between the 2?

Would I see a difference between 1/16 and 1/8 micro-stepping?


--
 
 

Mike Payson

unread,
Dec 31, 2012, 2:23:20 PM12/31/12
to mend...@googlegroups.com
There is absolutely no benefit that I can see to porting Marlin to an ARM. It runs fine on an Arduino, why give it more horsepower than it needs? The whole point of running a more capable processor is to add new features that we don't already have, so until new firmwares are available that actually take advantage of the new controllers, I see no reason to upgrade and a lot of reasons not to. 

In the long run, we will all move to ARM controllers, but for now I still recommend sticking with RAMPS or a derivative until the firmwares are more robust.

--
 
 

Sparr

unread,
Dec 31, 2012, 2:26:48 PM12/31/12
to mend...@googlegroups.com
It's been a while since I worked with printer firmware, but I recall
Arduino not being fast enough to keep up with doing the spring physics
calculations to accurately predict compression and unwanted flow based
on filament path length.
> --
>
>

Lee

unread,
Dec 31, 2012, 2:35:43 PM12/31/12
to mend...@googlegroups.com
There is absolutely no benefit to perpetuating the "2560 culture" either. You'd be hard pressed to find a worse value for your $13. Forward thinking is to move toward a new paradigm that gives at least a little overhead for new bells and whistles. 

The 2560 works fine, but it's expensive and running pretty near its limits as it is. With a more powerful processor, you might be able to do more fancy things with the ramps or combine in new hardware like encoders. I use RAMPS without complaints, but I don't think there needs to be new boards based on the 2560, ESPECIALLY if there isn't much benefit to sticking with the arduino platform.

Mike Payson

unread,
Dec 31, 2012, 2:57:12 PM12/31/12
to mend...@googlegroups.com
Absolutely, those are perfect examples of the reasons to move to ARM. My point is that until those features exist, there is little reason to upgrade.

--



Mike Payson

unread,
Dec 31, 2012, 3:13:35 PM12/31/12
to mend...@googlegroups.com
On Mon, Dec 31, 2012 at 11:35 AM, Lee <dleem...@gmail.com> wrote:
There is absolutely no benefit to perpetuating the "2560 culture" either. You'd be hard pressed to find a worse value for your $13. Forward thinking is to move toward a new paradigm that gives at least a little overhead for new bells and whistles. 

I would not say I am "perpetuating" anything, I have been an advocate for moving to ARM chips probably since before you had a RepRap. I first started working on an ARM based board myself back in May of 2011 after waiting a year or more for someone else to make one. Unfortunately I never quite got it completed before getting sucked into the MendelMax and having it take over my life.

 
The 2560 works fine, but it's expensive and running pretty near its limits as it is. With a more powerful processor, you might be able to do more fancy things with the ramps or combine in new hardware like encoders. I use RAMPS without complaints, but I don't think there needs to be new boards based on the 2560, ESPECIALLY if there isn't much benefit to sticking with the Arduino platform.

I don't disagree with this at all. The difference is I am talking about USERS, not HACKERS. 

The problem is that the ARM boards that are available now are both V1.0 or still in beta, and neither have firmwares that are ready for prime time. So right now you are going to be living with hardware or software bugs or quite possibly both. If you like living on the bleeding edge, absolutely go to ARM and get it ready for the rest of us. For most normal users I do not recommend ARM at this time. 3-6 moths from now it will quite likely be a very different story. Once the boards have been through another rev to fix any V1.0 issues and the firmwares have a couple more months to mature I will quite likely be a champion. Until then, I cannot in good conscience recommend them for the average user. If you are the adventurous type, absolutely go to ARM, it is definitely the future.


On Monday, December 31, 2012 12:23:20 PM UTC-7, Maxbots wrote:
There is absolutely no benefit that I can see to porting Marlin to an ARM. It runs fine on an Arduino, why give it more horsepower than it needs? The whole point of running a more capable processor is to add new features that we don't already have, so until new firmwares are available that actually take advantage of the new controllers, I see no reason to upgrade and a lot of reasons not to. 

In the long run, we will all move to ARM controllers, but for now I still recommend sticking with RAMPS or a derivative until the firmwares are more robust.

On Mon, Dec 31, 2012 at 11:01 AM, John Driggers <jdri...@gmail.com> wrote:
RAMBO is a no started for me simply because you can't replace the stepper drivers easily in the even of a disaster.  On the 1/8 vs 1/16, I'd challenge anyone not running a Aluminatus to actually see a difference in print quality caused by microstepping or lack thereof - if it actually was perceptible, simply go to a .9 degree motor and the "real" step resolution....

RUMBA is a damned good alternative, and I've already got a couple of them ordered.

Both of the above are dead in the water the minute someone ports Marlin or Repetier to Due or another modern ARM processor.  I know of an effort with Repetier to port to both a TI Stellaris and a DUE.

Personally, I'm going to spend some cycles trying to figure out a clean way to use a old trust and true RAMPS board with a DUE - just need to do some jiggery-pokery on the MOSFETS to work around the 5 volt trigger voltage....


On Tuesday, October 23, 2012 2:41:28 PM UTC-5, coreformula wrote:
Is there a big difference between the 2?

Would I see a difference between 1/16 and 1/8 micro-stepping?


--
 
 

--
 
 

Sparr

unread,
Dec 31, 2012, 3:25:56 PM12/31/12
to mend...@googlegroups.com
I was using "those features" 9 months ago in Marlin...

Mike Payson

unread,
Dec 31, 2012, 3:30:58 PM12/31/12
to mend...@googlegroups.com
Good for you. This would be a more compelling argument, however, if you said what electronics you were using. 

I am happy to admit when I am wrong, but I have yet to have anyone using either 4pi or Smoothie tell me they consider the boards and firmware ready for the average user. When I start hearing that more widely, I will absolutely start recommending it for people.

--



Lee

unread,
Dec 31, 2012, 3:38:36 PM12/31/12
to mend...@googlegroups.com
I don't mean you specifically. I'm more referring to the fact that there are now at least a half dozen boards available based on the 2560. Meanwhile, everyone agrees it's going to be an inferior/dying platform in the near future, but people keep putting their efforts in to new RAMPS-like 2560 boards that are nearly the same thing -- instead of forging ahead. I'm not complaining. I'm quite grateful that there is a working open source platform. But my opinion of the RAMPS vs RAMBO issue is pretty much "meh".

Trevor Lewis

unread,
Dec 31, 2012, 4:10:19 PM12/31/12
to mendelmax
The only reason to use a 2560 based board is the RAM and the IOs, which none of the main firmware distributions are taking advantage of (to the best of my knowledge anyway). Having more IOs is nice if you're hacking, but other than that there's no real reason to want one over a cheaper board.

That being said, I'm running a RAMPS on my MM, a RAMPS on my printrbot (waste of filament printing that one out...) and I've got a RAMBO on my M2. Once they're setup and running they are virtually indistinguishable from one another in terms of how they operate. In fact the only thing I have to worry about on a day to day basis is making sure I'm slicing for the correct machine since each is physically different.

The RAMBO seems to run cooler than my RAMPS boards, and I like the form factor. The lack of removable drivers isn't really an issue because it's on a machine that I don't screw with like my MM...


--
 
 



--
 
Failure is just success rounded down. - T-Rex
 
Sent from your iPhone.

John Driggers

unread,
Dec 31, 2012, 4:33:25 PM12/31/12
to mend...@googlegroups.com
So a couple of things - the physics on Marlin and Repetier - heck, basically anything derived from grbl - suck compared to what they could be - and what commercial packages are doing.  My understanding is alot of that are the floating point limtiations on the current ATMega chips we are using and the memory space available.  Most of us with delta based printers are already running into stepping limitations, so looking at smootihe or some other option is a "good thing" IMHO.  Having a few spare cycles to do better path planning and optimizations between generating stepper pulses can't be bad.

I gotta agree that this is "hacker" space not "user" space - fair enough there - and obviously there's still a load of optimization and correction that can be done on existing CPU and memory footprint we have - just look at what Jetty is getting out of Sailfish.  Continuing to push ATMega platforms to users is fine, but having a path outside that is just smart....

Jim Morris

unread,
Dec 31, 2012, 4:52:33 PM12/31/12
to mend...@googlegroups.com
correction... 1/16 microsteps is 3200 steps per revolution :)


On Monday, December 31, 2012 10:07:07 AM UTC-8, Jordan Miller wrote:

Jim Morris

unread,
Dec 31, 2012, 5:15:27 PM12/31/12
to mend...@googlegroups.com
FYI the edge release of GRBL has rewritten the basic stepper algorithm to use Pramod Ranade inverse time algorithm, just becuase the arduino was not fast enough to handle higher speeds using the old algorithm. Switching to an ARM would allow more accurate acceleration calculations amongst other things.

Jordan Miller

unread,
Dec 31, 2012, 5:21:25 PM12/31/12
to mend...@googlegroups.com
kinen is the next gen stuff coming down the pipe. they got an Ultimaker running faster and better than Ultimaker has before. :-)

jordan


--
 
 

Lee

unread,
Dec 31, 2012, 6:10:16 PM12/31/12
to mend...@googlegroups.com

The only reason to use a 2560 based board is the RAM and the IOs, which none of the main firmware distributions are taking advantage of (to the best of my knowledge anyway). Having more IOs is nice if you're hacking, but other than that there's no real reason to want one over a cheaper board.

Yes, but compared to ARM chips, the RAM on the 2560 is on the low end. Also there are tons of ARM chips with as many or more IOs as the 2560 -- some that cost half the price! There are cortex-m4s available that run at 10x the clock speed with double the RAM and at least as many IOs for 20-30% less cost. I just feel like I'm wasting my money every time I buy something with one of those outlandishly expensive 2560s on it.

When Aladdin flew to a whole new world on his magic carpet, I'm sure it wasn't controlled by an atmega 2560. ^_^

ChrisHS

unread,
Dec 31, 2012, 7:40:51 PM12/31/12
to mend...@googlegroups.com
The problem with Many more IOs is that usually means BGA parts.
Not cheap or mod-able at home if something isn't broken out.

Also anything with 'high' frequencies needs controlled impedance tracks so more care in PCB design, termination, matching path lengths, ground bounce, decoupling, victim & aggressor signals, power planes, more layers etc......

'High' frequencies are edge change rates not clock speed.
50 or 60 Hz through a fast buffer will cause ringing on a not very long unmatched line.
So you can't buy a quick chip & run it at a slower clock rate.
Some chips do have slew rate setting that does reduce the problem by slowing the IO, still a bodge but usually good enough which is why they include it as a feature.

Quote: "For every Nanosecond of Rise Time, you can get  away with about 1 Inch in length before Transmission Line Theory becomes a Significant Factor." from here http://www.sabritec.com/technotes/PDF/High_Speed_Digital_Tutorial.pdf


You could use a second 'simple' 2560 board to split the CPU load but that's a bit of a waste if you are aiming for Arm.

Code looks simpler on arm as less math to work around, 2560 being narrow data processing.

Trevor Lewis

unread,
Dec 31, 2012, 8:15:05 PM12/31/12
to mendelmax
Considering where things are going it only makes sense to move to an ARM processor. The cost of an Uno is $25-30, the cost of a Pi is $35, and I can SSH to it. Yeah, I know just slapping some drivers on a Pi won't make it a motherboard for printing but I'll be damned if they don't make an awesome Arduino replacement. With the exception of the ADC of course, but I can live with that.


--
 
 

Mike Payson

unread,
Dec 31, 2012, 8:29:14 PM12/31/12
to mend...@googlegroups.com
On Mon, Dec 31, 2012 at 5:15 PM, Trevor Lewis <trevor...@gmail.com> wrote:
Considering where things are going it only makes sense to move to an ARM processor. The cost of an Uno is $25-30, the cost of a Pi is $35, and I can SSH to it. Yeah, I know just slapping some drivers on a Pi won't make it a motherboard for printing but I'll be damned if they don't make an awesome Arduino replacement. With the exception of the ADC of course, but I can live with that.

Actually I believe the Raspberry Pi makes a lousy Arduino replacement for our purposes. The IO pins on the Pi can't be switched fast enough to get suitable drive speeds out of the steppers. Ironically for all it's horsepower it is worse than a simple Arduino.

(Note: There is some chance I am confusing the Beagle Board here, at least one of them cannot be used this way)

 


On Mon, Dec 31, 2012 at 7:40 PM, ChrisHS <chris...@googlemail.com> wrote:
The problem with Many more IOs is that usually means BGA parts.
Not cheap or mod-able at home if something isn't broken out.

Also anything with 'high' frequencies needs controlled impedance tracks so more care in PCB design, termination, matching path lengths, ground bounce, decoupling, victim & aggressor signals, power planes, more layers etc......

'High' frequencies are edge change rates not clock speed.
50 or 60 Hz through a fast buffer will cause ringing on a not very long unmatched line.
So you can't buy a quick chip & run it at a slower clock rate.
Some chips do have slew rate setting that does reduce the problem by slowing the IO, still a bodge but usually good enough which is why they include it as a feature.

Quote: "For every Nanosecond of Rise Time, you can get  away with about 1 Inch in length before Transmission Line Theory becomes a Significant Factor." from here http://www.sabritec.com/technotes/PDF/High_Speed_Digital_Tutorial.pdf


You could use a second 'simple' 2560 board to split the CPU load but that's a bit of a waste if you are aiming for Arm.

Code looks simpler on arm as less math to work around, 2560 being narrow data processing.

On Monday, 31 December 2012 23:10:16 UTC, Lee wrote:

The only reason to use a 2560 based board is the RAM and the IOs, which none of the main firmware distributions are taking advantage of (to the best of my knowledge anyway). Having more IOs is nice if you're hacking, but other than that there's no real reason to want one over a cheaper board.

Yes, but compared to ARM chips, the RAM on the 2560 is on the low end. Also there are tons of ARM chips with as many or more IOs as the 2560 -- some that cost half the price! There are cortex-m4s available that run at 10x the clock speed with double the RAM and at least as many IOs for 20-30% less cost. I just feel like I'm wasting my money every time I buy something with one of those outlandishly expensive 2560s on it.

When Aladdin flew to a whole new world on his magic carpet, I'm sure it wasn't controlled by an atmega 2560. ^_^

--
 
 



--
 
Failure is just success rounded down. - T-Rex
 
Sent from your iPhone.

--
 
 

Triffid Hunter

unread,
Dec 31, 2012, 10:15:53 PM12/31/12
to mend...@googlegroups.com
On Tue, Jan 1, 2013 at 12:15 PM, Trevor Lewis <trevor...@gmail.com> wrote:
> Considering where things are going it only makes sense to move to an ARM
> processor. The cost of an Uno is $25-30, the cost of a Pi is $35, and I can
> SSH to it. Yeah, I know just slapping some drivers on a Pi won't make it a
> motherboard for printing but I'll be damned if they don't make an awesome
> Arduino replacement. With the exception of the ADC of course, but I can live
> with that.

RPi doesn't have the hard realtime ability to spit out step pulses
within the max allowable jitter to not skip steps at speed. It would
make an adequate host when coupled with something like a smoothie or
ramps setup, however you may want to splice a usb cable since the
RPi's usb power setup is questionable at best.

Ideally, we'd have a cortex-m4 tightly coupled with an application
processor running linux. The beagleboard would indeed make a nice
reprap driver if what I read about it is accurate, except for the
pricetag and the complete lack of firmware.

Trevor Lewis

unread,
Jan 1, 2013, 12:38:25 AM1/1/13
to mendelmax
I meant in the general sense, it's a blast to prototype with. The Pi with Linux isn't suitable as an embedded system (though it performs well with stripped and tailored Linux implementations like OpenELEC). It is possible to code for it without an OS, and there are some good "bare metal" resources out there. I don't have the patience anymore to code at that level though. I honestly don't know if that would be sufficient to turn it into the next great RAMPS replacement.

My only major complaint with the Pi is that it will crucify itself to supply power to peripherals. The key is 1) don't power it via USB, 2) use a good power supply. 5V 2A will run the Pi, HDMI, wifi, and host a RAMBO. Pronterface runs like a champ, but slicing is best done on another machine. I'm not powering the RAMBO by USB so there is still plenty of juice. 

Using a Pi as a host is one of my current projects. I started with a BeagleBone, and the performance is better than the Pi, but I spent so much time cross compiling packages for it that I put it on a shelf. It's just not quite as friendly.

The BeagleBoard isn't so far off from a Bone, the PandaBoard would be a better alternative.

Regardless, ARM is the way to go.



--


Gert van den Berg (MoHaG)

unread,
Jan 1, 2013, 4:07:03 AM1/1/13
to mend...@googlegroups.com


On Monday, December 31, 2012 8:02:11 PM UTC+2, Colt Majkrzak wrote:

I’m no expert in the topic, so I guess let me try to fill in what I think I know, and hopefully it helps.

 

As far as I understand, the stepping settings is defining how many steps for a full turn of the motor shaft.  So in 1/16, 16 steps for a full turn, 1/8 would be 8 steps for a full 360 deg.

That is the normal steps. Most stepper have 200 steps (1.8 degrees per step) in a revolution (some have 400 (0.9 degrees per step)). (This, with any kind of normal pulleys should give you several steps per millimeter, even without microstepping) (My pulleys with 16x microstepping have 800 steps per mm, without microstepping, it is 50 steps / mm - that is 0.02 mm per step, which is more than fine enough for just about anything...)

With the "microsteps" the stepper driver creates intermediate "steps" by using partial currents to the coils to move to a value between steps, rather than to a full step.

The torque, per-microstep is less (wikipedia has a table), but for each missed microstep (up to a full step), the torque increase. (Disabling microstepping will not magically cure missed steps, it will make more noise though..)

The main advantage seem to be smoother movement, resulting in less noise... (A slight increase in accuracy as well, as long as you don't skip microsteps, but the accuracy without it is probabably more than enough)

Again I could be way off here, here’s a link though I just found that explains a stepper motor more http://en.wikipedia.org/wiki/Stepper_motor

On microstepping, this is also quite nice: http://www.micromo.com/microstepping-myths-and-realities.aspx

Gert

Gert van den Berg (MoHaG)

unread,
Jan 1, 2013, 4:15:30 AM1/1/13
to mend...@googlegroups.com


On Monday, December 31, 2012 9:08:22 PM UTC+2, Arthur Wolf wrote:

2012/12/31 John Driggers <jdri...@gmail.com>
RAMBO is a no started for me simply because you can't replace the stepper drivers easily in the even of a disaster. 

With *modern* allegro drivers, the only way to fry them is to connect/disconnect the stepper while it's powered on.
I think once you know it's a dumb thing to do, there is very little chance you will do it.

There are some other methods as well, the thermal cutoff is above the maximum operating temperature (for the A4988)...

I have also destroyed one by accidentally connecting the connecters offset by one pin. (The short circuit protection doesn't seem to work if you short between two coils' output...) This can be mitigated with different connectors that makes it harder to plug things in incorrectly.

The AZteeg X3 also seems like a decnt RAMPS alternative... (I got one for $99, still need to add driver though) (Probably a good idea to buy genuine Polulu drivers though)
 
There is a port of Sprinter to the 4pi, which runs a chip very similar to what is on the DUE.
And on the smoothieboard, the smoothie firmware ( which shares much code with Marlin/Sprinter/Grbl ) nowadays has most of the features you'd expect from a reprap firmware, and prints just fine.

ARM certainly seems like the future... The firmware options still seem relatively limited, but should improve over time... (You can argue that the AVR-based processors have too many firmware options...)

Gert

Mike Payson

unread,
Jan 1, 2013, 4:16:49 AM1/1/13
to mend...@googlegroups.com
On Tue, Jan 1, 2013 at 1:07 AM, Gert van den Berg (MoHaG) <ger...@gmail.com> wrote:


On Monday, December 31, 2012 8:02:11 PM UTC+2, Colt Majkrzak wrote:

I’m no expert in the topic, so I guess let me try to fill in what I think I know, and hopefully it helps.

 

As far as I understand, the stepping settings is defining how many steps for a full turn of the motor shaft.  So in 1/16, 16 steps for a full turn, 1/8 would be 8 steps for a full 360 deg.

That is the normal steps. Most stepper have 200 steps (1.8 degrees per step) in a revolution (some have 400 (0.9 degrees per step)). (This, with any kind of normal pulleys should give you several steps per millimeter, even without microstepping) (My pulleys with 16x microstepping have 800 steps per mm, without microstepping, it is 50 steps / mm - that is 0.02 mm per step, which is more than fine enough for just about anything...)

Trust me, your pulleys don't have 8-- steps per mm. The MendelMax ships with relatively small pulleys (~1/2" diameter-- 20 tooth, 2mm pitch) and we get 80 steps per mm at 1/16 step. If we went to single stepping it would be 1/16 that or 5 steps per mm.

I suspect you are thinking of your Z leadscrews, 800 steps per mm sounds about right there.

 

With the "microsteps" the stepper driver creates intermediate "steps" by using partial currents to the coils to move to a value between steps, rather than to a full step.

The torque, per-microstep is less (wikipedia has a table), but for each missed microstep (up to a full step), the torque increase. (Disabling microstepping will not magically cure missed steps, it will make more noise though..)

The main advantage seem to be smoother movement, resulting in less noise... (A slight increase in accuracy as well, as long as you don't skip microsteps, but the accuracy without it is probabably more than enough)

Again I could be way off here, here’s a link though I just found that explains a stepper motor more http://en.wikipedia.org/wiki/Stepper_motor

On microstepping, this is also quite nice: http://www.micromo.com/microstepping-myths-and-realities.aspx

Gert

--
 
 

Gert van den Berg (MoHaG)

unread,
Jan 1, 2013, 4:18:38 AM1/1/13
to mend...@googlegroups.com


On Monday, December 31, 2012 9:57:12 PM UTC+2, Maxbots wrote:
Absolutely, those are perfect examples of the reasons to move to ARM. My point is that until those features exist, there is little reason to upgrade.

Upgrading a perfectly fine AVR-based board to ARM doesn't make sense, but it MIGHT make sense for a new printer (If the cost is the same, and you are willing to deal with early adopter issues, it might be a good option...)

Gert

Gert van den Berg (MoHaG)

unread,
Jan 1, 2013, 4:30:17 AM1/1/13
to mend...@googlegroups.com


On Tuesday, January 1, 2013 3:29:14 AM UTC+2, Maxbots wrote:
On Mon, Dec 31, 2012 at 5:15 PM, Trevor Lewis <trevor...@gmail.com> wrote:
Considering where things are going it only makes sense to move to an ARM processor. The cost of an Uno is $25-30, the cost of a Pi is $35, and I can SSH to it. Yeah, I know just slapping some drivers on a Pi won't make it a motherboard for printing but I'll be damned if they don't make an awesome Arduino replacement. With the exception of the ADC of course, but I can live with that.

Actually I believe the Raspberry Pi makes a lousy Arduino replacement for our purposes. The IO pins on the Pi can't be switched fast enough to get suitable drive speeds out of the steppers. Ironically for all it's horsepower it is worse than a simple Arduino.

At least not on Linux... Might be possible running without an OS or with realtime patches...

I do see a use for it for all kind of other uses though... You can say let it handle the conversion for the kinematics of Delta bots, get the printer on the network, drive a user-interface (LCD, etc), allow for "hostless" printing (The Pi is technically the host). This can significantly lower the load on the Arduino... (I would connect it directly to the Pi's serial port on the GPIO header (level converter needed) and not use USB...) (If you change the interface to the Arduino to SPI, you should be able to drive several printers off one Pi as well or at least exchange data with quite quickly (might allow for things like a very quick to update temperature display))

Gert

Gert van den Berg (MoHaG)

unread,
Jan 1, 2013, 4:38:43 AM1/1/13
to mend...@googlegroups.com


On Tuesday, January 1, 2013 11:16:49 AM UTC+2, Maxbots wrote:
Trust me, your pulleys don't have 8-- steps per mm. The MendelMax ships with relatively small pulleys (~1/2" diameter-- 20 tooth, 2mm pitch) and we get 80 steps per mm at 1/16 step. If we went to single stepping it would be 1/16 that or 5 steps per mm.

Correct... (The circumference and steps / revolution is all that really matter in the calculation) 200 steps / 40 mm = 5 steps/mm...

Note to self: Always open the header before quoting numbers from it ;)

Gert

Greg. L

unread,
Jan 1, 2013, 2:36:29 PM1/1/13
to mend...@googlegroups.com
As someone who's looked into the firmware side of things extensively (and works in that field) I will also agree that the 2560 is completely outdated and underpowered for the 'next gen' of printing. Sure, it seems to work well enough now, but if you actually read the source, you'll see the hacks and inaccuracies of the system showing up left and right. Worse, what we have 'works' but is very... brittle, in that if we could just use floats rather than ints for things, and not have to worry about timing, and overflow, and such, the source would be both easier to read, write, and thus modify. How many of you have actually read the code base for Marlin and can follow it? (It's not easy!) There are a ton of desktop-level developers that might be able to help, but some of the more embedded-style tricks and things needed to make Marlin work make it unfriendly to piece-meal modification - it's not very well encapsulated or abstracted.

Going forward, what would really help is enough floating-point horsepower to run a nicer C++ (or even Java/C#) version of the firmware without worrying about performance extensively. Give it enough RAM to hold a large buffer of pre-planned steps, give it a fast enough communication system (Ethernet/USB2.0+) to not have to worry about communication stalls etc no matter the complexity of the geometry. Preferably, you'd want to be talking in 'seconds' of buffer, not lines of GCode - using guaranteed statements like "The system always stores the next 10 seconds of printing, and is doing lookahead on the next 5 seconds of printing, and we've calculated the worst-case for this, and our buffer will always look that far ahead".

LPC1769-based boards (e.g. Smoothie) can get there, but to truly be 'free' we'd want something with the M4+floating point, just so we can do float-based acceleration math properly, again without worrying. Long-term, we want our electronics to do anything we can imagine at only 40% utilization, so when someone comes up with a new feature, it can be added without stress. Currently, adding something to Marlin is actively hard, as any reasonable addition in either memory or compute time bogs it down.  That's one of the reasons you don't see firmware that's 'pushing new features' - there's no compelling reason or platform to write it for. Once Smoothie gets up and moving, it'll be a lot cleaner to read, and a lot easier to work with.

Having said that, I'll also plug my personal preference for the post-Smoothie generation: the NXP 4753, with FPU, LCD controller, and both an M4 and M0 on board. Available in LQFP at 200+ MHz, it'd also give the I/O performance we need (unlike the Pi, for example), as well as move us all towards either touch-based interface, or even just button-based LCD. I look at RepRap/3D printing as not just for us, but slowly moving out to the masses, and getting a more user-friendly system with a more easily maintainable/updatable code base is one of the steps along the way.

John Driggers

unread,
Jan 1, 2013, 10:49:13 PM1/1/13
to mend...@googlegroups.com
Very, very well written - and I'm not a programmer, I'm a hacker/scripter, so Marlin code makes me cross eyed - but all your points are spot on!

Jordan Miller

unread,
Jan 1, 2013, 11:19:18 PM1/1/13
to mend...@googlegroups.com
yes, kinen and Synthetos have a working version and it rocks. it purportedly solves all these math problems if I'm understanding it correctly.

jordan


--
 
 

Carl Cravens

unread,
Jan 13, 2013, 5:34:16 PM1/13/13
to mend...@googlegroups.com
A little late to the game here, but I had a comment on the Pi. I love them... there are three in the house, and my wife is working on a low-cost community "technology center" concept based around them.

But using the Pi as an example of "cost of ARM versus cost of AVR" is misleading... the Pi is sold at-cost and is well below normal market value for such a device. While the Pi might be made to adequately drive things, its price doesn't support the "ARM is the way to go" argument very well... similar ARM-based boards sold at profit are going to cost more, and I would be reluctant to base the future direction of 3D printer controller development on a single closed platform that may not be around in a couple years, or may be revised in a way that doesn't support a 3D printer controller's needs.

I do agree, ARM is very likely the future path of 3D printer controllers, unless the AVR line can step up its game... Atmel sees that same advantage ("the writing on the wall") and is producing their own ARM chips and have tailored their development environment to make moving to ARM development as smooth as they can.
> --
>
>


--
Carl D Cravens (ra...@phoenyx.net)
4 out of 5 people think the 5th person is an idiot.
Reply all
Reply to author
Forward
0 new messages