Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

FSR Auto-Bed-Leveling-System

geschrieben von Glatzemann 
Re: FSR Auto-Bed-Leveling-System
31. December 2015 11:22
Hallo Roland,
habe jetzt mal dein V1 RC2 mit deinen original Einstellungen auf´s FSR gespielt und folgendes beim Test bekommen:
17:12:11.537 : Info:Motorized bed leveling repetition 1
17:12:11.537 : Info:leveling z1 and z2, iteration 1
17:12:17.126 : Z-probe:2.94 X:10.00 Y:10.00
17:12:26.279 : Z-probe:2.93 X:340.00 Y:10.00
17:12:35.628 : Z-probe:3.05 X:180.00 Y:315.00
17:12:37.172 : Info:no more leveling necessary, bed is flat
17:12:37.172 : Info:motorized bed leveling completed succesfully

Warum levelt er nicht noch weiter, obwohl von Z2 zu Z3 noch eine Differenz von 0,12 mm besteht?
Die Firmware ist die Selbe wie vor dem 10.12.2015.

Grüße,
Jürgen
Re: FSR Auto-Bed-Leveling-System
01. January 2016 09:16
Hallo Roland,

ich baue gerade deine Platine in mein System ein. Da mein Drucker frisch im Bau ist, wollte ich gleich alles, inkl. den RGB LED verkabeln. Bei einem Test habe ich jedoch gerade einen Kurzschluss produziert. Nach einer kurzen Rauchwolke eye popping smiley habe ich sofort die Spannung getrennt und mich auf die Fehlersuche gemacht. Nach Messungen mit dem Multimeter bin ich zu dem Schluss gekommen, dass möglicherweise dein Anschlussplan einen Fehler bei der Polung hat. Die RGB LED Versorgung ist leider aus meiner Sicht verpolt. Bitte prüfe ob ich hier richtig liege confused smiley ? Bis dahin würde ich allen momentan abraten die RGB Versorgung anzuschließen.

Danke und Gruß

Thomas
Re: FSR Auto-Bed-Leveling-System
01. January 2016 10:22
Stimmt, ich hab zwar nur kurz gemessen aber es sollte wohl so sein:

+ ( RGB ) | GND || R,G,B,+( RGB ) |

Autsch, hat da keiner mal vorher draufgeschaut?

Gruß
Andreas

2-mal bearbeitet. Zuletzt am 01.01.16 10:35.


Einen Sparkcube 1.1XL für größere Objekte, einen Trinus3D im Gehäuse und einen Tantillus R im Bau und einen Qidi Tech Q1 Pro im Zulauf.
Sparkcube: Komplett auf 24V - DDP 8mm + 1,5mm Carbonplatte - RADDS 1.5 + Erweiterungsplatine + RAPS128 - Nema 17/1,7A 0,9 Grad - ind. Sensor für Z-Probe (kein ABL) - FTS - Titan Booster Hotend - Sparklab Extruder - Firmware Repetier mit @ Glatzemanns G33 - Repetier Server pro - Simplify3D
Re: FSR Auto-Bed-Leveling-System
01. January 2016 10:40
@Overtuner: Das "Problem" das ich bei den Jumpern sehe ist, daß so nicht mehr klar ist, was Priorität hat: EEPROM-Einstellung oder Jumper-Einstellung? Mal ganz davon abgesehen, daß für alle Einstellungen bei weitem nicht genug Platz für die Jumper verfügbar ist.

@immergut: Der Standard-Fehler-Threshold steht in der Firmware auf 0.2f. Wenn du den etwas runter setzt, dann hätte er auch weiter gelevelt.

@twi127: Kannst du mir bitte genauere Informationen geben, was du wie angeklemmt hast und evtl. Fotos davon, was abgeraucht ist?


Ich werde mir das mal im Detail anschauen. Die Schaltung ist so wie sie ist getestet. Ich habe das auf dem Steckbrett entwickelt, dann den RGB-Teil auf einer Lochraster-Platine nachgebaut und meine Platine habe ich mit einer RGB-LED und einer RGB-Leiste (von Obi) und 12V Stromversorgung durchgetestet. Bei mir hat das einwandfrei funktioniert und mit der Test-Firmware (die nur immergut und ich auf dem Arduino haben) wurde die RGB-LEDs einwandfrei angesteuert.

Oder meint ihr die Polung in der Dokumentation ist falsch herum?

EDIT: Aber nochmal die Bitte: Noch nicht den RGB-Teil anklemmen, bis das Thema abschließend geklärt ist.

1-mal bearbeitet. Zuletzt am 01.01.16 10:41.


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: FSR Auto-Bed-Leveling-System
01. January 2016 10:44
Ich habe gerade mal in das Platinenlayout geschaut: Die Platine ist wie Boui3D es geschrieben hat aufgebaut:

+ ( RGB ) | GND || R,G,B,+( RGB ) |

Die Doku ist tatsächlich fehlerhaft :-(


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: FSR Auto-Bed-Leveling-System
01. January 2016 11:13
Hallo Roland,

ich bin gerade am testen. RADDS + Board scheinen noch zu gehen. Allerdings machen mir die Sensoren Schwierigkeiten. Egal welchen ich belaste, leuchtet nur Sensor LED3. Die übrigen LED´s funktionieren, da bei Kalibrierung LED 1-3 nacheinander leuchten. Habe mal den seriellen Monitor per Arduino angeschlossen, bekomme allerdings keine Einzelwerte, sondern nur eine Statusinfo. Kann man in der FW ein erweitertes Debugging aktivieren ? PS: Musste die Baudrate auf 4800 im seriellen Monitor einstellen um korrekte Codierung zu bekommen, obwohl in der FW ja eigentlich 9600 Baud stehen.
Repetier habe ich noch nicht mit ABL am laufen, da ich erst gerade am Anpassen der FW an meinen Drucker bin. Habe hierfür den Fork von dir geladen. Welche Dateien kann ich von meiner alten Konfiguration übernehmen ? Oder muss ich alles einzeln in Configuration / Pins editieren. Mein alter FW Stand war bereits 0.92.

Danke und Gruß

Thomas
Re: FSR Auto-Bed-Leveling-System
01. January 2016 11:20
Ok, eins nach dem anderen :-)

Ich denke, daß lediglich die drei MosFet den Geist aufgegeben haben... Der Arduino scheint ja noch zu gehen, daß ist gut... Am RADDS kann nichts passieren, hier gibt es keine Verbindung, wo ein zerstörerischer Strom laufen könne. Ist irgendwas schwarz geworden?

Welche Version der Firmware hast du genau aufgespielt? Bei der, die ich drauf gemacht habe, gibt es noch keine Debug-Informationen. Bei der Version, die ich gestern oder vorgestern veröffentlicht habe (v1-RC2, siehe GitHub), kannst du dir Debug-Informationen mit M112 ausgeben lassen. Die wären dann auch mal interessant.

Die 4800 Baud sind sehr seltsam. Das sollte eigentlich nicht gehen. 9600 ist richtig.

Bitte erstmal noch nicht meinen Firmware-Fork verwenden, sondern einfach nur die "normale" Repetier-Firmware in beliebiger Version. Wenn wir damit das softwaremäßige ABL und die Z-Probe richtig laufen haben, dann können wir auf den Fork gehen um das motorisierte ABL durchzuführen...


EDIT: Falls wirklich die MosFet kaputt sind, kein Problem. Ich hab hier noch ein paar Ersatzteile rumliegen. Entweder ich tausche dir die aus (dann übernehme ich die Portokosten), oder ich schicke dir die zu und du lötest die selber ein.

1-mal bearbeitet. Zuletzt am 01.01.16 11:21.


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: FSR Auto-Bed-Leveling-System
01. January 2016 11:34
Hallo Roland,

erst einmal Danke für deine schnelle Antwort. Die Mosfets sind glaube ich OK. Die GND Leiterbahn des Endschalteranschlusses für das RADDS Board hat sich etwas verfärbt. Sonst habe ich bisher nichts gesehen (ich war schnell mit dem Abschalten hot smiley). Ich habe die neuste Version aus Github vom 29.12. verwendet. Brauche ich für M112 nicht eine angepasste FW ? Wie muss ich die I2C richtig anschließen, ich habe die Belegung für SCA / SCL nicht gefunden.

Danke und Gruß

Thomas
Re: FSR Auto-Bed-Leveling-System
01. January 2016 11:34
Hallo Roland,

erst einmal Danke für deine schnelle Antwort. Die Mosfets sind glaube ich OK. Die GND Leiterbahn des Endschalteranschlusses für das RADDS Board hat sich etwas verfärbt. Sonst habe ich bisher nichts gesehen (ich war schnell mit dem Abschalten hot smiley). Ich habe die neuste Version aus Github vom 29.12. verwendet. Brauche ich für M112 nicht eine angepasste FW ? Wie muss ich die I2C richtig anschließen, ich habe die Belegung für SCA / SCL nicht gefunden.

Danke und Gruß

Thomas
Re: FSR Auto-Bed-Leveling-System
01. January 2016 11:40
So etwas hier sollte man immer im Haus haben. Einfacher kann man nicht messen.

Gruß
Andreas


Einen Sparkcube 1.1XL für größere Objekte, einen Trinus3D im Gehäuse und einen Tantillus R im Bau und einen Qidi Tech Q1 Pro im Zulauf.
Sparkcube: Komplett auf 24V - DDP 8mm + 1,5mm Carbonplatte - RADDS 1.5 + Erweiterungsplatine + RAPS128 - Nema 17/1,7A 0,9 Grad - ind. Sensor für Z-Probe (kein ABL) - FTS - Titan Booster Hotend - Sparklab Extruder - Firmware Repetier mit @ Glatzemanns G33 - Repetier Server pro - Simplify3D
Re: FSR Auto-Bed-Leveling-System
01. January 2016 11:43
Ok... Seltsam... Kannst du mir mal ein Foto schicken?

Bitte I2C noch nicht anklemmen. Einfach den FTDI-Programmer an die Platine stecken. Damit kannst du dann einfach den seriellen Monitor in der Arduino IDE starten und eine Verbindung aufbauen (oder alternativ mit PuTTY oder einem anderen Terminalprogramm). Dort kannst du dann die M-Codes eingeben und die Platine debuggen. Infos zu den M-Codes findest du im GitHub, wenn du mein Firmware-Repository aufrufst, bzw. in der README.md.

Mit M800 kannst du dann auch die Empfindlichkeit der Sensoren kalibrieren und mit den 500er M-Codes im EEPROM speichern.


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: FSR Auto-Bed-Leveling-System
01. January 2016 13:18
Also das Rätsel der 4800 Baud habe ich geklärt: War mein Fehler eye rolling smiley Ich habe vergessen im Arduino Studio auf den 3,3 Volt Prozessor umzustellen. Jetzt klappt es mit 9600 Baud. Per Putty habe ich es jetzt geschafft die Diagnose zu starten. Scheinbar ist ein Sensor defekt. Zerlege mein Bett jetzt mal und bau den Sensor mal aus. Anbei ein Bild der Platine. Man sieht eindeutig die Verfärbung der Leiterbahn.
Anhänge:
Öffnen | Download - IMG_1825.jpg (493.1 KB)
Re: FSR Auto-Bed-Leveling-System
01. January 2016 13:30
Was spuckt M112 denn aus? Einmal mit nacktem Sensor und einmal mit eingebautem, bitte.


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: FSR Auto-Bed-Leveling-System
01. January 2016 14:04
Ich habe jetzt nochmal das Bett geprüft und eine 1mm starke Gummimatte zwischen Stempel und Sensoren gelegt. Jetzt gehen alle Sensoren. Ich denke ich muss evtl. die Stempel noch etwas im Durchmesser reduzieren, damit sie sich nicht verkanten können. Anbei mein M112 Log. Danke für deine schnelle Hilfe und deine Mühe. Entschuldige bitte meine Anfänger Fehler eye rolling smileywinking smiley
Anhänge:
Öffnen | Download - 2016-01-01_20h02_17.jpg (86.2 KB)
Re: FSR Auto-Bed-Leveling-System
01. January 2016 14:09
Hallo Roland,
@immergut: Der Standard-Fehler-Threshold steht in der Firmware auf 0.2f. Wenn du den etwas runter setzt, dann hätte er auch weiter gelevelt.

In welcher Datei finde ich denn diesen Wert? Habe leider nichts gefunden.

Gruß,
Jürgen
Re: FSR Auto-Bed-Leveling-System
01. January 2016 16:03
Hallo Roland,
habe mal das nötigste in deiner Version der Repetier FW an meinen Drucker angepasst. Mir fehlen lediglich noch ein paar Details für den Probing Anschluss. Wie muss hier die FW konfiguriert bezüglich Pullups, etc. konfiguriert werden ? Habe dein Board am RADD als Z min angeschlossen. Es mag aber noch nicht so wie ich will eye popping smiley Na, ja ist heut auch schon spät und ich seh bestimmt den Wald vor lauter Bäumen nicht mehr. Wird mal für heut besser Feierabend machen.

Danke und Gruß

Thomas
Re: FSR Auto-Bed-Leveling-System
02. January 2016 09:51
Hallo Jürgen,

der Wert steht in der Configuration.h, Zeile 1438:
#define MOTORIZED_LEVELING_MAX_ERROR 0.1f // max. error allowed (in millimeters) when leveling z axis

Viele Grüße

Thomas
Re: FSR Auto-Bed-Leveling-System
02. January 2016 12:28
Hallo Roland,

das Probing funktioniert ! Juhu smiling bouncing smiley Habe eben mal ein Software ABL mit G30 zum testen durchgeführt. Werde jetzt mal ein G32 versuchen und mich anschließend an G33 machen.

Viele Grüße

Thomas
Re: FSR Auto-Bed-Leveling-System
02. January 2016 16:44
Allen hier erst einmal ein gesundes und erfolgreiches Jahr 2016!


Heute wollte ich mein FSR in Betrieb nehmen. Die Sensoren reagieren auf wirklich kleinste Gewichtsänderungen. Wenn es mal funktioniert, dann ist es schon cool zu sehen, dass die Düse das Druckbett leicht antippt und der Z-Endstopp getriggert wird. Allerdings wird meistens schon ausgelöst, wenn das Druckbett bewegt wird. Wie kann ich das verhindern? Mit der Einstellung triggerThreshold habe ich ein wenig gespielt, allerdings nicht erfolgreich. Kann ich auch ähnlich wie bei defaultEndstopMinHighMs auch den Max-Wert verändern?

Ich habe die letzte Version von Github eingespielt.
Mein Druckbett bewegt sich in der Y-Achse.

Gruß
roe3d
Re: FSR Auto-Bed-Leveling-System
03. January 2016 01:51
@twi127: Sehr schön, daß es jetzt klappt. Wäre super nett, wenn du ein wenig mehr Details posten könntest (Config des FSR Boards), damit ich deine Erkenntnisse in die Dokumentation einbauen könnte.

@roe3D: Der triggerThreshold ist der wichtige Wert, den es zu kalibrieren gilt. Ich habe den bei mir Anfangs viel zu hoch gehabt (50) und dann auf 7 gesenkt. Das war viel zu empfindlich. Da haben die Sensoren schon ausgelöst, wenn man einen halben Meter vor dem Drucker mit dem Fuß fest auf den Boden gestampft hat. Momentan habe ich einen Wert von 14 eingestellt. Der ist allerdings nun wieder minimal zu hoch. Der hintere Sensor löst bei mir etwas zu spät aus und braucht etwas mehr Druck als die anderen. Ich denke, bei mir ist 13 der bessere Wert. Andere haben berichtet, daß wenn man die Druckplatte soweit entlastet, daß sie nur noch so gerade auf die Sensoren drückt, man deutlich bessere Ergebnisse erzielt.

Am besten ist es immer, wenn ihr konkrete Werte, euren Druckbett-Aufbau und die Ausgabe von M112 während einer Tastung und um Entlasteten Zustand postet.

EDIT: Und natürlich auch von mir ein Frohes Neues :-)

1-mal bearbeitet. Zuletzt am 03.01.16 01:51.


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: FSR Auto-Bed-Leveling-System
03. January 2016 04:49
Danke twi127,
Hallo Jürgen,

der Wert steht in der Configuration.h, Zeile 1438: 
#define MOTORIZED_LEVELING_MAX_ERROR 0.1f // max. error allowed (in millimeters) when leveling z axis

habe immer in der Firmware des FSR-Boards geschaut. Konnte ich ja da nicht finden. Habe es jetzt mal auf 0.05f gestellt. Mal sehen, wie es jetzt wird.

Gruß, Jürgen
Re: FSR Auto-Bed-Leveling-System
03. January 2016 05:48
Hallo und allen erstmal ein frohes neues Jahr von meiner Seite!

Ich lese schon von Anfang an mit und ich denke, das nicht nur für mich sondern auch für andere ein paar Bilder und Infos zum Druckbett Aufbau aufschlussreich wären!
Mich würde z.B interessieren, ob es schon alternative Stempelvarianten gibt, die funktionieren? Komme nicht so einfach an gedrehte Teile ( zu annehmbaren Preisen) ran.

@ Glatzemann Ich will nicht lesefaul erscheinen oder suchunwillig, aber manchmal wiedersprechen sich auch Infos in verschiedenen threats. gerade für Neulinge was ABL angeht wäre ein kleiner Walkthrough vom Standard Druckbett zu FSR ABL sehr interessant. Habe auch keine gescheite Doku gefunden: Was passiert bei G29,G30,G33 etc was sollte sich wann und wie (S Argument) in eeprom einschreiben?
Hoffe mit denFragen nicht dreist zu erscheinen... Aber irgendwo muss man ja mal seine Fragen loswerden
Re: FSR Auto-Bed-Leveling-System
03. January 2016 08:18
Moin moin aus HU.
Sorry, dass ich mich hier so reindränge.
Da ich auch mit den Sensoren rumprobieren möchte, habe ich mir auch grundsätzliche Gedanken gemacht.
Was mir aufgefallen ist, dass in mehreren Threads über das Ansprechen der Sensoren bei Verfahrensarbeit berichtet wird. Immer standen die Sensoren unter Druck in der Grundmontage. Meine Idee ist, die Sensoren drucklos einzubauen. Das Spiel bis zur Betätigung der Sensoren kann man doch im Z-high eintragen. Allerdings muss das Spiel der Sensoren überall gleich sein.


Liebe Grüße aus Kaltenkirchen.
Frithjof
Meine Seite
[www.facebook.com]
Re: FSR Auto-Bed-Leveling-System
03. January 2016 09:58
Hallo Chaosstifter,

ich glaube auch, dass es in unserer Zeit in der kleine Controller teilweise nur noch einige Cent kosten und auch einfach zu programmieren sind es die einfachste und vor allem auch flexibelste Lösung für solch eine Aufgabe ist. Die Schaltung diskret aufzubauen macht keinen Sinn!

LG

Wolfgang
Re: FSR Auto-Bed-Leveling-System
03. January 2016 16:53
So, ich habe heute nun fast ganzen Tag versucht, eine passende Werte-Konfiguration zu bekommen.
Kein Erfolg. sad smiley

Mein Druckbettaufbau ist fast genau so wie ich es auf Seite 9 vorgestellt hatte. Nur die Position der Stempel ist um 90° versetzt. Zwischen Stempel und Sensor ist jeweils Silkon. Das Druckbett wird auch durch eine verstellbare Feder gestützt und kann somit die Sensoren entlasten. (Bei meinen Versuchen habe ich unterschiedlichste Entlastungsstufen gewählt; von keine Entlastung bis maximale Entlastung.) Das Druckbett fährt in der Y-Achse.

Das Kernproblem ist, dass beim Anhalten des Druckkopfes der Endstopp auslöst.
Beispiel: Wenn bei G28 der Druckkopf auf die Mitte des Bettes gefahren wird, dann wird direkt beim "Halt" an der Zielposition der Endstopp ausgelöst. Das ist aber auch genau der Moment, bei dem die Z-Achse nach unten fahren soll. Somit "denkt" Marlin, der 0-Punkt der Z-Achse ist erreicht.
Erhöhe ich den Wert von triggerThreshold drastisch, dann kann ich dieses Problem mildern, aber der Druckkopf drückt dann schon so kräftig auf das Druckbett, dass ich fast immer den Nottaster betätige. Somit liegt der Nullpunkt auch nicht mehr bei genau Null, sondern 0,x mm höher.
M112 liefert mir auch keine (verwertbare) Werte, da das Auslösen nur einen Bruchteil einer Sekunde dauert.
Ich wünsche mir daher folgende Ausgabe auf der Konsole:

### Beispielausgabe ###
Zeit INFO:triggering endstop out
Ausgabe von M112
Zeit INFO:NO triggering endstop
######

Bei G29 (4-Mess-Punkte) sind es übrigens meistens zwei Punkte, bei denen obiges Problem auftritt.

Als wesentliches Problemmerkmal kristallisierte sich die Bewegung auf der Y-Achse heraus. Bei Bewegungen in der X-Achse habe ich deutlich weniger Auslösungen. Hier kann ich mit dem default-Wert von triggerThreshold gut leben.

Meine Idee ist: wenn eine Auslösung erfolgt - unter Berücksichtigung von triggerThreshold - dann wird nicht sofort der Endstopp auf High gesetzt sondern erst wenn der Sensor-Wert für einen gewissen Zeitraum den Auslöse-Wert beibehält. Daher auch der obige Wunsch zur Konsolenausgabe.

Gruß
roe3d
Re: FSR Auto-Bed-Leveling-System
03. January 2016 19:14
Hallo Glatzemann,
habe eben auch nochmal mit G33 getestet.
1. Wenn die Düse vor dem G33 schon auf Z0 war, schruppt die Düse beim Verfahren von Messpunkt 1 zu Messpunkt 2 auf der DDP.
2. Neuer Versuch mit folgendem Protokoll:
00:35:51.007 : Info:Autoleveling disabled
00:35:51.007 : Info:Motorized bed leveling repetition 1
00:35:51.007 : Info:leveling z1 and z2, iteration 1
00:36:00.039 : Z-probe:9.80 X:10.00 Y:10.00
00:36:15.125 : Z-probe:7.88 X:340.00 Y:10.00
00:36:30.132 : Z-probe:9.50 X:180.00 Y:315.00
00:36:34.874 : Transformation matrix: 0.999983 0.000013 0.005797 0.000000 0.999997 -0.002262 -0.005797 0.002262 0.999981
00:36:34.874 : Info:adjusting z2 by 2.74mm
00:36:35.826 : Info:leveling z1 and z2, iteration 2
00:36:47.230 : Z-probe:10.07 X:10.00 Y:10.00
00:37:03.563 : Z-probe:10.11 X:340.00 Y:10.00
00:37:08.617 : Transformation matrix: 1.000000 0.000000 -0.000130 0.000000 0.999998 0.001938 0.000130 -0.001938 0.999998
00:37:08.617 : Info:adjusting z2 by -0.06mm
00:37:08.648 : Info:leveling z1 and z2, iteration 3
00:37:19.912 : Z-probe:10.07 X:10.00 Y:10.00
00:37:36.214 : Z-probe:10.05 X:340.00 Y:10.00
00:37:41.252 : Transformation matrix: 1.000000 -0.000000 0.000080 0.000000 0.999998 0.001827 -0.000080 -0.001827 0.999998
00:37:41.252 : Info:adjusting z2 by 0.04mm
00:37:41.268 : Info:leveling z3 to center of z1 and z2, iteration 1
00:37:52.562 : Z-probe:10.09 X:10.00 Y:10.00
00:38:08.896 : Z-probe:10.08 X:340.00 Y:10.00
00:38:25.182 : Z-probe:9.88 X:180.00 Y:315.00
00:38:30.112 : Transformation matrix: 1.000000 -0.000000 0.000045 0.000000 1.000000 0.000692 -0.000045 -0.000692 1.000000
00:38:30.112 : Info:adjusting z3 by 0.35mm
00:38:30.221 : Info:leveling z3 to center of z1 and z2, iteration 2
00:38:41.656 : Z-probe:10.11 X:10.00 Y:10.00
00:38:57.989 : Z-probe:10.12 X:340.00 Y:10.00
00:39:14.447 : Z-probe:10.16 X:180.00 Y:315.00
00:39:19.533 : Transformation matrix: 1.000000 -0.000000 -0.000051 0.000000 1.000000 -0.000160 0.000051 0.000160 1.000000
00:39:19.533 : Info:adjusting z3 by -0.08mm
00:39:19.548 : Info:leveling z3 to center of z1 and z2, iteration 3
00:39:30.952 : Z-probe:10.09 X:10.00 Y:10.00
00:39:47.301 : Z-probe:10.12 X:340.00 Y:10.00
00:40:03.696 : Z-probe:10.04 X:180.00 Y:315.00
00:40:08.720 : Transformation matrix: 1.000000 0.000000 -0.000071 0.000000 1.000000 0.000210 0.000071 -0.000210 1.000000
00:40:08.720 : Info:adjusting z3 by 0.11mm
00:40:08.766 : Info:leveling z3 to center of z1 and z2, iteration 4
00:40:20.170 : Z-probe:10.09 X:10.00 Y:10.00
00:40:36.519 : Z-probe:10.10 X:340.00 Y:10.00
sad smiley00:40:52.977 : Z-probe:5.07 X:180.00 Y:315.00
00:40:58.047 : Transformation matrix: 1.000000 0.000000 -0.000014 0.000000 0.999864 0.016470 0.000014 -0.016470 0.999864
00:40:58.047 : Info:adjusting z3 by 8.23mm
00:41:00.902 : Info:leveling z3 to center of z1 and z2, iteration 5
00:41:12.492 : Z-probe:10.48 X:10.00 Y:10.00
00:41:29.200 : Z-probe:10.47 X:340.00 Y:10.00
00:41:48.653 : Z-probe:7.89 X:180.00 Y:315.00
00:41:56.562 : Transformation matrix: 1.000000 -0.000000 0.000038 0.000000 0.999964 0.008471 -0.000038 -0.008471 0.999964
00:41:56.562 : Info:adjusting z3 by 4.24mm
00:41:58.013 : Info:leveling z3 to center of z1 and z2, iteration 6
00:42:09.729 : Z-probe:10.70 X:10.00 Y:10.00
00:42:26.624 : Z-probe:10.62 X:340.00 Y:10.00
00:42:47.637 : Z-probe:18.70 X:180.00 Y:315.00
00:42:56.997 : Transformation matrix: 1.000000 0.000006 0.000236 0.000000 0.999653 -0.026354 -0.000236 0.026354 0.999653
00:42:56.997 : Info:adjusting z3 by -13.18mm
00:43:01.568 : X:180.00 Y:315.00 Z:0.000 E:0.0000
00:43:01.568 : Info:Motorized bed leveling repetition 2
00:43:01.568 : Info:leveling z1 and z2, iteration 1
00:43:12.909 : Z-probe:6.31 X:10.00 Y:10.00
00:43:29.133 : Z-probe:10.03 X:340.00 Y:10.00
00:43:45.326 : Z-probe:9.68 X:180.00 Y:315.00
00:43:50.177 : Transformation matrix: 0.999936 -0.000054 -0.011295 0.000000 0.999989 -0.004748 0.011295 0.004747 0.999925
00:43:50.177 : Info:adjusting z2 by -5.33mm
00:43:52.018 : Info:leveling z1 and z2, iteration 2
00:44:03.063 : Z-probe:9.39 X:10.00 Y:10.00
00:44:16.854 : Z-probe:5.73 X:340.00 Y:10.00
00:44:19.724 : Transformation matrix: 0.999938 0.000079 0.011095 0.000000 0.999975 -0.007128 -0.011095 0.007127 0.999913
00:44:19.724 : Info:adjusting z2 by 5.24mm
00:44:21.549 : Info:leveling z1 and z2, iteration 3
00:44:32.781 : Z-probe:9.98 X:10.00 Y:10.00
00:44:49.005 : Z-probe:9.96 X:340.00 Y:10.00
00:44:53.997 : Transformation matrix: 1.000000 -0.000000 0.000067 0.000000 1.000000 0.000960 -0.000067 -0.000960 1.000000
00:44:53.997 : Info:adjusting z2 by 0.03mm
00:44:54.013 : Info:leveling z3 to center of z1 and z2, iteration 1
00:45:05.245 : Z-probe:10.00 X:10.00 Y:10.00
00:45:21.500 : Z-probe:9.99 X:340.00 Y:10.00
00:45:37.662 : Z-probe:9.63 X:180.00 Y:315.00
00:45:42.482 : Transformation matrix: 1.000000 -0.000000 0.000013 0.000000 0.999999 0.001194 -0.000013 -0.001194 0.999999
00:45:42.482 : Info:adjusting z3 by 0.60mm
00:45:42.685 : Info:leveling z3 to center of z1 and z2, iteration 2
00:45:54.057 : Z-probe:10.03 X:10.00 Y:10.00
00:46:10.313 : Z-probe:10.00 X:340.00 Y:10.00
00:46:26.708 : Z-probe:10.12 X:180.00 Y:315.00
00:46:31.763 : Transformation matrix: 1.000000 0.000000 0.000078 0.000000 1.000000 -0.000358 -0.000078 0.000358 1.000000
00:46:31.763 : Info:adjusting z3 by -0.18mm
00:46:31.825 : Info:leveling z3 to center of z1 and z2, iteration 3
00:46:43.213 : Z-probe:10.03 X:10.00 Y:10.00
00:46:59.484 : Z-probe:10.00 X:340.00 Y:10.00
00:47:15.786 : Z-probe:9.93 X:180.00 Y:315.00
00:47:20.762 : Transformation matrix: 1.000000 -0.000000 0.000112 0.000000 1.000000 0.000276 -0.000112 -0.000276 1.000000
00:47:20.762 : Info:adjusting z3 by 0.14mm
00:47:20.809 : Info:leveling z3 to center of z1 and z2, iteration 4
00:47:32.213 : Z-probe:10.06 X:10.00 Y:10.00
00:47:48.499 : Z-probe:10.03 X:340.00 Y:10.00
00:48:04.879 : Z-probe:10.02 X:180.00 Y:315.00
00:48:09.902 : Transformation matrix: 1.000000 -0.000000 0.000068 0.000000 1.000000 0.000064 -0.000068 -0.000064 1.000000
00:48:09.902 : Info:adjusting z3 by 0.03mm
00:48:09.918 : X:180.00 Y:315.00 Z:0.000 E:0.0000
00:48:09.918 : Info:Motorized bed leveling repetition 3
00:48:09.918 : Info:leveling z1 and z2, iteration 1
00:48:21.275 : Z-probe:10.02 X:10.00 Y:10.00
00:48:37.530 : Z-probe:10.02 X:340.00 Y:10.00
00:48:53.894 : Z-probe:10.05 X:180.00 Y:315.00
00:48:58.933 : Info:no more leveling necessary, bed is flat
00:48:58.949 : Info:motorized bed leveling completed succesfully

Hier ist auch zu sehen, dass ein Sensor manchmal zu früh auslöst. Habe den Threshold auf 14 stehen. Wenn ich den Wert erhöhe, muss die Nozzle aber zu fest auf die Platte drücken.
Ich habe also das gleiche Problem wie roe3d.

Grüße, Jürgen
Re: FSR Auto-Bed-Leveling-System
04. January 2016 03:10
Guten Morgen Jürgen,

ich hatte auch das Problem, das der Threshold von14 zu empfindlich für meinen Aufbau war (3 Punkt Druckbett nach Aufbau von Sven, mit gonzohs Platten). Bei mir hat damit teilweise beim Fahren der Trigger ausgelöst. Ich habe den Threshold bei mir jetzt auf 22 hochgestellt. Dies für allerdings in der Tat dazu, dass minimal zu spät ausgelöst wird (etwa 0,2mm). Ich habe das jetzt mit einem Offset in der Repetier FW kompensiert. Ich habe hierzu folgendes in Reptier eingestellt:

Homing Z
#define ENDSTOP_Z_BACK_ON_HOME 5
Diese Einstellung bewirkt das nach einem Homing der Nullpunkt 5mm unter dem Hotend gesetzt wird, so dass man gefahrlos Verfahren kann.

Z Probing
#define FEATURE_Z_PROBE true //false
#define Z_PROBE_PIN ORIG_Z_MIN_PIN //-1  // 63
#define Z_PROBE_PULLUP 0
#define Z_PROBE_ON_HIGH 1
#define Z_PROBE_X_OFFSET 0
#define Z_PROBE_Y_OFFSET 0
#define Z_PROBE_BED_DISTANCE 0 // Higher than max bed level distance error in mm

// Waits for a signal to start. Valid signals are probe hit and ok button.
// This is needful if you have the probe trigger by hand.
#define Z_PROBE_WAIT_BEFORE_TEST 0
/** Speed of z-axis in mm/s when probing */
#define Z_PROBE_SPEED 2
#define Z_PROBE_XY_SPEED 150
#define Z_PROBE_SWITCHING_DISTANCE 3 // Distance to safely switch off probe after it was activated
#define Z_PROBE_REPETITIONS 5 // Repetitions for probing at one point. 
/** The height is the difference between activated probe position and nozzle height. */
#define Z_PROBE_HEIGHT -0.2
/** These scripts are run before resp. after the z-probe is done. Add here code to activate/deactivate probe if needed. */
#define Z_PROBE_START_SCRIPT ""
#define Z_PROBE_FINISHED_SCRIPT ""
Durch Z_PROBE_HEIGHT -0.2 verschiebe ich den Nullpunkt um 0,2mm.

Für den Druck führe ich nun nach einem Homing aller Achsen, ein G33 (nur nach 1. Einschalten des Druckes) gefolgt von einem G32 durch, damit der Nullpunkt für den Druck korrekt gesetzt ist. Nach dem Druck gehe ich auf eine Parkposition von Z 5.
Ist bestimmt keine besonders elegante Lösung und es gibt bestimmt einen wesentlich besseren Weg (vor Vorschläge bin ich gerne dankbar) confused smiley. Für mich als Anfänger funktioniert es allerdings momentan sosmiling bouncing smiley.

Viele Grüße,

Thomas
Re: FSR Auto-Bed-Leveling-System
04. January 2016 03:45
Quote
Phgeis
@ Glatzemann Ich will nicht lesefaul erscheinen oder suchunwillig, aber manchmal wiedersprechen sich auch Infos in verschiedenen threats. gerade für Neulinge was ABL angeht wäre ein kleiner Walkthrough vom Standard Druckbett zu FSR ABL sehr interessant. Habe auch keine gescheite Doku gefunden: Was passiert bei G29,G30,G33 etc was sollte sich wann und wie (S Argument) in eeprom einschreiben?
Hoffe mit denFragen nicht dreist zu erscheinen... Aber irgendwo muss man ja mal seine Fragen loswerden

So eine Doku hätte ich auch gerne :-)

Ok, ich habe das G33 entwickelt und ich habe Repetier-Roland auch angeboten, daß ich das ausführlich dokumentieren werde, wenn es denn in die Repetier-Firmware übernommen wird. Das ist schliesslich mein Baby und daher bin ich auch für die Doku verantwortlich.

Zu den anderen ABL-Geschichten: Ich möchte mir da momentan nicht noch mehr Arbeit als ich eh schon habe aufhalsen, daher kann ich das zur Zeit leider nicht machen. In meinen Augen sollten das aber auch die Firmware-Entwickler tun, denn die haben das schliesslich "verbrochen".

Hier in diesem Thread würde ich gerne, soweit dies möglich ist, lediglich auf das FSR Board eingehen. Wenn etwas auf das Druckbett drückt und der Endstop getriggert wird, dann ist im Rahmen dieses Projektes hier im Thread meine Aufgabe daher schon erledigt.

In den letzten Beiträgen sieht man allerdings auch, daß es hier erhebliche Überschneidungen gibt.

Kannst du damit (erstmal) leben? Ansonsten müssen wir eine Lösung finden ;-)

Quote
Fridi
Sorry, dass ich mich hier so reindränge.
Da ich auch mit den Sensoren rumprobieren möchte, habe ich mir auch grundsätzliche Gedanken gemacht.
Was mir aufgefallen ist, dass in mehreren Threads über das Ansprechen der Sensoren bei Verfahrensarbeit berichtet wird. Immer standen die Sensoren unter Druck in der Grundmontage. Meine Idee ist, die Sensoren drucklos einzubauen. Das Spiel bis zur Betätigung der Sensoren kann man doch im Z-high eintragen. Allerdings muss das Spiel der Sensoren überall gleich sein.

Du musst dich doch nicht entschuldigen... Die Idee ist ja gut und viele, differenzierte Gedanken führen ja meist zu einem sehr guten Endergebnis.

Ich denke jedoch, daß man den drucklosen Einbau vermeiden sollte. Einer der Vorteile der FSR Sensoren ist ja, daß man keinen bzw. nur einen minimalen Spielraum zwischen nicht getriggert und getriggert hat und das man den Abstand eben nicht konfigurieren muss. Ansonsten könnte man ja auch einfach mit einem Kontakt arbeiten, der einen Stromkreis schliesst, wenn gedrückt wird.

Quote
roe3d
M112 liefert mir auch keine (verwertbare) Werte, da das Auslösen nur einen Bruchteil einer Sekunde dauert.
Ich wünsche mir daher folgende Ausgabe auf der Konsole:

### Beispielausgabe ###
Zeit INFO:triggering endstop out
Ausgabe von M112
Zeit INFO:NO triggering endstop
######

Sehr gute Idee. Ich habe dafür einen Enhancement Issue auf GitHub aufgemacht und werde das asap umsetzen.

Quote
roe3d
Meine Idee ist: wenn eine Auslösung erfolgt - unter Berücksichtigung von triggerThreshold - dann wird nicht sofort der Endstopp auf High gesetzt sondern erst wenn der Sensor-Wert für einen gewissen Zeitraum den Auslöse-Wert beibehält. Daher auch der obige Wunsch zur Konsolenausgabe.

Im Grunde genommen ist das auch schon so. Es werden zwei Durchschnittswerte gebildet. Einmal der longAverage (16 Messwerte über 5 Sekunden). Dabei werden die 5 Sekunden durch 16 geteilt und dann alle ca. 312ms ein Messwert gespeichert und der Durchschnitt berechnet.

Dann gibt es noch den shortAverage. Dieser speichert im Default 4 Messwerte und dies mit der Geschwindigkeit die der Prozessor hergibt. Momentan sind dies ca. alle 5-15ms. Darüber wird auch ein Mittelwert gebildet.

Wenn nun longAverage > shortAverage - triggerThreshold sind, dann wird der Endstop ausgelöst.

Du könntest den shortAverage also beeinflussen um das zu testen, was du möchtest, indem du in der Configuration.h den Wert DEFAULT_SHORT_AVERAGE_BUFFER_SIZE veränderst und die Firmware neu aufs Board lädst.




@immergut: Mit der Test-Firmware von vorher hattest du bei gleichen Aufbau diese Probleme nicht, oder?


@twi127: Guter Hinweis und Workaround. Ziel muss es aber sein, daß der Offset möglichst bei 0 bleibt.



Ich kann übrigens die Ergebnisse bei mir auch nachvollziehen und habe ähnliche "Probleme". Aber jetzt können wir ja anständig testen und es kommt Bewegung in die Sache :-)


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: FSR Auto-Bed-Leveling-System
04. January 2016 04:27
Guten Morgen Roland,

du hast Recht, das wäre selbstverständlich besser. Ich denke ein Hauptproblem liegt hierbei jedoch in der Aufhängung des Druckbettes, da die Stempel eine gewisse Reibung besitzen. Habe schon überlegt meine Stempel noch etwas im Durchmesser zu reduzieren, so dass das Druckbett freisteht. Das andere Problem sind sicherlich die Schwingungen, die beim Verfahren entstehen.
So jetzt noch was anderes: Kannst du mir bitte mal ein Bespiel für das Setzen des Thresholds via Terminal senden. Ich habe verschieden Varianten getestet, allerdings ohne Erfolg. Ich habe die Werte jetzt immer per FW und M502, M500 gesetzt. Ich habe folgendes in verschiedenen Varianten (mit ', ohne K+V, etc.) eingegeben:

M800 KtriggerThreshold V15

Danke und Gruß

Thomas

1-mal bearbeitet. Zuletzt am 04.01.16 04:33.
Re: FSR Auto-Bed-Leveling-System
04. January 2016 04:36
Repetier sollte die Z-Probe nur dann abfragen, wenn eine Z-Bewegung stattfindet. Bei Bewegungen auf Y- und X wird das eigentlich nicht abgefragt. Der Default-Wert von 250ms, die der Endstop mindestens getriggert ist, könnte jedoch etwas hoch sein. Sprich: Wenn eine schnelle Bewegung auf Y gemacht wird, dann bremst die Y-Achse ab und das triggert den Endstop. Nun wird Z verfahren und stoppt sofort, da der Endstop schon getriggert ist. Ich versuche das aber nochmal mit den erweiterten Debug-Ausgaben im Detail nachzuvollziehen.

M800 KtriggerThreshold V15


Ist vollkommen korrekt. Mein G-Code-Parser ist Case-Insensitive, daran liegt es also nicht. Ein M800 ktriggerthreshold v15 funktioniert also genauso.

Bekommst du Meldungen, wenn du dich per Terminal mit der Platine verbindest?
Und bekommst du eine Bestätigung, wenn du den M800-Befehl abgesetzt hast?
Hast du nachdem du mit M800 den Wert verändert hast mit M503 geprüft, ob die Änderung angenommen wurde?
Hast du, nachdem du mit M800 den Wert verändert hast mit M500 die Konfiguration im EEPROM gespeichert?


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen