Original Auslieferungsfirmware CTC I3 PRO B Mit ATmega 1284p Controllerboard

  • Hallo nochmal.. nach dem mein Firmwareupdate deutlich schief gegangen ist suche ich nun die Original Auslieferungsfirmware vom CTC I3 PRO B, allerdings nicht die Version fürs GT2560 Board, sondern die Version für das Board, welches z.B. auch im Anet A8 verbaut ist. Der Mikrocontroller ist ein ATmega 1284p, wie im Bild ersichtlich. Marlin 1.0.0 war wohl Anfangs drauf. Ich bekomme, sei es nun Hardware bedingt oder eben doch durch meine Inkopetenz, neuere Versionen von Marlin einfach nicht zum laufen.. Ich flashe mit avrdudess, was bisher nur mit der Anet A8 Firmware funktioniert, nur sind dort die Achsen nicht richtig, also Y ist Z und in die falsche richtung bewegen sie sich auch noch.. Kann mir vielleicht irgendwer sagen wo ich die Original Auslieferungsfirmware von CTC bekomme fpr eben genau dieses Board? Liebe Grüße und Danke schonmal im vorraus.

  • Ja alles läuft wie es soll auf Marlin 1.1.9, musste mich dort echt rein Fuchsen... Mein Mainboard wollte sich nicht über USB programmieren lassen, hatte aber zum Glück noch einen Arduino rum fliegen und konnte es dann mit der Force-Funktion und entsprechender Baud-Rate über die Programmierschnittstelle des Mainboards direkt flashen.

  • Anzeige:
  • Mit der Anleitung wird es heute leider nichts mehr, kommt aber Morgen..

    Dafür hier meine Configuration.h für den CTC I3 Pro B, Marlin 1.1.9.


    BITTE BEACHTEN: Diese Configuration.h ist für den CTC I3 Pro B ohne Umbauten und dem roten Anet 1.0 Mainboard mit dem ATmega 1284p Controller. Bei mir ist das noch das original Display mit den 5 einzelnen Buttons verbaut.

    Wer einen Drehencoder hat muss das auch noch anpassen.


    Steps/mm sollten passen, ansonsten in Zeile 619 anpassen.



    Configuration.h:

    https://drive.google.com/file/…opRo2xNR/view?usp=sharing

    The post was edited 1 time, last by ym220 ().

  • Anleitung zum flashen des Anet V1.0 Mainboards (CTC I3) mit Arduino-Boards über ISP


    Vorweg: Diese Anleitung bezieht sich auf das Anet V1.0 Board, die Vorgehensweise im Allgemeinen ist aber auch auf andere Steuerungen mit ATmega Controllern und Programmierports übertragbar. Da ich Elektroniker bin, also Mann vom Fach ;-), versuche ich diese Anleitung auch für Laien verständlich zu formulieren, sollte mir dies nicht gelingen, einfach unter dem Beitrag nachfragen.


    Benötigt werden:


    - AVRdudess (kostenloses Programm für Win/Linux/Mac um ATmega Controller zu programmieren)


    -Ein Arduino Board, ich verwende hier einen Arduino Uno, geht aber prinzipiell mit jedem.


    - Jumper Kabel


    - 10uF Kondensator, Kapazität darf auch ein wenig höher oder niedriger sein, sollte aber 1uF nicht

    unterschreiten.


    -USB Typ B Leitung, für andere Arduinos kann das Kabel auch anders sein.


    -Arduino IDE, Software um Arduino-Boards zu programmieren


    -Eine für euren Drucker kompatible und konfigurierte Firmware (z.B. Marlin)

    Arduino IDE: https://www.arduino.cc/en/Main/Software


    AVRdudess: http://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/


    1.Arduino zum Programmiergerät machen


    Als erstes muss der Arduino als ISP-Programmer konfiguriert werden. Dazu öffnen wir die Arduino-IDE.

    Den Arduino über das USB-Kabel an den Rechner anschließen. Nun unter dem Reiter "Werkzeuge" den

    COM-Port eures Arduinos auswählen. (Dieser kann im Gerätemanager nachgeschaut werden.) Nun wählt

    ihr in dem selben Reiter unter "Boards" das Arduino-Board aus, welches ihr verwendet. Nun klickt ihr Auf "Datei" > "Beispiele" > "ArduinoISP". Nun habt ihr den ISP-Programmer Sketch offen. Drückt oben in der Menüleiste der Arduino IDE auf "Hochladen". Euer Arduino-Board ist nun konfiguriert.


    2. Generieren einer flashbaren .hex-Datei aus der Firmware


    Nun öffnet ihr eure konfigurierte Firmware mit der Arduino-IDE (bei Marlin öffnet ihr die Marlin.ino-Datei) und klickt unter dem Reiter "Sketch" auf " Kompilierte Binär-Datei exportieren". Wenn die Arduino-IDE eure

    Firmware fertig kompiliert hat und keine Fehlermeldungen aufgetreten sind, habt ihr nun in dem Ordner eurer Firmware eine .hex Datei. Diese werden wir auf unsere Druckersteuerung schreiben.


    3. Verdrahtung


    Steckt euer Displaykabel des Druckers aus dem Display und aus der Druckersteuerung.

    Steckt nun ein Ende des Kabels in den Stecker J3 eures Anet V1.0 Mainboards.


    Verdrahtet den Arduino mit den Jumper-Kabeln wie im Bild zu sehen. Steckt den

    Kondensator auf das Arduino Board einmal an RESET und an GND. (für den Kondensator ist RESET nicht PIN 10, sondern der PIN am Arduino auf dem auch tatsächlich RESET steht, PIN10 muss ganz normal wie im Bild ersichtlich mit Jumper-Kabeln angeschlossen werden.)

    Bei Elektrolytkondensatoren ist unbedingt auf die Polung zu achten. (-) nach GND, (+) nach RESET)

    Schließt nun den verdrahteten Arduino an den Rechner an.


    4. AVRdudess konfigurieren und das Anet-Board flashen.


    Ihr öffnet AVRdudess und stellt alles wie folgt ein:


    -Programmer: Arduino

    - Baud rate (sehr wichtig): 19200

    -Port: COM-Port eures an den Rechner angeschlossenen Arduino

    -MCU: ATmega 1284p

    - Setzt unten das Häkchen bei "Force". Das sorgt dafür dass das Programm die

    Controller-Signatur nicht abfragt, sondern einfach drauflos flasht.


    Nun sollte alles so wie im Screenshot ersichtlich eingestellt sein.


    Wählt nun bei "Flash" die drei Punkte aus und öffnet den Dateipfad eures vorher generierten .hex-Files. Nun auf "Go" klicken, das wars.


    Sollten Fragen offen sein oder Unklarheiten auftreten, einfach unter dem Beitrag melden :)













  • Das ist kompliziert...einfacher ist mit Arduino ide+usb isp oder Arduino als ISP-Programmer ,Loader laden und usb isp von drucker weg zihen...usb kabel mit pc verbinden Marlin mit Arduino ide draufspielen...fertig...brauct man nicht mehr machen etzt geht alles enfach ,verschidene wersionen mit usb draufspielen ohne problem..ah ja...anschlüss ist neben lcd anschluss...kabel auf deine bild ..pinbelegung ist richtig..

  • Anzeige:
  • Ja da hast du auf jeden Fall Recht! Ichh weiß nicht ob es ein generelles Anet V1.0 Problem ist aber manchmal funktionieren die USB-Seriell Bausteine nicht richtig, der Bootloader ist defekt oder sonstiges.. wollte nur Alternativen aufzeigen :)

  • Hi ein Kommentar von mir, denn ich hab gerade das Gleiche Prozedere durch! Zunächst einmal Danke für die Anleitung!


    Also der vermeintlich einfachere und kürzere Weg von hoefner ist ein wenig kryptisch geschrieben und für mich zunächst unverständlich gewesen. Nachdem ich mich durch die lange Version von ym220 gearbeitet hatte, hab ich dann folgendes erkannt:


    Damit kann man neue Firmware auf das Board flashen, allerdings bleibt der Bootloader leer und man müsste das dann jedes Mal so machen, richtig?


    Alternativ kann man auch direkt mit der Software Arduino IDE schreiben.

    Dazu erst den zweiten Arduino (ich hatte einen Arduino Uno) mit der Firmware "Arduino als ISP" genau wie in der Anleitung oben bespielen.

    Anschließend ebenfalls wie in der Anleitung verkabeln und die Verbindung zum Drucker herstellen

    (Alternativ geht das über diese kleinen billigen USB-ISP Adapter Karten)


    Jetzt einen Bootloader auf das Drucker Board schreiben. Dazu muss man der Software Arduino IDE die Board Definitionen vom Anet V1.0 beibringen. Das geht z.B. hier: https://github.com/SkyNet3D/anet-board

    Bootloader flashen mit der Arduni IDE Software über:
    1) Board: Anet V1.0 (Optiboot)

    2) Port: COM X (passenden Port auswählen an dem der Arduino hängt)

    3) Programmer: Arduino as ISP

    4) Tools -> Write Bootloader


    Jetzt kann man die Kabelverbindung wieder abziehen, am Drucker alles zurück stöpseln und bequem per USB Kabel vom PC direkt zum Drucker seine Firmware schreiben:

    1) Board:Anet V1.0 (Optiboot)

    2) Port: COM X (passenden Port auswählen an dem der Drucker hängt, typischerweise ein anderer)

    3) Programmer: AVRISP mkll

    4) Marlin Firmware im Arduino IDE öffnen und bearbeiten/anpassen

    5) Upload sketch


    Fertig! :-)

  • Man muss nur den Arduino bevor man ihn mit ArduinoISP beschreibt in der Datei folgendes abändern:

    Code
    1. // #define USE_OLD_STYLE_WIRING

    in

    Code
    1. #define USE_OLD_STYLE_WIRING


    ansonsten klappt das nicht zumindestens nicht mit Arduino 1.8.9



    Edit: Habe so nun Marlin 1.1.9 auf meinen Drucker bekommen

  • Hallo Kollegen,


    diesbezüglich habe ich eine Fehlermeldung beim Kombilieren: Configuration.h zu alt"!??

    Ich nahm die von ym220.


    Was könnte das bedeuten?


    Gruß

  • Anzeige:
  • Nochmal ich!


    Nächster Fehler beim Kompilieren:

    exit status 1

    #error "Auto Bed Leveling requires a probe! Define a Z Servo, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or FIX_MOUNTED_PROBE."


    ;(;(;(;(

  • Hi,

    du kannst deinen Post immer wieder editieren und deine neuen Erkenntnisse mit rein schreiben.


    Skynet wird nicht auf dem 1.1.9 beruhen ?!


    Ich hab kein Anet Board.

    Aber kompilieren für das Anet 1.0 Board klappt bei mir hier so problemlos.

    zu ersetzende Dateien immer sichern !! zB einpacken als zip und sinnvoll benennen !


    Hier unter meiner Arduino 1.8.2 gibts noch kein Anet darum:


    - AnetBoard in die Arduino-IDE einpflegen download: https://github.com/SkyNet3D/anet-board

    --- lies die Anleitung fürs Einbinden welche beiliegt... und mach's wie beschrieben

    ---- oder - ich habe einfach die BootloaderDateien aus dem Download unter Arduino in den entsprechenden BottloaderOrdner Atmega kopiert

    ---- die TextZeilen aus der dem Download beiliegenden 'boards.txt' in die Arduino originale 'Boards.txt' eingefügt

    ---- den Ordner "Sanguino" mit der enthaltenen 'pins_arduino.h' unter den Ordner 'variants' unter Adruino kopiert


    - Marlin 1.19 downloaden hier: https://github.com/MarlinFirmware/Marlin/releases

    - die configuration von ym220 aus Post#8

    https://drive.google.com/file/…opRo2xNR/view?usp=sharing

    oder download hier: marlin-1.1.9.Anetboard-Configuration.h-ym220.zip


    - im MarlinOrdner die configuration.h mit der von ym220 ersetzt

    - Arduino öffnen

    - das Anet1.0 als Board wählen

    - kompilieren wählen und schauen ob es Fehler gibt


    ....

    Korrekturen und Hinweise erwünscht !


    .

  • :thumbup:Danke Dir derweilen, werd ich nach Haushalt gleich probieren!:thumbup:


    Also Bootloader(optiboot) wäre geschaft, ohne Fehler:thumbsup:



    Gruß


    Eigentlich wollte ich nur das Fullgrafik-Display mit Encoder-Dreh-Knopf anschliessen, später dann vielleicht ABL dazu. Aber wenn das jetzt schon so losgeht!

    Bäh!!!!!:thumbdown:

    The post was edited 2 times, last by DaMiCH ().

  • N`abend,


    wollte wiedermal mit option Full-Graphic-Display kompilieren siehe hierzu:



    Arduino: 1.8.5 (Windows 10), Board: "Anet V1.0 (Optiboot)"


    c:/users/xxxxxxx/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/../lib/gcc/avr/7.3.0/../../../../avr/bin/ld.exe: region `text' overflowed by 2586 bytes


    collect2.exe: error: ld returned 1 exit status


    Mehrere Bibliotheken wurden für "U8glib.h" gefunden

    Benutzt: C:\Users\xxxxxxxxxxx\Documents\Arduino\libraries\U8glib

    Bibliothek U8glib in Version 1.19.1 im Ordner: C:\Users\xxxxxxxx\Documents\Arduino\libraries\U8glib wird verwendet

    exit status 1

    Fehler beim Kompilieren für das Board Anet V1.0 (Optiboot).


    Was ist jetzt das denn!?


    Wenn ich ohne Option FGD kompiliere geht es!?

    Ist evtl. der Speicherplatz zu gering!? Keine Ahnung.

    Aber der Tipp von polygoner war Gold wert! Danke nochmal!!!!:thumbsup::thumbsup::thumbsup:

  • Anzeige:
  • Hallo Miteinander!


    Fehler behoben: Meine Dummheit: Configuration_adv.h vergessen zu kopieren. :thumbdown:8o


    Jetzt wird`s ohne Fehler durchkompiliert.:thumbsup:


    Allerdings ist die Anzeige total zerschossen, also fast unlesbar!||

    Wo kann ich nach dem Fehler zu suchen beginnen??(:!:

    Habe Configuration.h vom letzten Post benutzt.:)


    Gruß

  • OK, danke!


    Wollte nur mitteilen,daß es ein Timingproblem war:!:8)


    Code
    1. // If you want you can define your own set of delays in Configuration.h
    2. //#define ST7920_DELAY_1 DELAY_0_NOP (auf 0 lassen)
    3. //#define ST7920_DELAY_2 DELAY_0_NOP (auf 450 gesetzt, ich zumindest!)
    4. //#define ST7920_DELAY_3 DELAY_0_NOP (auf 0 lassen)

    Leider musste ich ABL kommentieren und der Speicherverbrauch ging trotzdem auf 99%! =O


    Naja, jetzt läuft es. Danke für die Hilfe


    Gruß

    The post was edited 1 time, last by DaMiCH ().

  • Anzeige:
  • Hi, naja wenn man ordentlich abspeckt bekommt man Autoleveling auch auf einen 1284p. Ich hab an meinem CTC im Moment Marlin 1.1.9 mit einem BLTouch Sensor laufen.


    Ich hab bei Marlin ordentlich abgespeckt und an diversen Stellen Speicher gespart um alles kompilieren und übertragen zu können... Hier der Link zum Thema von mir damals:

    Auto-Leveling und Firmware Update am CTC DIY i3 - GT2560 vs ATMEGA1280


    Hier was ich so gemacht hatte:

    Ich hab in meiner Version unter anderem folgende Sachen abgespeckt:

    - kein Boot Splash

    - kein EEPROM-Speicher-Zugriff (das hat weh getan, aber gab viel Platz)

    - kein print counter

    - slim LCD Menü


    - speaker deaktiviert (ich glaub ich hatte eh keinen)

    - und noch andere Kleinigkeiten...

  • Hallo,


    erstmal ein grosses Danke an alle für die Tipps!

    Da kann ich schon was anfangen damit.

    Also das mit Raspi ist gerade am laufen:), hab noch einen rumliegen:thumbsup:.

    Grosses Display will ich aber behalten, jetzt hab ich mir schon die Mühe gemacht es einzurichten und gekauft ist es auch schon. Sonst liegt wieder was rum;).

    Bei mir läuft auch 1.1.9. Was ich hier vermisse, ist aber der Filamentwechsel, oder aber ich hab die Einstellung noch nicht gefunden!?

    Nächstes Projekt sollte umbau auf Bowden sein, oder was haltet Ihr davon?


    Gruss

  • Anzeige:
  • Hallo... ich habe seit einer Woche den CTC Diy i3 Pro mit ATMEGA1284p. Habe jetzt Marlin 1.1.9 auf das Board gespielt und noch einige Probleme mit den Einstellungen.

    Hat noch jemand die configuration von ym220 aus Post#8 ? Leider ist die Datei nicht mehr über den Link verfügbar.


    Gruß und Vielen Dank vorab.

  • hallo,


    danke für die schnelle Antwort. Bin noch ganz frisch mit dem Thema 3D Druck. Ich habe mir den Drucker letzte Woche zugelegt und gestern etwas übereifrig Marlin 2.0 auf das Board gespielt. Für die Config habe ich die Anet A8 genommen. Vermutlich muss die aber noch angepasst werden?

    Ich wollte es heute noch einmal mit der Version 1.1.9 versuchen.

  • und jetzt läuft der drucker nicht mehr? oder was ist das los`?

    details sind schon wichtig :)

    anpassen kann man da ja sehr viel...drucken kann dein drucker? also ordentlich mein ich...z.b. nicht zu groß oder zu klein....

  • Anzeige:
  • Also aktuell fährt er nicht mehr auf Home Position. Drucken habe ich noch nicht versucht, da er nicht auf Grundstellung gefahren ist. Das Druckbett lässt sich auch nur zur Hälfte in Richtung Grundstellung also Endschalter bewegen.

  • er fährt gar nicht wenn du auf home drückst?


    dann kanns sein, dass du in der configuration.h

    bei "Endstop Settings" etwas ändern musst


    bei mir steht da das hier:


    // @section homing


    // Specify here all the endstop connectors that are connected to any endstop or probe.

    // Almost all printers will be using one per axis. Probes will use one or more of the

    // extra connectors. Leave undefined any used for non-endstop and non-probe purposes.

    #define USE_XMIN_PLUG

    #define USE_YMIN_PLUG

    #define USE_ZMIN_PLUG

    //#define USE_XMAX_PLUG

    //#define USE_YMAX_PLUG

    //#define USE_ZMAX_PLUG



    druckraumgröße hast du auch eingegeben?


    das machst du hier:


    // @section machine


    // The size of the print bed

    #define X_BED_SIZE 220

    #define Y_BED_SIZE 220


    meins ist 220mm x 220mm


    ansonsten schau dir die config.h ganz in ruhe von oben nach unten an und verändere nur das wo du dir ganz sicher bist.

    ansonsten kannst du ja deine config mal hochladen und jmd schaut mal rüber :)

  • Hab mich vorhin nochmal in die config eingelesen und hab auch noch ein recht gutes Tutorial dazu gefunden. Werde mich heute Abend in aller Ruhe noch mal an die Arbeit machen.

    Ist Marlin 2.0 im Allgemeinen für den Drucker o.k., oder sollte man lieber auf Version 1.1.9 gehen?

    Bootloader habe ich anet v1.0 optiboot gebrannt.

    Zur Druckbettgröße hab ich auch gleich noch eine Frage. Gibt man da die wirklich gemessene Größe an oder den Druckbereich? Bei mir 200x200x180.


    Vielen Dank für die Hilfe.

  • Bin jetzt um einiges weiter gekommen. Allerdings habe ich immer noch Probleme mit den Endschaltern an den Achsen. Die scheinen nicht oder falsch zu reagieren.

    Kann die Einstellung nicht finden.

  • Hallo... Also ich habe bei meinem Drucker das maximum angegeben was er drucken kann... Deshalb 220x220. So groß ist mein heizbett.


    Wenn du einen Schalter manuell auslöst zeigt er das im Display an? Falls nicht ist der Schalter evtl falsch gepolt.


    Ich schau grad nur aufm Handy deshalb kann ich das nich so gut lesen... Brauch wohl mal ne app dafür


    Wie macht sich das den bemerkbar mit dem "nicht oder falsch reagieren"? Will der Drucker weiter fahren oder "knallt" der einfach dagegen aber bleibt stehen?

    • Gäste Informationen
    Hallo. Gefällt Dir dieses Thema im CTC-Forum und du möchtest etwas dazu schreiben? Dann melde dich bitte an. Hast du noch kein Benutzerkonto im CTC-Forum, dann registriere dich bitte. Nach der Freischaltung kannst Du dann das Forum uneingeschränkt benutzen.


  • Anzeige:

Werde Teil des Forums.

Hallo. Gefällt Dir das CTC-Forum und du möchtest mitmachen? Dann melde dich bitte an. Hast du noch kein Benutzerkonto im CTC-Forum, dann registriere dich bitte. Nach der Freischaltung kannst Du dann das Forum uneingeschränkt benutzen.