# Specific 3D Printers, Scanners, & Hardware > RepRap Format Printer Forum > MakerFarm Forum >  Bonded Heat bed for 12"

## Chadd

Just curious if anyone would be interested in a 300mm x 300mm heat bed that is bonded to 3.2mm aluminum sheet? 

Thinking of ordering one for myself and with shipping it may be worth ordering 5 at a time. That would leave me with 4 extras, these are 12/24v. The price would be ~$86 each plus shipping from me to you once they arrive.

I am looking at this to help with my Z banding issue. I have narrowed most of the problem down to the heat bed and print surface "glass" warping up and down as the heat is turned on and off. I replaced my Y axis plate with aluminum and that helped quite a bit with with Z homing issues but I still have some banding while printing with the heated bed on.

----------


## BLKKROW

Wouldn't the aluminum act as a heatsink and pull heat away from the heat bed?

----------


## tsteever

I too am getting some z banding and haven't been able to fix it. I was thinking of getting a more powerful sower supply or replacing the z rods with 6mm lead screws. I will be watching this thread to see what the best route would be to combat this issue.

----------


## Chadd

> Wouldn't the aluminum act as a heatsink and pull heat away from the heat bed?



Most people print directly to the AL plate so you want the AL to transfer the heat from the element efficiently.

https://www.youtube.com/watch?v=UBneHZyadBQ

----------


## Chadd

> I too am getting some z banding and haven't been able to fix it. I was thinking of getting a more powerful sower supply or replacing the z rods with 6mm lead screws. I will be watching this thread to see what the best route would be to combat this issue.


Well here is my plan of attack for the Z banding.

1. Replace plastic tube Z axis couplers with metal ones.

2. Replace the threaded rod as mine have wobbled since new.

3. Change from a mechanical relay to a SS relay so I can setup PID on the heated bed to hopefully get rid of the up/down movement of the build plate while the heat comes on and off.

4. If none of the above work I will change to Bowden extruder to take the filament pulling up the X carriage out of the equation and replace the heat bed with a bonded aluminum heat bed.

5. If none of those work I will take the electronics and extrusions off the printer and throw away the piece of crap wooden frame and start from scratch.

----------


## pichuete

well i have done Steps 1 and 2 with no significant improvement . im pretty sure that in my case the heated bed is causing my banding . my layer offsets are not in a particular pattern . .as we usually see when Z banding is caused by threaded rods wobble .

Im curious about the SS relay but i dont know how this work . for what i understand the rambo board (what i have on my printer) is capable of doing PWM on the HB . but im not sure if it can handle the current . 

Also im planing to convert my I3v 12" to all metal similar to the new model that colin have on makerfarm (Pegasus) maybe if more users are interested in this solution we can work together to come with a good design.

----------


## lakester

idle speculation...

(FWIW..., the one mod I was contemplating was the addition of the bearing/guide for the top end of the z-rods..., haven't tried it yet)

..., back to speculation...

I wonder if a firmware mod might be worth a shot, specifcally, one that tweaks the "hysteresis" assumptions regarding bed heating.

My intuition doubts that the periodicity of heating cycles substantially change the overall expansion/contraction of the glass or overall structure in a fashion that would correlate with the z-banding issue.  The heating system is more or less responding to the behaviour of the portion of the system with the least thermal mass, i.e., the heating pad itself.  Is it really plausible that the overall structure responds significantly with the same periodicity?

I'm guessing that heat cycling correlates poorly with what is essentially a geometric effect in the form of z-banding.

Just the same..., maybe it would be worth reducing the hysteresis built into the heating algorithms and see if it changes anything wrt z-banding.

Again..., my feeling is that there is a geometric problem at work here, independent of heating..., but maybe if the heat cycling were tweaked..., it would help settle the issue once and for all.

0.02USD

(additional thought:  heck..., for the sake of experiment, what if we disabled heating altogether, and did a z-banding test print with PLA on blue tape?)

----------


## Chadd

I tried the bearing/guide on the top of the Z rods and it made the problem much worse.

These two videos show the difference between ON/OFF heat bed vs PID.

ON/OFF

https://www.youtube.com/watch?v=0T5BE5XC2-8

PID 

https://www.youtube.com/watch?v=RRSI2TJ3Trs

Those aren't my videos but some I came across. You have to figure with a 12" bed it would be even worse.




> idle speculation...
> 
> (FWIW..., the one mod I was contemplating was the addition of the bearing/guide for the top end of the z-rods..., haven't tried it yet)
> 
> ..., back to speculation...
> 
> I wonder if a firmware mod might be worth a shot, specifcally, one that tweaks the "hysteresis" assumptions regarding bed heating.
> 
> My intuition doubts that the periodicity of heating cycles substantially change the overall expansion/contraction of the glass or overall structure in a fashion that would correlate with the z-banding issue.  The heating system is more or less responding to the behaviour of the portion of the system with the least thermal mass, i.e., the heating pad itself.  Is it really plausible that the overall structure responds significantly with the same periodicity?
> ...

----------


## lakester

Cool demo of the problem (thx!).

2 questions:

1.  What does "PID" refer to?  (Sorry..., been puzzling on that...)
2.  What is the table structure of the Mendel90 in the vids?  What are its similarities to the MakerFarm wood+glass table?




> I tried the bearing/guide on the top of the Z rods and it made the problem much worse.
> 
> These two videos show the difference between ON/OFF heat bed vs PID.
> 
> ON/OFF
> 
> https://www.youtube.com/watch?v=0T5BE5XC2-8
> 
> PID 
> ...

----------


## super fly

PID=Proportional Intregal Derivative 
It's a feedback controller based on current change, future change, and past change. Each term is weighted to come up with an output (this is where PID tuning comes into play). I use one to controller my smoker temperature.

Also, here is a pretty lengthy write up on z banding. To be honest I haven't completely read through yet as I don't have my printer yet. I saved the link just in case I needed it later.
https://www.evernote.com/shard/s211/...c268dcdd2d687e

----------


## tsteever

I only now just started reading on the PID for the bed. I have done the autotune on the hotend. It was my assumption that you could not use the PID loop when using the heat bed relay. Is this the case? A quick google of Heat Bed PID made it sound possible. My assumption is that they are not using a relay however.

Also, I have read that document many times and I get something new from it every time. I think I have convinced myself even more to look into a 6mm lead screw with a single start. Can't find them in a 12" maker farm length however. 320mm is about the longest I have seen on amazon with a backlash nut.

----------


## lakester

Thx..., an excellent article!  I find myself wishing for that sort of diagnostic help a lot.

So if I understand it, per the article, the PID is an algorithmic function of the firmware..., and mentions it as a tuneable (in Marlin anyway).  This is what I was trying to get at when I was speaking of tweaking heat cycling/hysteresis. * In which case, the youtube vid that Chadd shared, would suggest that that the table expansion/contraction effects (if they're present in a particular machine) could be significantly improved with firmware tuning alone..., no hardware changes.*

The article also mentions testing with PLA and blue tape as a means of isolating the problem, i.e., determining if a problem exists sans heating effects.




> PID=Proportional Intregal Derivative 
> It's a feedback controller based on current change, future change, and past change. Each term is weighted to come up with an output (this is where PID tuning comes into play). I use one to controller my smoker temperature.
> 
> Also, here is a pretty lengthy write up on z banding. To be honest I haven't completely read through yet as I don't have my printer yet. I saved the link just in case I needed it later.
> https://www.evernote.com/shard/s211/...c268dcdd2d687e

----------


## lakester

Hmm.  If the PID still drives the heat bed in an on/off manner (but with what is in effect a tuneable duty-cycle), then I could imagine that a mechanical relay may not like that for very long.  In which case, switching to an SSR might be the answer.  OTOH, if the PID drives the heat bed in an analog fashion..., yah..., that's a different thing.  I guess my question is:  is the default MakerFarm firmware using the "PID" algorithm, or something else?

As for the lead screw, yah, that feels like the right solution (or at least a big part of it).  In my case, the machine is good enough as-is for what I'm doing..., though heat bed heat uniformity is becoming a bit of a problem...




> I only now just started reading on the PID for the bed. I have done the autotune on the hotend. It was my assumption that you could not use the PID loop when using the heat bed relay. Is this the case? A quick google of Heat Bed PID made it sound possible. My assumption is that they are not using a relay however.
> 
> Also, I have read that document many times and I get something new from it every time. I think I have convinced myself even more to look into a 6mm lead screw with a single start. Can't find them in a 12" maker farm length however. 320mm is about the longest I have seen on amazon with a backlash nut.

----------


## super fly

Yes to use PID you will need a solid state relay. The way the Marlin firmware works is using PWM I believe (like I said I don't even have my printer yet lol); meaning it would vary the frequency of the pulses to the relay in order to maintain the temperature of the bed. The mechanical really just can't turn on and off quickly enough for PWM to work. You would also probably need a heatsink for the relay more than likely if you are running it on 12v. In 24v maybe or 110v especially the problem goes away because there isn't as much current draw; P=VI. Of course you would then need a heat bed that would work on 24v or 110VAC.

----------


## Chadd

> Cool demo of the problem (thx!).
> 
> 2 questions:
> 
> 1.  What does "PID" refer to?  (Sorry..., been puzzling on that...)
> 2.  What is the table structure of the Mendel90 in the vids?  What are its similarities to the MakerFarm wood+glass table?



1. To put it simple PID uses PWM to control your bed temp so it turns the bed on and off very quickly to maintain the temp vs turning the bed on 100% for 5 seconds at time to maintain the temp. The reason you have to have a Solid state relay is because a mechanical relay can't handle the quick on and off switching. In that video link what you are seeing is the bed distorting when it turns on @100% power and then returning to its normal position after the power is off to the bed. The second video shows the same thing with PID, the bed switches on and off quickly to maintain the temp so it doesn't stay on/off long enough to show the change in distortion.

http://techteach.no/kybsim/pwm_control/index.php

2. The bed designs are pretty well identical.

----------


## Chadd

> Thx..., an excellent article!  I find myself wishing for that sort of diagnostic help a lot.
> 
> So if I understand it, per the article, the PID is an algorithmic function of the firmware..., and mentions it as a tuneable (in Marlin anyway).  This is what I was trying to get at when I was speaking of tweaking heat cycling/hysteresis. * In which case, the youtube vid that Chadd shared, would suggest that that the table expansion/contraction effects (if they're present in a particular machine) could be significantly improved with firmware tuning alone..., no hardware changes.*
> 
> The article also mentions testing with PLA and blue tape as a means of isolating the problem, i.e., determining if a problem exists sans heating effects.



As mentioned you have to switch from the mechanical relay to a solid state relay to use PID, but you wouldn't have to change anything other than that.

----------


## tsteever

Where does one get a solid state relay for use on the maker farm 12" heated beds? I'd switch if I could use a PID loop instead of the bang/bang programming we are now using.

----------


## printbus

PWM (Pulse Width Modulation) will vary the ratio of on time to off time in a pulse train, not the frequency of the pulses. 

Regarding Solid State Relays, note that for use with the existing 12V DC heater, you'd have to be sure to buy one meant for controlling DC outputs, not AC. A DC SSR will likely use a MOSFET. An AC SSR will likely use a triac.  SSRs are really nothing but the MOSFET or triac with driver circuitry in a standalone package.   As an example of one, here's the one often recommended for use with the PWM heater output on Smoothieboard - http://shop.uberclock.com/products/solid-state-relay-dc-to-dc.

----------


## lakester

Do the common arduino boards (aka RAMPS, RUMBA, etc) provide circuitry that facilitate the generation of a PWM signal?

Probably breaks down to two questions:

1.  Is there a performance hit on the cpu to generate a PWM signal for the heat pad (apart from some minor math computing the heating values)?
2.  In addition to the SSR, do you have to relocate the HB "signal" wiring to a different spot on the controller board that does support PWM, if the current location does not?

Have been googling a bit, and I can't tell for sure if there is any "helper" hardware on the common boards..., or whether the PWM is entirely software implemented...

----------


## lakester

Hmm..., think I have the answer.

Looks like it is a soft pwm...., a quick scan of the code doesn't reveal anything driving specialized pwm hardware.  Freq is around 7hz..., I guess that, masked in with the other soft pwms (e.g., for the HE), that amounts to writing to a couple of ports a few times a second, without especially critical timing requirements.  So, I'm guess'n it doesn't hurt performance much.

Cool.

I still think a PLA on blue tape test is worth doing, to see if it's worth going to any trouble in this regard at all.

----------


## printbus

What's needed here is someone already familiar with temperature control options in Marlin. For all I know, PWM control on the heater output is a simple configuration file change.  

The ATMEGA2560 processor provides a number of hardware PWM channels, but each is associated with a particular processor pin.  For purposes of flexibility regardless of underlying hardware, the Arduino libraries also support software-based PWM.  Software PWM can be used with any pin.  Software-based PWMs will typically run slower than possible in hardware, along with some cost in software overhead.  Slower doesn't mean they'd be unacceptably slow.  Assuming the 7 Hz rate is correct, a 7 Hz PWM frequency is still far faster than the bang-bang control loop.  

More info on the hardware-based PWM:  RAMPS D8, D9, and D10 are all connected to ATMEGA2560 pins that can be, at least theoretically, configured as hardware PWM outputs.  When configured for hardware PWM, RAMPS D8 for the default heat bed connection is derived from ATMEGA2560 timer/counter 4, as can be the D6 servo output.  Separate output compare registers for D6 (register OC4A) and D8 (register OC4C) are provided to allow the on/off ratio for D6 and D8 to be managed independently. With both derived from the same timer/counter, both D6 and D8 would have the same pulse train frequency.  The other output compare register on timer/counter 4, OC4B, is associated with an ATMEGA2560 pin that is not passed to RAMPS.

How much Marlin and the underlying Arduino libraries can already leverage the hardware-based PWM would be where someone with existing knowledge would help. I know more about the AVR processors themselves than I do about Marlin and Arduino.  

Understanding the internal workings of the hardware timers isn't trivial. The ATMEL datasheets are light on top-level info on how to make them work.  I typically look into Arduino sketches or C-code examples on avrfreaks when I need to do something new with them.

----------


## lakester

It appears as though Marlin does soft PWM (at least that's what it looks like in temperature.cpp), and that it is easy to enable HE and HB PID independently.  Per your comments about non-trivial hardware usage, it looks like the minimal cpu overhead for an acceptable and universal PWM solution is the way they went.




> What's needed here is someone already familiar with temperature control options in Marlin. For all I know, PWM control on the heater output is a simple configuration file change.  
> 
> ....

----------


## printbus

Soft PWM would make sense, since although the MEGA2560 board used in our case has a number of hardware PWM channels, not all motherboard types would.  I wouldn't be surprised if one could find a hardware PWM library to use though, similar to the way there are fast I/O libraries that leverage underlying hardware more efficiently than vanilla Marlin does.  

I didn't mean to exaggerate the complexity of the hardware PWM.  My point is that for someone not familiar with them, the hardware timers/counters can be daunting because of the extensive amount of flexibility ATMEL built into them.

----------


## lakester

Understood..., and thx for the specific pointer to an SSR.

When I have an excuse to unseal my next spool of PLA..., gonna give it the blue tape vs heated bed test.  And for sure..., a trip to Amazon for a new metric dial indicator is in the works.

And heck..., the SSR is probably worth it, even in bang-bang mode, just for the quiet.




> Soft PWM ....  
> 
> I didn't mean to exaggerate the complexity of the hardware PWM.  My point is that for someone not familiar with them, the hardware timers/counters can be daunting because of the extensive amount of flexibility ATMEL built into them.

----------


## Chadd

> Where does one get a solid state relay for use on the maker farm 12" heated beds? I'd switch if I could use a PID loop instead of the bang/bang programming we are now using.


I ordered one from Amazon, it should be here tomorrow or Monday, if it works ok I will post a link to it.

----------


## Chadd

I did this test with my printer last week. The Z banding was much better but I still had a periodic Z band spaced at ~.8 mm so to me that indicates that there is still some issue with hardware as .8 mm is the pitch of the threaded rods.

The banding with the heat bed on is horrible so I know that the heat bed is causing the majority of the issues.

I am just going to go down my list of things and try to get it taken care of, too many people are having banding issues with the 12" printers so there has to be some inherent issue with the design/components used in them. I think we will find it is a combination of things that are stacking up and causing the problems.




> Understood..., and thx for the specific pointer to an SSR.
> 
> When I have an excuse to unseal my next spool of PLA..., gonna give it the blue tape vs heated bed test.  And for sure..., a trip to Amazon for a new metric dial indicator is in the works.
> 
> And heck..., the SSR is probably worth it, even in bang-bang mode, just for the quiet.

----------


## lakester

Hey Chadd:  would you be able to post A/B photos that illustrate the difference w/ heated vs not heated?  It would be cool if for no other reason that it's kinda rare to see "smoking gun" diagnostic photos related to 3d printing!




> I did this test with my printer last week. The Z banding was much better but I still had a periodic Z band spaced at ~.8 mm so to me that indicates that there is still some issue with hardware as .8 mm is the pitch of the threaded rods.
> 
> The banding with the heat bed on is horrible so I know that the heat bed is causing the majority of the issues.
> 
> I am just going to go down my list of things and try to get it taken care of, too many people are having banding issues with the 12" printers so there has to be some inherent issue with the design/components used in them. I think we will find it is a combination of things that are stacking up and causing the problems.

----------


## tsteever

Here is where I am getting confused. My current setup is a Rumba which sends a 12 volt voltage to the relay to open and close letting higher current flow through the relay. This isn't a PWM signal. Can one simply reconfigure the firmware to send the appropriate signal to a SSR via the same wiring or is a different approach required.

----------


## lakester

From looking at configuration.h and temperature.cpp, it would appear that the answer is yes.  

Looking at the Makerfarm Configuration.h, it's sorta interesting though.

here are some comments from the file:




> // Bed Temperature Control
> // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis
> //
> // Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder.
> // If your PID_dT above is the default, and correct for your hardware/configuration, that means 7.689Hz,
> // which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating.
> // This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W heater.
> // If your configuration is significantly different than this and you don't understand the issues involved, you probably
> // shouldn't use bed PID until someone else verifies your hardware works.
> ...


This suggesting that hysteresis is NOT enabled by default on the Makerfarm.

Which is weird..., cuz it sure seems to ACT like some kind of hysteresis is being accounted for..., but I guess not.

SO..., it might be worth a shot enabling "BED_LIMIT_SWITCHING" if it enables a mechanical relay friendly form of hysteresis management.

Otherwise..., PID + SSR seems to be the way to go.

Of course..., your mileage may vary...  :Wink: 




> Here is where I am getting confused. My current setup is a Rumba which sends a 12 volt voltage to the relay to open and close letting higher current flow through the relay. This isn't a PWM signal. Can one simply reconfigure the firmware to send the appropriate signal to a SSR via the same wiring or is a different approach required.

----------


## Chadd

> Hey Chadd:  would you be able to post A/B photos that illustrate the difference w/ heated vs not heated?  It would be cool if for no other reason that it's kinda rare to see "smoking gun" diagnostic photos related to 3d printing!


Here is a picture, I am sure you can guess what one is with the heated bed on.

IMG_20150829_000447.jpg

These two were printed with the exact same settings on both, except the one on the left is with the heated bed on the one on the right is with the heated bed off. As I mentioned earlier even with the bed off I still have some periodic banding at .8mm intervals.

----------


## lakester

Now THAT illustrates the point..., thx!

Is that just the standard 24mm cube?




> Here is a picture, I am sure you can guess what one is with the heated bed on.
> 
> Attachment 7083
> 
> These two were printed with the exact same settings on both, except the one on the left is with the heated bed on the one on the right is with the heated bed off. As I mentioned earlier even with the bed off I still have some periodic banding at .8mm intervals.

----------


## lakester

Chadd:  Another couple of questions:

Is the banding effect equal on the 4 vertical faces?  Or is it equal on opposing faces?  Just wondering if it's dominant on one axis or the other.

The other question:  is your heat bed "pre" or "post" stiffener upgrade? (The ribs underneath the bed that Colin added after the warping problem became really apparent).

I ask because when I look at the 24mm cubes I first printed, they don't show anything like the effects you're showing.  BUT..., not too long ago, I went around and did a general tightening of things, in particular the belts and x-carriage, and ended up with some artifacts I didn't have before.  I haven't tried reprinting a cube since "the tightening"..., but I wonder if it would show something similar to what you're seeing now...

----------


## Chadd

Yes the banding is the same on all four sides. 

I have replaced the wood heat bed mount with an aluminum one, my stock wood plate would warp so bad that the rollers would come in contact with the cross brace at the back of the printer.




> Chadd:  Another couple of questions:
> 
> Is the banding effect equal on the 4 vertical faces?  Or is it equal on opposing faces?  Just wondering if it's dominant on one axis or the other.
> 
> The other question:  is your heat bed "pre" or "post" stiffener upgrade? (The ribs underneath the bed that Colin added after the warping problem became really apparent).
> 
> I ask because when I look at the 24mm cubes I first printed, they don't show anything like the effects you're showing.  BUT..., not too long ago, I went around and did a general tightening of things, in particular the belts and x-carriage, and ended up with some artifacts I didn't have before.  I haven't tried reprinting a cube since "the tightening"..., but I wonder if it would show something similar to what you're seeing now...

----------


## lakester

So your "y table sandwich" is the following, from bottom to top?


aluminumcork(?)heat padglass

I wonder if that "system" is just simply more responsive/compliant than with the wood.  It fixes the big warping problem, but is more prone to the cycling error.

FWIW, I looked at the hysteresis management code in Marlin.  I'd swear that my system operates exactly like the code would have it, if it were enabled..., which it supposedly isn't.  Just the same..., it's a very dumb implementation, and not particularly tuneable..., doesn't seem worth fiddling with.

Enabling PID on the other hand seems like the way to go, maybe especially with an aluminum table.




> Yes the banding is the same on all four sides. 
> 
> I have replaced the wood heat bed mount with an aluminum one, my stock wood plate would warp so bad that the rollers would come in contact with the cross brace at the back of the printer.

----------


## Chadd

> So your "y table sandwich" is the following, from bottom to top?
> 
> 
> aluminumcork(?)heat padglass
> 
> I wonder if that "system" is just simply more responsive/compliant than with the wood.  It fixes the big warping problem, but is more prone to the cycling error.
> 
> FWIW, I looked at the hysteresis management code in Marlin.  I'd swear that my system operates exactly like the code would have it, if it were enabled..., which it supposedly isn't.  Just the same..., it's a very dumb implementation, and not particularly tuneable..., doesn't seem worth fiddling with.
> 
> Enabling PID on the other hand seems like the way to go, maybe especially with an aluminum table.



Yes that is how mine is setup. I had the same banding issues with the original wood plate also, but if I had a long print the wood would warp enough to cause the Y axis to crash into the rear support.

----------


## tsteever

At the beginning of this discussion, I understood what was being discussed...but now I am loosing grasp of the concepts. I too have the Aluminum bed to combat the warping and I have also have the banding issues. 

What is the hysteresis being referenced?


To start my understanding, would the current output on the Rumba that opens and closes the relay also be used to control the SSR? Or are other changes needed?

----------


## BLKKROW

I have also been printing PLA with the heatbed off and my banding issues have disappeared. After I finish a set of prints for a friend I will be switching to the aluminum bed to see if that fixes everything.

I am really interested in PID and will be watching this thread closely.

----------


## Chadd

> I have also been printing PLA with the heatbed off and my banding issues have disappeared. After I finish a set of prints for a friend I will be switching to the aluminum bed to see if that fixes everything.
> 
> I am really interested in PID and will be watching this thread closely.


Switching to an AL bed alone did not fix the issue for me, it did help but didn't take care of the issue 100%. Again I think it is several issues stacking up causing the problem.

----------


## Chadd

> To start my understanding, would the current output on the Rumba that opens and closes the relay also be used to control the SSR? Or are other changes needed?


To my knowledge yes the current output should be able to drive the SSR using PID. That's my plan at this point in time and I will find out for sure as soon as my SSR gets here.

I also think that the Aluminum Bonded MK3 heat bed that I mentioned at the start of this thread would fix the issue and I would like to swap to one but, the issue with that is that I can't find anyone carrying the MK3 bed in 12" and it would require ordering it directly from China and to order a single bed it would cost ~$100. I am going to have a $1500 makerfarm by the time I am done trying to fix the issues with it.

----------


## printbus

> ...would the current output on the Rumba that opens and closes the relay also be used to control the SSR?


As Chadd said, yes the existing output should be fine.  The heater is still controlled by the controller output toggling in a digital, off and on way between 0V and 12V. All the discussion is in regards to the software algorithm behind how that output is being toggled.  

"Bang Bang" is like your typical dumb thermostat. Heat stays on until an upper threshold has been met and heat will then shut off.  Heat will stay off until a lower threshold is met, and heat will then turn on again.  Hysteresis is the difference between the upper and lower thresholds.  Simple and easy to implement.  I don't know what the relationship of set point to hysteresis is in Marlin, but I assume the desired set point would be in the middle of the hysteresis window.  One problem with bang-bang is that some amount of overshoot and undershoot is a given.  For example, when the lower threshold is met and the heater is turned on, it'll take a bit for the heat to make a difference. In the meantime, the temperature continues to drop off, leading to undershoot.  

PID adds smarts to this, using a model that "predicts" what it will take to maintain the temperature.  The algorithm might turn off the heater a bit early as the threshold nears, knowing the temperature will still creep up a bit to reach the upper threshold. Likewise, it'll turn on the heater a bit early before the lower threshold is hit in order to keep the measured temperature from undershooting too low.  It can even start to toggle the control output as threshold approach.  "Tuning the PID" involves the software characterizing the system typically through a number of heating and cooling cycles.  The tuning results in some coefficients that can be plugged into the predictive algorithm to optimize it for the specifics of your printer and environment - heat quickly but without a lot of overshoot. 

Applying Pulse Width Modulation (PWM) will refine this a step further. Instead of crudely turning heat on and off early in advance of reaching a threshold, PWM can constantly toggle the heater on and off at a comparatively fast rate.  "More heat" is obtained by increasing the ratio of on-time to off-time.  Cooling is obtained by decreasing the ratio.   This is no different than using PWM to control LED brightness.  The LED is always either fully off or fully on. "Brighter" is obtained by more on-time.  Dimmer is obtained by less on-time. If the PWM frequency is fast enough, the eye doesn't see the LED being constantly toggled on and off, and what you get is an "averaged" brightness level.  Now leverage this to a printer.  Toggle the heater on and off fast enough, and what you get is an averaged amount of heat. 

I don't know what options Marlin has, but in a generic sense use of PID is not necessarily tied to using PWM.  For example, I know the temperature controller on my green egg smoker is PID based but it does not use a PWM to control the speed of the airflow fan on the firebox.  Marlin might have a similar way of applying the PID algorithm with a mechanical relay, but the SSR is going to be requirement if the PID algorithm inherently includes using PWM to toggle the output at a high rate.

DISCLAIMER: I may have some the specifics less than perfectly accurate, but this should help with some of the fundamentals involved.

----------


## tsteever

Thanks Printbus, that makes a bit more sense. 

Chad, do you have a Rumba? I will be waiting in line for a SSR once you get it working! I think I will explore this, and upgrading to Lead screws before changing out the heat bed.

----------


## printbus

A few closing comments before I try and stay out of this (really, I promise).

An SSR is an electronic device, not mechanical.  I've already mentioned there is a functional difference between an SSR for switching an AC load vs DC load.  Note that the outputs on an SSR for DC control have a polarity to them.  This needs to be considered when you're wiring them up.  I don't know from first hand experience if wiring them backwards will damage them, but they certainly won't work that way.  Unlike (most) mechanical relays, the control input to a SSR are also polarized. 

Being an electronic device, "on" resistance is going to be more of a concern that it was with the mechanical relay.  I've read comments of some SSRs people bought for 3D printer heat bed  use where they complain the on resistance was unacceptably high, even  though their heater drew less than the SSR rated current.  The more on resistance the SSR has, the more power you'll lose as heat in the SSR. Some SSRs state they need to be installed on a heatsink to operate at the rated load current, and that internal power dissipation explains why.  If the SSRs you are looking at don't specify the on resistance, consider purchasing one for a higher current than you need.  A 40 amp SSR will likely have less on resistance than one rated for 25 amps.  Yeah, the heftier ones or ones that specify a lower on resistance will cost more.  

In retrospect, beefing the hell out of heat bed wiring in order to reduce warm up time may have aggravated the problem.  It could be that Marlin was inadvertently sort of optimized around a slower responding heat bed.  All it would have taken is for the person developing the control loop to have an inefficiently wired heater.  

For those comparing quality between printing PLA on a heated bed and printing on a cold bed, consider that there may be another factor involved in any difference that you see. I know that on some small prints of mine, heating the bed has seemed to add just enough residual heat that the PLA part never properly cooled until the print completed.  This meant that the entire print involved layers extruding onto material that was softer than if I printed on a cold bed.  Extruding onto soft material is another easy way to end up z artifacts.  For example, I know I've seen this happen on 20mm calibration cubes if the infill is high enough. This may not be as much of an issue for ABS, but I've been surprised at what it can take for PLA to cool. Adding more heat from the print surface just makes this worse.

----------


## pichuete

Thanks printbus for all the info. I'm happy to inform that I finally manage to solve my banding issue. . I bought a 3/16 aluminum 6061 plate(a little overkill) And replaced my glass. Also I drilled holes in each corner to fix it with the y plate using spacers with the pcb in between of curse. Since I have abl running already this doest affect my first layer consistency .

This constricted the pcb so it can only flex down on heat cycles without affecting the z height. 

My print quality now is great. So definitely the heated bed was causing my banding .

----------


## BLKKROW

> Thanks printbus for all the info. I'm happy to inform that I finally manage to solve my banding issue. . I bought a 3/16 aluminum 6061 plate(a little overkill) And replaced my glass. Also I drilled holes in each corner to fix it with the y plate using spacers with the pcb in between of curse. Since I have abl running already this doest affect my first layer consistency .
> 
> This constricted the pcb so it can only flex down on heat cycles without affecting the z height. 
> 
> My print quality now is great. So definitely the heated bed was causing my banding .


Can I ask how much space do you have between your Glass and PCB?

----------


## Chadd

I figured as much, I may go ahead and order one of the MK3 bonded heat beds and being done with it. So basically to fix the issues with the 12" printer you have to rework the Y bed assembly. The majority of the problems I have had with mine are related to the Y bed. Everything from inconsistent Z axis homing, first layer issues, banding, to Y axis crashing. 

I would be hesitant to tell anyone to buy one of the 12" printers without getting the aluminum bed and also doing something with the heat bed itself.




> Thanks printbus for all the info. I'm happy to inform that I finally manage to solve my banding issue. . I bought a 3/16 aluminum 6061 plate(a little overkill) And replaced my glass. Also I drilled holes in each corner to fix it with the y plate using spacers with the pcb in between of curse. Since I have abl running already this doest affect my first layer consistency .
> 
> This constricted the pcb so it can only flex down on heat cycles without affecting the z height. 
> 
> My print quality now is great. So definitely the heated bed was causing my banding .

----------


## pichuete

20150829_231654.jpg here is a picture that better illustrate what i did . the only problem of this method is that you need to have a reliable ABL because im not longer able to level my bed .

Also im planning to put the thermistor inside the aluminum bed similar to the ED3d in some place near the edge of the plate so i can actually read the bed temp not the PCB.

----------


## tsteever

Wow, that is a lot of aluminum. Did you have to adjust your acceleration settings or jerk settings at all? I'm thinking if I went that route I would want to take my aluminum bed to a shop and have them mill some holes in it to reduce the weight.

----------


## pichuete

> Wow, that is a lot of aluminum. Did you have to adjust your acceleration settings or jerk settings at all? I'm thinking if I went that route I would want to take my aluminum bed to a shop and have them mill some holes in it to reduce the weight.


Yeah. I'll probably should bought a 1/8 instead.  I haven't had issues but my acceleration and jerk setting where low already..  1000 for acceleration and 15 xy  jerk 

I regularly print slow 30m/s for outter perimeters..  And no more than 60 for infil

----------


## tsteever

I wonder if there would be a way to mount the aluminum so you could still level the bed. Would clipping it to the glass just defeat the purpose? I like the idea of a PID loop so i will be watching this for a report. If the SSR are as inefficient as it sounds a separate power supply may be needed. My voltage already drops from 13v to 10.5 or so when the heated kicks in and the LED lights flicker quite badly. How much amp draw would just the board and motors take. 10amps? 15?

----------


## printbus

> ...My voltage already drops from 13v to 10.5 or so when the heated kicks in and the LED lights flicker quite badly. How much amp draw would just the board and motors take. 10amps? 15?


Both RAMPS and RUMBA are protected to 5 amps on the 12V input that supplies the logic, motors, and extruder heater.   RAMBO is a little different in that it separates the power for the extruder heater and fan outputs to an additional 12V input (also limited to 5A). 

Having a power supply that fluctuates with load like that is not good.

----------


## super fly

> I wonder if there would be a way to mount the aluminum so you could still level the bed. Would clipping it to the glass just defeat the purpose? I like the idea of a PID loop so i will be watching this for a report. If the SSR are as inefficient as it sounds a separate power supply may be needed. My voltage already drops from 13v to 10.5 or so when the heated kicks in and the LED lights flicker quite badly. How much amp draw would just the board and motors take. 10amps? 15?


Is it an ATX supply? If so you may need a load resistor on one of the rails; probably 5V. Try it on the 3.3V and 5V and 12V and see where you get the best results.

----------


## tsteever

Nope, it is a power supply from Amazon. I guessing it is just a very cheap unit. So I could power the Rumba, motors, and extruder from a separate 12V 5amp power supply?

----------


## rhonal89

Here is a picture of a minion.  Never had a problem maybe it was the way it was built. Also have dual extruder.  Dual flex. Only problem I always had was when I buy cheap filament. Makerfarm i3v 12inch 6 mm thick glass.

----------


## rhonal89

Here are some more picture of minion large and minion key chain I made. The quality is great. Also picture of nasa wrench and dual extruder from itty bitty flex all red is ABS red. And yellow is PLA.


http://imgur.com/aa5adM5
http://imgur.com/SJySlbo
http://imgur.com/cRdz91E
http://imgur.com/bJD551l
http://imgur.com/vT49S1G
http://imgur.com/g3olCbM
http://imgur.com/6rQncjr
http://imgur.com/vW8EDxY
http://imgur.com/v9WgBcj

Red

http://imgur.com/a/anEOv
http://imgur.com/BegTf7w
http://imgur.com/At2aE2Z
http://imgur.com/zCkvZo8
http://imgur.com/I9TzoXh
http://imgur.com/8UXT4Ia
http://imgur.com/bv7dQ4b

----------


## Chadd

I would be happy with that also.. Maybe your 6mm glass is keeping the warpage to a min.




> Here is a picture of a minion.  Never had a problem maybe it was the way it was built. Also have dual extruder.  Dual flex. Only problem I always had was when I buy cheap filament. Makerfarm i3v 12inch 6 mm thick glass.

----------


## rhonal89

That is a upgrade. Hopefully with everything you are doing it will help with the layer problems. I like to stick with pla if i have a choice. I think is easier to print. I too order and received the aluminium plate from colin and as my bed warps but the glass has helped me alot. That is the reason why i bought it. Other problem I do find is if you look at the big minion eyes you would see like waves I don't mine this but this is something i would like to take care of. I haven't tighten my belts or checked them since January this year. Maybe they are loose a little Maybe that problem lies here. I think Printbus documented this.

Also I like to print this color yellow PLA at 215 bed at 60. 
Red ABS 240 bed 110.

More ABS prints 
http://imgur.com/BegTf7w
http://imgur.com/At2aE2Z
http://imgur.com/zCkvZo8
http://imgur.com/I9TzoXh
http://imgur.com/8UXT4Ia
http://imgur.com/bv7dQ4b




> I would be happy with that also.. Maybe your 6mm glass is keeping the warpage to a min.

----------


## Chadd

Well I finally got around to measuring my bed warpage with a dial indicator. I wasn't able to get it all the way to the center of the bed to measure it but I am seeing ~.3 mm change in bed height when the heater kicks on. It isn't a gradual change at all and it cycles up and down as the heater turns on and off.

So if I am printing at .2mm layer height the bed is warping more than a full layer each time the heater kicks on and off. My SSR came in today and I am planning on getting it swapped out tonight or tomorrow so I hope that setting up PID will take care of the problem.

----------


## BLKKROW

So I have printed some test parts with the new aluminum Y bed and found that with the new Y bed and the heat bed on, it has decreased the Z banding quite a bit. 

It isn't perfect just yet as there is still some signs of it, so I printed with the heat bed off and found no signs of Z banding issues. My next upgrade was going to be thicker glass. Thank you to rhonal89 for providing your glass thickness!

----------


## rhonal89

Glass thickness was what helped a lot.  If the heat bed warped the glass held. Also it still heats up quite nicely for abs.  I had the same problem like everybody here. Before the glass the heatbed would warp so bad. That leveling the bed was render useless. It would bow down in the middle really bad with thin glass.  Also that minion was a 8 hour print. Printed 3 back to back as gifts. I showed them to some guest I had over they said is Disney must be expensive.  I said no I printed it.  They give it a value of 30 dollars if it was painted at a Disney store 




> So I have printed some test parts with the new aluminum Y bed and found that with the new Y bed and the heat bed on, it has decreased the Z banding quite a bit. 
> 
> It isn't perfect just yet as there is still some signs of it, so I printed with the heat bed off and found no signs of Z banding issues. My next upgrade was going to be thicker glass. Thank you to rhonal89 for providing your glass thickness!

----------


## voodoo28

Your Prints are looking Great!



> Here are some more picture of minion large and minion key chain I made. The quality is great. Also picture of nasa wrench and dual extruder from itty bitty flex all red is ABS red. And yellow is PLA.
> 
> 
> http://imgur.com/aa5adM5
> http://imgur.com/SJySlbo
> http://imgur.com/cRdz91E
> http://imgur.com/bJD551l
> http://imgur.com/vT49S1G
> http://imgur.com/g3olCbM
> ...

----------


## rhonal89

Thanks to you!




> Your Prints are looking Great!

----------


## printbus

> ...So I could power the Rumba, motors, and extruder from a separate 12V 5amp power supply?


Personally, I'd go for more than 5 amps.  Without measuring, I'd assume the input can draw 5 amps, and then it's usually good to have 20-30% margin. The margin is especially important if there's ANY doubt to how much you can trust the rating for the power supply you have.  I'd probably see what I could find in the 7.5 amp range or larger.  I'd also keep them set to 12V, not 13V, in order to reduce variables I'm adding into the mix.

----------


## rhonal89

That is a indication of why your layer change with that cubed you shared. Hopefully next update you shared you would have figure out your problem. Also remember the heat bed also warps not just the wood bed. 




> Well I finally got around to measuring my bed warpage with a dial indicator. I wasn't able to get it all the way to the center of the bed to measure it but I am seeing ~.3 mm change in bed height when the heater kicks on. It isn't a gradual change at all and it cycles up and down as the heater turns on and off.
> 
> So if I am printing at .2mm layer height the bed is warping more than a full layer each time the heater kicks on and off. My SSR came in today and I am planning on getting it swapped out tonight or tomorrow so I hope that setting up PID will take care of the problem.

----------


## Chadd

I replaced the wooden bed a while back with AL so in my instance it is heat bed warpage only.




> That is a indication of why your layer change with that cubed you shared. Hopefully next update you shared you would have figure out your problem. Also remember the heat bed also warps not just the wood bed.

----------


## rhonal89

Here is probably a good fix am also thinking on doing for better prints. Look for a appropriate 12 inch flat heatbed that has it wire solder out of the heatbed not under like the makerfarm I seen some that do this. And clamp it to the aluminum bed and clamp the glass also like make a sandwich some how and use autobed level to level the bed. And counter sink the screws on the aluminium bed so it won't interfere. 




> I replaced the wooden bed a while back with AL so in my instance it is heat bed warpage only.

----------


## Chadd

Well I got the Solid state relay hooked up and PID setup for the bed. 

So far the results are very good, once up to temp the bed only moves ~0.03 mm vs the .3 mm movement before. It seems like PID is the silver bullet for my Z banding, I think there are multiple ways to fix this as have been mentioned in this thread. One good thing about the PID setup is that the bed temp is rock solid and doesn't move off the setpoint.

Here is the relay that I used.

http://www.amazon.com/Lightobject-ES...id+state+relay

Make sure you get a heatsink for it as well as some thermal paste to put in between the two. Also the relay didn't come with mounting screws so you will need a few screws to mount the relay to the heatsink, mine were 4mm for the heatsink I bought. I can't vouch for the long term reliability of the relay as I have only used it to test and to print the cube for comparison.

Here is a comparison between the prints. From right to left, No Heat, Bang Bang "stock setup", and SSR with PID Heat. To me the result is pretty amazing, even the first layer is much better with no voids in it.

IMG_20150902_140057.jpg

These were all printed with the exact same settings .2mm layer height, 250° extruder, 110° bed in ABS there were no other changes to the printer other than installing the solid state relay and setting up PID on the bed. Even though I have all the parts to replace the threaded rods and couplers I am not in any hurry to do it because of how good the PID results were.

Hope this helps others out there as I can verify that this fixed my Z banding issue. 

I have battled this since I got this printer and IMO a SSR and an aluminum plate for the Y axis should be included with the kit along with instructions to setup PID. I know that the Makerfarm is a kit printer and you should expect to do some tinkering with it to get it printing good parts but as long as you assemble and tune the printer correctly you should be able to expect to produce acceptable prints using the parts that came with the kit.

----------


## lakester

Thx for sharing your research and results Chadd.  

When you did the PID calibration..., how did you store the calibration numbers?  In the firmware?  NVRAM? ???

----------


## rhonal89

That PID cube looks great. I do the same. Every little help in achieving better print quality. As you say my temp changes often also. Also are you telling me ever since you got the printer with the heatbed on your cube would come out like the middle cube.

----------


## rhonal89

Also you should open up a new thread and write up a instruction for us all that are looking on doing this. Because it seem cheap and why not do it if it would improve on print quality. Thanks.

----------


## Chadd

> Also you should open up a new thread and write up a instruction for us all that are looking on doing this. Because it seem cheap and why not do it if it would improve on print quality. Thanks.


I will make a separate thread dealing with the PID setup.

----------


## Chadd

> Also are you telling me ever since you got the printer with the heatbed on your cube would come out like the middle cube.



Yes, but it was actually worse than that before I replaced my Y bed with aluminum.

----------


## rhonal89

Thank You!!! Hope this helps you greatly. And those upgrade you meaning on doing. Will truly helps when you get there.

----------


## rhonal89

Wow I get your frustration is you were getting prints like that.  Hope this takes care of all those layer problems. And the sound of it if it was because of the heatbed this should help out alot. And now that you say it. I think is the 6mm thick glass that is helping me with those kind of print. Reason is when I have my heat bed temp at 110 I can see it bow below my glass.




> Yes, but it was actually worse than that before I replaced my Y bed with aluminum.

----------


## Carrot_or_Stick

> Yes, but it was actually worse than that before I replaced my Y bed with aluminum.


I had this same exact issue with my 12" and found a quick solution was to shim up the middle of the bed with cork to remove any room for warping.  Not the best solution since it made leveling much more complicated. So I am very excited to see your results and can't wait to try it myself. Great job Chadd!

----------


## Chadd

Here is the thread on PID setup.

http://3dprintboard.com/showthread.p...7322#post67322

----------


## Chadd

You enter them in your Configuration.h file. You also need to enable PID for the heat bed. I started a separate thread on the PID setup.

http://3dprintboard.com/showthread.p...7322#post67322




> Thx for sharing your research and results Chadd.  
> 
> When you did the PID calibration..., how did you store the calibration numbers?  In the firmware?  NVRAM? ???

----------


## tsteever

So I think I too will be making the ssr switch. While I am at it I also think my power supply may need an upgrade. What are you using?

i did not get the unit called out from open builds as they were out of stock. My supply came from Amazon. As stated before, my voltage has drastic swings when the bed kicks in. I'm thinking instead of two supplies I may just get a 40 amp power supply.

----------


## Chadd

> So I think I too will be making the ssr switch. While I am at it I also think my power supply may need an upgrade. What are you using?
> 
> i did not get the unit called out from open builds as they were out of stock. My supply came from Amazon. As stated before, my voltage has drastic swings when the bed kicks in. I'm thinking instead of two supplies I may just get a 40 amp power supply.


I am using a supply that i got from amazon, this is the unit I got

http://www.amazon.com/gp/product/B00...rch_detailpage

----------


## tsteever

Have you checked your voltage at all?

----------


## Chadd

> Have you checked your voltage at all?



Yes it stays over 12V even while printing. Most of these power supplies have an adjustment pot on the to adjust the voltage. I have mine adjusted up to ~12.8 at idle and it drops to just over 12 while printing.

----------


## tsteever

Even when the bed cycles on and off? I have a fan on the board, some LED strip lights, a print fan, and the extruded fan. When my 12" bed kicks on the lights flicker and the voltage drops significantly. Bad power supply?

----------


## Chadd

> Even when the bed cycles on and off? I have a fan on the board, some LED strip lights, a print fan, and the extruded fan. When my 12" bed kicks on the lights flicker and the voltage drops significantly. Bad power supply?


Yes even with the bed heater on. What is the amperage of your power supply? If it is adequate I would say you either have a bad power supply, too small gauge DC power wires or poor connections or a combination of things.

----------


## tsteever

It is 30 Amp from Amazon. My wire is 12awg wire. I guess I will investigate.

----------

