Home | Discord-Status | Impressum / Datenschutz | Forum | BuLi Tippspiel

Anet A8 - Anet V1.0 Board Custom Repetier


#41

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?


#42

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.


#43

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:


#44

hi
hab mal ne frage. Habe auch skynet geflasht auf meinen Anet A8 und danach wieder die orginale.hex. Wenn ich jetzt nochmal die Skynet Firmware aufspielen möchte kommt folgender Fehler : Arduino: 1.6.9 (Windows 7), Board: „Anet V1.0“

Der Sketch verwendet 119.844 Bytes (91%) des Programmspeicherplatzes. Das Maximum sind 131.072 Bytes.
Globale Variablen verwenden 4.422 Bytes des dynamischen Speichers.

avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x21
avrdude: stk500_cmd(): programmer is out of sync

Hat jemand eine Idee was das sein kann oder wie ich den Fehler beheben kann ?

Vielen Dank schon mal vorab


#45

Da stimmt was nicht mit der Kommunikation zwischen Arduino und PC.
Richtiges Board gewählt, richtiger Programmer?

Gruß
Walt


#46

die WLP wird mit der zeit doch trocken
d.h. Heizkapsel und Fühler sind nun quasi einzementiert, na egal
hab ne Menge Hotends


#47

Toller Thread, viele interessante Infos! @igi0815 du hast mir gerade noch mehr Inspirationen für das “pimping” meines A8 gegeben, an die Riemen hatte ich noch nicht gedacht.

BTW falls noch jemand immer Probleme mit dem Wechsel des Filaments hat kann ich diese Modifikation empfehlen: http://www.thingiverse.com/thing:1749614
Bei mir ist es so dass ich ganz selten einen warm oder cold pull schaffe, meistens passt das Fußende des Filaments nicht durch das Throat der Hotendschraube, und ich muss das Filament abschneiden und mit dem neuen durchschieben. Damit kann ich das nun erledigen ohne den Kühler abschrauben zu müssen, und der Kühlblock unter dem Extruder läuft trotzdem nie mehr als handwarm. Leiser ist der Drucker dadurch auch, nur die sehr leichte Abkühlung durch den Luftstrom aufs Hotbed stört noch. Ich arbeite gerade an einem Remix des Kühlerhalters mit einer kleinen Blende die den Luftstrom mehr auf den Stepper lenkt und nicht daran vorbei lässt.


#48

Moin

hab endlich die skynet FW drauf - 2.3
und ziemlich rumgefummelt, bis autolevelling perfekt lief

z-achse fur leider auch einige male voll ins Bett (obwohl sensor ok)

Ich hab zwar keine Ahnung von Arduino Programmierung,
(aber vor 20j mal assembler und pascal)
allerdings trotzdem in der 2.3 - der configuration.h 2 Fehler entdeckt
bei 3 point levelling war if enabled falsch geschrieben
und es fehlte ein endif

das linear levelling brachte bei mir immer komische werte
diagonal immer 1mm zu viel ?!

beim bilinear Levelling waren die werte dann ok, und änderten sich auch je nach temperatur auch mal ein zehntel
allerdings hab ich die glasplatte erstmal runtergenommen
(hatte drunter schon an den messpunkten Kupferfolie aufgeklebt)
und nutzte aktuell direkt die aluplatte (da geht der Sensor besser)
am Ende waren es ja die Fehler in der Software s.o.

aber der first layer ist schon viel besser und man sieht die Z-Achse auch, dass diese sich minimal beim druck bewegt, so ca. 2-3grad

wg. des Spiels der Z-Achse - da hab ich provisorisch mal fett Heisskleber über die Spindel und die Halterung gemacht - also so, dass der heisskleber mit dem x-achsenhalter gut verbunden ist (entfettet)
und auch gut über die Spindel gelaufen.
da die Spindel gut eingefettet war, konnte ich nach erkalten die Spindel mit einem Ruck befreien,
nun habe ich kein Spiel mehr auf der z-Achse.

theor. kann man sich ja auch eine Trapezmutter drucken…
es gibt ja sogar bei IGUS Filament um Lager selbst zu drucken .

ach ja die Beschleunigung der achsen ist in der skynet schon sehr hoch gedreht
da wackelt der ganze drucker, die hab ich etwas verkleinert (hälfte)

gruß Ingo


#49

@igi0815

danke für deine ausführliche Zusammenfassung.! :slight_smile:

Hab von ein paar Tagen meine A8 auch mit der der aktuellen SkyNet FW und einem Induktiven Sensor bestückt und bin ebenfalls über Problem mit dem “bed-leveling” gestolpert (erste Lage inkonsistent / Levelwerte “1” in der Diagonale) …

Könntest du mir mir deiner configuration.h helfen, oder deine Änderungen genauer benennen?
Ich würde das gern mal testen. :slight_smile:

PS: ich hab gelesen das Marlin mit zwei Z-Treibern/Motoren/Endschaltern die Z(/X?)-Achse “leveln” kann …

… werde ich mir bei Gelegenheit mal genauer ansehen.


#50

moin

manche lassen zb ihre z-achse nach oben an einen Anschlag fahren zum Nivellieren der beiden achsen, macht aber Probleme wenn man Spiel in der spindelmutter hat.
Ich dachte auch mal an Lagerklötze oben an den Z-Achsen und da die 2 Achsen mit einem Zahnriemen miteinander koppeln.
d. h. einmal perfekt ausmessen, dann mit dem Riemen und entspr. Riemenscheiben koppeln, dass sie immer gleich laufen.
na mal sehen…
oder via Software und zb Lichtschranken, aber das wäre aufwendiger.

wegen Levelling:
in der konfiguration.h kommt irgendwo die Stelle mit den 3 verschiedenen Autolevelling Arten
(bei der aktuellen 2.3.1)
fängt so an //#
(mit //ist die Zeile auskommentiert
zum aktivieren // entfernen)
es gibt:
3-point
linear
bilinear

default ist linear aktiv und damit hatte ich immer diagonal (links oben nach rechts unten) 1mm
immer gleich, die anderen ecken ok
aber so schief ist weder das alubett noch die glasplatte
dann hatte ich 3-point getestet, aber das war mir zu wenig.
(bei der 3-point zeile ist der fehler mit dem if enabled, da steht elif)

Ich habe dann bilinear aktiviert (die anderen ausgeklammert)
und auch meine Grenzen auf dem Drucktisch angepasst
und auch ein paar andere x, y werte

danach getestet und damit kamen sinnvolle werte raus beim levelling

den z-offset habe ich nur über das display eingestellt (-1.43), nicht in der konfig, das Druckbett
manuell richtig ausgerichtet, so dass ich auch ohne levelling drucken könnte.
die z-achsen auch vorher genau auch gleiche Höhe, soweit das geht (vermutlich so 0.2mm)
den Rest macht das Autolevelling.
will man etwas tiefer, den offset 0.01 tiefer stellen.

bitte Schreibfehler zu entschuldigen,
tippe am Handy

wenn nötig, kann ich auch die konfig (oder Teile) hier hochladen

jetzt könnte ich ja die Glasplatte wieder drauf legen,
die war ja nicht schief
(hab da Kupferfolie (tifanny) drunter geklebt für den Sensor, aber der (10mm) Sensor reagiert nur sehr knapp vorm Glas

Gruß Ingo


#51

Hallo zusammen.
Ich hab das LCD 12864 von ebay von RapRap Discount http://www.ebay.de/itm/282329398125?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

aber wenn ich die A8- fullgraphicsLcd- no autolevel auswähle die ich hier https://www.facebook.com/skynet3ddevelopment/posts/ runter geladen habe blinkt das Display nur und auf der Anet A8 V1.0 Platine blinken wild ein paar LED´s.
Kann mir da einer helfen.


#52

Mojens,
Also ich habe mich für das RAMPS 1.4 entschieden. Da ich aber nicht noch mehr Motorentreiber bestellen wollte und auf dem alten Mainboard ja nun mal 4 Stück drauf sind hab ich mich dazu entschlossen das alte Mainboard als Erweiterung für das RAMPS zu benutzen.
Also Kleines Programm geschrieben und festgestellt in C ist das VIEL zu langsam. die Steuerimpulse für die Motortreiber haben ca 10ns High Pegel! also musste ich dadrunter kommen und habe mir Assembler und Register angeguckt.
was dabei Raus gekommen ist möchte ich gerne weitergeben:

Auch hirfür gillt der RAMPS Haftungsausschluss:
Inbesondere Lassen sie nie ihren 3D Drucker Alleine Arbeiten!
Gesunder Menschenverstand wird vorrausgesetzt!
!!! Haben sie keinen Rauchmelder?, dann Kaufen sie sich einen !!!

!!! Hinweisen möchte ich noch darauf das CMOS-Bausteine bei offenen Eingängen
!!! Keinen definirten zustand haben, oder um deutlich zu werden
!!! Wer beim Basteln Heitzun oder Exruderheitzung angeschlossen hat
!!! Dazu die Versorgungsspannung Eingeschaltet lässt,
!!! den Verbindungskabelbaum abzieht und dann in den Keller geht
!!! SOLTE SICH NICHT WUNDERN WENN DIE FEUERWEHR ZU BESUCH KOMMT !!!

/*

Dieses Programm ist Für den Drucker Anet A8 gedacht 
für alle die ihr Altes Manboard Anet v 1.0 gegen 
ein Arduino Mega mit Ramps v1.4 tauschen möchten aber
die Motortreiber & MOSFET Ausgänge & Temperatursensoren 
des Alten Mainbords gerne verwenden möchten.
Dieses Programm macht nichts anderes als weiter unten definierte Eingänge 
auf die Motortreiber und Ausgänge durchzureichen.
Mit hilfe des weiter unten eschrieben Kabelbaumes
und den weiter unten beschrieben Anpassungen der Skynet 2.2 Firmware
ist es hiermit möglich das Anet V1.0 Mainbord als Rampserweiterung zu nutzen

Leichte Programierkentnisse sowie umgang mit Lötkolben 
und die Fähigkeit Elektronische Bauteile zu erkennen wird vorausgesetzt

Auch hirfür gillt der RAMPS Haftungsausschluss:
Inbesondere Lassen sie nie ihren 3D Drucker Alleine Arbeiten!
Gesunder Menschenverstand wird vorrausgesetzt!
!!! Haben sie keinen Rauchmelder?, dann Kaufen sie sich einen !!!

!!! Hinweisen möchte ich noch darauf das CMOS-Bausteine bei offenen Eingängen
!!! Keinen definirten zustand haben, oder um deutlich zu werden
!!! Wer beim Basteln Heitzun oder Exruderheitzung angeschlossen hat
!!! Dazu die Versorgungsspannung Eingeschaltet lässt, 
!!! den Verbindungskabelbaum abzieht und dann in den Keller geht
!!!!!!! SOLTE SICH NICHT WUNDERN WENN DIE FEUERWEHR ZU BESUCH KOMMT !!!!!!!

Und wie immer: Ich schliße jegliche Haftung aus.

  ////////////////////////////////////////////////////////////////////
  //                  Komplette zuordungsliste                      //
  ////////////////////////////////////////////////////////////////////
  //                                             Atmega 1284p Anet V1.0                                         <<<Whire>>> Atmega 2560 Ramps V1.4
  //                OUTPUT                                 |                     INPUT                          <<< DIR >>>        I/O
  //Skynet 2.2 Var|IONr|Typ|Reg|Art           |Ort         |PinNr Art     |IONr|Typ|Reg|Skynet 2.2 Var|PinArt|PinNr<Whire> IONr|Typ|PinArt|PinNr
  //                                                                        31  A0  A0                           -----------
  //Z_ENABLE_PIN    26  A5  A5  Motor-Pins     INT                          10      D2  RXD1           LCD-PIN 4 <----------  1     AUX-1    5
  //E0_DIR_PIN       0      B0  Motor-Pins     INT                          30  A1  A1                 LCD-PIN 9 <----???--- 66 A12 AUX-2    9
  //E0_STEP_PIN      1      B1  Motor-Pins     INT                          29  A2  A2                 LCD-PIN 7 <----???--- 44     AUX-2    7
  //Z_DIR_PIN        2      B2  Motor-Pins     INT                          28  A3  A3                 LCD-PIN 5 <---------- 64 A10 AUX-2    5
  //Z_STEP_PIN       3 PWM  B3  Motor-Pins     INT                          27  A4  A4                 LCD-PIN 3 <----------  2     AUX-1    7
  //FAN_PIN          4 PWM  B4  Fan-Pin & J3   J3            9 FAN_PIN       4 PWM  B4  Fan-Pin & J3        J3 9 <----------  5 PWM Servo    4
  //                18      C2  ProgPWM        Endstop-Pin X 1 TEMP_BED_PIN 25  A6  A6  Temp-Pin IN BED         -RC Tiefpass>59  A5 AUX-2    3
  //                19      C3  ProgPWM        Endstop-Pin Y 1 TEMP_0_PIN   24  A7  A7  Temp-Pin IN TMP         -RC Tiefpass>63  A9 AUX-2    4
  //X_DIR_PIN       21      C5  Motor-Pins     INT                           5  B5                        J3   6 <----------  4 PWM Servo    3
  //Y_STEP_PIN      22      C6  Motor-Pins     INT                           6  B6                        J3   3 <---------- 42     AUX-2    8
  //Y_DIR_PIN       23      C7  Motor-Pins     INT                           7  B7                        J3   5 <---------- 65 A11 AUX-2   10
  //                 8      D0                                                                                   -----------
  //                 9      D1                                                                                   -----------
  //HEATER_BED_PIN  12 PWM  D4  Heater-Pin OUT BED                          16  C0      SCL           LCD-PIN  8 <-MussPWM-- 11 PWM Servo    1
  //HEATER_0_PIN    13 PWM  D5  Heater-Pin OUT TMP                          17  C1      SDA           LCD-PIN 10 <-MussPWM--  6 PWM Servo    2
  //XYE0_ENABLE_PIN 14 PWM  D6  Motor-Pins     INT                          10  D2      RXD1          LCD-PIN  4 <----------  1     AUX-1    5
  //X_STEP_PIN      15 PWM  D7  Motor-Pins     INT                          11  D3      TXD1          LCD-PIN  6 <---------- 40     AUX-2    6
  //x                x   x   x  x          x     x           x               x   x   x  x             LCD-PIN  1 <---------> 0V   x AUX-2    2
  //x                x   x   x  x          x     x           x               x   x   x  x             LCD-PIN  2 <---------> 5V   x AUX-2    1
  //                                                                                                     J3   10 <-------->3,3V   x x     3,3V
  //                                                                                                     J3    8 <---------> 0V   x x       0V
  //                                                                                                     J3    7 <--------->Rst   x x      Rst
  //                                                                                                     J3    4 <---------> 5V   x x       5V
  //                                                                                                     J3    1 <--------->  x   x x      BLE ???
  //                                                                                                     J3    2 <--------->  x   x x      BLE ???

  ////////////////////////////////////
  //      Atmega 1284p              //
  //IO   |Register|PB|BoardLayerPin //
  //-----+--------+--+--------------//
  //31  A0    PINA 0  ---
  //30  A1    PINA 1  LCD-PIN_9
  //29  A2    PINA 2  LCD-PIN_7
  //28  A3    PINA 3  LCD-PIN_5
  //27  A4    PINA 4  LCD-PIN_3
  //26  A5   PORTA 5  Z_ENABLE_PIN
  //25  A6   *PINA 6  Tmp-Pin_IN_BED
  //24  A7   *PINA 7  Tmp-Pin_IN_E0
  //0        PORTB 0  E0_DIR_PIN
  //1        PORTB 1  E0_STEP_PIN
  //2        PORTB 2  Z_DIR_PIN
  //3  PWM   PORTB 3  Z_STEP_PIN
  //4  PWM    PINB 4  J3_9 | Pan-Pin
  //5         PINB 5  J3_6
  //6  PWM    PINB 6  J3_3
  //7  PWM    PINB 7  J3_5
  //16        PINC 0  LCD_PIN_8
  //17        PINC 1  LCD_PIN_10
  //18      *PORTC 2  Endstop-Pin_X // PWM Ausgabe von Tmp-Pin_IN_BED
  //19      *PORTC 3  Endstop-Pin_Y // PWM Ausgabe von Tmp-Pin_IN_E0
  //20        PINC 4  Endstop-Pin_Z
  //21       PORTC 5  X_DIR_PIN
  //22       PORTC 6  Y_STEP_DIR
  //23       PORTC 7  Y_DIR_PIN
  //8         PIND 0  ---
  //9         PIND 1  ---
  //10        PIND 2  LCD-PIN_4
  //11        PIND 3  LCD-PIN_6
  //12 PWM   PORTD 4  HEATER_BED_PIN
  //13 PWM   PORTD 5  HEATER_0_PIN
  //14 PWM   PORTD 6  XYE0_ENABLE_PIN
  //15 PWM   PORTD 7  X_STEP_PIN

  ///////////////////////////////////////////////////////////////////////
  //      Atmega 1284p                                                 //
  //      DIGITAL IO Portmanipulation Codebeispiele                    //
  //                 #              HIGH              #     LOW        //
  //-----------------+--------------------------------+----------------//
  //Eingang     if(( #  PINx  & (1 << PBx))) { code } # else { code }; //
  //Ausgang   PORTx  # |= (1 << PBx);                 # &= ~(1 << PBx);//
  ///////////////////////////////////////////////////////////////////////

  ////////////////////////////////////////////
  // Registerbeschreibung ADC / analogRead  //
  ////////////////////////////////////////////
  //ADMUX (REFS1 REFS0 ADLAR xxx MUX3  MUX2  MUX1  MUX0)
  //ADCSRA
  //ADEN
  //"ADC Enable": Mittels ADEN wird der ADC ein und ausgeschaltet. Eine 1 an dieser Bitposition schaltet den ADC ein.
  //ADSC
  //"ADC Start Conversion": Wird eine 1 an diese Bitposition geschrieben, so beginnt der ADC mit der Wandlung. Das Bit bleibt auf 1, solange die Wandlung im Gange ist. Wenn die Wandlung beendet ist, wird dieses Bit von der ADC Hardware wieder auf 0 gesetzt.
  //ADFR
  //"ADC Free Running": Wird eine 1 an ADFR geschrieben, so wird der ADC im Free Running Modus betrieben. Dabei startet der ADC nach dem Abschluss einer Messung automatisch die nächste Messung. Die erste Messung wird ganz normal über das Setzen des ADSC-Bits gestartet.
  //ADIF
  //"ADC Interrupt Flag": Wenn eine Messung abgeschlossen ist, wird das ADIF Bit gesetzt. Ist zusätzlich noch das ADIE Bit gesetzt, so wird ein Interrupt ausgelöst und der entsprechende Interrupt Handler angesprungen.
  //ADIE
  //"ADC Interrupt Enable": Wird eine 1 an ADIE geschrieben, so löst der ADC nach Beendigung einer Messung einen Interrupt aus.
  //ADPS2, ADPS1, ADPS0
  //"ADC Prescaler": Mit dem Prescaler kann die ADC-Frequenz gewählt werden. Laut Datenblatt sollte diese für die optimale Auflösung zwischen 50kHz und 200kHz liegen. Ist die Wandlerfrequenz langsamer eingestellt, kann es passieren dass die eingebaute Sample & Hold Schaltung die Eingangsspannung nicht lange genug konstant halten kann. Ist die Frequenz aber zu schnell eingestellt, dann kann es passieren dass sich die Sample & Hold Schaltung nicht schnell genug an die Eingangsspannung anpassen kann.


  ///////////////////////////////////////////////////////////////////////////////////
  //                                WieringList:                                   //
  //--------------------------------------------------------------------------------+
  //       Atmega 1284p ANET V1.0             <<<<<<<->>>>>>> Atmega 2568 Ramps 1.4 |
  //-------------v---------v--------------v---<<<<<<<->>>>>>>--------v----v---v-----+
  //  SkynetV2.2 | Komment | PhysikalPort |Pin<----WIERE---->Pys.Port|Pin |I/O|Namme|
  //-------------+---------+--------------+---<<<<<<<->>>>>>>--------+----+---+-----|
  // TEMP_BED_PIN| ProgPWM | Endstop-Pin X| 1 --RC Tiefpass-> AUX-2  | 3  | 59| A5  |
  // TEMP_0_PIN  | ProgPWM | Endstop-Pin Y| 1 --RC Tiefpass-> AUX-2  | 4  | 63| A9  |
  // x           | x       | LCD-PIN      | 2 <-------------> AUX-2  | 1  |  x| 5V  |
  // x           | x       | LCD-PIN      | 1 <-------------> AUX-2  | 2  |  x| 0V  |
  // Z_STEP_PIN   |        | LCD-PIN      | 3 <--------------  AUX-1 | 7  |  2|     |
  // Z_ENABLE_PIN  |  RXD1 | LCD-PIN      | 4 <--------------  AUX-1 | 5  |  1|     |
  // XYE0_ENABLE_PIN| RXD1 | LCD-PIN      | 4 <--------------  AUX-1 | 5  |  1|     |
  // Z_DIR_PIN      |      | LCD-PIN      | 5 <-------------- AUX-2  | 5  | 64|A10  |
  // X_STEP_PIN    |       | TXD1 LCD-PIN | 6 <-------------- AUX-2  | 6  | 40|  x  |
  // E0_STEP_PIN  |        | LCD-PIN      | 7 <-------------- AUX-2  | 7  | 44|  x  |
  // Y_STEP_PIN  |         | J3           | 3 <-------------- AUX-2  | 8  | 42|  x  |
  // E0_DIR_PIN |          | LCD-PIN      | 9 <-------------- AUX-2  | 9  | 66|A12  |
  // Y_DIR_PIN |           | J3           | 5 <-------------- AUX-2  | 3  |  4|PWM  |
  // X_DIR_PIN|            | J3           | 6 <--------------  Servo | 4  |  5|PWM  |
  // FAN_PIN |J3_9&Fan-Pin | J3           | 9 <--------------  Servo |10  | 65|A11  |
  // HEATER_0_PIN|    SDA  | LCD-PIN      |10 <---MussPWM----  Servo | 2  |  6|PWM  |
  // HEATER_BED_PIN|  SCL  | LCD-PIN      | 8 <---MussPWM----  Servo | 1  | 11|PWM  |
  //---------------+-------+--------------+--------------------------+----+---------+

  //////////////////////////////////////////////////////////
  //                      RC-Tiefpass:                    //
  //////////////////////////////////////////////////////////
  // ANET 1.0           /   Wihering          / RAMPS 1.4 //
  //////////////////////////////////////////////////////////
  // Endstop-Pin X Pin 1 -RED--4K7Ohm----+---- AUX-2 Pin 3//
  //                                     | +              //
  // Endstop-Pin X Pin 2 -NC            100µF             //
  //                                     | -              //
  // Endstop-Pin X Pin 3 -BLACK----------+                //
  //                                                      //
  // Endstop-Pin X Pin 3 -BLACK----------+                //
  //                                     | -              //
  // Endstop-Pin X Pin 2 -NC            100µF             //
  //                                     | +              //
  // Endstop-Pin X Pin 1 -RED--4K7Ohm----+---- AUX-2 Pin 4//
  //////////////////////////////////////////////////////////


  //////////////////////////////////////////////////////////
  //      Vatiabelen für SKYNET v 2.2 pins_RAMS.h         //
  //////////////////////////////////////////////////////////
  //
  //
  //#define SERVO0_PIN        -1 //11
  //#define SERVO1_PIN          -1 // 6
  //#define SERVO2_PIN          -1 // 5
  //#define SERVO3_PIN          -1 // 4
  //
  //#define ANET_v10_Stepper_Enable_Pin 58
  //
  //#define X_STEP_PIN         40
  //#define X_DIR_PIN           4
  //#define X_ENABLE_PIN        ANET_v10_Stepper_Enable_Pin
  //#define X_CS_PIN           -1
  //
  //#define Y_STEP_PIN         42
  //#define Y_DIR_PIN          65
  //#define Y_ENABLE_PIN        ANET_v10_Stepper_Enable_Pin
  //#define Y_CS_PIN           -1
  //
  //#define Z_STEP_PIN         57
  //#define Z_DIR_PIN          64
  //#define Z_ENABLE_PIN        ANET_v10_Stepper_Enable_Pin
  //#define Z_CS_PIN           -1
  //
  //#define E0_STEP_PIN        44
  //#define E0_DIR_PIN         66
  //#define E0_ENABLE_PIN       ANET_v10_Stepper_Enable_Pin
  //#define E0_CS_PIN          -1
  //
  //#define TEMP_0_PIN         13   // Analog Input
  //#define TEMP_BED_PIN       14   // Analog Input
  //#define TEMP_1_PIN         15   // Analog Input
  //#define TEMP_2_PIN          5//63//A5   // Analog Input
  //#define TEMP_3_PIN          9//59//A9   // Analog Input
  /////
  //#define E1_STEP_PIN        54
  //#define E1_DIR_PIN         55
  //#define E1_ENABLE_PIN      38
  //#define E1_CS_PIN          53
  //
  //#define E2_STEP_PIN        60
  //#define E2_DIR_PIN         61
  //#define E2_ENABLE_PIN      56
  //#define E2_CS_PIN          49
  //
  //#define E3_STEP_PIN        46
  //#define E3_DIR_PIN         48
  //#define E3_ENABLE_PIN      62
  //#define E3_CS_PIN          40
  //
  //#define E4_STEP_PIN        26
  //#define E4_DIR_PIN         28
  //#define E4_ENABLE_PIN      24
  //#define E4_CS_PIN          42
  //
  //#define E5_STEP_PIN        36
  //#define E5_DIR_PIN         34
  //#define E5_ENABLE_PIN      30
  //#define E5_CS_PIN          44
  //
  ////
  //// Heaters / Fans
  ////
  //#ifndef MOSFET_D_PIN
  //  #define MOSFET_D_PIN   -1
  //#endif
  //#ifndef RAMPS_D8_PIN
  //  #define RAMPS_D8_PIN    11 //ANET BED
  //#endif
  //#ifndef RAMPS_D9_PIN
  //  #define RAMPS_D9_PIN    6 //ANET Header E0
  //#endif
  //#ifndef RAMPS_D10_PIN
  //  #define RAMPS_D10_PIN   5 //ANET Fan E0
  //#endif
  //#ifndef RAMPS_D11_PIN
  //  #define RAMPS_D11_PIN   8 //D8 NC
  //#endif
  //#ifndef RAMPS_D12_PIN
  //  #define RAMPS_D12_PIN   9 //D9 Header E1
  //#endif
  //#ifndef RAMPS_D13_PIN
  //  #define RAMPS_D13_PIN  10 //D10 Fan E1
  //#endif
  //
  //#define HEATER_0_PIN     RAMPS_D9_PIN
  //#define FAN_PIN          RAMPS_D10_PIN
  //#define HEATER_1_PIN     RAMPS_D12_PIN
  //#define FAN1_PIN         RAMPS_D13_PIN
  //#define HEATER_BED_PIN   RAMPS_D8_PIN

*/
///////////////////////////////////////////////////////////////
//                     PROGRAMMCODE                          //
///////////////////////////////////////////////////////////////
////////////////////// Biblioteken ////////////////////////////
#include <avr/io.h>
#include <inttypes.h>
////////////////////// Globale Variablen //////////////////////
      bool PINWAHL = LOW;              // A6 vorwählen
      word RESULT6, RESULT7, ZAHL = 0; // Schleifenzahler
const byte TEILER = 0;                 // Genauigkeit/Geschwindigkeit der PROG-PWM Einstellen 0 ca. 190Hz
const word TEMPKORECKT = -10;          // Wert wid auf den gelesene wert von 0 bis 1024 Aufadiert
////////////////////// PRG Setup //////////////////////////////
void setup() {
  //       76543210
  DDRA = 0b00100000;                 // Ein und Ausgänge PortA Definieren
  DDRB = 0b00001111;                 // Ein und Ausgänge PortB Definieren
  DDRC = 0b11111100;                 // Ein und Ausgänge PortC Definieren
  DDRD = 0b11110000;                 // Ein und Ausgänge PortD Definieren
  RESULT6 = analogRead(A6);          // Dummyread und ADC-Register Vorconfigurieren
  RESULT7 = analogRead(A7);          // Dummyread und ADC-Register Vorconfigurieren
};
////////////////////// PRG Loop ///////////////////////////////
void loop() {
  //0=I 1=O  76543210    WriteO     ReadI    76543210  Dir n        ReadI    76543210  Dir n
  /*DDRA = 0b00100000;*/ PORTA = (( PIND & 0b00000100 ) << 3 );
  /*DDRB = 0b00001111;*/ PORTB = (( PINA & 0b00011110 ) >> 1 );
  /*DDRD = 0b11110000;*/ PORTD = (( PINC & 0b00000011 ) << 4 ) | (( PIND & 0b00001100 ) << 4 );
  if (ZAHL > ((1 << 10) >> TEILER)) {             // Schleifenzähler bei 1024
    ZAHL = 0;                    // Resetten
  };
  if (ADCSRA & (1 << ADIF)) {    // Wenn ADCRedy dann
    //
    if (!PINWAHL) {              // Wenn A6 dann
      RESULT7 = (ADCW + TEMPKORECKT) >> TEILER;          // Ergebnis von A7 Speichern
      ADMUX = (1 << REFS0) | 6; // Kanal A6 des Multiplexers waehlen
    } else {                     // Wenn A7 dann
      RESULT6 = (ADCW + TEMPKORECKT) >> TEILER;          // Ergebnis von A6 Speichern
      ADMUX = (1 < REFS0) | 7; // Kanal A7 des Multiplexers waehlen
    };
    ADCSRA |= (1 << ADSC);       // Naechste Wandlung Starten
    PINWAHL = !PINWAHL;          // Toggle Pinwahl A6 A7
  };
  PORTC = (PINB & 0b11100000) | ((ZAHL < RESULT6) << PB2) | ((ZAHL < RESULT7) << PB3);  // Schreibe X- & Y_DIR & Y Step & ADC Result A6 & A7 in PWM auf PortC
  ZAHL++;                        // Schleifenzahler +1
};

Zum Abschluss Hatte ich gelesen das hier jemand mehr als 4 Extruder am Drucker hatte,

  • Stimmt das?
  • Hatte derjenige auch die skynet FW Drauf?

Ich scheitere zz. an den Einstellungen für die Extruder
insgesammt 2 Headends

  1. Headend hat 1 Stepper für Stützmaterial
  2. Headend bekommt 5 Stepper für Rot Gelb Blau Weiß Schwarz und ist eine Mischdüse.

zu dem Grafik Display: hab ich noch nicht getestet und möchte ich noch was anderes Testen. Es gibt Display’s mit mc die kaum teurer sind als normalte TFT Module, diese werten RS232 TTL aus und sind frei Programierbar Bunt und könnten Theoretisch alles was Repiter-Host in der Mannuellen Kontrolle kann, wenn man es Programmiert und Wahrscheinlich zusätzliche rs232 befele in die Firmware des Druckers bastelt. Dazu Evenuell Später mehr denn erstmal soll der Drucker jetzt ans laufen kommen.

BedLeveling kümmer ich mich auch erst darumm wenn die offenen Baustellen abgeschlossen sind. Inni ist zwar schon dran aber step by step. Sonst geht garnix mehr. Aber schon mal ein dickes Danke für eure Arbeit und das Posten der selbigen!!! Wird ättliche Läute ermutigen weiter zu machen!!!


#53

Ist wohl hier falsch, meinte chris89
Hallo, hast du schon eine Lösung? mir geht es seit heute auch so. Ich kann zwar mit Simplify3d drucken, bekomme aber keine neue Firmware drauf.Fehlermeldung die gleiche .Gruß Ralf


#54

Hab wohl eben beim Falschen nachgefragt, also hier noch mal:

Hallo, hast du schon eine Lösung? mir geht es seit heute auch so. Ich kann zwar mit Simplify3d drucken, bekomme aber keine neue Firmware drauf.Fehlermeldung die gleiche .Gruß Ralf


#55

Eventuell noch nen prg offen was den Comport blockiert ? 12 volt am drucker an? Oder falscher comport gewählt? In der fehlermeldung steht quasi compiling fertig und dann upliad konnte nicht hochgeladen werden weil nicht synconisiert.


#56

Vielleicht kann mir jemand helfen. Ich habe aktuell die Skynet2.3.1 Firmware auf meinen Anet A8 geflasht. Autoleveling funktioniert, aber es kommt kein Filament raus bzw. sehr wenig. Weiß vielleicht jemand, was es sein kann?
Ich habe in Configuration.h noch was zu Filament gefunden, da konnte man Diameter von 3.00mm auf 1.75mm umstellen, das habe ich gemacht, aber leider hat es nichts gebracht.
Vielleicht gibt’s eine andere Firmware, wo man Autoleveling verwenden kann?


#57

hast du denn auch die richtige conifg benutzt?

in der Configuration.h gibt der letzte wert an wieviele steps der extrudermotor machen soll

#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100, 400,100}

das lässt sich aber auch mit M92 einstellen (http://reprap.org/wiki/G-code#M92:_Set_axis_steps_per_unit)


#58

moin

hatte das Problem auch letztens
nutze Octoprint, darin auch das Marlin FW plugin
dort gab es den neuen punkt filament
hab das natürlich auf 1.75 gestellt…und schwups kam nix mehr raus
musste flow auf 125% stellen, dann ging es ?!?

habe einige Tage rumgesucht…
über das Display am Anet kam ich drauf
irgendwo der Punkt filament
dort war dann volumetric aktiviert ?!
hab das deaktiviert, rom gespeichert
danach wieder top

wenn man wohl einen filamentdurchmesser angibt im rom, springt es auf volumetric
(das ist im Prinzip nicht verkehrt, allerdings stimmen die Werte dann nicht mehr)

wie gesagt über das Display deaktiviert ,danach ok
e-Steps bei mir nun wieder 97 und und 0.92 multiplier in S3D
(nutze Bowden und das renkforce PLA (conrad) das hat ca 1.76mm)

Gruß Ingo


#59

Hallo zusammen,
bin neu hier finde den Thread aber recht interesant nur schade das er nicht wirklich einen Anfang und auch kein Ende hat.

@fox00014
Hat das mit der Multiextrusion den jetzt noch geklappt oder nicht?
Habe selber etwas Ähnliche vor und frage deshalb um zu entscheiden ob das der richtige Ansatz ist oder nicht.
Ich hätte gerne 4 Extruder Coldend und 1 Hotend. den das 2. Hotend nimmt Druckfläche und soll extrem schwer zu leveln sein da beide nozels ja auf 0,01mm genau gleich hoch sitzen müssen.
Ich habe mir das so vorgestellt das ich den AtMega über SPI eigentlich nur zur Extruder auswahl nehmen möchte also das ursprüngliche extrudersignal vom Mainboart des A8 nehme und einfach via relays entscheide welcher Extruder das Motor signal bekommt so brauche ich nur einen Motortreiber (den vom Board) da eh immer nur 1 motor gleichzeitig läuft.
Bin selber nicht so fit in der arduino programmierung aber in der Stepper.cpp (Skynet 2.3.2_fix2) habe ich gesehen das SPI mit eingebunden ist oder mach ich das besser per Seriel habe im netzt auch noch die belegung der restlichen 4 pins gefunden das sind einmal 3,3V, SS, RX, und TX also scheint dort beides zu sein SPI und Seriel.image00-232x300

Meine Frage würde es prinzipiel funktionieren so wie ich mir das vorstelle egal ob SPI oder Seriel ohne ein neues Mainboard zu holen?
Weil dann Könnte ich mir gleich das Rambo holen was jetzt im original Pruser verbaut ist.
oder was ich Gestern gesehen habe Anet haben auch ein neues Mainboard für den A8-M das ist für 2 Hotends ausgelegt und 2 Extruder Coldends leider hat es auch nur 5 Motortreiber was also heissen würde das sich die beiden Z achsen Motoren einen Treiber teilen müssen, was noch nie eine gute idee war. Weil ja beide motoren parallel laufen und sich somit die leistung von einem Treiber teilen müssen.

Wenn es geklappt hat währe natürlich eine ausführliche anleitung mit verwendeten teilen und software (inklusive anpassungen) nicht schlecht. würde ich für meine Kleinere Variante dann auch machen wenn gewünscht.

LG Shurik