Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Marlin auf Gen7

geschrieben von scuba 
Marlin auf Gen7
24. January 2012 06:48
"ES LÄUFT" ist vermutlich noch etwas zu euphorisch und zu früh zu sagen.. tongue sticking out smiley
Trotzdem möchte ich euch mal kurz über meinen aktuellen Teststand berichten.

Ist Stand:
Marlin kompiliert und lässt sich problemlos auf mein GEN7 Board uploaden.
Zum Einsatz kommt bei mir Alfons3's Gen7 Variante [github.com] mit zusätzlichen Misc Headern, ATMega644 und SD Karten Add-on Board.
Sowohl übers serielle Terminal als auch über Pronterface und Repetier Host lassen sich auf den ersten Blick manuell alle Achsen ansteuern, Temperatur auslesen, Heater/Bed on/off schalten, SD Karte auslesen und PS einschalten.
Ob es im laufenden Betrieb zu diversen Timing Problemen (20MHz anstatt 16MHz) oder dergleichen kommt kann ich derzeit noch nicht sagen... das wird mir vermutlich erst der erste Testdruck zeigen grinning smiley

Der Weg dorthin:

- In den "GEN7 Arduino Support Files" fehlen ein paar Librarys die Marlin benötigt. Die hab ich einfach mal aus den "Sanguino Files" entnommen und zum /Hardware/Gen7/cores/arduino Verzeichnis hinzugefügt. Betroffene Libs: WString.h/.cpp, WProgram.h und WCharacter.h
- pins.h um mein GEN7 Pin Layout erweitert
- Im Configuration.h
-- Baudrate auf 115200
-- Motherboard auf 77 (hab ich im pins.h so definiert)
-- Thermistors eingestellt
-- Endstops invertiert
- Marlin "killt" sich wenn die gemessen Temperaturwerte zu groß/klein sind. Da GEN7 das Netzteil beim start nicht automatisch hochfährt werden die Thermistoren nicht korrekt versorgt und daher Fantasiewerte gemessen. Diesen "kill" hab ich mal deaktiviert... wird später programmatisch gelöst.
temperature.cpp ab Zeile 740:
for(unsigned char e = 0; e < EXTRUDERS; e++) {
       if(current_raw[e] >= maxttemp[e]) {
          target_raw[e] = 0;
          //	max_temp_error(e);
         //	kill();;
       }
       if(current_raw[e] <= minttemp[e]) {
          target_raw[e] = 0;
          //	min_temp_error(e);
          //	kill();
       }
    }

Bekannte Limits:

- Mit aktiviertem LCD Support kompiliert der Sketch auf ca. 71068 bytes was für den ATMEGA644 leider zu groß ist. sad smiley
Mit kleinen Umbauten konnte ich zwar den SDSupport deaktivieren und somit den Sketch auf ~50kb bringen aber das soll auf keinen Fall das Ziel sein.
Werde mal versuchen den 644er mit einem ATmega1284 zu ersätzen ... der hätte das doppelte an Flash Speicher. (Hat das schon mal wer am GEN7 gemacht???)
- Ein automatisches Starten/Stoppen des Netzteils ist in Marlin anscheinend nicht vorgesehen (Teacup macht das) -> Netzteil muss also "manuell" über GCode M80 aktiviert bzw. M81 deaktiviert werden.


Soweit von meiner Bastelfront. Hoffe ich kann bald von einem erfolgreichen Druck berichten .. oder vom totalen Misserfolg... winking smiley
Re: Marlin auf Gen7
24. January 2012 07:45
Ich bin gespannt. Halt uns mal weiter auf dem laufenden. :-) Tendenziell hätte ich jetzt zu sprinter gelinst mit meiner Gen7, aber da scheint es auch Probleme bzgl. der 20MHz zu geben.

Bin gespannt wie dein erster Druck verläuft.
Re: Marlin auf Gen7
24. January 2012 08:01
Hab ich auch in einem der Forks von Sprinter gelesen, dass es nur mit 16MHz laufen soll... daher auch meine Befürchtung ,dass in Marlin ebenfalls irgendwelche timing Probleme auftreten werden.
we will see...
Re: Marlin auf Gen7
24. January 2012 11:41
Bei der Entwicklung meiner Firmware habe ich mir auch Marlin angesehen. Wenn sich das seitdem nicht geändert hat, ist die Geschwindigkeitsberechnung auf 16MHz eingestellt was timings etc angeht. Grundsätzlich sollte es laufen mit der richtigen Pinbelegung, aber da Zeiten als Takte berechnet werden, sollte bei einem 20MHz GEN7 die Geschwindigkeit immer 25% höher als angegeben sein. Kannst ja testweise mal 100mm mit 100mm/min verfahren. Wenn er nach einer Minute genau fertig ist, wurde das mittlerweise angepasst, aber ich denke nicht, da Marlin feste Tabellen für die Berechnung verwendet die auf 16MHz als Grundlage berechnet wurden.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Marlin auf Gen7
25. January 2012 04:00
Danke für die Info Repetier! Dachte ich mir! :-) testen werd ichs aber sicherlich trotzdem!
Blöde Frage: Wenn Marlin fix mit 16MHz rechnet müsste sich ja auch die eingestellt Baudrate "verschieben" oder??? eye popping smiley [viel zu lernen ich noch habe... ] Kommunikation funktioniert aber wie gesagt einwandfrei...

Übrigens großes Lob an deine FW und Host!!! thumbs up
Das einzige Issue das ich im Host hatte waren "GUI freezes" im SD Karten Menü (Linux&Windows). Aber das ist ein anderes Thema.. werd ich mal in Github issuen.
Re: Marlin auf Gen7
25. January 2012 04:03
Ich denke die Baudrate wird korrekt gesetzt. Marlin benutzt die Arduino funktionen dafür und solange die F_CPU zur Berechnung benutzen klappt das auch bei 20MHz.

Das mit dem SD menu werde ich heute abend mal testen, ob ich das reproduzieren kann. Vielleicht hat meine neue änderung der kommunikation das ja geändert. Hatte es nicht erneut getestet.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Marlin auf Gen7
25. January 2012 04:19
Ah!! Das erklärt das natürlich! Vielen Dank!
Zwecks SD Menü werd ich mich beim nächsten mal um Fehlermeldungen umschauen um einen fundierten Report abgeben zu können.
Re: Marlin auf Gen7
25. January 2012 04:30
UNd zwischenzeitig mal was gedruckt mit der Marlin?
Re: Marlin auf Gen7
25. January 2012 05:10
Leider nein... hatte gestern Abend keine Zeit ... und werde vermutlich auch bis Freitag nicht dazukommen eye rolling smiley
Ein ATEMGA1284 ist zumindest schon mal bestellt! Wenn, möcht ich natürlich die Display funktionen ebenfalls nutzen können. Bin schon gespannt ob der 1284er überhaupt so sag und klanglos auf dem Gen7 Board läuft.
Re: Marlin auf Gen7
25. January 2012 11:29
Der 1284 ist absolut kompatibel zum 644. Was zu beachten ist:
- In arduino muss boards.txt angepasst werden. Kopiere einen Eintrag benenne ihn um passe die maximale länge entsprechend an.
- Du benötigst einen Bootloader der für den Prozessor konfiguriert ist. Alternativ unterstütz Arduino 1.0 jetzt auch direkt ISP Programmer um ohne Bootloader programme hochzuladen.

@scuba Habe SD upload unter Windows gestetet und 500kb ohne mucken hochgeladen. Wenn du den Fehler reproduzieren kannst, sag bescheid wie.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Marlin auf Gen7
27. January 2012 03:38
Dank dir Repetier! Genau so hab ich das auch geplant!
Übrigens: Code Upload via ISP war auch bereits in früheren Arduinoe IDE Versionen möglich ... nur eben manuell.
In Linux schreibt er das Hex File nach dem kompilieren nach"/tmp/xyz.... " von wo aus es ganz normal via "avrdude" zu brennen ist. Schön zu wissen, dass das jetzt auch in der GUI klappt!
Punkto SD Karten Menü start ich jetzt einen neuen Thread im "Software Folder".
Re: Marlin auf Gen7
28. January 2012 12:04
Quote

Wenn Marlin fix mit 16MHz rechnet müsste sich ja auch die eingestellt Baudrate "verschieben" oder???

Mit den Baudratecalculator kannst du gucken, welche Baudrate bei wieviel Mhz vom AVR fehlerfrei benutzt werden kann. winking smiley

1-mal bearbeitet. Zuletzt am 28.01.12 17:17.
ado
Re: Marlin auf Gen7
28. January 2012 14:16
Danke für den Link.

Werde den Takt bei mir von 20 auf 18.432 MHz reduzieren. smiling smiley
Re: Marlin auf Gen7
29. January 2012 03:00
ado Wrote:
-------------------------------------------------------
> Danke für den Link.
>
> Werde den Takt bei mir von 20 auf 18.432 MHz
> reduzieren. smiling smiley

Völlig unnötig. Im calculator fehlt 250000 baud. Wenn sie da währen, würdest du bei 20MHz auch 0% Abweichung sehen.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
ado
Re: Marlin auf Gen7
29. January 2012 05:26
Ja klar ist das unnötig. Funktioniert ja auch sonst überall mit 16 und 20MHz.

Aber technisch gesehen gefällt mir das besser wenn der Quarz zur Übertragungsrate paßt.
Ich habe hier um die Ecke einen Conrad und bei 86 Cents für einen neuen Quarz muß ich nicht mehr nachdenken.

Und mit 250000 baud hatte ich nicht vor das Ding zu betreiben; wenn mit Standardbaudraten z.B. 230400, die auch mein Terminalprogramm beherrscht. Aber auch das ist mir schon zu hoch. Ich werde demnächst sehen ob 115200 reichen oder nicht.
Re: Marlin auf Gen7
01. February 2012 06:57
Jetzt hat mir der Schnee einen Strich durch die Rechnung gemacht und das gesamte Wochenende ist dem Tourenschigehen zum Opfer gefallen grinning smiley Trotzdem gibts schon ein kleines Update:

Der ATMega1284p ist bereits eingetroffen und verbaut (noch mit 20MHz). Der 1284er wird standardmäßig nicht in der Arduino IDE unterstützt was ein paar Umbauarbeiten notwendig gemacht hat. Dies dürfte vermutlich auch der Grund sein warum der ATMega644(P) nach wie vor fürs GEN7 dokumentiert ist. Preislich ist der 1284er bei Reichelt sogar günstiger....
Leider hab ich einen PIN für den Piezo Beeper zu wenig daher musste ich die Beeper Funktion in Marlin auskommentieren. (mit #define BEEPER -1 wollte es einfach nicht kompilieren).

LCD + Dreh/Click Encoder + SDKarte via Breadboard funktionieren einwandfrei!! Einen Druck konnte ich aus Zeitgründen leider nach wie vor noch nicht testen.

Fazit: Die Umbauten in FW und IDE sind doch etwas tiefgreifender und daher wohl für die meisten eher uninteressant.

Sollte die restlichen Tests erfolgreich ausfallen werde ich einen Marlin-Fork mit den GEN7 Änderungen bereitstellen. Vermutlich lässt sich auch "wiring" [wiring.org.co] als IDE verwenden (untested) was die Arduino IDE Umbauten hinfällig macht.

To be continued...
Re: Marlin auf Gen7
07. May 2012 17:29
Servus was der Test den nun ergeben. Ich habe auch eine Gen7 und möchte die auch aufbohren. Habe leider keinen großen Plan aber LCD + Dreh/Click Encoder + SDKarte wär super. >grinning smiley<
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen