3D-Drucker/Building Firmware: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Alex (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
Hefee (Diskussion | Beiträge) (configuration v2 added) |
||
(5 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- | 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. | |||
Zeile 50: | Zeile 108: | ||
** Tonokips's firmware | ** Tonokips's firmware | ||
** Kliment | ** Kliment | ||
** [https://github.com/kliment/Sprinter Sprinter] last update Oct 14, 2012 | ** [https://github.com/kliment/Sprinter Sprinter] # | ||
** last update Oct 14, 2012 | |||
* Marlin | * Marlin | ||
** Based-on: Sprinter and grbl | ** Based-on: Sprinter and grbl | ||
** [https://github.com/ErikZalm/Marlin Marlin] last update Mar 01, 2013 | ** [https://github.com/ErikZalm/Marlin Marlin] | ||
** last update Mar 01, 2013 | |||
* grbl | * grbl | ||
** vermutlich für cnc Fräsen | ** vermutlich für cnc Fräsen | ||
**[https://github.com/grbl/grbl/commits/master grbl] last update Jan 18, 2013 | **[https://github.com/grbl/grbl/commits/master grbl] | ||
** last update Jan 18, 2013 | |||
===Board=== | ===Board=== | ||
Sanguinololu Release Version 1.3a | * Sanguinololu Release Version 1.3a | ||
* Hotend | |||
** NTC 100kΩ | |||
* Bed | |||
** NTC 100kΩ | |||
[[Category:3D-Drucker]] | [[Category:3D-Drucker]] |
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]
- arduino runterladen & entpacken (version 23 ist die die tut :) linux-32bit.tgz linux-64bit.tgz
- Marlin hohlen git clone git://github.com/ErikZalm/Marlin.git
- avr-libc, avr-gcc, avrdude installieren
- am besten das ganze in folgender Struktur ablegen:
<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]
- 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Ω