3d-print-etc

3D printing HW and SW with ephasis to debugging and troubleshooting.

View the Project on GitHub

3d-print-etc

3D printing HW and SW with ephasis to debugging and troubleshooting.

Building the printer Anet8

PDF: The big troubleshooting guide v2

Board - HW

Google search Anet C43 (which is the number of capacitor/smoother for B_T ala bed termistor)

Marlin for Anet

Note: the files from config/examples/Anet/A8 have to go into <Marlin-folder>/Marlin overwriting the existing ones. In order to quickly build them issue:

#!/bin/bash -x

pio run -e sanguino1284p "$@"

Note: you can use the Visual studio code or VSCodium with plugins PlatformIO IDE and eventually Auto Build Marlin. But I like the CLI which is neat and can be run even remotely.

For GUI lovers one screenshot that displays properly configured Marlin.

VSCode ABM

Patching firmware

When you decide to replace some part of your printer by some (better) alternative. Then you in most case would have to update the config.h or config_adv.h that you have copied into Marlin source root folder.

Flashing firmware

The best and the safest way is to use usbasp (or its clone) to write firmware via J1 connector which is SPI capable of ISP programming (it has RST pin).

USB ID Device
1a86:7523 Anet A8 itself via USB cable
16c0:05dc Proper USBASP programmer

Optional but recomended, backup your firmware:

$AVRDUDE -c usbasp -p m1284p -P usb -U flash:r:$BACKUP -C $AVRDUDE_CONF

The flash the new firmware:

Note: when using USPASP like from atnel.pl based on original Fischl design. You have to use special cable the 2x5 ribbon cable that CANNOT be used as-is. You have to either make a new cable (2x5->2x3, see the link to schematics) or use the 2x5->2x3 adapter (see hints). Eventually you could also user the Arduino as ISP programmer sketch, but my favourite is the USBASP.

2x5 to 2x3 adapter

$AVRDUDE -v -p m1284p -C $AVRDUDE_CONF -c usbasp -U flash:w:$FW:i

the firmare file (.HEX) is built in <Marlin-folder>/.pio/build/sanguino1284p/firmware.hex folder (or just find . -name firmware.hex).

AVRDUDE=$HOME/.platformio/packages/tool-avrdude/bin/avrdude
AVRDUDE_CONF=$HOME/.platformio/packages/tool-avrdude/avrdude.conf
BACKUP=$PWD/backup.hex

The firmware alternatives

The boards

at Marlin

Best 5 @ all3dp.com

General CPUs

Big Tree tech

They have many addons like displays, extension boards and even printer parts other then these boards (i.e.extruder).

Proterface

Proterface Home - tool for moving the printer around Pronterface Github - clone and run

# create the python virtual interface
virtualenv -p python3 ~/venv3
# activate the virtual env
source ~/venv3/bin/activate

# download the latest sources
git clone https://github.com/kliment/Printrun.git
cd Printrun

# check available tags or branches
git tag
# (optional) checkout the one you want or just stay on master
git checkout printrun-1.6.0

# install required modules into the virtual environment
pip install -r requirements.txt

# and finally start the interface
python pronterface.py

Pronterface UI

Calibrations

To make good prints you need some callibration. There is number of them. As recomended by the experienced users you should do:

  1. Calibrate the x/z-axis, so the distance between the lead screws and smooth rods on both sides has to be perfectly parallel otherwise the z-axis moves might in the worst case jam and cause skipped steps! In the best case it would do some anoyning noise. All that caused by non-parallel guides on z-axis. Yt:Anet A8 - Solution for problems with Z axis stepper [Eng sub], Yt: 3D printer wobbling solved - mechanical improvement Geeetech prusa i3 mk8, Anet A8, Anet A8 Z-Axis alignment (Proper z-axis wobble fix and noice reduction).

  2. Calibrate z/x-axis horizontality. This is a task to make sure that both z-axis drivers (Z1 and Z2) are running in sync. This cannot be ensured for 100% because we do not have closed loop steppers (like S42 from Steppers online) but can we can do our best to make sure they start at equal level and have no obstacles on their way.

  3. Level the Heated Bed (see below for mesh tool with Octoprint)

  4. Extrusion and retraction between prints and on start of print (preamble code)

  5. Autoleveling with the Z-probe (mesh)

Heat Bed calibration

The tool: ocmd.py

After using the Printrun/proconsole.py CLI to move around I have relalized that there are some batches of commands that python/ocmd.py.

References

Interesting software and tools to use during th whole model to print.

3D Modelers

Slicers

Dict

English Czech
pitch stoupání, vzdálenost mezi závity
lead vedení, lineární posun pro jednu otáčku závitu
lead screw vodící či pohybový šroub (často trapézový nebo kuličkový)
ball screw kuličkový šroub (druh vodícího šroubu s malou vůlí)
trapezoidal or acme thread trapézový závit (používaný na trapézovém šroubu)

Other test prints:

see also - printer calibration basics