Zweiter Endschalter mit in den Betrieb aufnehmen
Zweiter Endschalter mit in den Betrieb aufnehmen
Hallo Leute,
ich wollte gerne wissen, wie ich den zweiten Endschalter (bei mir der obere) mit in Betrieb nehmen kann. Mein Problem ist nämlich, wenn der Drucker bzw. bei mir der Fräser gegen den oberen Endschalter fährt er meint das er beim unteren ist und dann noch weiter nach oben fährt. Also wie nehme ich den zweiten Endschalter mit in Betrieb?
ich wollte gerne wissen, wie ich den zweiten Endschalter (bei mir der obere) mit in Betrieb nehmen kann. Mein Problem ist nämlich, wenn der Drucker bzw. bei mir der Fräser gegen den oberen Endschalter fährt er meint das er beim unteren ist und dann noch weiter nach oben fährt. Also wie nehme ich den zweiten Endschalter mit in Betrieb?
Re: Zweiter Endschalter mit in den Betrieb aufnehmen
Weiß wirklich niemand eine Antwort auf meine Frage?
- rf1k_mjh11
- Developer
- Beiträge: 2100
- Registriert: Di 6. Jan 2015, 19:44
- Wohnort: Autriche
- Has thanked: 276 times
- Been thanked: 557 times
Re: Zweiter Endschalter mit in den Betrieb aufnehmen
snoopy,
Ich bin kein Fräser, nur ein reiner Schmelzer. Daher ist meine Antwort mit Vorsicht zu genießen, sie beruht nur auf Wissen aus dem Forum.
Damit der Drucker den zweiten Endschalter erkennt, bzw. erwartet und ihn berücksichtigt, muss in der Firmware darauf hingewiesen werden.
Die Zeile heißt (bei mir zumindest, v 0.91.51):
#define FEATURE_CNC_MODE 0
Dort muss die Null durch eine "2" ersetzt werden, laut der davor stehenden Angabe:
/** Define whether the CNC functionality shall be allowed.
0 = do not support the CNC mode
1 = experimental, do not use this value (support the CNC mode, only the endstop at z-min is present)
2 = support the CNC mode, the endstops at z-min and z-max are in one circle
Dabei steht der Begriff "circle" für (Schalt)"Kreis" (eigentlich sollte es "circuit" heißen, aber was soll's).
Das heißt wiederum, beide Endschalter hängen in einem Schaltkreis, so dass das Betätigen EINES Schalters genügt, um ein Signal zu erhalten.
Mit dieser Aussage komme ich als schwachen Elektroniker schon fast an meine Grenzen. Und meine Angaben sind mit noch mehr Vorsicht zu genießen:
Nachdem die Schalter Schließer sind, würde ich diese parallel betreiben, denn es kommt ein Signal wenn einer der zwei Schalter betätigt wird. (Wären die Schalter Öffner, würde ich sie in Serie verdrahten, denn das "Signal" käme sobald ein Schalter betätigt werden würde.).
Hoffentlich kann einer der Fräser meine Angaben bestätigen.
Steht nichts in der Anleitung für den Fräsumbau?
mjh11
Ich bin kein Fräser, nur ein reiner Schmelzer. Daher ist meine Antwort mit Vorsicht zu genießen, sie beruht nur auf Wissen aus dem Forum.
Damit der Drucker den zweiten Endschalter erkennt, bzw. erwartet und ihn berücksichtigt, muss in der Firmware darauf hingewiesen werden.
Die Zeile heißt (bei mir zumindest, v 0.91.51):
#define FEATURE_CNC_MODE 0
Dort muss die Null durch eine "2" ersetzt werden, laut der davor stehenden Angabe:
/** Define whether the CNC functionality shall be allowed.
0 = do not support the CNC mode
1 = experimental, do not use this value (support the CNC mode, only the endstop at z-min is present)
2 = support the CNC mode, the endstops at z-min and z-max are in one circle
Dabei steht der Begriff "circle" für (Schalt)"Kreis" (eigentlich sollte es "circuit" heißen, aber was soll's).
Das heißt wiederum, beide Endschalter hängen in einem Schaltkreis, so dass das Betätigen EINES Schalters genügt, um ein Signal zu erhalten.
Mit dieser Aussage komme ich als schwachen Elektroniker schon fast an meine Grenzen. Und meine Angaben sind mit noch mehr Vorsicht zu genießen:
Nachdem die Schalter Schließer sind, würde ich diese parallel betreiben, denn es kommt ein Signal wenn einer der zwei Schalter betätigt wird. (Wären die Schalter Öffner, würde ich sie in Serie verdrahten, denn das "Signal" käme sobald ein Schalter betätigt werden würde.).
Hoffentlich kann einer der Fräser meine Angaben bestätigen.
Steht nichts in der Anleitung für den Fräsumbau?
mjh11
RF1000 (seit 2014) mit:
Pico Hot End (mit eigenem Bauteil- und Hot End Lüfter)
Ceran Bett
FW RF.01.47 (von Conrad, modif.)
Die Natur kontert immer sofort mit einem besseren Idioten.
Pico Hot End (mit eigenem Bauteil- und Hot End Lüfter)
Ceran Bett
FW RF.01.47 (von Conrad, modif.)
Die Natur kontert immer sofort mit einem besseren Idioten.
- JoBo
- Globaler Moderator
- Beiträge: 448
- Registriert: Fr 31. Okt 2014, 13:30
- Has thanked: 15 times
- Been thanked: 59 times
Re: Zweiter Endschalter mit in den Betrieb aufnehmen
Hi ihr beiden,
mjh hat recht. Zunächst die Taster parallel schalten (es gibt auch ein spezielles Kabel dafür).
Dann in der FW
setzen oder, wenn FEATURE_CONFIGURABLE_Z_ENDSTOPS <> 0 gesetzt ist, über das Menü entsprechend wählen.
Achte darauf, dass du den richtigen Wert für die Anzahl der Schienen, die du montiert hast, angegeben hast. Das beeinflusst die Toleranz der Werte, die die Messzellen liefern. Bei 2 Schienen kann es zu Verspannungen kommen und die Toleranz ist höher.
Wenn du dir das zutraust snoopy, kannst du auch die Taster getrennt betreiben. Die FW versucht zwar ihr Bestes dein Fehlerbild zu vermeiden, aber ich habe das auch des öfteren gehabt, dass ich in der ein oder anderen Endstellung "gefangen" war. Darauf hin hab ich die Taster auf unterschiedliche Pins gelegt und die FW dahingehend abgeändert, dass diese entsprechend funktioniert.
Gruß
JoBo
mjh hat recht. Zunächst die Taster parallel schalten (es gibt auch ein spezielles Kabel dafür).
Dann in der FW
Code: Alles auswählen
#define FEATURE_CNC_MODE 2
Achte darauf, dass du den richtigen Wert für die Anzahl der Schienen, die du montiert hast, angegeben hast. Das beeinflusst die Toleranz der Werte, die die Messzellen liefern. Bei 2 Schienen kann es zu Verspannungen kommen und die Toleranz ist höher.
Code: Alles auswählen
#define MILLER_TYPE MILLER_TYPE_ONE_TRACK //Oder: MILLER_TYPE_TWO_TRACKS
Gruß
JoBo
- Alois
- Filamenttester
- Beiträge: 13
- Registriert: So 24. Jul 2016, 21:32
- Has thanked: 3 times
- Been thanked: 1 time
Re: Zweiter Endschalter mit in den Betrieb aufnehmen
Hi JoBo,
welchen Eingang hast Du benutzt? und welche Änderungen hast Du in der Firmware vorgenommen?
Reicht es aus #define ORIG_Z_MAX_PIN in pins.h zu ändern?
Gruß Alois
welchen Eingang hast Du benutzt? und welche Änderungen hast Du in der Firmware vorgenommen?
Reicht es aus #define ORIG_Z_MAX_PIN in pins.h zu ändern?
Gruß Alois
Ich bin vom 16.08.2016 in Urlaub. Ich melde mich sobald ich wieder da bin
- Alois
- Filamenttester
- Beiträge: 13
- Registriert: So 24. Jul 2016, 21:32
- Has thanked: 3 times
- Been thanked: 1 time
Re: Zweiter Endschalter mit in den Betrieb aufnehmen
Hallo,
ich habe den zweiten (unteren) Endschalter an X30 angeschlossen bzw. auf einen separaten Pin gelegt PC2 (PIN35).
Folgende Änderung in pins.h
Suche (Zeile 65):
Ersetze:
Folgende Änderung in RF1000.h
Suche (Zeile 89):
Ersetze:
Suche (Zeile 101-106):
Ersetze:
Suche (Zeile 640-644):
Ersetze:
Suche (Zeile 725-741) :
Ersetze:
ich habe den zweiten (unteren) Endschalter an X30 angeschlossen bzw. auf einen separaten Pin gelegt PC2 (PIN35).
Folgende Änderung in pins.h
Suche (Zeile 65):
Code: Alles auswählen
#define ORIG_Z_MAX_PIN 31 // PINC.6, 59, ES3
Code: Alles auswählen
#define ORIG_Z_MAX_PIN 35 // PINC.2, 55, ES4
Suche (Zeile 89):
Code: Alles auswählen
#define FEATURE_CONFIGURABLE_Z_ENDSTOPS 1 // 1 = the z-endstop type can be switched between z-min (= single) and z-min + z-max in one circuit (= circuit), 0 = only the z-min endstop is installed
Code: Alles auswählen
#define FEATURE_CONFIGURABLE_Z_ENDSTOPS 0 // 1 = the z-endstop type can be switched between z-min (= single) and z-min + z-max in one circuit (= circuit), 0 = only the z-min endstop is installed
Suche (Zeile 101-106):
Code: Alles auswählen
#if FEATURE_CONFIGURABLE_Z_ENDSTOPS
/** \brief Define Default z-endstop type */
#define DEFAULT_Z_ENDSTOP_TYPE ENDSTOP_TYPE_SINGLE
#endif // FEATURE_CONFIGURABLE_Z_ENDSTOPS
Code: Alles auswählen
Suche (Zeile 640-644):
Code: Alles auswählen
#if FEATURE_CONFIGURABLE_Z_ENDSTOPS // the z-max endstop is optional for the RF1000
#define MAX_HARDWARE_ENDSTOP_Z true
#else
#define MAX_HARDWARE_ENDSTOP_Z false
#endif // FEATURE_CONFIGURABLE_Z_ENDSTOPS
Code: Alles auswählen
#define MAX_HARDWARE_ENDSTOP_Z true
Suche (Zeile 725-741) :
Code: Alles auswählen
#if FEATURE_CONFIGURABLE_Z_ENDSTOPS
/** \brief We set the current "steps after endstop" to the following offset values in order to avoid to reach a "steps after endstop" value of 0 (e.g. because of the up and down moving z-compensation or because of manual z movements.
This initial value is set to a level which is above the steps which are possible in z-direction during the distance where the z-endstop is constantly pressed. */
#define Z_ENDSTOP_MIN_TO_MAX_INITIAL_STEPS long(ZAXIS_STEPS_PER_MM * 10) // [steps]
#define Z_ENDSTOP_MAX_TO_MIN_INITIAL_STEPS long(-ZAXIS_STEPS_PER_MM * 10) // [steps]
/** \brief There can not be less than the following amount of steps between the hits of the z-min and z-max endstops.
*/
#define MINIMAL_Z_ENDSTOP_MIN_TO_MAX_STEPS long(ZAXIS_STEPS_PER_MM * 100) // [steps]
#define MINIMAL_Z_ENDSTOP_MAX_TO_MIN_STEPS long(-ZAXIS_STEPS_PER_MM * 100) // [steps]
/** \brief Defines how many steps the z-axis is moved down before the z-homing in case it is unknown which of both endstops (z-min or z-max) is active at the moment.
*/
#define UNKNOWN_Z_ENDSTOP_DRIVE_FREE_STEPS long(ZAXIS_STEPS_PER_MM * 5) // [steps]
#endif // FEATURE_CONFIGURABLE_Z_ENDSTOPS
Code: Alles auswählen
#if FEATURE_MILLING_MODE
/** \brief We set the current "steps after endstop" to the following offset values in order to avoid to reach a "steps after endstop" value of 0 (e.g. because of the up and down moving z-compensation or because of manual z movements.
This initial value is set to a level which is above the steps which are possible in z-direction during the distance where the z-endstop is constantly pressed. */
#define Z_ENDSTOP_MIN_TO_MAX_INITIAL_STEPS long(ZAXIS_STEPS_PER_MM * 10) // [steps]
#define Z_ENDSTOP_MAX_TO_MIN_INITIAL_STEPS long(-ZAXIS_STEPS_PER_MM * 10) // [steps]
/** \brief There can not be less than the following amount of steps between the hits of the z-min and z-max endstops.
*/
#define MINIMAL_Z_ENDSTOP_MIN_TO_MAX_STEPS long(ZAXIS_STEPS_PER_MM * 100) // [steps]
#define MINIMAL_Z_ENDSTOP_MAX_TO_MIN_STEPS long(-ZAXIS_STEPS_PER_MM * 100) // [steps]
/** \brief Defines how many steps the z-axis is moved down before the z-homing in case it is unknown which of both endstops (z-min or z-max) is active at the moment.
*/
#define UNKNOWN_Z_ENDSTOP_DRIVE_FREE_STEPS long(ZAXIS_STEPS_PER_MM * 5) // [steps]
#endif // FEATURE_MILLING_MODE
Ich bin vom 16.08.2016 in Urlaub. Ich melde mich sobald ich wieder da bin
- Alois
- Filamenttester
- Beiträge: 13
- Registriert: So 24. Jul 2016, 21:32
- Has thanked: 3 times
- Been thanked: 1 time
Re: Zweiter Endschalter mit in den Betrieb aufnehmen
Wenn ich den RF1000 einschalte reagieren die beiden Z-Endschalter sofort. Fahre ich abwärts und drücke den unteren Enschalter hält die Achse sofort an.
Fahre ich aufwärts und drücke den oberen Endschalter hält die Achse sofort an. Bei gedrückten Endschaltern lässt sich die Z-Achse immer in die Gegenrichtung freifahren.
Anders ist das Verhalten nach einer HOME-Fahrt. Beim unteren Endschalter ändert sich nichts. Der obere Endschalter reagiert erst wenn er in seiner Ist-Position ins Minus gefahren wird.
Ist das Normal? Kann man den oberen Endschalter nicht dauerhaft aktiviert lassen?
Fahre ich aufwärts und drücke den oberen Endschalter hält die Achse sofort an. Bei gedrückten Endschaltern lässt sich die Z-Achse immer in die Gegenrichtung freifahren.
Anders ist das Verhalten nach einer HOME-Fahrt. Beim unteren Endschalter ändert sich nichts. Der obere Endschalter reagiert erst wenn er in seiner Ist-Position ins Minus gefahren wird.
Ist das Normal? Kann man den oberen Endschalter nicht dauerhaft aktiviert lassen?
Ich bin vom 16.08.2016 in Urlaub. Ich melde mich sobald ich wieder da bin
- JoBo
- Globaler Moderator
- Beiträge: 448
- Registriert: Fr 31. Okt 2014, 13:30
- Has thanked: 15 times
- Been thanked: 59 times
Re: Zweiter Endschalter mit in den Betrieb aufnehmen
Hi Alois,
ist schon etwas her, dass ich daran rumgefummelt hab. Ist aber hier im development Branch zu finden:
https://github.com/Cirrus01/Repetier-FW-RF.01.10
Musst ein bisschen stöbern (ich glaub das war in der rf1000.h), wenn du beide Endschalter dauerhaft aktieviert haben willst. Das ist nicht ganz trivial.
JoBo
ist schon etwas her, dass ich daran rumgefummelt hab. Ist aber hier im development Branch zu finden:
https://github.com/Cirrus01/Repetier-FW-RF.01.10
Musst ein bisschen stöbern (ich glaub das war in der rf1000.h), wenn du beide Endschalter dauerhaft aktieviert haben willst. Das ist nicht ganz trivial.
JoBo
- Alois
- Filamenttester
- Beiträge: 13
- Registriert: So 24. Jul 2016, 21:32
- Has thanked: 3 times
- Been thanked: 1 time
Re: Zweiter Endschalter mit in den Betrieb aufnehmen
Hallo JoBo,
Danke für deine Hilfe. Das ging aber schnell. Für alle die mitbasteln wollen hier eine erste Analyse.
Im Grunde genommen gibt es zwei neue Definitionen ENDSTOP_TYPE_SEPARATED und FEATURE_SEPARATED_Z_ENDSTOPS die in verschiedenen Programmteilen abgefragt werden.
Die Änderungen umfassen insgesamt 10 Dateien:
In den bisherigen Abfragen:
wurde durch eine ver-ODER-ung die neue Definition FEATURE_SEPARATED_Z_ENDSTOPS hinzugefügt.
Ich habe mir inzwischen ein kleines Platinchen 35x37mm gebastelt. Verbindet man die Platine mit dem Mainboard-Stecker X25, lässt sich der RF1000 um 4 x entprellte Eingänge und 2 x Ausgänge erweitern.
Danke für deine Hilfe. Das ging aber schnell. Für alle die mitbasteln wollen hier eine erste Analyse.
Im Grunde genommen gibt es zwei neue Definitionen ENDSTOP_TYPE_SEPARATED und FEATURE_SEPARATED_Z_ENDSTOPS die in verschiedenen Programmteilen abgefragt werden.
Code: Alles auswählen
#define ENDSTOP_TYPE_SEPARATED 3 // the min- and max-endstops are seperated into two separate circuits
#define FEATURE_SEPARATED_Z_ENDSTOPS 1 // 1 = the z-endstop type is fixed and z-min + z-max in separated circuits, 0 = other configuration
#define DEFAULT_Z_ENDSTOP_TYPE ENDSTOP_TYPE_SEPARATED
Code: Alles auswählen
Commands.cpp, Configuration.h, Constants.h, Eeprom.cpp, motion.h, pins.h, Printer.cpp, Printer.h, RF.cpp, RF1000.h
Code: Alles auswählen
#if FEATURE_CONFIGURABLE_Z_ENDSTOPS
wurde durch eine ver-ODER-ung die neue Definition FEATURE_SEPARATED_Z_ENDSTOPS hinzugefügt.
Code: Alles auswählen
#if FEATURE_CONFIGURABLE_Z_ENDSTOPS || FEATURE_SEPARATED_Z_ENDSTOPS
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Ich bin vom 16.08.2016 in Urlaub. Ich melde mich sobald ich wieder da bin
- JoBo
- Globaler Moderator
- Beiträge: 448
- Registriert: Fr 31. Okt 2014, 13:30
- Has thanked: 15 times
- Been thanked: 59 times
Re: Zweiter Endschalter mit in den Betrieb aufnehmen
Hi Alois,
ich hatte vor langer Zeit meine eigene Platine gebastelt. Hier der Link zum Beitrag (Schaltplan): http://www.rf1000.de/viewtopic.php?f=24 ... tion#p2983
Im Link ist noch eine ältere Version. Besonderheit bei meiner Platine ist, das sie so entwicklet war, dass man die Ports flexibel nutzen kann. D.h., die Ports können als Ein-(auch analog) oder Ausgänge genutzt werden. Einen davon hatte ich als Powerausgang "geopfert", um Netzlasten (z.B. Fräser oder Steckdose) schalten zu können.
Zu den FW-Änderungen: Im Grunde hast du das richtig erkannt. Der entscheidene Teil ist die Reaktion auf die Tasterabfrage (ich weiß nur nicht mehr in welcher Datei das zu finden ist). Hier habe ich die Kontrollabfragen für den Fall, dass 2 Endschalter in einem Kreis sind, umgangen. Die sind nicht mehr nötig, wenn die Endschalter an 2 Eingängen "hängen". Die Position ist damit ja eindeutig.
Gruß
Jörg
ich hatte vor langer Zeit meine eigene Platine gebastelt. Hier der Link zum Beitrag (Schaltplan): http://www.rf1000.de/viewtopic.php?f=24 ... tion#p2983
Im Link ist noch eine ältere Version. Besonderheit bei meiner Platine ist, das sie so entwicklet war, dass man die Ports flexibel nutzen kann. D.h., die Ports können als Ein-(auch analog) oder Ausgänge genutzt werden. Einen davon hatte ich als Powerausgang "geopfert", um Netzlasten (z.B. Fräser oder Steckdose) schalten zu können.
Zu den FW-Änderungen: Im Grunde hast du das richtig erkannt. Der entscheidene Teil ist die Reaktion auf die Tasterabfrage (ich weiß nur nicht mehr in welcher Datei das zu finden ist). Hier habe ich die Kontrollabfragen für den Fall, dass 2 Endschalter in einem Kreis sind, umgangen. Die sind nicht mehr nötig, wenn die Endschalter an 2 Eingängen "hängen". Die Position ist damit ja eindeutig.
Gruß
Jörg