3D Printers: Difference between revisions

From Hacklab.TO Public Wiki
Jump to navigation Jump to search
(→‎Machine Status and Important Notices: Fix image links to articles)
(→‎Machines at Hacklab: - Add pics, add K1 remove FF)
 
(45 intermediate revisions by 16 users not shown)
Line 1: Line 1:
== Machine Status and Important Notices ==
= Prusa Mini Quick Checklist =


These are intended as a quick checklist for users who have printed before.
If you are new to 3D printing, or to HackLab's printers, please read [[#Your First Print|the section below]] to understand our preferred toolchain and how to use the Prusa Minis.


{| cellpadding="5" cellspacing="0" border="1"
* Slice using PrusaSlicer, transfer gcode to USB stick.
!
* Pay filament cost to the donation pot (or https://hacklab.to/donations/),
![[File:Ultimaker 1.jpg|300px|link=Ultimaker 1]]<br>[[Ultimaker 1]]
* Load filament into the Prusa Mini.
![[File:Ultimaker 2.jpg|300px|link=Ultimaker 2]]<br>[[Ultimaker 2]]
* Select print from the Prusa Mini menu. ''Do not leave printer alone during printing.''
![[File:Type A.jpg|300px|link=Type A]]<br>[[Type A]]
* Wait for build plate to cool, then remove print.
![[File:Makerbot Cupcake.jpg|300px|link=Makerbot]]<br>[[Makerbot]]
* Unload filament and put away.
|-
* Wipe down cooled print bed with isopropyl alcohol.
 
= Your First Print =
 
If you are new to 3D printing we ask that you use HackLab's Pusa Mini printers for your first prints, with PrusaSlicer as the slicer.
These are our most reliable printers, and simplest to use.
Prusa's user guide is here: [[https://www.prusa3d.com/new-user-guides-for-original-prusa-mini/ Prusa New User Guides]].
 
==== The Toolchain ====
 
These instructions will take you from an STL file to a printed object.
An STL describes the idealized 3D object you want to produce.
We won't cover producing the STL file. For the purpose of following this tutorial you can use [[:File:Gridfinity_box.zip|this STL file]], which describes a small storage bin.
 
Hacklab Toronto has consensus around using PrusaSlicer for new users.
This tutorial will cover how to use PrusaSlicer to convert an STL into GCode, and how to use this GCode to print on the PrusaMinis.
 
[[File:Prusa_intro_workflow.png|alt="Workflow from an STL to GCode to a printed object."]]
 
==== Installing and setting up PrusaSlicer ====
 
You will need to install this to be able to convert your STL into G-code.
PrusaSlicer runs on your computer, not on the printer itself.
Download it from [https://www.prusa3d.com/prusaslicer] and install it.
 
After installation you will be presented with several setup pages.
To set up PrusaSlicer to work with the HackLab PrusaMinis (and avoid the risk of selecting the wrong printer type be accident) do the following:
* Under the "Prusa FFF" page: Scroll down to "MINI Family" and select "0.4mm nozzle" under "Original Prusa MINI & MINI+ Input Shaper". Make sure all other printers are not selected.
[[File:Prusa_intro_FFF_selection.png|450px]]
* Skip through the "Prusa MSLA", "Other Vendors" and "Custom Printer" pages.
* Under "Filaments" page: make sure Generic ABS, PLA and PETG are selected. Make sure other filaments are de-selected.
[[File:Prusa_intro_filament_profile_selection.png|450px]]
* Skip though "Updates", "Downloads", "Reload from disc".
* Under the "View mode" page select "Expert mode".
 
You should now be presented with PrusaSlicer showing a blank build plate.
 
[[File:Prusa_intro_build_plate.png|alt="PrusaSlicer showing a blank build plate."]]
 
==== Slicing with PrusaSlicer ====
 
You should have PrusaSlicer open showing a blank build plate:
 
Import you STL (note: do ''not'' "open" a project with Ctrl-O, you are "importing" an STL with Ctrl-I).
The build plate should show the object you just imported - check that it looks like the thing you intend to print!
[[File:Prusa_intro_imported_stl.png]]
 
For your first print, you will be printing using PLA.
Go to the "Filament Settings" tab and select "Generic PLA @MINIIS" from the dropdown menu. This step is very important. If you do not have the correct filament type selected, the printer will use the wrong temperature and may not melt the filament.
 
[[File:Prusa_intro_filament_settings.png|700px]]
 
Return to the "Plater" tab and select "Slice Now" (it's in the lower right).
Your display will change to show the object that will be printed, rather than the idealised 3D model that you have imported. The bar at the right hand side can be dragged up and down to change which layers are shown. This can be useful to visualise how the interior of your model will be infilled. Look at the lower right where there is a "Sliced info" panel and a field "Cost". In my example it reads "0.25", so this is costing 25c of filament. Please put the cost of your print in the donation jar.
 
[[File:Prusa_intro_sliced_view.png|450px]]
 
Click on "Export G-code" and save the file as a .bgcode. There may be a warning about only some printers supporting this. Click "OK" - our Prusas support this.
 
==== Printing the G-Code ====
 
Take the USB key from the printer and connect it to your machine, copy the .bgcode file you just saved to the key, and then return it to the printer.
Switch the printer on (the power switch is near the base on the right hand side.)


!Status
[[File:Prusa_intro_machine_view.jpg]]
|Operational
|Nearly-Operational
|Operational
|Operational
|-


!Material
''Note: you may get an error message on the printer about "Firmware file missing in the USB flash". This seems to be solvable by removing the USB key, switching the printer on, and then inserting the USB key after the printer is already switched on. We are trying to resolve the underlying reason for this.''
|3mm PLA only
|3mm PLA only
|1.75mm PLA only
|3mm ABS only
|-


!Hardware state
Next you must select and load filament. Hacklab has a stock of filament on a shelf and in some yellow buckets near the printers.
|Good. Minor backlash observed.
|Hardware: 90% complete</br>
|Good. Cooling fan cowling may need some work
|Good.
|-


!Software state
[[File:Prusa_intro_filament_storage.jpg]]
|Usable, prints pause momentarily and frequently due to Raspi slowness
|Prontserve not yet installed on 'ultimaker2' host machine
|Usable, prints pause momentarily/frequently due to Raspi slowness, some issues with long print jobs randomly failing.
|Good (Grab latest Cura profile from github [https://github.com/hacklabto/cupcake-settings])
|-


!Pending tasks
''It is important that you select PLA, since that is what we selected when generating the G-Code.''
|Fix prontserve on the raspberry pi
|Install prontserve on ultimaker2 host machine
|None
|PID tuning, bed wobble, wavvy ABP.
|-


|}
Use the menu to tell the Prusa that you want to load PLA filament into it.


== Printer-specific pages ==
[[File:Prusa_intro_load_filament_screens.png]]


Print specific pages include details about the machines, maintenance logs, and workflows.
The printer now expects filament to be inserted. Trim the end of the filament to a 45 degree angle, and insert it into the filament guide (a little black box at the end of a tube on the right hand side of the printer). Continue to feed in the filament until it reaches the motors, which should grab it and feed it until the printer starts extruding filament.


* [[Ultimaker]]
[[File:Prusa_intro_load_filament_physical.png]]
* [[Type A]]
* [[Makerbot]]


Select 'Print' from the main menu, select the filename you copied to the USB stick, and the printer should begin printing your model.
This will take about 30 minutes if you used the example STL above.


== 3D Printer Workflow at the Hacklab ==
''Do NOT leave the printer unattended while it is printing. You should be ready to cancel you print if anything "odd" happens, like the print detaching from the bed or the printer clogging. This is not just for the good of your print - it is also to prevent damage occurring to the printer, potentially a fire.''


The hacklab 3d printers are set up using the [[Construct Protocol]] which allows 3d printers to be used over the local network. The users personal computers are not required to be physically connected to the printers during the duration of the print, and allows for users to continue working on other projects without fear of print interruptions, etc. Construct only acts as the gcode sending layer, which means the user still has to generate the gcode based on an STL file.
[[File:Prusa_intro_print_complete.jpg]]


=== Software ===
When your print is complete you will have to wait for the bed to cool before the print can be removed. This usually happens around 30 degrees. In the screenshot above you can see where the bed temperature is shown - in this example it is 50 degrees, and it will be hard to remove the print until it has cooled.


* Tegh is the construct client used to access 3d printers attached to host machines running prontserve. You can get tegh here: [https://github.com/D1plo1d/tegh#installation Tegh Installation Instructions].
Once your print is removed, unload the filament and replace it in its bag to prevent moisture getting in.
* Ultimaker: CURA is the software used to generate gcode for the Ultimakers. You can get it here: [http://software.ultimaker.com/index.php CURA download link]
Switch the printer off.
* Cupcake: Also works with cura, but you'll have to download the profile on hacklab's github page, and edit Cura's machine dimentions to match.
* Type A: Gcode is generated via KISSlicer using a profile maintained by Will


=== Quick Start Instructions ===
= Explore Further =


# Generate gcode from an STL using printer-specific software.
== Firmware and Configuration ==
# Open tegh, select printer by IP address (written on each 3d printer)
* Wiki doesn't like weird file types so check out our [https://github.com/hacklabto/3d-printers Github]
# Upload gcode to printer via 'add_job (path_to_file.gcode)'
 
# Set extruder temperature via 'set temp e0: 220'
== Machines at Hacklab ==
# Start print job when at temperature via 'print'
<!-- Update the status on the printer page, it will get included here! -->
{| class="wikitable"
|-
! Machine !! Status !! Additional notes
|-
| [[File:Prusa_mini_thumb.jpg|200px|link=Prusa Mini 1]]<br/>[[3D_Printers/Prusa Mini 1]]
|| {{:3D_Printers/Prusa_Mini_1}}
|| <!--Additional notes-->
|-
| [[File:Prusa_mini_thumb.jpg|200px|link=Prusa Mini 2]]<br>[[3D_Printers/Prusa Mini 2]]
|| {{:3D_Printers/Prusa Mini 2}}
|| <!--Additional notes-->
|-
| [[File:CrealityK1thumbnail.JPG|200px|link=Creality K1]]<br>[[3D_Printers/Creality_K1]]
|| {{:3D_Printers/Creality_K1}}
|| <!--Additional notes-->
|-
| [[File:Ender 5 plus.jpg|200px|link=Ender 5 plus]]<br>[[3D_Printers/Ender_5_plus]]
|| {{:3D_Printers/Ender 5 plus}}
|| <!--Additional notes-->
|-
| [[File:Ender 3 1.jpg|200px|link=Ender 3 1]]<br>[[3D_Printers/Ender_3_1]]
|| {{:3D_Printers/Ender 3 1}}
|| <!--Additional notes-->
|-
| [[File:Ender 3 2.jpg|200px|link=Ender 3 2]]<br>[[3D_Printers/Ender_3_2]]
|| {{:3D_Printers/Ender 3 2}}
|| <!--Additional notes-->
|-
| [[File:CR10 1.jpg|200px|link=CR10 1]]<br>[[3D_Printers/CR10_1]]
|| {{:3D_Printers/CR10_1}}
|| <!--Additional notes-->
|-
|[[File:CR10 2.jpg|200px|link=CR10 2]] <br>[[3D_Printers/CR10_2]]
|| {{:3D_Printers/CR10 2}}
|| <!--Additional notes-->
|}
 
See individual printer pages for details and maintenance logs.


Command details via the 'help' command, and on the [[Construct Protocol]] page.


== Troubleshooting ==
=== Physical Problems ===
=== Physical Problems ===
* Print not sticking to bed
* Print not sticking to bed
** Check bed levelness
** Check bed levelness (Prusa's probe this automatically)
** Check print bed distance to print head
** Check print bed distance to print head (Live Z height adjust)
** Reapply fresh blue tape (Interpolymer Group brand for PLA printers only)
* Extruder no longer extruding filament
* Extruder no longer extruding filament
** Check filament feeder for ground plastic preventing extrusion
** Check filament feeder for ground plastic preventing extrusion
Line 90: Line 162:
* Extrusion is discontinuous
* Extrusion is discontinuous
** Check filament feeder for ground plastic preventing full continuous extrusion
** Check filament feeder for ground plastic preventing full continuous extrusion
* Print has random blobs due to pausing of printer mid extrusion
** Known bug in prontserve due to bottleneck in Raspberry pi I/O. Print simpler file or directly control printer via USB/pronterface
=== Software Problems ===
* tegh
** Temperature stops updating after estop command issued
*** Known bug, ssh to host machine, screen -r, ctrl-C, python2 prontserve.py to restart prontserve.
** Printer auto-discovery did not work.
*** Restart prontserve: ssh to host machine, screen -r, ctrl-C, python2 prontserve.py to restart prontserve.
** tegh discovers no printers on network
*** Check firewall settings
*** Verify on internal networks: 192.168.111.x or 192.168.113.x


== See Also ==
* [[Construct Protocol]]


[[category: Equipment]]
[[category: Equipment]]

Latest revision as of 14:13, 24 September 2024

Prusa Mini Quick Checklist

These are intended as a quick checklist for users who have printed before. If you are new to 3D printing, or to HackLab's printers, please read the section below to understand our preferred toolchain and how to use the Prusa Minis.

  • Slice using PrusaSlicer, transfer gcode to USB stick.
  • Pay filament cost to the donation pot (or https://hacklab.to/donations/),
  • Load filament into the Prusa Mini.
  • Select print from the Prusa Mini menu. Do not leave printer alone during printing.
  • Wait for build plate to cool, then remove print.
  • Unload filament and put away.
  • Wipe down cooled print bed with isopropyl alcohol.

Your First Print

If you are new to 3D printing we ask that you use HackLab's Pusa Mini printers for your first prints, with PrusaSlicer as the slicer. These are our most reliable printers, and simplest to use. Prusa's user guide is here: [Prusa New User Guides].

The Toolchain

These instructions will take you from an STL file to a printed object. An STL describes the idealized 3D object you want to produce. We won't cover producing the STL file. For the purpose of following this tutorial you can use this STL file, which describes a small storage bin.

Hacklab Toronto has consensus around using PrusaSlicer for new users. This tutorial will cover how to use PrusaSlicer to convert an STL into GCode, and how to use this GCode to print on the PrusaMinis.

"Workflow from an STL to GCode to a printed object."

Installing and setting up PrusaSlicer

You will need to install this to be able to convert your STL into G-code. PrusaSlicer runs on your computer, not on the printer itself. Download it from [1] and install it.

After installation you will be presented with several setup pages. To set up PrusaSlicer to work with the HackLab PrusaMinis (and avoid the risk of selecting the wrong printer type be accident) do the following:

  • Under the "Prusa FFF" page: Scroll down to "MINI Family" and select "0.4mm nozzle" under "Original Prusa MINI & MINI+ Input Shaper". Make sure all other printers are not selected.

  • Skip through the "Prusa MSLA", "Other Vendors" and "Custom Printer" pages.
  • Under "Filaments" page: make sure Generic ABS, PLA and PETG are selected. Make sure other filaments are de-selected.

  • Skip though "Updates", "Downloads", "Reload from disc".
  • Under the "View mode" page select "Expert mode".

You should now be presented with PrusaSlicer showing a blank build plate.

"PrusaSlicer showing a blank build plate."

Slicing with PrusaSlicer

You should have PrusaSlicer open showing a blank build plate:

Import you STL (note: do not "open" a project with Ctrl-O, you are "importing" an STL with Ctrl-I). The build plate should show the object you just imported - check that it looks like the thing you intend to print!

For your first print, you will be printing using PLA. Go to the "Filament Settings" tab and select "Generic PLA @MINIIS" from the dropdown menu. This step is very important. If you do not have the correct filament type selected, the printer will use the wrong temperature and may not melt the filament.

Return to the "Plater" tab and select "Slice Now" (it's in the lower right). Your display will change to show the object that will be printed, rather than the idealised 3D model that you have imported. The bar at the right hand side can be dragged up and down to change which layers are shown. This can be useful to visualise how the interior of your model will be infilled. Look at the lower right where there is a "Sliced info" panel and a field "Cost". In my example it reads "0.25", so this is costing 25c of filament. Please put the cost of your print in the donation jar.

Click on "Export G-code" and save the file as a .bgcode. There may be a warning about only some printers supporting this. Click "OK" - our Prusas support this.

Printing the G-Code

Take the USB key from the printer and connect it to your machine, copy the .bgcode file you just saved to the key, and then return it to the printer. Switch the printer on (the power switch is near the base on the right hand side.)

Note: you may get an error message on the printer about "Firmware file missing in the USB flash". This seems to be solvable by removing the USB key, switching the printer on, and then inserting the USB key after the printer is already switched on. We are trying to resolve the underlying reason for this.

Next you must select and load filament. Hacklab has a stock of filament on a shelf and in some yellow buckets near the printers.

It is important that you select PLA, since that is what we selected when generating the G-Code.

Use the menu to tell the Prusa that you want to load PLA filament into it.

The printer now expects filament to be inserted. Trim the end of the filament to a 45 degree angle, and insert it into the filament guide (a little black box at the end of a tube on the right hand side of the printer). Continue to feed in the filament until it reaches the motors, which should grab it and feed it until the printer starts extruding filament.

Select 'Print' from the main menu, select the filename you copied to the USB stick, and the printer should begin printing your model. This will take about 30 minutes if you used the example STL above.

Do NOT leave the printer unattended while it is printing. You should be ready to cancel you print if anything "odd" happens, like the print detaching from the bed or the printer clogging. This is not just for the good of your print - it is also to prevent damage occurring to the printer, potentially a fire.

When your print is complete you will have to wait for the bed to cool before the print can be removed. This usually happens around 30 degrees. In the screenshot above you can see where the bed temperature is shown - in this example it is 50 degrees, and it will be hard to remove the print until it has cooled.

Once your print is removed, unload the filament and replace it in its bag to prevent moisture getting in. Switch the printer off.

Explore Further

Firmware and Configuration

  • Wiki doesn't like weird file types so check out our Github

Machines at Hacklab

Machine Status Additional notes

3D_Printers/Prusa Mini 1

3D_Printers/Prusa Mini 2

3D_Printers/Creality_K1
  • The printer works fine - this wiki is a work in progress
  • Only printed with PETG so far.... will test other settings soon.
  • Printer is currently perma-loaded with white Elegoo Rapid PETG; use glue stick on the bed!!!
  • It should "just work" using the electronics bench computer and Creality Slicer 5.0, able to use the "LAN printing" (printing over wifi)

3D_Printers/Ender_5_plus
  • Working - Read wiki instructions before use
  • You must download the configs in the "Config" section below.
    • The printer should be "set and forget", the touch probe and the bed mesh should give perfect first layers everytime. Still wipe the build plate with isopropyl though!
    • Live z-adjust is called "baby stepping", you will see it on the screen when a print job is running.
  • Using the 0.4mm layer height is recommended; it is hitting the max volumetric flow at this setting. Using smaller layer heights will increase time significantly (since the max flowrate is not being reached) and Rana has not tested them. Using the 0.75mm layer height setting may perhaps save about 15-35% time for certain objects.
  • Octoprint (must be on lab network): greenmachine.in.hacklab.to, has webcam streaming too!
  • No filament runout sensor is installed. But one day it will be !!
File:Ender 3 1.jpg
3D_Printers/Ender_3_1
File:Ender 3 2.jpg
3D_Printers/Ender_3_2
  • Works sort-of
  • Hot end sometimes fails to get to temperature, and the firmware freaks out and triggers an alarm
  • Print-bed is very low quality. Likely to cause warping on bottom of print.
  • Upload G-Code to Micro-SD Card
  • Octoprint at octopi04.in.hacklab.to
File:CR10 1.jpg
3D_Printers/CR10_1
  • Broken - Awaiting repair.
File:CR10 2.jpg
3D_Printers/CR10_2
  • Works!
  • It's SD card reader has a broken latch. You have to use the octoprint web interface to upload gcode.
  • octopi01.in.hacklab.to:5000

See individual printer pages for details and maintenance logs.


Physical Problems

  • Print not sticking to bed
    • Check bed levelness (Prusa's probe this automatically)
    • Check print bed distance to print head (Live Z height adjust)
  • Extruder no longer extruding filament
    • Check filament feeder for ground plastic preventing extrusion
    • Check gcode generator settings to ensure proper filament properties selected (diameter, density)
    • Inspect hot-end for plugs by manual extrusion at temperature
    • Check filament feeder spring pressure (WARNING: DO NOT ADJUST THIS UNLESS YOU KNOW WHAT YOU ARE DOING, THIS IS THE LAST STEP)
  • Extrusion is discontinuous
    • Check filament feeder for ground plastic preventing full continuous extrusion

See Also