Anycubic Mega S

From Leo's Notes
Revision as of 05:41, 21 September 2020 by Leo (talk | contribs) (→Issues)
This page was last edited on 21 September 2020, at 05:41.

The Anycubic Mega S is a cheap 3D printer. I bought this printer for about $280 CAD with shipping.

Configuration

Serial talks at 250,000 baud.

The print area is 210x210x205 (width, depth, height).

Anycubic suggests that the following slicer settings:

  • bottom layer speed not exceed 20mm/s
  • top/bottom speed 30mm/s
  • outer shell speed 30mm/s
  • retraction speed at 60mm/s at 6mm or for flexible filament at 91mm/s at 6.4mm

Cura Profiles

Travel speed at 100 mm/s seemed to help with stringing.

White PLA (Mech Solutions)

With the enclosure, print profile:

Setting Value
Layer Height 0.15
Print Temperature 200
Printing Temperature Initial Layer 210
Final Printing Temperature 185
Build Plate Temperature 70
Flow 98%
Initial Layer Flow 125%
Print Speed 50 mm/s
Outer Wall Speed 30 mm/s
Top/Bottom Speed 20 mm/s
Support Speed 30 mm/s
Travel Speed
Initial Layer Speed 15 mm/s
Skirt/Brim Speed 15 mm/s
Retraction Distance 6 mm/s
Retraction Speed 40 mm/s
Fan Speed 100 %
Initial Fan Speed 20 %
Regular Fan Speed at Height 0.5 mm / 4 layer

Print Issues and Observations

Dragon head printed with a raft lifted part way through the print and detached from the bed. Raft was 5mm. Bed was 70C. Tried again with the above profile but with the brim speed set to 15mm/s (it was 40mm/s, possibly causing weak brims?). This sort of worked, but the horns still shifted. This might have been rectified if additional supports were added to join all the parts together since each horn was separate until they're joined a couple millimeters higher. The shifting resulted in some horns being misaligned. The brim appeared to have adhered strongly, but the part still shifted somehow.

Printing dragon segments without support or raft is OK but the initial lip lifts up causing poor print quality on what is to be the underside of the dragon. Printing with custom support holding up the underside of the dragon segment seemed to help; doesn't seem to be such an issue with the larger segments.

Yellow PLA (Mech Solutions)

I had to crank up the flow rate to 210% in order to not get under extrusion. This was after checking the filament size is correct and that the extrusion is calibrated. Using a normal 100% flow rate lead to extreme under extrusion which was not observed with the white PLA. It doesn't appear to be an issue with a plugged nozzle, a skipping extruder, or too low of a temperature. I raised the temperature to 210C with the same result.

Firmware

The stock firmware can be found on Anycubic's website, near the bottom of the page. https://www.anycubic.com/products/anycubic-i3-mega-s?variant=32094219305091. The stock firmware uses Marlin 1.1.0-RC8. UUID cede2a2f-41a2-4748-9b12-c55c62f367ff.

The TFT display is driven by a separate microprocessor (more information on the displays at https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Types-of-Anycubic-Touchscreens) which communicates via serial with the main board. Updating the firmware will not update the display GUI.

Custom Firmware

There is a custom firmware for the Mega S maintained by knutwurst at https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S. This firmware uses the latest version of Marlin. You can download the pre-compiled release .hex file or obtain the source and compile it in Arduino IDE manually.

Precompiled

If you use the precompiled version, note that there are the following changes:

  • The firmware still has startup sound. This can only be disabled by editing Marlin/Configuration.h and ensure STARTUP_CHIME is not defined.
  • Filament sensor needs to be closed or else it shows an error on the display when the machine is powered on. The special menu to disable the filament sensor is only temporary and reverts on a reset. You will need to undefine the ANYCUBIC_FILAMENT_RUNOUT_SENSOR in Configuration.h to disable this completely. The screen nags you of the filament because this firmware will send J15 to it on startup to the display if FILAMENT_RUNOUT_PIN is high.
  • Bed size is changed from 210x210 to 225x220 (width, depth). I reverted this back to 210x210 because the nozzle will crash to the clips on the right side of the bed.

Compile Yourself

If you choose to not use the pre-compiled version, compiling a modified version is very easy. Clone the repository and open the Marlin/Marlin.ino file in Arduino IDE. Set the target for the ATmega2560 board. Get the compiled binary by going to Sketch -> Export compiled binary. The binary will be located in the same location as the Marlin.ino file. Upload the .hex file that does not contain the bootloader via OctoPrint to update the firmware.

Review the first 100 lines of Configuration.h and uncomment whatever applies. Ensure that the correct device is enabled with the proper configuration flags (eg. KNUTWURST_MEGA_S, KNUTWURST_TMC). You may want to uncomment line 287 so that #define MOTHERBOARD BOARD_TRIGORILLA_14 is defined.

Flashing Firmware

After obtaining the .hex file, to update the firmware via OctoPrint, install the OctoPrint Firmware Updater plugin and configure the plugin with the following settings:

  • Flash method: avrdude
  • AVR MCU: ATmega2560
  • Path to avrdude: /usr/bin/avrdude
  • AVR Programmer Type: wiring
  • Baud Rate: auto

Mods and Upgrades

Filament Holder

Filament Holder - https://www.thingiverse.com/thing:2841440

I installed this filament holder so that the entire printer fits inside a Creality enclosure which was designed for the Ender 3.

Issues

The holder is bending under the weight of the roll of filament inside the warm environment of the Creality enclosure. The enclosure interior might reach temperatures of 40-50C since the Raspberry Pi had a temperature warning at one time during operation.

This might be remedied if the spool was supported with two arms so that the torqueing force is distributed, or make the filament holder with some other material.

TMC2208 v2 Motor Driver

Follow the guide at: https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Swap-stepper-motor-driver-for-TMC2xxx

To install the new TMC2208 drivers, disconnect power and open the unit to remove all the existing drivers. Plug one driver in one by one and apply power. Adjust the potentiometer so that the measured voltage on the Vref pad is 1V. You can do this all at the same time, but due to space constraints, it was easier to do it sequentially.

If you intend to update the firmware to use the TMC module, you can leave the wiring as-is. Otherwise, you will need to reverse the wirings so that the motor directions are reversed.

See Also