3D-Drucker/Building Firmware: Unterschied zwischen den Versionen

Aus Wiki CCC Göttingen
Zur Navigation springen Zur Suche springen
(configuration v2 added)
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 18: Zeile 18:
  MCU = atmega644p
  MCU = atmega644p
  HARDWARE_MOTHERBOARD    = 62
  HARDWARE_MOTHERBOARD    = 62
  INSTALL_DIR = ../../arduino-0023
  INSTALL_DIR = ../../arduino-0023g


danach sollte das ganze mit einem einfachen make durchbauen (im Verzeichnis <main>/Marlin/Marlin).
danach sollte das ganze mit einem einfachen make durchbauen (im Verzeichnis <main>/Marlin/Marlin).
Zeile 27: Zeile 27:




<gallery widths=300px heights=200px perrow=3 >
Datei:AlexN900 02 20130308 001.jpg
Datei:AlexN900 02 20130308 002.jpg
</gallery>
== [https://github.com/ErikZalm/Marlin/commit/b3ebb71704dcba61d3f1f2c7e5dcc306ff2fcb9c ErikZalm/Marlin@b3ebb71704] ==
=== Version (hefee, 1) ===
Makefile anpassen:
  HARDWARE_MOTHERBOARD ?= 62
  ARDUINO_INSTALL_DIR  ?= ../../arduino-0023
  ARDUINO_VERSION      ?= 23
Configuration.h (must have):
  #define TEMP_SENSOR_0 1    //NTC 100k
  #define TEMP_SENSOR_BED 1  //NTC 100k
  #define EXTRUDE_MINTEMP 155  //We print PLA with ~160°C
  //#define ENDSTOPPULLUPS // Comment this out
  const bool X_ENDSTOPS_INVERTING = false; // X is not inverted
  const bool Y_ENDSTOPS_INVERTING = false; // Y is not inverted
  #define DISABLE_MAX_ENDSTOPS            // We don't have max endstops
  #define DISABLE_Z true
  #define INVERT_Y_DIR true
  #define DEFAULT_AXIS_STEPS_PER_UNIT  {78.7402,78.7402,200*16/1.25,760*1.1}  // Anzahl der Schritte pro Umdrehung: 200, 16 Micoschritte, 1,25mm Steigung pro Umdrehung
Configuration.h nice to have (all a little bit faster):
  #define TEMP_RESIDENCY_TIME 5  // schneller starten, weil der nur 5sec wartet auf der Soll temperatur
  #define HOMING_FEEDRATE {50*60, 50*60, 5*60, 0}  // set the homing speeds (mm/min)
  #define DEFAULT_MAX_FEEDRATE          {500, 500, 50, 45}    // (mm/sec)
=== Version (hefee, 2) ===
all changes are in Configuration.h.
==== Max Pos ====
  #define X_MAX_POS 200
  #define Y_MAX_POS 174
  #define Z_MAX_POS 105
==== PID Extruder ====
  // Mendel Parts V9 on 12V
  #define  DEFAULT_Kp 63.0
  #define  DEFAULT_Ki 2.25
  #define  DEFAULT_Kd 440
==== Velocity, Feedrate and Acceleration (max start/stop feedrate) ====
  #define DEFAULT_AXIS_STEPS_PER_UNIT  {78.7402,78.7402,200*16/1.25,760*1.1*.84}  // default steps per unit
  #define DEFAULT_MAX_FEEDRATE          {500, 500, 10, 43}        // (mm/sec)
  #define DEFAULT_MAX_ACCELERATION      {9000, 1000, 20, 20}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.





Aktuelle Version vom 20. März 2013, 20:18 Uhr

Erstmal das tar, was uns als "orginal firmware" gegeben wurde [1]. Leider kann das nicht passen, weil da Änderungen drin, sind die nach dem Workshop passiert sind. Deswegen Flucht nach vorne und neue Version selber bauen :)

Toolchain einrichten[Bearbeiten]

<main>
-> arduino-0023
-> Marlin

Anpassen an unser Board[Bearbeiten]

  • Makfile anpassen (<main>/Marlin/Marlin/Makefile)
MCU = atmega644p
HARDWARE_MOTHERBOARD    = 62
INSTALL_DIR = ../../arduino-0023g

danach sollte das ganze mit einem einfachen make durchbauen (im Verzeichnis <main>/Marlin/Marlin).

da wir den komischen Booloader nicht verstehen, schuppsen wir das ganze nun einfach via avrispmkII zum Board:

avrdude -c avrispmkII -P usb -p atmega644p -U flash:w:applet/Marlin.hex:i


ErikZalm/Marlin@b3ebb71704[Bearbeiten]

Version (hefee, 1)[Bearbeiten]

Makefile anpassen:

 HARDWARE_MOTHERBOARD ?= 62
 ARDUINO_INSTALL_DIR  ?= ../../arduino-0023
 ARDUINO_VERSION      ?= 23


Configuration.h (must have):

 #define TEMP_SENSOR_0 1    //NTC 100k
 #define TEMP_SENSOR_BED 1  //NTC 100k
 #define EXTRUDE_MINTEMP 155  //We print PLA with ~160°C
 //#define ENDSTOPPULLUPS // Comment this out
 const bool X_ENDSTOPS_INVERTING = false; // X is not inverted
 const bool Y_ENDSTOPS_INVERTING = false; // Y is not inverted
 #define DISABLE_MAX_ENDSTOPS             // We don't have max endstops
 #define DISABLE_Z true 
 #define INVERT_Y_DIR true
 #define DEFAULT_AXIS_STEPS_PER_UNIT   {78.7402,78.7402,200*16/1.25,760*1.1}  // Anzahl der Schritte pro Umdrehung: 200, 16 Micoschritte, 1,25mm Steigung pro Umdrehung


Configuration.h nice to have (all a little bit faster):

 #define TEMP_RESIDENCY_TIME 5   // schneller starten, weil der nur 5sec wartet auf der Soll temperatur
 #define HOMING_FEEDRATE {50*60, 50*60, 5*60, 0}  // set the homing speeds (mm/min)
 #define DEFAULT_MAX_FEEDRATE          {500, 500, 50, 45}    // (mm/sec)


Version (hefee, 2)[Bearbeiten]

all changes are in Configuration.h.

Max Pos[Bearbeiten]

 #define X_MAX_POS 200
 #define Y_MAX_POS 174
 #define Z_MAX_POS 105

PID Extruder[Bearbeiten]

 // Mendel Parts V9 on 12V
 #define  DEFAULT_Kp 63.0
 #define  DEFAULT_Ki 2.25
 #define  DEFAULT_Kd 440

Velocity, Feedrate and Acceleration (max start/stop feedrate)[Bearbeiten]

 #define DEFAULT_AXIS_STEPS_PER_UNIT   {78.7402,78.7402,200*16/1.25,760*1.1*.84}  // default steps per unit
 #define DEFAULT_MAX_FEEDRATE          {500, 500, 10, 43}        // (mm/sec)
 #define DEFAULT_MAX_ACCELERATION      {9000, 1000, 20, 20}     // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.


Original Firmware[Bearbeiten]

koeln.bin

  • lfuse reads as FF
  • hfuse reads as DC
  • efuse reads as FD


avrdude -c avrispmkII -P usb -p atmega644p -U lfuse:w:0xff:m -U hfuse:w:0xdc:m -U efuse:w:0xfd:m



Denk[Bearbeiten]

unterschiedliche Firmware[Bearbeiten]

  • Sprinter
    • Tonokips's firmware
    • Kliment
    • Sprinter #
    • last update Oct 14, 2012
  • Marlin
    • Based-on: Sprinter and grbl
    • Marlin
    • last update Mar 01, 2013
  • grbl
    • vermutlich für cnc Fräsen
    • grbl
    • last update Jan 18, 2013

Board[Bearbeiten]

  • Sanguinololu Release Version 1.3a
  • Hotend
    • NTC 100kΩ
  • Bed
    • NTC 100kΩ