Hall Endstop mit Ramps

Nimrod

Erfahrener Benutzer
#21
Ich kann dir bzgl. der Deltas ein Lied singen:D

Der oben verwendete drucksensor kostet übrigens keine 6 Dollar. Grad mal beim google drüber gestolpert
 
Zuletzt bearbeitet:

gfunk

Erfahrener Benutzer
#22
Das wäre mir neu, bei Deiner Aufzählung hast Du die bzw. den Drucksensor vergessen, preisgünstige Drucksensoren sind mir nicht bekannt.
Diese Lösung hat nichts mit konventionellen Drucksensoren zu tun.
Am einen Ende ist ein Schanier, am anderen Ende ein Kontakt der mit einer Feder zusammengedrückt wird.
Wirkt genug Kraft auf die Düse, wird der Kontakt unterbrochen (-> Auslösen der Z-Probe)

sehr einfach, sehr günstig und sehr genau...

DSC_0211.JPG

Hatte bis jetzt mechanische Schalter, induktive und kapazitive Sensoren und würde nicht mehr zurückwechseln.
 

Nimrod

Erfahrener Benutzer
#23
Ich habe das mal eben für ne Kossel umgestaltet, finde die Kugellager sehr praktisch. Muss nur noch die Halterung für das hotend samt pushfit überarbeiten, hab noch ein Problem mit der Kühlung des hotends.
 

sit-in

Erfahrener Benutzer
#24
Moin Zusammen,

erstmal vielen Dank für Eure bisherigen Hilfen!


Ich habe doch noch auf den Ersatz-Poti gewartet. Habe auch soweit alles verlötet und vorbereitet...

Nun ging es ans einbauen:
Mechanischer, der ja als Schließer angeschlossen war, ab, Hall Sensor dran. Dann aber ist mir aufgefallen, dass der Taster an minus und Signal am Ramps angeschlossen war. Wie kann er denn da bitte als Schließer dienen?
Normal müsste er doch wenn dann an plus und Signal angeschlossen sein müssen. Denn normalerweise kenne ich es nicht anders, das Minus einfach minus ist und Signal Spannung bekommt, sobald ein Signal ankommt. Nicht aber, dass eins von beiden eine Spannung ausgibt.
Weiß da jemand näheres zu?

Der Hall hat nämlich plus, minus und Signal, sprich er gibt auf Signal eine Spannung aus, wenn er geschaltet hat.

Ich hoffe ihr versteht meine Problematik...



Da ich nun also nicht mehr darum rum komme, etwas in Marlin zu ändern:
Was muss ich wo in Marlin abändern?


Gruß,
Kevin
 

locomarco

Erfahrener Benutzer
#25
Es gibt zwei Möglichkeiten wie der Controller ein Signal erkennen kann.

Memo200216_2.jpg

Nummer eins wäre das was du beschreibst, am Eingang liegen 0V (Pull-Down Widerstand) an, sobald der Schalter aber betätigt wird liegen 5V an.
Die andere Möglichkeit wäre dass am Eingang immer 5V (Pull-Up Widerstand) anliegen, bei betätigtem Schalter aber 0V.

Wie du die Firmware jetzt ändern musst, hängt von der Schaltung des Hall Endschalters ab. Am bestend einfach mal anschließen und ein M119 an den Drucker senden.

Wahrscheinlich wirst du das etwa so konfigurieren müssen (vorausgesetzt du nutzt an X und Y mechanische Schalter und beide sind als MIN Endschalter angeschlossen:

Code:
//#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#if DISABLED(ENDSTOPPULLUPS)
  // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
  #define ENDSTOPPULLUP_XMAX
  #define ENDSTOPPULLUP_YMAX
  #define ENDSTOPPULLUP_ZMAX
  #define ENDSTOPPULLUP_XMIN
  #define ENDSTOPPULLUP_YMIN
  //#define ENDSTOPPULLUP_ZMIN
  #define ENDSTOPPULLUP_ZMIN_PROBE
#endif

// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS
 

sit-in

Erfahrener Benutzer
#26
Wie du die Firmware jetzt ändern musst, hängt von der Schaltung des Hall Endschalters ab. Am bestend einfach mal anschließen und ein M119 an den Drucker senden.

Danke für die ausführliche Antwort!!!!! :):):):eek::eek::eek:

Weitere Fragen zu deinem Post:
1. da kann mir auch nichts durchbrennen, wenn ich es anschließe? Nicht, dass der Hall sensor mit mal irgendwie vom Ramps Spannung auf dem Signal bekommt...
2. Also ich bin mir sicher, dass der hall sensor so schaltet, wie man es gewohnt ist, und zwar: Wenn ein Signal anliegt, schaltet er durch und es liegt eine Spannung am Signalpin an. Passt deine Firmware Anpassung dann dazu?
3. Wie kann ich den Befehl M119 an den Drucker senden? Hatte wie am Eingangspost geschrieben noch nichts mit Firmware zu tun. Zum slicen nutze ich Cura und ich verwende Octoprint... Kann ich da irgendwo den Befehl senden?



Gruß
 

locomarco

Erfahrener Benutzer
#27
1. Wenn du die Polarität beachtest und den Hall Endschalter richtig am RAMPS anschließt, kann nichts passieren, auch nicht wenn die Endschalter in der Firmware falsch konfiguriert sind.

2. Wenn der Hall Endschalter wirklich so schaltet, müsste der Code so aussehen. Am besten du lädst aber mal deine configuration.h hoch, dann kann man das mit deiner jetzigen Konfiguration abgleichen.

Code:
//#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#if DISABLED(ENDSTOPPULLUPS)
  // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
  #define ENDSTOPPULLUP_XMAX
  #define ENDSTOPPULLUP_YMAX
  #define ENDSTOPPULLUP_ZMAX
  #define ENDSTOPPULLUP_XMIN
  #define ENDSTOPPULLUP_YMIN
  //#define ENDSTOPPULLUP_ZMIN
  #define ENDSTOPPULLUP_ZMIN_PROBE
#endif

// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS
3. In Octoprint müsste es den Tab "Terminal" geben. Dort kannst du einen Befehl an den Drucker senden und siehst was vom Drucker zurück kommt.

Der Drucker sollte auf ein M119 ungefähr so antworten:
Code:
x_min: TRIGGERED
y_min: open
z_min: open
TRIGGERED würde bedeuten der Endschalter ist betätigt. Ist er das in Wirklichkeit nicht, ist die Firmware falsch konfiguriert.
 

sit-in

Erfahrener Benutzer
#28
2. Wenn der Hall Endschalter wirklich so schaltet, müsste der Code so aussehen. Am besten du lädst aber mal deine configuration.h hoch, dann kann man das mit deiner jetzigen Konfiguration abgleichen.
1. Anschluss sollte kein Problem sein, Leitung habe ich auch schon fertig.

2. Okay... also ich habe ja gelesen, dass man die Firmware/Konfiguration nicht wieder vom Drucker runterladen kann, um darin änderungen zu machen... Da ich dort eine Version von den Chinesen drauf habe (die Originalversion die von Anfang an auf dem Drucker war) und keine selber erstellte, kann ich nur mit dieser Firmware dienen, die in einem anderen Forum hochgeladen wurde. Da hat sich jemand die Mühe gemacht und die Marlin Firmware an die Originalversion von den Chinesen anzupassen:

http://www.xup.in/dl,42490358/Marlin.zip/




3. Werde später mal testen, den Befehl über Octoprint zu schicken... Bin aber leider erst heute nachmittag wieder zu Hause...
 

sit-in

Erfahrener Benutzer
#29
So bin nun zu Hause und habe den Befehl über Octoprint gesendet...

Bei nicht geschaltetem Z-Hall-Endstop wird mir Triggered angezeigt. Also werde ich wohl nun bei der Firmware bei gehen müssen und das ändern...
 

sit-in

Erfahrener Benutzer
#31
Sooo ich habs. Ich musste einfach nur die Achse invertieren... Und mein Code sieht etwas anders aus, als der von locomarco...

Code:
// coarse Endstop Settings
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#ifndef ENDSTOPPULLUPS
  // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
  // #define ENDSTOPPULLUP_XMAX
  // #define ENDSTOPPULLUP_YMAX
  // #define ENDSTOPPULLUP_ZMAX
  // #define ENDSTOPPULLUP_XMIN
  // #define ENDSTOPPULLUP_YMIN
  // #define ENDSTOPPULLUP_ZMIN
#endif

#ifdef ENDSTOPPULLUPS
  #define ENDSTOPPULLUP_XMAX
  #define ENDSTOPPULLUP_YMAX
  #define ENDSTOPPULLUP_ZMAX
  #define ENDSTOPPULLUP_XMIN
  #define ENDSTOPPULLUP_YMIN
  #define ENDSTOPPULLUP_ZMIN
#endif

// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool X_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
[COLOR="#FF0000"]const bool Z_MIN_ENDSTOP_INVERTING = [B]false[/B]; // set to true to invert the logic of the endstop.[/COLOR]
const bool X_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
//#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS

// Disable max endstops for compatibility with endstop checking routine
#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
  #define DISABLE_MAX_ENDSTOPS
#endif
Klappt alles, kann die Z-Achse nun auf den Homepoint verfahren! Ging ja mit der Firmware einfacher als gedacht :)
 

odwquad

Erfahrener Benutzer
#32

sit-in

Erfahrener Benutzer
#33
Ja, ich neulich. Hat so 3-4 Tage nach Bestellung gedauert, bis es da war. Genau kann ich es dir gerade gar nicht mehr sagen...

Aber ich bin von dem Teil sehr begeistert! Funktioniert klasse!
 

odwquad

Erfahrener Benutzer
#34
Okay danke.
Bei mir wurde bisher weder was geliefert noch auf emsils reagiert. 2 Wochen sinds schon her...

Dann versuche ich mal anzurufen

Gesendet von meinem Lenovo K50-t5 mit Tapatalk
 

odwquad

Erfahrener Benutzer
#36
Ja hab angerufen. Das Paket hängte bei DHL, weil die Packstation Adresse falsch war. Ist im System irgendwas schief gelaufen. Aber ein sehr netter, gesprächiger Kompeter Mann xd

Gesendet von meinem Lenovo K50-t5 mit Tapatalk
 
FPV1

Banggood

Oben Unten