Anet A8 - Anet V1.0 Board Custom Repetier

Hallo,

J3 sieht mir wie eine LCD- Schnittstelle aus.
Die Steppertreiber sind wohl A4988 IC´s, die man bei ebay als Miniplatine ab 1,50€ kaufen kann.
Die Ansteuerung erfolgt über 2 Pins: “Step” und “Direction”, also sehr einfach. Mit dem Poti wird der Motorstrom eingestellt.
Du müsstest die Steuerpins nur noch mit den entsprechenden Arduinopins verbinden.

Gruß
Walt

Um das mal eben zu machen Müsste ich wissen ob in der Software mehrere Extruder vorgesehen sind oder diese sowieso Implementiert werden müssen.
Danach richtet sich ja auch welche Pins das am Schluß am Atmega sind.

Schau in die Config.h
da sollte alles beschrieben sein.

Gruß
Walt

Sorry, so war’s nicht gemeint.
Ich hatte die Hoffnung das jemand bei der original Firmware sowas schonmal versucht hatte.
Aber auf der anderen Seite, was soll’s schaden vor dem Flaschen mal nen blick in diese Firmware zu werfen und einfach mal auf dem Bord zu messen. Wenn ich glück hab sind die Pins ähnlich oder identisch Belegt. Versuch kann ich aber erst am Freitag starten. Mein Drucker ist gerade am schaffen.

Gibt’s eigentlich was für oder gegen meine Start-G-Code-Erweiterung zu sagen?

Hart aber wirksam!

@ Ingo: Zitat"braucht der anet a8 nun einen NPN oder PNP Sensor ?"

ist egal, kannste in der Config.h einstellen!

Gruß
Walt

Soweit währ ich schonmal

Quelle

Macht laut ATMEGA1284P Datasheet (Seite 2)

+------------------------+
|  Pin?/???    Pin?/???  |
'  Pin2/MISO   Pin5/VCC  |
   Pin3/SCK    Pin1/MOSI |
,  Pin4/RESET  Pin6/GND  |
|  Pin?/???    Pin?/???  |
+------------------------+
  J
  3

Die anderen 4 Pins muss ich noch ausmessen

Quelle

(PCINT14/OC3A/MISO) PB6 = Pin 2 = Pin 7
(PCINT15/OC3B/SCK)  PB7 = Pin 3 = Pin 8
(PCINT13/ICP3/MOSI) PB5 = Pin 1 = Pin 6

Sind also:

Digitalout 15 = MISO
Digitalout 16 = SCK
Digitalout 14 = MOSI

Die sollten sich in der Firmware belegen lassen mit:

void setup()
{
  pinMode(14, OUTPUT);      // sets the digital-pin 14 as output
  pinMode(15, OUTPUT);      // sets the digital-pin 15 as output
  pinMode(16, OUTPUT);      // sets the digital-pin 16 as output
  digitalWrite(15, LOW);    // sets the digital-pin 15 at 0V
  digitalWrite(16, LOW);    // sets the digital-pin 16 at 0V
  digitalWrite(14, LOW);    // sets the digital-pin 14 at 0V
}

Und in der G-Code-Abfrage dann einfach für:

If (T == 0) 
  { 
    digitalWrite(15, LOW); 
    digitalWrite(16, LOW); 
    digitalWrite(14, LOW); 
  } else if (T == 1)
    digitalWrite(15, HIGH); 
    digitalWrite(16, LOW); 
    digitalWrite(14, LOW); 
  } else if (T == 2)
    digitalWrite(15, LOW); 
    digitalWrite(16, HIGH); 
    digitalWrite(14, LOW); 
  } else if (T == 3)
    digitalWrite(15, HIGH); 
    digitalWrite(16, HIGH); 
    digitalWrite(14, LOW); 
  } else if (T == 4)
    digitalWrite(15, LOW); 
    digitalWrite(16, LOW); 
    digitalWrite(14, HIGH); 
  } else if (T == 5)
    digitalWrite(15, HIGH); 
    digitalWrite(16, LOW); 
    digitalWrite(14, HIGH); 
  } else if (T == 6)
    digitalWrite(15, LOW); 
    digitalWrite(16, HIGH); 
    digitalWrite(14, HIGH); 
  } else if (T == 7)
    digitalWrite(15, HIGH); 
    digitalWrite(16, HIGH); 
    digitalWrite(14, HIGH); 
  } ;

Wobei hier die Variable T aus dem G-Code Abgeleitet ist und je nach Firmware angepasst werden sollte.

So sind recht einfach mit 3 Pins 8 Extruder anwählbar, der Normale ExtruderAusgang brauch dann nur noch verteilt werden.
Ohne Erweiterung wird immer der HaubtExtruder betrieben.
T0, T1, T4 kann ohne großen Schaltungsaufwand verwendet werden.
T0 - T7 kann man leicht mit UND-Gattern endcodieren und Nicht-Gattern Decodieren.
Oder man nimmt einen Digialendcoder zur Hilfe.

Im G-Code gilt wohl nach meinen Sliceversuchen:

>     T0 = Extuder 1 = Haubtextruder
>     T1 = Extruder 2 
>     T2 = Extruder 3 
>     usw.

Soviel zu der Hardwareseite:
#Nun müsste ich wissen ob die Hier im Trade angebotene Firmware auch 100% Kompatibel mit dem A8 Anet V1.0 Board ist. Also Display SD-Karte usw und sauber läuft. Ich trau mich nämlich nicht so recht an das Flashen da ich keine Original Firmware hier hab!!!

Ich hoffe es sind keine gravierenden Fehler drin !?!

Quelle

Moin,

Merlin V2 läuft problemlos lncl. Display, SD- Karte mit und ohne Autoleveling.

Gruss
Walt

Als letzte Firmware von ht tps://www. facebook.com/skynet3ddevelopment/ hab ich die Merlin v2.2: ht tps://drive. google.com/open?id=0B0Jb9SruV4vGejZSY0VoaXpkYlE gefunden.
Unter ht tps://www. bastelbunker.de/mein-3d-drucker-der-anet-a8/ habe ich die Original 8A Firmware Auslieverungszustand: ht tps://www. bastelbunker.de/wp-content/uploads/orginal_A8.zip und ht tps://www. bastelbunker.de/wp-content/uploads/avrdudess.rar gefunden.
Dort ist auch im Unterordner arduino-1.8.0\arduino-1.8.0\arduino.exe eine kompatiebele GUI mit bei. Ich habe meine Arduino GUI auf 1.8 updatet und habe danach den kompletten Ordner über meine Installation Verschoben und ersetzt. Bis jetzt ging es gut.

In der Configuration.h hab ich folgendes gefunden:
217 // This defines the number of extruders
218 // :[1, 2, 3, 4]
219 #define EXTRUDERS 1

1109 //
1110 // LCD LANGUAGE
1111 //
1112 // Here you may choose the language used by Marlin on the LCD menus, the following
1113 // list of languages are available:
1114 // en, an, bg, ca, cn, cz, de, el, el-gr, es, eu, fi, fr, gl, hr, it,
1115 // kana, kana_utf8, nl, pl, pt, pt_utf8, pt-br, pt-br_utf8, ru, tr, uk, test
1116 //
1117 // :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cn':'Chinese', 'cz':'Czech', 'de':'German', 'el':'Greek', 'el-gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'it':'Italian', 'kana':'Japanese', 'kana_utf8':'Japanese (UTF8)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt-br':'Portuguese (Brazilian)', 'pt-br_utf8':'Portuguese (Brazilian UTF8)', 'pt_utf8':'Portuguese (UTF8)', 'ru':'Russian', 'tr':'Turkish', 'uk':'Ukrainian', 'test':'TEST' }
1118 //
1119 #define LCD_LANGUAGE en

Was mich erstmal dazu veranlasst die Firmware zu zerplücken und mir anzuschauen wie sie das hier gelöst haben und ob das auf die Anet V1.0 anzuwenden ist.

Zunächst suche ich allerdings [quote=„docice, post:2, topic:96“]
in der pins.h unter dem Board 63 (Melzi) #define HEATER_1_PIN von 10 auf 12 (Zeile 971)
[/quote]

und [quote=„docice, post:3, topic:96, full:true“]
ACHTUNG : oben in den der Configuration.h und der Firmware ist ein Fehler!

#define ZAXIS_STEPS_PER_MM 2560

muss

#define ZAXIS_STEPS_PER_MM 400

sein!
[/quote]

in der Ver. 2.2 und will kontrollieren ob die Werte dort richtig sind.
Allerdings muss ich zugeben das mich das grad ein bissel erschlägt.

@walt
Währst Du eventuell so freundlich das Autoleveling in der Software zu testen und zu melden ob es funktioniert? Ich hab noch kein INNI dran. Kommt erst noch sobald ich die 2 Extruder im Kopf eingebaut habe und die Firmware das unterstützt. Sonst fange ich 2 mal an.

@Administratoren
Bitte Erhöht meine Rechte für Links auf mehr als 2/Artikel. Wie ihr seht benötige ich dieses zur Quellenangabe. So wie hier geht es zwar auch aber es wird unleserlich.

Ok, letzter stand von heute:
Liegt das an meiner GUI oder sind die Wirklich nicht definiert?
Und wo werden die definiert?
Das kommt beim kompilieren als Fehlermeldung:
Arduino: 1.8.0 (Windows 7), Board: “Anet V1.0”

Marlin_main.cpp:406: error: 'X_MIN_POS' was not declared in this scope

 float soft_endstop_min[XYZ] = { X_MIN_POS, Y_MIN_POS, Z_MIN_POS },

                                 ^

Marlin_main.cpp:406: error: 'Y_MIN_POS' was not declared in this scope

 float soft_endstop_min[XYZ] = { X_MIN_POS, Y_MIN_POS, Z_MIN_POS },

                                            ^

Marlin_main.cpp:406: error: 'Z_MIN_POS' was not declared in this scope

 float soft_endstop_min[XYZ] = { X_MIN_POS, Y_MIN_POS, Z_MIN_POS },

                                                       ^

Marlin_main.cpp:407: error: 'X_MAX_POS' was not declared in this scope

       soft_endstop_max[XYZ] = { X_MAX_POS, Y_MAX_POS, Z_MAX_POS };

                                 ^

Marlin_main.cpp:407: error: 'Y_MAX_POS' was not declared in this scope

       soft_endstop_max[XYZ] = { X_MAX_POS, Y_MAX_POS, Z_MAX_POS };

                                            ^

Marlin_main.cpp:407: error: 'Z_MAX_POS' was not declared in this scope

       soft_endstop_max[XYZ] = { X_MAX_POS, Y_MAX_POS, Z_MAX_POS };

                                                       ^

Marlin_main.cpp:459: error: 'Z_PROBE_OFFSET_FROM_EXTRUDER' was not declared in this scope

   float zprobe_zoffset = Z_PROBE_OFFSET_FROM_EXTRUDER;

                          ^

Marlin_main.cpp:657: error: 'X_MIN_POS' was not declared in this scope

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

         ^

sketch\Marlin_main.cpp:661:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, base_min_pos,   MIN_POS)

 ^

Marlin_main.cpp:657: error: 'Y_MIN_POS' was not declared in this scope

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

                     ^

sketch\Marlin_main.cpp:661:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, base_min_pos,   MIN_POS)

 ^

Marlin_main.cpp:657: error: 'Z_MIN_POS' was not declared in this scope

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

                                 ^

sketch\Marlin_main.cpp:661:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, base_min_pos,   MIN_POS)

 ^

Marlin_main.cpp:657: error: 'X_MAX_POS' was not declared in this scope

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

         ^

sketch\Marlin_main.cpp:662:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, base_max_pos,   MAX_POS)

 ^

Marlin_main.cpp:657: error: 'Y_MAX_POS' was not declared in this scope

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

                     ^

sketch\Marlin_main.cpp:662:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, base_max_pos,   MAX_POS)

 ^

Marlin_main.cpp:657: error: 'Z_MAX_POS' was not declared in this scope

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

                                 ^

sketch\Marlin_main.cpp:662:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, base_max_pos,   MAX_POS)

 ^

In file included from sketch\MarlinConfig.h:38:0,

                 from sketch\Marlin.h:36,

                 from sketch\Marlin_main.cpp:220:

Conditionals_post.h:96: error: 'X_MIN_POS' was not declared in this scope

       #define X_HOME_POS (X_HOME_DIR < 0 ? X_MIN_POS : X_MAX_POS)

                                            ^

sketch\Marlin_main.cpp:657:9: note: in expansion of macro 'X_HOME_POS'

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

         ^

sketch\Marlin_main.cpp:663:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, base_home_pos,  HOME_POS)

 ^

Conditionals_post.h:96: error: 'X_MAX_POS' was not declared in this scope

       #define X_HOME_POS (X_HOME_DIR < 0 ? X_MIN_POS : X_MAX_POS)

                                                        ^

sketch\Marlin_main.cpp:657:9: note: in expansion of macro 'X_HOME_POS'

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

         ^

sketch\Marlin_main.cpp:663:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, base_home_pos,  HOME_POS)

 ^

Conditionals_post.h:112: error: 'Y_MIN_POS' was not declared in this scope

       #define Y_HOME_POS (Y_HOME_DIR < 0 ? Y_MIN_POS : Y_MAX_POS)

                                            ^

sketch\Marlin_main.cpp:657:21: note: in expansion of macro 'Y_HOME_POS'

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

                     ^

sketch\Marlin_main.cpp:663:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, base_home_pos,  HOME_POS)

 ^

Conditionals_post.h:112: error: 'Y_MAX_POS' was not declared in this scope

       #define Y_HOME_POS (Y_HOME_DIR < 0 ? Y_MIN_POS : Y_MAX_POS)

                                                        ^

sketch\Marlin_main.cpp:657:21: note: in expansion of macro 'Y_HOME_POS'

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

                     ^

sketch\Marlin_main.cpp:663:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, base_home_pos,  HOME_POS)

 ^

Conditionals_post.h:119: error: 'Z_MIN_POS' was not declared in this scope

     #define Z_HOME_POS (Z_HOME_DIR < 0 ? Z_MIN_POS : Z_MAX_POS)

                                          ^

sketch\Marlin_main.cpp:657:33: note: in expansion of macro 'Z_HOME_POS'

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

                                 ^

sketch\Marlin_main.cpp:663:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, base_home_pos,  HOME_POS)

 ^

Conditionals_post.h:119: error: 'Z_MAX_POS' was not declared in this scope

     #define Z_HOME_POS (Z_HOME_DIR < 0 ? Z_MIN_POS : Z_MAX_POS)

                                                      ^

sketch\Marlin_main.cpp:657:33: note: in expansion of macro 'Z_HOME_POS'

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

                                 ^

sketch\Marlin_main.cpp:663:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, base_home_pos,  HOME_POS)

 ^

Conditionals_post.h:34: error: 'X_MAX_POS' was not declared in this scope

   #define X_MAX_LENGTH (X_MAX_POS - (X_MIN_POS))

                         ^

sketch\Marlin_main.cpp:657:9: note: in expansion of macro 'X_MAX_LENGTH'

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

         ^

sketch\Marlin_main.cpp:664:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, max_length,     MAX_LENGTH)

 ^

Conditionals_post.h:34: error: 'X_MIN_POS' was not declared in this scope

   #define X_MAX_LENGTH (X_MAX_POS - (X_MIN_POS))

                                      ^

sketch\Marlin_main.cpp:657:9: note: in expansion of macro 'X_MAX_LENGTH'

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

         ^

sketch\Marlin_main.cpp:664:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, max_length,     MAX_LENGTH)

 ^

Conditionals_post.h:35: error: 'Y_MAX_POS' was not declared in this scope

   #define Y_MAX_LENGTH (Y_MAX_POS - (Y_MIN_POS))

                         ^

sketch\Marlin_main.cpp:657:21: note: in expansion of macro 'Y_MAX_LENGTH'

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

                     ^

sketch\Marlin_main.cpp:664:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, max_length,     MAX_LENGTH)

 ^

Conditionals_post.h:35: error: 'Y_MIN_POS' was not declared in this scope

   #define Y_MAX_LENGTH (Y_MAX_POS - (Y_MIN_POS))

                                      ^

sketch\Marlin_main.cpp:657:21: note: in expansion of macro 'Y_MAX_LENGTH'

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

                     ^

sketch\Marlin_main.cpp:664:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, max_length,     MAX_LENGTH)

 ^

Conditionals_post.h:36: error: 'Z_MAX_POS' was not declared in this scope

   #define Z_MAX_LENGTH (Z_MAX_POS - (Z_MIN_POS))

                         ^

sketch\Marlin_main.cpp:657:33: note: in expansion of macro 'Z_MAX_LENGTH'

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

                                 ^

sketch\Marlin_main.cpp:664:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, max_length,     MAX_LENGTH)

 ^

Conditionals_post.h:36: error: 'Z_MIN_POS' was not declared in this scope

   #define Z_MAX_LENGTH (Z_MAX_POS - (Z_MIN_POS))

                                      ^

sketch\Marlin_main.cpp:657:33: note: in expansion of macro 'Z_MAX_LENGTH'

       { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \

                                 ^

sketch\Marlin_main.cpp:664:1: note: in expansion of macro 'XYZ_CONSTS_FROM_CONFIG'

 XYZ_CONSTS_FROM_CONFIG(float, max_length,     MAX_LENGTH)

 ^

sketch\Marlin_main.cpp: In function 'float run_z_probe()':

Conditionals_post.h:36: error: 'Z_MAX_POS' was not declared in this scope

   #define Z_MAX_LENGTH (Z_MAX_POS - (Z_MIN_POS))

                         ^

sketch\Marlin_main.cpp:2121:23: note: in expansion of macro 'Z_MAX_LENGTH'

       do_probe_move(-(Z_MAX_LENGTH) - 10, Z_PROBE_SPEED_FAST);

                       ^

Conditionals_post.h:36: error: 'Z_MIN_POS' was not declared in this scope

   #define Z_MAX_LENGTH (Z_MAX_POS - (Z_MIN_POS))

                                      ^

sketch\Marlin_main.cpp:2121:23: note: in expansion of macro 'Z_MAX_LENGTH'

       do_probe_move(-(Z_MAX_LENGTH) - 10, Z_PROBE_SPEED_FAST);

                       ^

sketch\Marlin_main.cpp: In function 'float probe_pt(const float&, const float&, bool, int)':

Marlin_main.cpp:2187: error: 'X_PROBE_OFFSET_FROM_EXTRUDER' was not declared in this scope

     do_blocking_move_to_xy(x - (X_PROBE_OFFSET_FROM_EXTRUDER), y - (Y_PROBE_OFFSET_FROM_EXTRUDER));

                                 ^

Marlin_main.cpp:2187: error: 'Y_PROBE_OFFSET_FROM_EXTRUDER' was not declared in this scope

     do_blocking_move_to_xy(x - (X_PROBE_OFFSET_FROM_EXTRUDER), y - (Y_PROBE_OFFSET_FROM_EXTRUDER));

                                                                     ^

sketch\Marlin_main.cpp: In function 'bool position_is_reachable(float*, bool)':

Marlin_main.cpp:2904: error: 'X_PROBE_OFFSET_FROM_EXTRUDER' was not declared in this scope

       dx -= X_PROBE_OFFSET_FROM_EXTRUDER;

             ^

Marlin_main.cpp:2905: error: 'Y_PROBE_OFFSET_FROM_EXTRUDER' was not declared in this scope

       dy -= Y_PROBE_OFFSET_FROM_EXTRUDER;

             ^

Marlin_main.cpp:2920: error: 'X_MIN_POS' was not declared in this scope

     return dx >= X_MIN_POS - 0.0001 && dx <= X_MAX_POS + 0.0001

                  ^

Marlin_main.cpp:2920: error: 'X_MAX_POS' was not declared in this scope

     return dx >= X_MIN_POS - 0.0001 && dx <= X_MAX_POS + 0.0001

                                              ^

Marlin_main.cpp:2921: error: 'Y_MIN_POS' was not declared in this scope

         && dy >= Y_MIN_POS - 0.0001 && dy <= Y_MAX_POS + 0.0001

                  ^

Marlin_main.cpp:2921: error: 'Y_MAX_POS' was not declared in this scope

         && dy >= Y_MIN_POS - 0.0001 && dy <= Y_MAX_POS + 0.0001

                                              ^

Marlin_main.cpp:2922: error: 'Z_MIN_POS' was not declared in this scope

         && dz >= Z_MIN_POS - 0.0001 && dz <= Z_MAX_POS + 0.0001;

                  ^

Marlin_main.cpp:2922: error: 'Z_MAX_POS' was not declared in this scope

         && dz >= Z_MIN_POS - 0.0001 && dz <= Z_MAX_POS + 0.0001;

                                              ^

In file included from sketch\Marlin_main.cpp:220:0:

sketch\Marlin_main.cpp: In function 'void home_z_safely()':

Configuration.h:938: error: 'X_MAX_POS' was not declared in this scope

   #define Z_SAFE_HOMING_X_POINT (X_MAX_POS / 2)    // X point for Z homing when homing all axis (G28).

                                  ^

sketch\Marlin.h:297:39: note: in definition of macro 'LOGICAL_POSITION'

 #define LOGICAL_POSITION(POS, AXIS) ((POS) + home_offset[AXIS] + position_shift[AXIS])

                                       ^

sketch\Marlin_main.cpp:3343:27: note: in expansion of macro 'LOGICAL_X_POSITION'

     destination[X_AXIS] = LOGICAL_X_POSITION(Z_SAFE_HOMING_X_POINT);

                           ^

sketch\Marlin_main.cpp:3343:46: note: in expansion of macro 'Z_SAFE_HOMING_X_POINT'

     destination[X_AXIS] = LOGICAL_X_POSITION(Z_SAFE_HOMING_X_POINT);

                                              ^

Configuration.h:939: error: 'Y_MAX_POS' was not declared in this scope

   #define Z_SAFE_HOMING_Y_POINT (Y_MAX_POS / 2)    // Y point for Z homing when homing all axis (G28).

                                  ^

sketch\Marlin.h:297:39: note: in definition of macro 'LOGICAL_POSITION'

 #define LOGICAL_POSITION(POS, AXIS) ((POS) + home_offset[AXIS] + position_shift[AXIS])

                                       ^

sketch\Marlin_main.cpp:3344:27: note: in expansion of macro 'LOGICAL_Y_POSITION'

     destination[Y_AXIS] = LOGICAL_Y_POSITION(Z_SAFE_HOMING_Y_POINT);

                           ^

sketch\Marlin_main.cpp:3344:46: note: in expansion of macro 'Z_SAFE_HOMING_Y_POINT'

     destination[Y_AXIS] = LOGICAL_Y_POSITION(Z_SAFE_HOMING_Y_POINT);

                                              ^

Marlin_main.cpp:3356: error: 'X_PROBE_OFFSET_FROM_EXTRUDER' was not declared in this scope

         destination[X_AXIS] -= X_PROBE_OFFSET_FROM_EXTRUDER;

                                ^

Marlin_main.cpp:3357: error: 'Y_PROBE_OFFSET_FROM_EXTRUDER' was not declared in this scope

         destination[Y_AXIS] -= Y_PROBE_OFFSET_FROM_EXTRUDER;

                                ^

In file included from sketch\Marlin_main.cpp:220:0:

sketch\Marlin_main.cpp: In function 'void gcode_G29()':

Marlin_main.cpp:3942: error: 'LEFT_PROBE_BED_POSITION' was not declared in this scope

       int left_probe_bed_position = code_seen('L') ? (int)code_value_axis_units(X_AXIS) : LOGICAL_X_POSITION(LEFT_PROBE_BED_POSITION),

                                                                                                              ^

sketch\Marlin.h:297:39: note: in definition of macro 'LOGICAL_POSITION'

 #define LOGICAL_POSITION(POS, AXIS) ((POS) + home_offset[AXIS] + position_shift[AXIS])

                                       ^

sketch\Marlin_main.cpp:3942:91: note: in expansion of macro 'LOGICAL_X_POSITION'

       int left_probe_bed_position = code_seen('L') ? (int)code_value_axis_units(X_AXIS) : LOGICAL_X_POSITION(LEFT_PROBE_BED_POSITION),

                                                                                           ^

Marlin_main.cpp:3947: error: 'MIN_PROBE_X' was not declared in this scope

       bool left_out_l = left_probe_bed_position < LOGICAL_X_POSITION(MIN_PROBE_X),

                                                                      ^

sketch\Marlin.h:297:39: note: in definition of macro 'LOGICAL_POSITION'

 #define LOGICAL_POSITION(POS, AXIS) ((POS) + home_offset[AXIS] + position_shift[AXIS])

                                       ^

sketch\Marlin_main.cpp:3947:51: note: in expansion of macro 'LOGICAL_X_POSITION'

       bool left_out_l = left_probe_bed_position < LOGICAL_X_POSITION(MIN_PROBE_X),

                                                   ^

Marlin_main.cpp:3956: error: 'left_out' was not declared in this scope

       if (left_out || right_out || front_out || back_out) {

           ^

Marlin_main.cpp:3956: error: 'right_out' was not declared in this scope

       if (left_out || right_out || front_out || back_out) {

                       ^

Marlin_main.cpp:3956: error: 'front_out' was not declared in this scope

       if (left_out || right_out || front_out || back_out) {

                                    ^

Marlin_main.cpp:3956: error: 'back_out' was not declared in this scope

       if (left_out || right_out || front_out || back_out) {

                                                 ^

Marlin_main.cpp:3959: error: 'right_probe_bed_position' was not declared in this scope

           left_probe_bed_position = left_out_l ? LOGICAL_X_POSITION(MIN_PROBE_X) : right_probe_bed_position - (MIN_PROBE_EDGE);

                                                                                    ^

Marlin_main.cpp:3963: error: 'right_probe_bed_position' was not declared in this scope

           right_probe_bed_position = right_out_r ? LOGICAL_Y_POSITION(MAX_PROBE_X) : left_probe_bed_position + MIN_PROBE_EDGE;

           ^

Marlin_main.cpp:3963: error: 'right_out_r' was not declared in this scope

           right_probe_bed_position = right_out_r ? LOGICAL_Y_POSITION(MAX_PROBE_X) : left_probe_bed_position + MIN_PROBE_EDGE;

                                      ^

In file included from sketch\Marlin_main.cpp:220:0:

Conditionals_post.h:713: error: 'X_MAX_POS' was not declared in this scope

     #define MAX_PROBE_X (min(X_MAX_POS, X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER))

                              ^

sketch\Marlin.h:297:39: note: in definition of macro 'LOGICAL_POSITION'

 #define LOGICAL_POSITION(POS, AXIS) ((POS) + home_offset[AXIS] + position_shift[AXIS])

                                       ^

sketch\Marlin_main.cpp:3963:52: note: in expansion of macro 'LOGICAL_Y_POSITION'

           right_probe_bed_position = right_out_r ? LOGICAL_Y_POSITION(MAX_PROBE_X) : left_probe_bed_position + MIN_PROBE_EDGE;

                                                    ^

sketch\Conditionals_post.h:713:26: note: in expansion of macro 'min'

     #define MAX_PROBE_X (min(X_MAX_POS, X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER))

                          ^

sketch\Marlin_main.cpp:3963:71: note: in expansion of macro 'MAX_PROBE_X'

           right_probe_bed_position = right_out_r ? LOGICAL_Y_POSITION(MAX_PROBE_X) : left_probe_bed_position + MIN_PROBE_EDGE;

                                                                       ^

Conditionals_post.h:713: error: 'X_PROBE_OFFSET_FROM_EXTRUDER' was not declared in this scope

     #define MAX_PROBE_X (min(X_MAX_POS, X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER))

                                                     ^

sketch\Marlin.h:297:39: note: in definition of macro 'LOGICAL_POSITION'

 #define LOGICAL_POSITION(POS, AXIS) ((POS) + home_offset[AXIS] + position_shift[AXIS])

                                       ^

sketch\Marlin_main.cpp:3963:52: note: in expansion of macro 'LOGICAL_Y_POSITION'

           right_probe_bed_position = right_out_r ? LOGICAL_Y_POSITION(MAX_PROBE_X) : left_probe_bed_position + MIN_PROBE_EDGE;

                                                    ^

sketch\Conditionals_post.h:713:26: note: in expansion of macro 'min'

     #define MAX_PROBE_X (min(X_MAX_POS, X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER))

                          ^

sketch\Marlin_main.cpp:3963:71: note: in expansion of macro 'MAX_PROBE_X'

           right_probe_bed_position = right_out_r ? LOGICAL_Y_POSITION(MAX_PROBE_X) : left_probe_bed_position + MIN_PROBE_EDGE;

                                                                       ^

Marlin_main.cpp:3967: error: 'front_probe_bed_position' was not declared in this scope

           front_probe_bed_position = front_out_f ? LOGICAL_Y_POSITION(MIN_PROBE_Y) : back_probe_bed_position - (MIN_PROBE_EDGE);

           ^

Marlin_main.cpp:3967: error: 'front_out_f' was not declared in this scope

           front_probe_bed_position = front_out_f ? LOGICAL_Y_POSITION(MIN_PROBE_Y) : back_probe_bed_position - (MIN_PROBE_EDGE);

                                      ^

In file included from sketch\Marlin_main.cpp:220:0:

Conditionals_post.h:714: error: 'Y_MIN_POS' was not declared in this scope

     #define MIN_PROBE_Y (max(Y_MIN_POS, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))

                              ^

sketch\Marlin.h:297:39: note: in definition of macro 'LOGICAL_POSITION'

 #define LOGICAL_POSITION(POS, AXIS) ((POS) + home_offset[AXIS] + position_shift[AXIS])

                                       ^

sketch\Marlin_main.cpp:3967:52: note: in expansion of macro 'LOGICAL_Y_POSITION'

           front_probe_bed_position = front_out_f ? LOGICAL_Y_POSITION(MIN_PROBE_Y) : back_probe_bed_position - (MIN_PROBE_EDGE);

                                                    ^

sketch\Conditionals_post.h:714:26: note: in expansion of macro 'max'

     #define MIN_PROBE_Y (max(Y_MIN_POS, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))

                          ^

sketch\Marlin_main.cpp:3967:71: note: in expansion of macro 'MIN_PROBE_Y'

           front_probe_bed_position = front_out_f ? LOGICAL_Y_POSITION(MIN_PROBE_Y) : back_probe_bed_position - (MIN_PROBE_EDGE);

                                                                       ^

Conditionals_post.h:714: error: 'Y_PROBE_OFFSET_FROM_EXTRUDER' was not declared in this scope

     #define MIN_PROBE_Y (max(Y_MIN_POS, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))

                                                     ^

sketch\Marlin.h:297:39: note: in definition of macro 'LOGICAL_POSITION'

 #define LOGICAL_POSITION(POS, AXIS) ((POS) + home_offset[AXIS] + position_shift[AXIS])

                                       ^

sketch\Marlin_main.cpp:3967:52: note: in expansion of macro 'LOGICAL_Y_POSITION'

           front_probe_bed_position = front_out_f ? LOGICAL_Y_POSITION(MIN_PROBE_Y) : back_probe_bed_position - (MIN_PROBE_EDGE);

                                                    ^

sketch\Conditionals_post.h:714:26: note: in expansion of macro 'max'

     #define MIN_PROBE_Y (max(Y_MIN_POS, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))

                          ^

sketch\Marlin_main.cpp:3967:71: note: in expansion of macro 'MIN_PROBE_Y'

           front_probe_bed_position = front_out_f ? LOGICAL_Y_POSITION(MIN_PROBE_Y) : back_probe_bed_position - (MIN_PROBE_EDGE);

                                                                       ^

Marlin_main.cpp:3967: error: 'back_probe_bed_position' was not declared in this scope

           front_probe_bed_position = front_out_f ? LOGICAL_Y_POSITION(MIN_PROBE_Y) : back_probe_bed_position - (MIN_PROBE_EDGE);

                                                                                      ^

Marlin_main.cpp:3971: error: 'back_probe_bed_position' was not declared in this scope

           back_probe_bed_position = back_out_b ? LOGICAL_Y_POSITION(MAX_PROBE_Y) : front_probe_bed_position + MIN_PROBE_EDGE;

           ^

Marlin_main.cpp:3971: error: 'back_out_b' was not declared in this scope

           back_probe_bed_position = back_out_b ? LOGICAL_Y_POSITION(MAX_PROBE_Y) : front_probe_bed_position + MIN_PROBE_EDGE;

                                     ^

In file included from sketch\Marlin_main.cpp:220:0:

Conditionals_post.h:715: error: 'Y_MAX_POS' was not declared in this scope

     #define MAX_PROBE_Y (min(Y_MAX_POS, Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))

                              ^

sketch\Marlin.h:297:39: note: in definition of macro 'LOGICAL_POSITION'

 #define LOGICAL_POSITION(POS, AXIS) ((POS) + home_offset[AXIS] + position_shift[AXIS])

                                       ^

sketch\Marlin_main.cpp:3971:50: note: in expansion of macro 'LOGICAL_Y_POSITION'

           back_probe_bed_position = back_out_b ? LOGICAL_Y_POSITION(MAX_PROBE_Y) : front_probe_bed_position + MIN_PROBE_EDGE;

                                                  ^

sketch\Conditionals_post.h:715:26: note: in expansion of macro 'min'

     #define MAX_PROBE_Y (min(Y_MAX_POS, Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))

                          ^

sketch\Marlin_main.cpp:3971:69: note: in expansion of macro 'MAX_PROBE_Y'

           back_probe_bed_position = back_out_b ? LOGICAL_Y_POSITION(MAX_PROBE_Y) : front_probe_bed_position + MIN_PROBE_EDGE;

                                                                     ^

Conditionals_post.h:715: error: 'Y_PROBE_OFFSET_FROM_EXTRUDER' was not declared in this scope

     #define MAX_PROBE_Y (min(Y_MAX_POS, Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))

                                                     ^

sketch\Marlin.h:297:39: note: in definition of macro 'LOGICAL_POSITION'

 #define LOGICAL_POSITION(POS, AXIS) ((POS) + home_offset[AXIS] + position_shift[AXIS])

                                       ^

sketch\Marlin_main.cpp:3971:50: note: in expansion of macro 'LOGICAL_Y_POSITION'

           back_probe_bed_position = back_out_b ? LOGICAL_Y_POSITION(MAX_PROBE_Y) : front_probe_bed_position + MIN_PROBE_EDGE;

                                                  ^

sketch\Conditionals_post.h:715:26: note: in expansion of macro 'min'

     #define MAX_PROBE_Y (min(Y_MAX_POS, Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))

                          ^

sketch\Marlin_main.cpp:3971:69: note: in expansion of macro 'MAX_PROBE_Y'

           back_probe_bed_position = back_out_b ? LOGICAL_Y_POSITION(MAX_PROBE_Y) : front_probe_bed_position + MIN_PROBE_EDGE;

                                                                     ^

Marlin_main.cpp:3971: error: 'front_probe_bed_position' was not declared in this scope

           back_probe_bed_position = back_out_b ? LOGICAL_Y_POSITION(MAX_PROBE_Y) : front_probe_bed_position + MIN_PROBE_EDGE;

                                                                                    ^

Marlin_main.cpp:4007: error: 'right_probe_bed_position' was not declared in this scope

       const float xGridSpacing = (right_probe_bed_position - left_probe_bed_position) / (abl_grid_points_x - 1),

                                   ^

Marlin_main.cpp:4016: error: 'yGridSpacing' was not declared in this scope

           || yGridSpacing != bilinear_grid_spacing[Y_AXIS]

              ^

Marlin_main.cpp:4018: error: 'front_probe_bed_position' was not declared in this scope

           || front_probe_bed_position != bilinear_start[Y_AXIS]

              ^

Marlin_main.cpp:4090: error: 'front_probe_bed_position' was not declared in this scope

                 yBase = front_probe_bed_position + yGridSpacing * yCount;

                         ^

Marlin_main.cpp:4090: error: 'yGridSpacing' was not declared in this scope

                 yBase = front_probe_bed_position + yGridSpacing * yCount;

                                                    ^

sketch\Marlin_main.cpp: In function 'void gcode_G30()':

Marlin_main.cpp:4411: error: 'X_PROBE_OFFSET_FROM_EXTRUDER' was not declared in this scope

     float X_probe_location = code_seen('X') ? code_value_axis_units(X_AXIS) : current_position[X_AXIS] + X_PROBE_OFFSET_FROM_EXTRUDER,

                                                                                                          ^

Marlin_main.cpp:4414: error: 'Y_probe_location' was not declared in this scope

     float pos[XYZ] = { X_probe_location, Y_probe_location, LOGICAL_Z_POSITION(0) };

                                          ^

exit status 1
'X_MIN_POS' was not declared in this scope

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.

Hallo,

sieht aus, als wenn Du nicht strikt nach der Installationsanleitung vorgegangen wärst.

Gruß
Walt

Ok, durch öffnen der Augen in der Installation Guide.pdf ist klar zu erkennen das man erst durch entfernen der Kommentarzeichen // (in der Configutration.h) das LCD (Zeile 48, 49) und die Sensorposition (Zeile 58 bis 97) auswählen soll.

Macht wohl auch sinn das man sich vor dem Compilieren Gedanken über den Hardware aufbau machen soll. Ne Passende Fehlermeldung währe da nur nett gewesen.

Dann Klemmt es aber in der Berechnung der Messpunkte wenn ich das richtig interpretiere.

`Arduino: 1.8.0 (Windows 7), Board: "Anet V1.0"`

In file included from sketch\Marlin_main.cpp:220:0:

sketch\Marlin_main.cpp: In function 'void gcode_G29()':

Marlin_main.cpp:3947: error: 'MIN_PROBE_X' was not declared in this scope

       bool left_out_l = left_probe_bed_position < LOGICAL_X_POSITION(MIN_PROBE_X),

                                                                      ^

sketch\Marlin.h:297:39: note: in definition of macro 'LOGICAL_POSITION'

 #define LOGICAL_POSITION(POS, AXIS) ((POS) + home_offset[AXIS] + position_shift[AXIS])

                                       ^

sketch\Marlin_main.cpp:3947:51: note: in expansion of macro 'LOGICAL_X_POSITION'

       bool left_out_l = left_probe_bed_position < LOGICAL_X_POSITION(MIN_PROBE_X),

                                                   ^

Marlin_main.cpp:3956: error: 'left_out' was not declared in this scope

       if (left_out || right_out || front_out || back_out) {

           ^

Marlin_main.cpp:3956: error: 'right_out' was not declared in this scope

       if (left_out || right_out || front_out || back_out) {

                       ^

Marlin_main.cpp:3956: error: 'front_out' was not declared in this scope

       if (left_out || right_out || front_out || back_out) {

                                    ^

Marlin_main.cpp:3956: error: 'back_out' was not declared in this scope

       if (left_out || right_out || front_out || back_out) {

                                                 ^

Marlin_main.cpp:3963: error: 'right_out_r' was not declared in this scope

           right_probe_bed_position = right_out_r ? LOGICAL_Y_POSITION(MAX_PROBE_X) : left_probe_bed_position + MIN_PROBE_EDGE;

                                      ^

Marlin_main.cpp:3967: error: 'front_out_f' was not declared in this scope

           front_probe_bed_position = front_out_f ? LOGICAL_Y_POSITION(MIN_PROBE_Y) : back_probe_bed_position - (MIN_PROBE_EDGE);

                                      ^

Marlin_main.cpp:3971: error: 'back_out_b' was not declared in this scope

           back_probe_bed_position = back_out_b ? LOGICAL_Y_POSITION(MAX_PROBE_Y) : front_probe_bed_position + MIN_PROBE_EDGE;

                                     ^

exit status 1
'MIN_PROBE_X' was not declared in this scope

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.

@walt
Konntest du denn die v2.2 Compilieren und testen?

Nö, ist kein offizielles Release, nur eine Testversion. V2 läuft bei mir gut.

Gruß
Walt

Was soll ich sagen, v2.2 mit einem Extruder und mit auskommentiertem G29 geflascht.
was so nen bissel Software doch ausmacht! :anguished:
Das ding gibt’s ja in Leise und Schnell!!!
Navigation ist etwas anderst mit dem mittelbutton zum bestätigen.
ansonsten Druckt er grade neben dem PC auf dem Boden Überraschend leise was vorher deutlich lauter wahr.
Mit der Multiextrudergeschichte bin ich nicht wirklich weiter bis darauf das das umwursten in den Files Configuration.h pins_ANET_10.h und pins_SANGUINOLOLU_11.h und der Versuch bis auf den En_ENABLE_PIN einfach alle Extruder und Headends sowie Temperatursensoren auf die gleichen Pins zu legen mal gründlich in die Hose ging.

  1. Ist es mit einer Fehlermeldung abgefragt und
  2. Die Firmeware dankte es nach dem rauskommentieren des #errors mit einem Freundlichen Temperaturerror! please Reset am Drucker.

Wenn ich aber einfach den J3 Umwurste und wie oben beschrieben integriere muss der Extruderversatz mit dem Slicer komprimiert werden. Das ja eigentlich nicht so ganz der Sinn an dem G-Code.

Das kann ja nicht gutgehen! Wie soll das System z.B. bei Tempsensoren Werte messen, wenn die parallel auf dem selben Pin liegen?
Das Megaboard sollte eigentlich genug IO- Pins haben.
Über J3 laufen Miso und Mosi, das ist ein adressierbarer serieller Bus, da kannste ohne weiteres keinen Sensor und keinen Stepper anschliessen.

Gruss
Walt

Gar nicht, es existiert ja zz. noch nur ein Headend, die Extruder hätten theoretisch alle die gleichen Temperaturen messen müssen da sie ja alle auf dem selben Pin liegen.
Es wahr in der Theorie sowas angedacht:

Quelle

2 Düsen in einem Headend mit 2 Steppern, wobei immer nur einer läuft,
210°C geht PLA sowie ABS.
Da immer nur ein Stepper Läuft müsste nur zwischen den Steppern Umgeschaltet werden. Es sollte 1 Motortreiber reichen.
Eventuell gibt’s noch ärger da im schlimmsten Fall nach dem zurückschalten 4 Steps am Extrudermotor verloren Gegengen sind.
Wie weit sich das auf den Druck auswirkt wollt ich im druck testen.

Es ging um eine Erweiterung ohne Mainboard tausch. Anet V1.0 hat keine IO-Pins mehr nach außen geführt außer die die mit SPI belegt sind. Ob das nach dem Bootloader noch SPI ist liegt an der Firmware. Da kann nämlich fast jeder Pin frei als IO belegt werden. Nur umgekert ist das nen Problem. Allerdings sollte man von dem ResetPin tunlichst die Finger lassen. Der wird nämlich zum Flaschstart benötigt und zwar nach dem Bootloader um in den Bootloader-Flashmudus zu kommen.

Momentan bin ich aber am überlegen ob ich nicht ne SPI Erweiterung bastele.
Da ist aber dann die frage ob nen Mainboardwechsel zu nem Ardoino atMega nicht auf’s gleiche kommt wie sowas z.B.: SainSmart Mega2560+A4988+RAMPS 1.4 3D Printer Kit for Arduino RepRap
Da hätt ich dann genug IO’s frei zum Spielen.

Ich finde das alles aber eher mit Kanonen auf Spatzen Schießen.
Auf der einen Seite will ich den SPI Bus erhalten auf der anderen Seite sind da 3 IO-Pins zum vergewaltigen.

Nen AtMega hab ich noch liegen aber das ist wieder Zukauf-Hardware für jemanden der das nachbaut. Da kann derjenige auch gleich mit dem Opensource Projeckt anfangen.

oder ob ich mir einfach mal sowas kommen lasse und schaue ob man das als Outputpins benutzen kann?

8x8 LED Matrix SPI Interface MAX7219 + Kabel Arduino Raspberry Pi

Ich mein ob da nun ne LED oder nen Motorenbetreiber dran hängt ist ja nu wurscht oder?
Wobei wenn schon sowas, dann währ es ja schön wenn es gleich nen Analogeingang mitbringen würde. Aber nach was könnt ich da suchen, Pro SPI Endgerät mindestens 4 D-OUT und 1 A-IN, grübel. Hat Jemand ne idee?

TMC26X
L6470
auf diese SPI Fähigen Motortreiber bin ich in der SkynetV2.2.ino gestoßen.
Und siehe da der L6470 ist bei E-Bay für 10€ zu haben. Beide scheinen Inclodiert zu sein was einen aber nicht vor dem Umprogrammieren der Firmware bewart.
das Problem mit den Analogpin für ein 2. Headend und dem Outputpin für die 2. Heitzpatrone sind damit aber nicht gelöst.
Nun frage ich mich ob es überhaubt Wirdschaftlich ist über SPI zu erweitern wenn für unter 40€ mittlerweile komplette RAMP 1.4 Kids angeboten werden inklusive Motortreibern und AtMega2560-Board.
Da wäre ich frei mit Erweiterungen weil ich an jeden Pin rankomme.
Bei denen ist aber Vorsicht geboten bei dem Betrieb über 12V!
Manche Kids haben nur 16V Elkos drauf die das dann bei 24V betrieb nach einer weile lautstark kund-tuen werden!!!
Und Optimalerweise sollte man die 36V der Controller ausnutzen, da die Motoren so ein Deutlich höheres Dremoment bei Drehzaländerrungen haben und das Heiabett und Heizpatronen deutlich schneller auf Temperatur kommen. Die Termische Belastung der Bauelemente ist deutlich geringer da die Einschaltzeiten deutlich geringer sind.
Ramps hat 2 VCC eingänge, einen seperrat für das Heitzbett 11A und einen für den Rest mit glaub 6A.
Das Anet V1.0 Soll angeblich 24V Tauglich sein!!!
Die PTC-Sicherungen sowie die Elkos müssten bei Überspannungs betrieb ersetzt werden was bei Ramps 1.3 (Deutlich teurer) nicht das Problem ist. aber bei der 1.4 Version ist der Aufbau komplett in SMD was wohl ältliche Nerven Kostet.

Letztendlich muss ich jetzt darüber Brüten wie es weiter gehen soll.

Hallo Fox,
bei Steppern sollte der Strom nur so hoch wie nötig sein, sonst erwärmen sie zu stark. Wichtig ist, dass bei hoher Motordrehzahl der Strom NICHT absinkt, was normalerweise der Fall ist. Bewerkstelligt wird das durch eine Konstantstromquelle, die die meisten Steppercontroller integriert haben. 12V sind dafür ausreichend.
Das Heizbett ist meines Wissens mit max. 24V zu betreiben.
Wenn Du 36V an die Heizpatrone des Extruders legst, wird sie wohl bald durchbrennen.
Wenn Du unbedingt au dual Extruder aufrüsten willst, solltest du auf Ramps 1.4 umsteigen, dafür gibts dann angepasste Firmware.

Gruß
Walt

PS. Hab auf Skynet 2.3 aufgerüstet, läuft gut, wenn man IDE 1.8.0 separat installiert, wegen USB- Treiber.

PS. Unser Forumchef hat sich für dieses Jahr wohl abgemeldet? :wink: