3D-Drucker/Building Firmware

Aus Wiki CCC Göttingen
Version vom 20. März 2013, 20:18 Uhr von Hefee (Diskussion | Beiträge) (configuration v2 added)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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Ω