Optische Sensor in Marlin smiling smiley
12. September 2015 03:02
Hallo,

habe bisher Prusa i3 Drucker mit mechanische Endstop betrieben. Funktioniert auch einwandfrei.
Möchte aber auf optische Sensoren umsteigen.
Habe alles nach Beschreibungen von Internet umgestellt, leider kein Erfolg.
Anbei die Ausgangsdatei von Marlin wo die mechanische Endstop funktionieren.
Was muss ich verändern??

besten Dank

//===========================================================================
//=============================Mechanical Settings===========================
//===========================================================================

// Uncomment the following line to enable CoreXY kinematics
// #define COREXY

// 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.
const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
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

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders

// Disables axis when it's not being used.
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false // For all extruders
#define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled

#define INVERT_X_DIR true // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR true // for Mendel set to false, for Orca set to true
#define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false

// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below.

// Travel limits after homing
#define X_MAX_POS 205
#define X_MIN_POS 0
#define Y_MAX_POS 205
#define Y_MIN_POS 0
#define Z_MAX_POS 200
#define Z_MIN_POS 0

#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)
Re: Optische Sensor in Marlin smiling smiley
12. September 2015 06:19
Was willst du denn da umstellen?

Mechanische Endstops einfach durch optische ersetzen und fertig ist.
Höchsten muss das Signal invertiert werden.

Du musst die optischen halt einfach nur richtig anschließen.


Lars - Blog, Thingiverse, Git

After successfully ignoring Google, FAQ's, the board search and leaving a undecipherable post in the wrong sub-forum don't expect an intelligent reply.
Re: Optische Sensor in Marlin smiling smiley
12. September 2015 06:50
Grundsätzlich Danke für die Antwort.

Habe ich auch so gedacht.

Einfach anschließen:
Kabel rein, leuchtet nicht, kabel umdrehen und Endstop leuchtet. Damit weis ich es ist richtig angeschloßen.
Jetzt aber Motor Nema17 laufen lassen und Lichtschranke unterbrechen. Motor läuft einfach weiter. Also läuft was schief.

oder sehe ich es falsch?

Mit invertieren ist gemeint:

#define X_ENABLE_ON 0

auf 1 setzen? oder?

Danke & Gruss
Re: Optische Sensor in Marlin smiling smiley
12. September 2015 07:36
So ein Opto-Endstop hat 3 Anschlusskabel. Ein mechanischer 2 (ausser du hast die mit dem LED-Firlefanz)
Da liegt dein Fehler.

Mit invertieren ist gemeint:

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.
const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
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.


Lars - Blog, Thingiverse, Git

After successfully ignoring Google, FAQ's, the board search and leaving a undecipherable post in the wrong sub-forum don't expect an intelligent reply.
Re: Optische Sensor in Marlin smiling smiley
12. September 2015 14:24
Leider hat sich nicht viel verändert.

Zum verständniss:
Wenn ich den Endstop anschließe und er leuchtet, dann sind doch die Kabel schon mal richtig angeschlossen oder?
Könnte jemanden einfach seine Marlin Einstellungen für Optische Endstop kurz posten, dann könnte ich mal kurz vergleichen. Danke

Ich habe habe das ganze mit 2 optische Endstops versucht. Also is ein Hardwarefehler einfach unwahrscheinlich.

Danke
Re: Optische Sensor in Marlin smiling smiley
13. September 2015 07:46
Quote
kerta
habe bisher Prusa i3 Drucker mit mechanische Endstop betrieben...
Möchte aber auf optische Sensoren umsteigen.
Warum?
Mechanische sind m.E. präziser.
Optische sind zwar theoretisch verschleißfrei aber anfälliger.
Wenn's den Optikpin verbiegst..

Denk mal über Hallsensoren nach, günstig und präzise.
Re: Optische Sensor in Marlin smiling smiley
14. September 2015 06:30
Danke

Kann man optische Sensoren in Repetier host einstellen. So umgehe ich Marlin ganz?

Wäre es möglich die Einstelllungen für den Hallsensor in Marlin mitzuteilen.

Besten Dank & Gruss
Re: Optische Sensor in Marlin smiling smiley
14. September 2015 06:37
Hallo kerta,

ob das jetzt mechanische, optische oder Hall-Sensoren sind, ist der Firmeware egal und kann da nicht eingestellt werden.

Vielleicht sollest du uns erstmal genau zeigen / erklären, wie du die optischen Sensoren angeschlossen hast. Also welchen Pin am Sensor du mit welchem Pin am RAMPS(?) verbunden hast.

Grüße


Grüße
Martin
Re: Optische Sensor in Marlin smiling smiley
14. September 2015 09:38
Ok,

Ausgangssituation:
Bild 1: Mechanischer Endstop und beim aktivieren Stopt der Motor und Endstop Leuchtet
Bild 2: Anschluße am Ramps Board

Optischer Endstop
Bild 3: Anschluße von optische Endstop am Board. 2 Rote markierte Kabeln nach innen.
Bild 4: Optischer Endstop leuchtet. Hinweis auf richtiger Anschluß.
Keine Reaktion. Motor läuft weiter beim Bewegen. Homing stopt nicht.
Bild 5: Drehen von Anschlüße am optischer Endstop. Keine Reaktion. Motor läuft weiter. Keine Homing funktion, Motor fällt bei dieser Funktion aus.
.
Anhänge:
Öffnen | Download - Bild 1 F.jpg (485.6 KB)
Öffnen | Download - Bild 2 F.jpg (568.3 KB)
Öffnen | Download - Bild 3 F.jpg (369.2 KB)
Öffnen | Download - Bild 4 F.jpg (536.5 KB)
Öffnen | Download - Bild 5 F.jpg (470.5 KB)
Re: Optische Sensor in Marlin smiling smiley
14. September 2015 09:51
Quote
kerta
Drehen von Anschlüße am optischer Endstop. Keine Reaktion. Motor läuft weiter. Keine Homing funktion, Motor fällt bei dieser Funktion aus.

Ja was denn nun? Fällt der Motor aus, oder fährt weiter? Oder wie oder was?
Du hast an deinen Endstops einmal Minus, Plus und eine Leitung für das Signal ... bei deinen mechanischen Schaltern benötigst du die 3te Leitung nur für die LED "spielerei" ... beim Optischen eben um die Gabellichtschranke zu betreiben ... und am ende geben beide Versionen lediglich ein "ist geschalten" oder aber ein "ist nicht geschalten" von sich ... ENTWEDER es kommt ein Signal, oder eben nicht ...

Ist jetzt vielleicht recht dämlich gedacht, aber wird die Gabellichtschranke ausgelöst bei deiner Konstruktion? Oder fährst du stumpf gegen den Schalter?

Gruß Peter smiling smiley
Re: Optische Sensor in Marlin smiling smiley
14. September 2015 11:31
Erstmal vielen Dank Peter,


"bei deinen mechanischen Schaltern benötigst du die 3te Leitung nur für die LED "spielerei" ". Vollkommen richtig, aber funktioniert. Damit kann ich zu mindest ein Hardwarefehler am Ramps Board ausschließen.


Optischer Schalter: Es liegt ein Flachbandkabel aus 3 miteinander verschweißte Adern. Als kann Ich diese untereinander nicht verwechseln.
Ich schließe das Kabel wie in Bild 3 an. Endstop-Leuchte ist rot. Starte Bewegung in X-Richtig. Motort läufte auch wenn ich die Lichtschranke unterbreche.
Drucke Homing. Motor läuft weiter auch wenn Lichtschranke unterbrochen ist

Ich drehe die Anschlüße (um 180°) wie in Bild 5. Drucke Bewegung in X-Richtung und unterbreche die Lichtschranke. Motor dreht weiter.
Also Keine Reaktion, vom optischen Sensor. Nada, nada, nada ............nichts.
Drucke Homing-Funktion. Motor bleibt einfach stehen. Es bewegt sich nichts.

Da dieses Verhalten bei 2 optische Sensoren identisch auftrat, kann man ein Sensorfeher ausschließen.

Ich hoffe ich konnte es klar schreiben.

Gruss & danke
Re: Optische Sensor in Marlin smiling smiley
14. September 2015 11:37
Schließe wie in Bild 5 an invertiere das Endschaltersignal in der Firmware.
Dann funktioniert die Geschichte.


Lars - Blog, Thingiverse, Git

After successfully ignoring Google, FAQ's, the board search and leaving a undecipherable post in the wrong sub-forum don't expect an intelligent reply.
Re: Optische Sensor in Marlin smiling smiley
14. September 2015 12:33
Quote
kerta
Drucke Homing-Funktion. Motor bleibt einfach stehen. Es bewegt sich nichts.

Wird wohl auch beim 100sten Endstopp so sein, da der Drucker schon der Meinung ist auf "0" zu sein winking smiley

Ist halt das was Lars schon schreibt ... Schick dem Drucker mal den G-Code "M119" damit fragst du die Endschalter ab, dann unterbrich die Lichtschranke und sende erneut das "M119" ... dann hast dus winking smiley

Gruß thumbs up
Re: Optische Sensor in Marlin smiling smiley
14. September 2015 17:34
Repetier Optisch X-MAX:

// ################ Endstop configuration #####################


#define ENDSTOP_PULLUP_X_MAX true
#define ENDSTOP_X_MAX_INVERTING false
#define MAX_HARDWARE_ENDSTOP_X true
#define min_software_endstop_x true
#define max_software_endstop_x false

Led Leuchten =AN
Led aus = schranke geschlossen oder Sensor kein Strom

2-mal bearbeitet. Zuletzt am 14.09.15 17:37.
Re: Optische Sensor in Marlin smiling smiley
21. September 2015 02:56
Erstmal vielen Dank für all die Lösungsvorschläge.

Wenn man die Verkabelung in den Flachbandkabel vertauscht (überkreutz) funktioniert das ohne Änderungen an der Einstellung in Marlin.
Stellt sich die Frage, wozu wird ein Flachbandkabel mitgeliefert?

Hoffentlich die letzte Frage zu diesen Thema:
Die Optische Schalter Leuchten immer Rot und bei Unterbrechung der Lichtschranke erlicht das rote Licht.
Kann man es umdrehen.
Es soll nur leuchten bei Unterbrechung der Lichtschranke.

Besten Dank
Re: Optische Sensor in Marlin smiling smiley
21. September 2015 13:54
Quote
kerta
Die Optische Schalter Leuchten immer Rot und bei Unterbrechung der Lichtschranke erlicht das rote Licht.
Kann man es umdrehen.
Es soll nur leuchten bei Unterbrechung der Lichtschranke.

Nein.

Mal davon ab, wenn du den Endstop sauber anfährst, hat der schon geschaltet obwohl die LED noch nicht aus ist.
Bei präziser Anfahrt dimmt die LED nur runter.
Die LEDs an diesen Dingern sind völlig sinnlos.
Sie zeigen nur zuverlässig das anliegen der Versorgungsspannung an.


Lars - Blog, Thingiverse, Git

After successfully ignoring Google, FAQ's, the board search and leaving a undecipherable post in the wrong sub-forum don't expect an intelligent reply.
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen