Donnerstag, 21. November 2013

Heated bed für Rostock Deltabot selber bauen und in Marlin und Repetier einrichten

Mithilfe einer Spiegelkachel aus dem IKEA und dem netten Glaser von nebenan, habe ich mir aus den quadratischen Kacheln runde Spiegel anfertigen lassen.
Bei PLA benötigt man eigentlich kein heated bed, aber besser ist es trotzdem. Ausserdem stand jetzt auch ABS drucken auf dem Plan und hierfür benötigt man es in jedem Fall. Also wurden fünf 11Watt 0.22 Ohm Widerstände zu einem heated bed umfunktioniert.
Schritt1: 5 Hochlastwiderstände unter den Spiegel kleben

Ca. 17 Ohm gesamter Reihenwiderstand

Thermistor hat 112kOhm

Eine M12er Imbusschraube wird mit Lötzinn aufgefüllt, damit sie mehr Fläche hat. Sie wird später in die Mitte der Scheibe geklebt.

80 x 80 mm Alu profil ca. 30mm hoch. von unten her verschraubt.
Durchbrüche für Kabel etc.

Auch die Imbusschraube wurde kopfüber geklebt...

Später noch etwas Heißkleber dazu (Bosch, Hochtemperatur)

Advent Advent. Eine rote Jumbo Kontroll LED mit 330 Ohm Vorwiderstand zeigt an wenn die 12V vom Sanguinololu durchgeschaltet werden. (Das ganze heated bed ist hier natürlich zum Testen noch verkehrt herum aufgelegt und nicht in den Alublock eingeschraubt.

Ein 100k Thermistor aus China dient zur Temperaturkontrolle.
Das ganze Arrangement wurde mit Sekundenkleber auf der Rückseite des Spiegels fixiert. In unserer Firma haben wir früher viel mit einem "Wundermittel" gearbeitet, dass sehr teuer war und als Wärmeleitkleber verwendet wurde. Letztlich war es dem Geruch nach auch Sekundenkleber.
Problematisch war das Aufheizverhalten der Konstruktion. Es dauert sehr lange bis die heißen Widerstände ihre Wärme an die Platte abgeben. Daher flog schon mal die Sicherung raus. Den Thermistor anders zu positionieren bringt auch nichts, da ich ja die Wärme der Platte benötige und nicht die am Heizwiderstand.
Nachdem ich zunächst auf die Idee kam, ein zweites Netzteil und ein Relais an den Sanguinololu anzuschließen um ihn so zu entlasten, sah ich mir die Firmware nochmals an.
Dort findet sich folgender Eintrag:

// If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the
// average current. The value should be an integer and the heat bed will be turned on for 1 interval of
// HEATER_BED_DUTY_CYCLE_DIVIDER intervals.
//#define HEATER_BED_DUTY_CYCLE_DIVIDER 4

den letzten Eintrag änderte ich erst mal so um, dass es aktiviert wurde (beiden Schrägstriche am Anfang entfernen)

#define HEATER_BED_DUTY_CYCLE_DIVIDER 10 

und lud das Ganze erneut hoch.

Das war nichts, also suchte ich weiter:

// 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.
// If this is enabled, find your own PID constants below.
//#define PIDTEMPBED
//
//#define BED_LIMIT_SWITCHING

wurde zunächst einmal aktiviert (Schrägstriche entfernen)

#define PIDTEMPBED (hier bin ich mir nicht ganz sicher ob die AKtivierung richtig war. Geschadet hat sie jedenfalls nicht.)
//
#define BED_LIMIT_SWITCHING

Was ist PID?

PID ist ein Regelverfahren, dass ich nie so richtig verstanden habe und daher erst mal außen vorlassen möchte. Regelverfahren haben nämlich die Eigenschaft, dass man mit minimalen Änderungen der Werte, alles wunderbar verstellen kann.

bang-bang?

Bang-bang oder zu deutsch AN/AUS - das ist genau mein Verfahren.  Heizung an, Heizung aus. Hysterese einstellen fertig. Das mag zwar nicht die große Gala sein, aber es ist überschaubar und auf PID kann man später immer noch umsteigen.

Genau unten drunter findet sich eine wichtige Einstellung:

// This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis)
// setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did,
// so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
#define MAX_BED_POWER 128 // limits duty cycle to bed; 255=full current // WAR ORIGINAL 255)

Den Wert von 255 habe ich also auf 128 fast halbiert. Somit wird schon einmal der Strom, der den Sanguinololu und das Netzteil belastet halbiert.

Somit dauert das Aufheizen etwas länger ( meine Control LED blinkt wild vor sich hin) aber die langsame Wärmeausbreitung führt eben zu einer gleichmäßigeren Stromlast.
Leider verabschiedete sich das Netzteil trotzdem nach ca. 5 Minuten und angezeigten 25 C° Betttemperatur. Die Widerstände hatten zu diesem Zeitpunkt rund 40 C°. Die Temperaturen habe ich mit der Laserpistole kontrolliert.

Also eine weitere Optimierung angegangen:

MAX_BED_POWER wurde auf 64 gesenkt, also rund dem Viertel des maximalen Stroms.

Das alles half zwar und die Dauer des Aufheizens verlängerte sich, letztlich floppte jedoch immer irgendwann das Netzteil (120 W, 2 A auf der 12V Schiene). Wäre auch noch der Extruder an gewesen, wäre das Netzteil schon beim Starten auf Streik gegangen.
 2A auf der 12V Schiene sind auch definitiv zu wenig. Man rechnet beim heated bed mit rund 10-15A. Also wird nichts anderes übrig bleiben, als ein neues Netzteil umzubauen und einen neuen Versuch zu starten...

Trotzdem sind die Erkenntnisse zu den Einstellungen der Firmware aufschlußreiche. Das selbst gebaute heated bed hat prinzipiell funktioniert, jetzt muss nur noch ordentlich Power her.

Ein Problem scheint jedoch die Wärmeausdehnung zu sein. So breitet sich die Wärme im Glas scheinbar nicht horizontal aus. Auf der Gegenseite der Widerstände war das Glas sehr heiß, während das Zentrum und die Ränder kalt blieben. Somit müsste man eigentlich noch eine Metallschicht zwischen Glas und Heizwiderstände bringen, um eine gleichmäßige Wärmeverteilung zu erzielen. Darüber muss ich mir also auch noch Gedanken machen.

Keine Kommentare:

Kommentar veröffentlichen

Vielen Dank für deinen Beitrag auf meinem 3D Drucker Blog.
Ich kümmere mich um die Freischaltung. Bitte habe Verständnis, wenn es mal ein wenig dauert, da ich dies in meiner Freizeit mache!

Marcel