Heattower M104 SXXX Befehle werden ignoriert

Probleme mit dem Druckbild, Betthaftung oder Filament selbst? Hier rein!
Antworten
Benutzeravatar
riff-raff
Unterstützer
Beiträge: 405
Registriert: Do 19. Apr 2018, 14:35
Drucker: ANET A8 -> CubeAnet8
Slicer: Slic3r
CAD - Software: Solidworks, Inventor
Hat sich bedankt: 18 Mal
Danksagung erhalten: 33 Mal

Heattower M104 SXXX Befehle werden ignoriert

#1

Beitrag von riff-raff » Di 12. Mär 2019, 08:06

Ich war gestern wieder einem Kumpel beim Umbau seines Anet A8 unterstützen und wir sind auf ein Problem gestoßen.
Beim Druck eines Heattowers ignoriert sein Aufbau die M104 SXXX-Befehle, welche als if-else-Schleife via SlicerPE 1.43 Alpha 7 über die Option nach vor Layerwechsel gesetzt werden. Es wird konstant mit der Initaltemperatur weitergedruckt.

Bedingungen für die Schleife:

Code: Alles auswählen

{if layer_z==0.2}
M104 S225
{elsif layer_z==5}
M104 S220
{elsif layer_z==10}
M104 S215
{elsif layer_z==15}
M104 S210
{elsif layer_z==20}
M104 S205
{elsif layer_z==25}
M104 S200
{elsif layer_z==30}
M104 S195
{elsif layer_z==35}
M104 S190
{elsif layer_z==40}
M104 S185
{elsif layer_z==45}
M104 S180
{endif}
Ich hab einen Vergleichs-GCODE generiert, bei mir funktioniert der Heattower einwandfrei. In beiden Codes ist die Bedingung zu finden:

Code: Alles auswählen

before_layer_gcode = {if layer_z==0.4}\nM104 S225\n{elsif layer_z==5}\nM104 S220\n{elsif layer_z==10}\nM104 S215\n{elsif layer_z==15}\nM104 S210\n{elsif layer_z==20}\nM104 S205\n{elsif layer_z==25}\nM104 S200\n{elsif layer_z==30}\nM104 S195\n{elsif layer_z==35}\nM104 S190\n{elsif layer_z==40}\nM104 S185\n{elsif layer_z==45}\nM104 S180\n{endif}
Übergebe ich z.B. den M104 S220 via Terminal wird komischerweise die passende Temperatur gesetzt.

Seine Basis ist Mega2560+RAMPS mit Marlin 2.0-Alpha, dran ein Pi mit Octoprint.

Welche Bedingung könnte dafür Sorgen, dass die Schleife ignoriert wird? Ich vermute einen Fehler im Start/Endcode

Startcode:

Code: Alles auswählen

G21
G90
M107
G28 X0 Y0
G28 Z0
G29
G92 E0
G1 F{travel_speed}
Endcode:

Code: Alles auswählen

M104 S0
M140 S0
G91
G1 E-1 F300
G1 Z+0.5 E-3 F{travel_speed}
G28 X0 Y0
G1 Y200 F3000
G1 Z180 F3000 ;Eingeschraenkte Hoehe wg. Rueckseitiger Montage v. kap. Sensor
M84
G90
M104 S0
G28 X0
M84
Hat jemand einen Gedankenanstoß für mich?


Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Benutzeravatar
7eggert
Gold - Status
Beiträge: 796
Registriert: Fr 3. Mär 2017, 15:45
Wohnort: HH
Drucker: Anet A8, Marlin1.1.9
Slicer: Cura / Slic3r
CAD - Software: FreeCAD
Hat sich bedankt: 14 Mal
Danksagung erhalten: 41 Mal

#2

Beitrag von 7eggert » Di 12. Mär 2019, 08:16

Brainstorming:
Wenn Du das vermutest, dann solltest Du Deinen funktionierenden einsetzen oder den bestehenden einfach löschen.
Gibt es eine Option, das Postprocessing anzuschalten?
Druckst Du per USB und er per SD?


Befolge niemals Ratschläge aus Foren, wenn Du sie nicht verstehst. Frag nach.
Meine Aussagen treffe ich nach meinem Wissensstand, kann aber darüber hinaus sowie für Flüchtigkeitsfehler und Irrtümer keine Haftung übernehmen.

Für registrierte User wird diese Werbung ausgeblendet !
Benutzeravatar
riff-raff
Unterstützer
Beiträge: 405
Registriert: Do 19. Apr 2018, 14:35
Drucker: ANET A8 -> CubeAnet8
Slicer: Slic3r
CAD - Software: Solidworks, Inventor
Hat sich bedankt: 18 Mal
Danksagung erhalten: 33 Mal

#3

Beitrag von riff-raff » Di 12. Mär 2019, 08:20

Gedruckt wird via Octoprint/Raspberry.

Der GCODE-Vergleich stammt von 2 verschiedenen Slicer-Installationen und wird auf 2 verschiedenen Geräten ausgeführt.

Postprocessing muss ich nachschauen.


Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Für registrierte User wird diese Werbung ausgeblendet !
Benutzeravatar
lixxbox
Moderator
Beiträge: 979
Registriert: Mi 25. Jan 2017, 15:12
Wohnort: Koblenz
Drucker: AM8 Marlin-bugfix2.x
Slicer: Simplify3D
CAD - Software: Fusion360
Hat sich bedankt: 43 Mal
Danksagung erhalten: 88 Mal

#4

Beitrag von lixxbox » Di 12. Mär 2019, 08:23

Kommt er denn bei seinen z Layern immer genau auf die Werte? Stehen die M104 Befehle im GCode?
Er braucht ja nur die First Layer Height auf 0,3 zu setzen bei 0,2 Layer Height. Dann passt das schon nicht.

Hier wird folgendes empfohlen:

Code: Alles auswählen

{if layer_z < 10}M104 S265
{elsif layer_z <17}M104 S260
{elsif layer_z < 24}M104 S255
{elsif layer_z < 31}M104 S250
{elsif layer_z < 38}M104 S245
{elsif layer_z < 45}M104 S240
{endif}
Das hat den Vorteil, dass man nicht genau treffen muss. ;-)


Begriffe unklar? Schaut mal im Glossar vorbei.
Druckobjekte zur Kalibrierung / Fehleranalyse
Nutzt die Bedankenfunktion bei hilfreichen Antworten.
👍

Für registrierte User wird diese Werbung ausgeblendet !
Benutzeravatar
riff-raff
Unterstützer
Beiträge: 405
Registriert: Do 19. Apr 2018, 14:35
Drucker: ANET A8 -> CubeAnet8
Slicer: Slic3r
CAD - Software: Solidworks, Inventor
Hat sich bedankt: 18 Mal
Danksagung erhalten: 33 Mal

#5

Beitrag von riff-raff » Di 12. Mär 2019, 08:40

lixxbox hat geschrieben:
Di 12. Mär 2019, 08:23

Code: Alles auswählen

{if layer_z < 10}M104 S265
{elsif layer_z <17}M104 S260
{elsif layer_z < 24}M104 S255
{elsif layer_z < 31}M104 S250
{elsif layer_z < 38}M104 S245
{elsif layer_z < 45}M104 S240
{endif}
Ah! Klingt das ergibt Sinn und ja, er fährt 0.3er Firstlayer. Dann würde die Bedingung 1 nicht zutreffen, aber beim Heattower in Sprial-Vase-Modus doch alle anderen und die müsste er setzen, oder nicht?


Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Für registrierte User wird diese Werbung ausgeblendet !
Benutzeravatar
lixxbox
Moderator
Beiträge: 979
Registriert: Mi 25. Jan 2017, 15:12
Wohnort: Koblenz
Drucker: AM8 Marlin-bugfix2.x
Slicer: Simplify3D
CAD - Software: Fusion360
Hat sich bedankt: 43 Mal
Danksagung erhalten: 88 Mal

#6

Beitrag von lixxbox » Di 12. Mär 2019, 08:45

Was den Spiralmodus angeht bin ich überfragt. Im Zweifel würde ich es nicht drauf ankommen lassen, wenn die Lösung so einfach ist. ;)

Zum Überprüfen des layer_z kannst du ja einfach noch ein informatives

Code: Alles auswählen

; Höhe: [layer_z]
eintragen.


Begriffe unklar? Schaut mal im Glossar vorbei.
Druckobjekte zur Kalibrierung / Fehleranalyse
Nutzt die Bedankenfunktion bei hilfreichen Antworten.
👍

Für registrierte User wird diese Werbung ausgeblendet !
Benutzeravatar
riff-raff
Unterstützer
Beiträge: 405
Registriert: Do 19. Apr 2018, 14:35
Drucker: ANET A8 -> CubeAnet8
Slicer: Slic3r
CAD - Software: Solidworks, Inventor
Hat sich bedankt: 18 Mal
Danksagung erhalten: 33 Mal

#7

Beitrag von riff-raff » Di 12. Mär 2019, 08:50

Ich adaptiere Deinen Lösungsvorschlag und schau mal obs klappt, ich bin ganz zuversichtlich.

Sollte soweit passen für ein PLA und den Tower aus dem Downloadbereich

Code: Alles auswählen

{if layer_z < 0.4}
M104 S225
{elsif layer_z < 5}
M104 S220
{elsif layer_z < 10}
M104 S215
{elsif layer_z < 15}
M104 S210
{elsif layer_z < 20}
M104 S205
{elsif layer_z < 25}
M104 S200
{elsif layer_z < 30}
M104 S195
{elsif layer_z < 35}
M104 S190
{elsif layer_z < 40}
M104 S185
{elsif layer_z < 45}
M104 S180
{endif}


Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Für registrierte User wird diese Werbung ausgeblendet !
Benutzeravatar
lixxbox
Moderator
Beiträge: 979
Registriert: Mi 25. Jan 2017, 15:12
Wohnort: Koblenz
Drucker: AM8 Marlin-bugfix2.x
Slicer: Simplify3D
CAD - Software: Fusion360
Hat sich bedankt: 43 Mal
Danksagung erhalten: 88 Mal

#8

Beitrag von lixxbox » Di 12. Mär 2019, 10:21

Ich hab nochmal nachgesehen. Slic3rPE führt dieses "before layer change" Skript immer nur pro Block der eingestellten Layerhöhe aus.
Das heißt, == hätte je nach Layereinstellungen auch nicht zuverlässig funktioniert.

Slic3rPE_heattower_medium _vasenmodus.png

Die beiden Kommentarzeilen werden durch das "before layer change" Skript erzeugt.
Die Z-Änderungen durch den Vasenmodus werden dabei nicht berücksichtigt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Begriffe unklar? Schaut mal im Glossar vorbei.
Druckobjekte zur Kalibrierung / Fehleranalyse
Nutzt die Bedankenfunktion bei hilfreichen Antworten.
👍

Für registrierte User wird diese Werbung ausgeblendet !
Benutzeravatar
riff-raff
Unterstützer
Beiträge: 405
Registriert: Do 19. Apr 2018, 14:35
Drucker: ANET A8 -> CubeAnet8
Slicer: Slic3r
CAD - Software: Solidworks, Inventor
Hat sich bedankt: 18 Mal
Danksagung erhalten: 33 Mal

#9

Beitrag von riff-raff » Di 12. Mär 2019, 10:34

Ich habs an meinen Buddy weitergeleitet und selbst auch in meine Heattower-Profile eingepflegt, ich teste es heute Abend auch nochmal. Vielen Dank für den Support ;)

Edit: Feedback von Buddy: Druckt immer noch konstant bei 200°. :(


Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Für registrierte User wird diese Werbung ausgeblendet !
Benutzeravatar
th33xitus
Admin
Beiträge: 2734
Registriert: Sa 17. Dez 2016, 00:31
Drucker: AM8 @32bit
Slicer: S3D / Slic3r PE
CAD - Software: Fusion / Inventor
Hat sich bedankt: 125 Mal
Danksagung erhalten: 394 Mal

#10

Beitrag von th33xitus » Di 12. Mär 2019, 18:29

Also ich mach das nicht über die Z-Höhe sondern über die Layer-Zahl.
Habe in dem Fall allerdings auch den First-Layer auf 100% stehen (bzw. 0.1) und drucke mit eben jenen 0.1mm-Layern.
Das macht beim Heattower aus dem DL-Bereich eine Layer-Zahl von 500.

Code: Alles auswählen

;BEFORE_LAYER_CHANGE
; Height = [layer_z] mm
M117 Layer [layer_num]
{if layer_num < 50}M104 S230
{elsif layer_num < 100}M104 S225
{elsif layer_num < 150}M104 S220
{elsif layer_num < 200}M104 S215
{elsif layer_num < 250}M104 S210
{elsif layer_num < 300}M104 S205
{elsif layer_num < 350}M104 S200
{elsif layer_num < 400}M104 S195
{elsif layer_num < 450}M104 S190
{elsif layer_num < 500}M104 S185
{endif}



Glossar - 3D-Druck-Begriffe


Gebt bei jeglichen Problemen immer euren verwendeten Slicer + dessen Einstellungen, eure genutzte Firmware und etwaige Modifikationen vom Drucker an!

Für registrierte User wird diese Werbung ausgeblendet !
Benutzeravatar
riff-raff
Unterstützer
Beiträge: 405
Registriert: Do 19. Apr 2018, 14:35
Drucker: ANET A8 -> CubeAnet8
Slicer: Slic3r
CAD - Software: Solidworks, Inventor
Hat sich bedankt: 18 Mal
Danksagung erhalten: 33 Mal

#11

Beitrag von riff-raff » Di 12. Mär 2019, 19:03

Okay, auch ein Ansatz, ich teste gerade lixxbox ' Ansatz. Viele Wege führen nach Rom.

Edit: Also mit folgendem für einen PETG-Tower setzt er zwar meinen Startwert von 235 und geht dann auf 250, aber dann nicht wieder runter.

Code: Alles auswählen

{if layer_z>0.1}M104 S250
{elsif layer_z>5}M104 S245
{elsif layer_z>10}M104 S240
{elsif layer_z>15}M104 S235
{elsif layer_z>20}M104 S230
{elsif layer_z>25}M104 S225
{elsif layer_z>30}M104 S220
{elsif layer_z>35}M104 S215
{elsif layer_z>40}M104 S210
{elsif layer_z>45}M104 S205
{endif}
nächster Test mit

Code: Alles auswählen

{if layer_z > 0.4}
M104 S250
{elsif layer_z > 5}
M104 S245
{elsif layer_z > 10}
M104 S240
{elsif layer_z > 15}
M104 S235
{elsif layer_z > 20}
M104 S230
{elsif layer_z > 25}
M104 S225
{elsif layer_z > 30}
M104 S220
{elsif layer_z > 35}
M104 S215
{elsif layer_z > 40}
M104 S210
{elsif layer_z > 45}
M104 S205
{endif}
Auch nix, Ansatz mit Layern. Für 0.2 mit 0.2 Firstlayer sollte das doch passen:

Code: Alles auswählen

M117 Layer [layer_num]
{if layer_num < 25}M104 S250
{elsif layer_num < 50}M104 S245
{elsif layer_num < 75}M104 S240
{elsif layer_num < 100}M104 S235
{elsif layer_num < 125}M104 S230
{elsif layer_num < 150}M104 S225
{elsif layer_num < 175}M104 S220
{elsif layer_num < 200}M104 S215
{elsif layer_num < 225}M104 S210
{elsif layer_num < 250}M104 S205
{endif}


Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Für registrierte User wird diese Werbung ausgeblendet !
Benutzeravatar
lixxbox
Moderator
Beiträge: 979
Registriert: Mi 25. Jan 2017, 15:12
Wohnort: Koblenz
Drucker: AM8 Marlin-bugfix2.x
Slicer: Simplify3D
CAD - Software: Fusion360
Hat sich bedankt: 43 Mal
Danksagung erhalten: 88 Mal

#12

Beitrag von lixxbox » Di 12. Mär 2019, 19:53

< und > verwechselt?


Begriffe unklar? Schaut mal im Glossar vorbei.
Druckobjekte zur Kalibrierung / Fehleranalyse
Nutzt die Bedankenfunktion bei hilfreichen Antworten.
👍

Für registrierte User wird diese Werbung ausgeblendet !
Benutzeravatar
riff-raff
Unterstützer
Beiträge: 405
Registriert: Do 19. Apr 2018, 14:35
Drucker: ANET A8 -> CubeAnet8
Slicer: Slic3r
CAD - Software: Solidworks, Inventor
Hat sich bedankt: 18 Mal
Danksagung erhalten: 33 Mal

#13

Beitrag von riff-raff » Di 12. Mär 2019, 19:53

Hab ich auch gerad überlegt, warum das mit der Höhe nicht geht


Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Für registrierte User wird diese Werbung ausgeblendet !
Benutzeravatar
lixxbox
Moderator
Beiträge: 979
Registriert: Mi 25. Jan 2017, 15:12
Wohnort: Koblenz
Drucker: AM8 Marlin-bugfix2.x
Slicer: Simplify3D
CAD - Software: Fusion360
Hat sich bedankt: 43 Mal
Danksagung erhalten: 88 Mal

#14

Beitrag von lixxbox » Di 12. Mär 2019, 19:56

So wie du es eingetragen hast trifft natürlich immer das erste if zu und dann ist Ende ;)


Begriffe unklar? Schaut mal im Glossar vorbei.
Druckobjekte zur Kalibrierung / Fehleranalyse
Nutzt die Bedankenfunktion bei hilfreichen Antworten.
👍

Für registrierte User wird diese Werbung ausgeblendet !
Benutzeravatar
riff-raff
Unterstützer
Beiträge: 405
Registriert: Do 19. Apr 2018, 14:35
Drucker: ANET A8 -> CubeAnet8
Slicer: Slic3r
CAD - Software: Solidworks, Inventor
Hat sich bedankt: 18 Mal
Danksagung erhalten: 33 Mal

#15

Beitrag von riff-raff » Di 12. Mär 2019, 20:01

Eigentlich will ich ja noch so 1-2 Layer mit einer Mittelwertstemperatur, also bsp. PETG, Sockel bei 235 und dann von mir aus ab > 0,4 mm 250 Grad. Da müsste ich ja noch eine Zusatzbedingung mit der Variable der Aufheiztemperatur einbringen, gibts da was?

Ich teste jetzt erstmal

Code: Alles auswählen

{if layer_z < 0.4}
M104 S235
{elsif layer_z < 5}
M104 S250
{elsif layer_z < 10}
M104 S245
{elsif layer_z < 10}
M104 S240
{elsif layer_z < 15}
M104 S235
{elsif layer_z < 20}
M104 S230
{elsif layer_z < 25}
M104 S225
{elsif layer_z < 30}
M104 S220
{elsif layer_z < 35}
M104 S215
{elsif layer_z < 40}
M104 S210
{elsif layer_z < 45}
M104 S205
{endif}
mit korrigiertem Tippfehler! :lol:

Edit: LÄUFT!


Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Für registrierte User wird diese Werbung ausgeblendet !
Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag