Seite 9 von 13

Re: Community Mod RFx000 Firmware :: Neue Stable (Stand 1.37x7 / 26.11.2017)

Verfasst: Di 27. Mär 2018, 20:02
von Nibbels
(Vorneweg: Die Vorgehensweise ist natürlich hochinteressant, wie du die Firmware gebricked hast. Ich will vor der Analyse wie sowas überhaupt durch Ändern des EEPROMs passieren könnte ein paar Dinge abklopfen/prüfen/erklären:)

Balken
Balken im Display sehe ich normalerweise nur, wenn ich dem Drucker die Power wegnehme. Die verschwinden normalerweise innerhalb eines Zeitraums zwischen 5 und 30 Sekunden.

avrdude: stk500v2_ReceiveMessage(): timeout
Diese Meldung sehe ich normalerweise, wenn ein Programm bereits mit der COM-Schnittstelle verbunden ist. Stelle bitte zuerst sicher, dass kein anderes Programm deinen RFx000 COM-Port geöffnet haben könnte ausser Arduino.
- Simplify3D
- Repetier-Host
- Repetier-Server
- gecrashetes Arduino / avrdude im Hintergrund
Diese Meldung sehe ich genau so im Raspberry-PI wenn ich den Repetier-Server-Service nicht vor dem Flashen beende.

280000 Steps/mm
Wirklich 280000? Nicht 280?
[Bist du dir absolut sicher, dass du diesen Steps/mm geändert hast und nicht in der Zeile verrutscht sein könntest?]

Unbrick RFx000:
Ich habe schon sehr oft (2000+) geflashed, aber kaputt habe ich die Platine noch nicht bekommen.
Einmal habe ich Mist gebaut und wegen einer Watchdog-Änderung ein Fehlerlein eingebaut, sodass mir der Drucker nach wenigen Sekunden in den externen Reset gegangen ist. (Ich konnte also nicht flashen.)

Es gibt aber immer ein kleines Zeitfenster wenn der Drucker bootet, da horcht der Drucker nur auf den Programmer und nicht auf seine Software - sofern diese das Problem darstellt.

Du kannst also vermutlich dein Board retten, wenn du direkt vor dem Hochladen einen Reset oder den Power-On forcierst.
Du hast bestimmt bemerkt, welche Meldungen vor dem Hochladen ausgegeben werden. Versuche mal den Drucker fast synchron mit dem eigentlichen Upload/Hochladen anzuschalten. Dann könntest du eine neue Firmware hochspielen.

EEPROM Reset:
Das Hochladen einer neuen Firmware würde dir nicht viel bringen, falls die Firmware nicht das Problem ist, sondern der EEPROM-Wert die Firmware aussteigen lassen würde.
Du musst für einen EEPROM-Reset in der FIrmware die Zahl bei:
Configuration.h hat geschrieben:

Code: Alles auswählen

#define EEPROM_MODE                         121
in etwas anderes ändern, sodass alle im EEPROM gespeicherten Daten verworfen werden müssen.

Deine Anleitung zum verwirren des Bootvorgangs würde ich nun gerne selbst probieren, aber ich muss erst warten bis mein Mülleimer fertig gedruckt ist.

LG

EDIT: Hast du noch ganz grob eine Ahnung, was das für eine Fehlermeldung gewesen ist?

Re: Community Mod RFx000 Firmware :: Neue Stable (Stand 1.37x7 / 26.11.2017)

Verfasst: Mi 28. Mär 2018, 09:43
von mhier
Zumindest das RF1000-Mainboard hat einen Programmer-Anschluss, ich gehe davon aus, dass der RF2000 den auch hat. Damit sollte sich der Drucker selbst dann wiederbeleben lassen, wenn der Bootloader zerschossen wurde. Also erstmal nicht verzweifeln und nichts wegschmeißen, auch nicht in den Mülleimer, den Nibbels gerade druckt :-) Die Programmer sind nicht teuer und man kann sogar einen Raspberry Pi nehmen mit ein paar Tricks. Wenn du den Drucker also anders nicht wieder zum Leben erwecken kannst, helfe ich dir gerne (ggf. PM an mich, ich les nicht immer alles hier im Forum)!

Re: Community Mod RFx000 Firmware :: Neue Stable (Stand 1.37x7 / 26.11.2017)

Verfasst: Mi 28. Mär 2018, 13:13
von Dieter
Hier die Einstellung vor meiner Aktion, die EEPROM Werte hatte ich gespeichert.
Firmware EEPROM Einstellung (unter Repetier-Host)

Extr.1 steps per mm 280000

Rchnung für die kalibrierung des Filamentvorschub

Soll = 300 Ist = 423
300 / 423 * 280000 = 198581

Anstelle der angegebenen 280000 (Extr. 1 steps per mm) habe ich 198581 einegegeben.

Ich habe öfters versucht vor dem Hochladen einen Reset durchzuführen
auch in der "Configuration.h" habe ich den Parameter in "define EEPROM_Mode 121" geändert
alles etliche male ausprobiert, ohne Erfolg.

Über die Fehlermeldung kann ich nichts mehr sagen, hab mich nur daran gestoßen das Repetier-Host nicht beendet.
Nachdem ich Repetier wieder gestartet hatte hab ich den Filamentvorschub über G-Code gestartet (100mm) allerdings wurde endlos transportiert und ich habe mit dem NotAus am Drucker beendet.
Seitdem kein Zugriff mehr

LG

Re: Community Mod RFx000 Firmware :: Neue Stable (Stand 1.37x7 / 26.11.2017)

Verfasst: Mi 28. Mär 2018, 13:32
von Marcometaner
@Dieter:
Dein Wert ist, wenn Du keinen anderen Motor oder Rändel verbaut hast unrealistisch.

Ab Werk sind es 280 beim RF1000 und RF2000.
Aus Erfahrung muss ich aber sagen, dass der Wert meist bei 267 +-2 liegt.
Ermittelt durch den Vorgang wie er in der offiziellen Anleitung beschrieben ist (aktuelle Firmware).

Rechnerisch sind es bei einem Rändel mit 8mm Durchmesser immer genau 254,648124.
Motor Micro Steps pro voller Umdrehung = 6400 Microsteps
Durchmesser Rändel: 8mm
Umfang Rändel: 25,133mm

-> 254,648124 Microsteps /mm

Die Ungenauigkeit (zu ca 267) ergibt sich meiner Meinung nach an der Fertigung mancher Rädel (aktuelle haben ca 7,9-8,2mm Durchmesser).
Früher waren diese wohl kleiner, daher die 280.
Des Weiteren drückt sich ja das Rändel in das Filament, so dass man eigentlich nicht den Außendurchmesser zum rechnen verwenden darf.
Was ich nicht genau sagen kann, wie genau die Motoren arbeiten oder es einen Schlupf gibt.

In der Regel stelle ich Kundengeräte so ein, dass diese genau 50mm einziehen wenn ich diese Fördern will.
Belaufen sich beim Fördern der 50mm die Digits im normalen Bereich wie beim Drucken auch, sollte da nicht viel Unterschied sein.

MfG

Re: Community Mod RFx000 Firmware :: Neue Stable (Stand 1.37x7 / 26.11.2017)

Verfasst: Mi 28. Mär 2018, 13:37
von Dieter
Balken
Balken im Display sehe ich normalerweise nur, wenn ich dem Drucker die Power wegnehme. Die verschwinden normalerweise innerhalb eines Zeitraums zwischen 5 und 30 Sekunden.

Seltsam ja, jetzt bleiben sie

avrdude: stk500v2_ReceiveMessage(): timeout
Diese Meldung sehe ich normalerweise, wenn ein Programm bereits mit der COM-Schnittstelle verbunden ist. Stelle bitte zuerst sicher, dass kein anderes Programm deinen RFx000 COM-Port geöffnet haben könnte ausser Arduino.
- Simplify3D
- Repetier-Host
- Repetier-Server
- gecrashetes Arduino / avrdude im Hintergrund
Diese Meldung sehe ich genau so im Raspberry-PI wenn ich den Repetier-Server-Service nicht vor dem Flashen beende.

Das habe ich x mal gemacht
avrdude: stk500v2_ReceiveMessage(): timeout
bleibt am Ende des uoloads

LG

Re: Community Mod RFx000 Firmware :: Neue Stable (Stand 1.37x7 / 26.11.2017)

Verfasst: Mi 28. Mär 2018, 13:48
von Dieter
@Marcometaner
Dein Wert ist, wenn Du keinen anderen Motor oder Rändel verbaut hast unrealistisch.

Ja ich habe ein neues Rändel eingebaut, Durchmesser außen 10,5 mm, 50 Zähne hat es in etwa
Das Rändel war bei dem Hotend 1730 dabei

Die Änderungen habe ich ja nach Angaben hier im Forum vorgenommen welche ich ja auch nachvollziehen kann.

LG

Re: Community Mod RFx000 Firmware :: Neue Stable (Stand 1.37x7 / 26.11.2017)

Verfasst: Mi 28. Mär 2018, 13:56
von Marcometaner
Bei 10,5mm sind es rechnerisch 194,018.
Dein Wert mit 198581 kann aber nicht stimmen. Wenn dann sind es 198,581 bzw. wie es im EEPROM steht 198.581
Um das zu ändern, muss man einfach den Drucker mit dem Repetier Host verbinden und unter "Konfiguration" -> "Firmware EEPROM Konfiguration" den Wert der Extruder Steps per mm von 280 auf den errechneten Wert stellen. In Deinem Fall 198.581


MfG

Re: Community Mod RFx000 Firmware :: Neue Stable (Stand 1.37x7 / 26.11.2017)

Verfasst: Mi 28. Mär 2018, 14:27
von Dieter
@Marcometaner
Den Wert habe ich über 300 mm Transport am Filament gemessen, vorher mit Filzstift markiert.

Ich bin so vorgegangen wie du es beschrieben hast "Konfiguration" -> "Firmware EEPROM Konfiguration" vorgegangen. Die angegebenen Werte habe ich als Bilddateien (3mal) gespeichert.

Nochmal nachgeschaut, mich hat der Blitz getroffen da bin ich fast vom Stuhl gefallen.

Ich hab meine Lesebrille nicht aufgehabt und habe den Punkt hinter 280.000 nicht gesehen.
Mich trifft echt der Schlag.
Das ist ja dann natürlich ein zu hoher Wert!

Problem erkannt, und nun?

LG

Re: Community Mod RFx000 Firmware :: Neue Stable (Stand 1.37x7 / 26.11.2017)

Verfasst: Mi 28. Mär 2018, 15:28
von Nibbels
Mir sind nun sofort ein paar Dinge klar.

- Ich brauche eine Tastenkombination die vor dem Initialisieren abgefragt wird und die mir notfalls das interne EEPROM nullt. (Ja, es gibt auch ein oder zwei externe EEPROMs, die hier aber nicht reinspielen dürften.)
- wir sollten manche Werte besser auf Sinnhaftingkeit prüfen. z.B. kann es quasi nicht sein, dass der Wert für Steps/mm beim Extruder über ~2500 .. 5000 geht.

Gut, dir ist nun die riesige Zahl klar. Mir ist aber selbst noch nicht klar, wie das den Drucker am Start behindern kann. Vermutlich steigt ein Wert aus, der diesen Wert nutzt?
(198581d = ‭0011.0000.0111.1011.0101‬b ... passt z.B. nicht in int16 rein)

Ich entnehme deinen Schilderungen, dass du zwar was mit alternativer EEPROM-Version hochladen willst, aber wegen dem Verbindungsfehler nie erfolgreich warst?
Teste bitte ein paar mal das Flashen mit alternativer EEPROM_MODE genau dann, wenn "Hochladen..." beginnt. Mach dazu bitte den Drucker aus, lasse Arduino mit dem Compilieren (fürs Flashen) starten und mache den Drucker ziemlich genau dann an, wenn du "Hochladen..." siehst.

LG

Re: Community Mod RFx000 Firmware :: Neue Stable (Stand 1.37x7 / 26.11.2017)

Verfasst: Mi 28. Mär 2018, 15:38
von Dieter
Ok, das werde ich gleich mal ausprobieren.

LG