Site Tools


projects:3dprinting:anycubic_i3_mega_getting_and_adapting_firmware

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
projects:3dprinting:anycubic_i3_mega_getting_and_adapting_firmware [2020/02/22 14:36] – [Configuration to use BLTouch automatically] adminprojects:3dprinting:anycubic_i3_mega_getting_and_adapting_firmware [2021/05/01 15:34] (current) – [Test and calibration procedure] admin
Line 1: Line 1:
 +|  [[projects:3dprinting:anycubic_i3_mega | <- back to Anycubic I3 Mega modifications overview]]  |
 +
 ====== Downloading and adapting the (Marlin based) firmware for the ANTCLABS BLTouch ====== ====== Downloading and adapting the (Marlin based) firmware for the ANTCLABS BLTouch ======
 This page will describe using and configuring the firmware from the following repository: This page will describe using and configuring the firmware from the following repository:
Line 29: Line 31:
 Within Arduino IDE, navigate into the cloned Marlin folder and open Marlin.ino Within Arduino IDE, navigate into the cloned Marlin folder and open Marlin.ino
  
-All files should be in separate tabs within Arduino.+All files should appear new in separate tabs within Arduino.
  
 ==== Configure Microcontroller and board type ==== ==== Configure Microcontroller and board type ====
Line 70: Line 72:
   - Printers preferences\\ \\ {{  :projects:3dprinting:003.machine_settings_upgrade_firmware.png?563x246  }}\\ \\    - Printers preferences\\ \\ {{  :projects:3dprinting:003.machine_settings_upgrade_firmware.png?563x246  }}\\ \\ 
   - Upgrade Firmware\\ \\ {{  :projects:3dprinting:005.machine_settings_upgrade_firmware.png?563x208  }}   - Upgrade Firmware\\ \\ {{  :projects:3dprinting:005.machine_settings_upgrade_firmware.png?563x208  }}
 +
 ===== Test and calibration procedure ===== ===== Test and calibration procedure =====
 This test and calibration procedure is based on the [[https://github.com/MNieddu91/Marlin-AI3M-BLTouch#anycubic-i3-mega-marlin-bltouch-119-by-davidramiro--mnieddu91|github description of davidramiro]]. This test and calibration procedure is based on the [[https://github.com/MNieddu91/Marlin-AI3M-BLTouch#anycubic-i3-mega-marlin-bltouch-119-by-davidramiro--mnieddu91|github description of davidramiro]].
Line 77: Line 80:
   * BLTouch calibration: [[https://github.com/MNieddu91/Marlin-AI3M-BLTouch/wiki]]   * BLTouch calibration: [[https://github.com/MNieddu91/Marlin-AI3M-BLTouch/wiki]]
  
-In order to perform a test and calibration procedure, it is necessary to send custom commands (Like "M503") directly to the printer. For this you will need a serial terminal application. As of February 2020, none of the most common applications, like gtkterm, minicom, coolterm or even screen seem to work with a non-standard bautrate of 250000. Also, setting the baudrate to 250000 does not seem to work with stty.+In order to perform a test and calibration procedure, it is necessary to send custom commands ([[https://marlinfw.org/docs/gcode/M503.html | Like "M503"]]) directly to the printer. For this you would normally use a serial console application. There are some issues however with such applications as described in footnote ((As of February 2020, none of the most common applications, like gtkterm, minicom, coolterm or even screen seem to work with a non-standard bautrate of 250000. Also, setting the baudrate to 250000 does not seem to work with stty. Sending with echo directly to ttyUSB0, and using "tail -F /dev/ttyUSBx" to see the result, after setting the baudrate with python (see below), works not as expected either: Commands need to be issued twice in order to get a full reply from the printer.)).
  
-Sending with echo directly to ttyUSB0, and using "tail -F /dev/ttyUSBx" to see the result, after setting the baudrate with python (see below), works not as expected either: Commands need to be issued twice in order to get full reply from the printer.+The easiest solution to send a command is the open source application Pronterface ((https://github.com/kliment/Printrun)) which runs on multiple platforms. Before sending a commandmake sure to configure baudrate of 250000bps and press connect.
  
-So far, the only serial terminal application which can handle the non-standard 250000 baudrate, is the one included in the Arduino IDE. And only then when using a workaround.((Without experimenting further, maybe the root cause has to do with the "auto reset on serial connection", as explained here: the https://playground.arduino.cc/Main/DisablingAutoResetOnSerialConnection/)) +If someone prefers to use the serial console built in with the arduino IDE, then proceed [[projects:3dprinting:anycubic_i3_mega_getting_and_adapting_firmware:arduino_250000bps | as described here.]]
- +
-A workaround is the following: +
- +
-Power cycle the printer and make sure the printer is connected to the PC. Then start the Arduino IDE, configure the correct serial port (Per default this is /dev/ttyUSB0). +
- +
-From within the Arduino IDE, open the Serial Monitor. You will likely see garbled text: +
- +
-|  {{:projects:3dprinting:007.arduino_garbled_text_250k.png?188×82}}  |  {{:projects:3dprinting:008.arduino_garbled_text_230k.png?188x72}}   {{:projects:3dprinting:007.arduino_garbled_text_250k.png?188×82}} +
-| 1. Observe garbled text with\\ a baudrate of 250000 (or\\ alternatively no text at all.)  |  2. Change the baudrate to 230400  |  3. Set the baudrate back to 250000 +
- +
-4. After setting the baudrate back to 250000 close the Serial Monitor (But keep the Arduino IDE open). Then set the non-standard baudrate of the serial port via the command line with the python script as shown [[https://unix.stackexchange.com/questions/327188/how-to-monitor-a-serial-connection-250000-baud/327366#327366|here]] and use the given command to set the baudrate to 250000 (In this case for ttyUSB0): +
- +
-  ./mysetbaud.py <>/dev/ttyUSB0 250000 +
- +
-5. Reopen the Serial Monitor in the Arduino IDE. Now it you should see normal text: +
- +
-|  {{:projects:3dprinting:009.arduino_ok_text_250k.png?563×313}} +
-| //Output OK, reveals an EEPROM version mismatch...//  |+
  
 ==== Extruder intake ==== ==== Extruder intake ====
Line 136: Line 121:
 And recompiled and flashed onto the controller. Then finally two commands where issued to make these settings effective: And recompiled and flashed onto the controller. Then finally two commands where issued to make these settings effective:
  
-  M502 (Load setting from firmware)+  M502 (Load setting hardcoded in firmware)
   M500 (save settings in EEPROM)   M500 (save settings in EEPROM)
      
 This will as well solve the "EEPROM version mismatch" warning. This will as well solve the "EEPROM version mismatch" warning.
  
-===== Configuration to use BLTouch automatically ===== +To print a concise report of all current settings (in SRAM)issue the following command
-To make sure that when printing with Cura, the Bed calibration automatically takes place, add G29 under the latest line containing G28 in the Cura machine settings. The following images show where to find and edit the machine settings: +  M503 (print concise report of all current settings)
- +
-  - Cura settings -> Printer -> Manage printers\\ \\ {{:projects:3dprinting:001.machine_settings_manage_printers.png?563×164}}\\ \\  +
-  - Machine Settings\\ \\ {{:projects:3dprinting:002.machine_settings.settings_button.png?563x246}}\\ \\  +
-  - Place "G29 - Automatic Bed Leveling" under the last G28\\ \\ {{:projects:3dprinting:004.Machine_settings_settings.png?563}} +
- +
-Additionally to the G29, also change the extrude feed stock from 3 into 6. Also, in Cura 4.4.2 there is [[https://github.com/Ultimaker/Cura/issues/6701|bug]] in which the speed_travel variable is defined as mm/min., but used as mm/second. Therefore it has a super slow travel speed and is a factor 60 too low. Solve by replacing the {speed_travel} with the value 3000. +
- +
-^  Start G-Code  ^  End G-Code +
-| G21 ;metric values\\ G90 ;absolute positioning\\ M82 ;set extruder to absolute mode\\ M107 ;start with the fan off\\ G28 X0 Y0 ;move X/Y to min endstops\\ G28 Z0 ;move Z to min endstops\\ G29 ;level bed\\ G1 Z15.0 F3000 ;move the platform down 15mm\\ G92 E0 ;zero the extruded length\\ G1 F100 E5 ;extrude 6mm of feed stock\\ G92 E0 ;zero the extruded length again\\ G1 F3000\\ G0 Y20 F3000\\ M117 Printing...\\ G5  | M104 S0 ; turn off extruder\\ M140 S0 ; turn off bed\\ M84 ; disable motors\\ M107\\ G91 ;relative positioning\\ G1 E-1 F300 ;retract filament before lifting nozzle, to release some pressure\\ G1 Z+0.5 E-5 ;X-20 Y-20 F3000 ;move Z up a bit and retract filament even more\\ G28 X0 ;Y0 ;move X/Y to min endstops, so the head is out of the way\\ G1 Y180 F2000\\ M84 ;steppers off\\ G90\\ M300 P300 S4000  | +
- +
projects/3dprinting/anycubic_i3_mega_getting_and_adapting_firmware.1582378609.txt.gz · Last modified: 2020/02/22 14:36 by admin