Welcome! Log In Create A New Profile

Advanced

Je commence en avoir plein mon casque...

Posted by cameleon 
Je commence en avoir plein mon casque...
July 14, 2017 01:14PM
Bonjour,

Toujours dans la tourmente des Endstops sur ma Smartcore

Le Endstop X et Y fonctionnent, malgré que je trouve que le X rebondi trop fort losqu'il frappe le endsstop. Je pense que la micro-swicth est défectueuse, elle est comme trop lente à réagir...

C'est avec le Z que je frappe un mur et solide.

j'ai mis un sensor inductif ( LJ12A3-4-Z/BY Inductive Proximity Sensor Switch PNP DC 6V-36V)

1-J'ai fais le petit circuit avec les 2 résistances pour obtenir un voltage de 6 volts.

2-losque mon plateau arrive près du sensor, le sensor s'allume. Mais le plateau continu à monter, donc le endstop ne fait pas le travail.

3-Lorsque le moteur de Z s'arrête, le plateau redescend complètement au bas et rapidement. (je suis avec la courroie et non la vis.)

4-Le reste fonctionnent (le lit, la buse et l'écran LCD. C'est quand même pas si mal, j'arrive de loin...

Je mets mon code de marlin sur les endstops, S.V.P quelqu'un pourrait me dire ou je trébuche.

Merci

cameleon

//===========================================================================
//=============================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 = 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 = 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 true // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true
#define INVERT_E0_DIR true // 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 false // If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops false // If true, axis won't move to coordinates greater than the defined lengths below.

// Travel limits after homing
#define X_MAX_POS 190
#define X_MIN_POS 0
#define Y_MAX_POS 180
#define Y_MIN_POS 0
#define Z_MAX_POS 160
#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: Je commence en avoir plein mon casque...
July 14, 2017 02:42PM
tu a pas pris un boc endstop avec la led c'est beaucoup plus simple de savoir si il marche ou pas

voici se que j'ai sur marlin 1.1 rc3 les endstop en carte avec led sur une ramp1.3
// coarse Endstop Settings
#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 = 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.
const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
//#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS

// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1
Re: Je commence en avoir plein mon casque...
July 15, 2017 08:45AM
avec M119 tu peux savoir si les end stop sont up ou down, tu mets ensuite un objet métallique qui allume la led et tu relance M119, de cette façon tu peux savor si ta config est juste ou pas. pas besoin de demander a l'imprimante de faire un home Z...
Re: Je commence en avoir plein mon casque...
July 15, 2017 09:14AM
huummm un mauvais contact dans un endstop, c'est soit ça marche pas du tout, soit le positionnement est aléatoire.


L'inertie de la partie mobile fait qu'entre le moment ou la position est détectée et le moment ou elle ne se déplace plus, il y a un déplacement qui est normal.
==> Arrêter quelque chose qui bouge en un temps nul équivaut à un choc. Et encore, à petite échelle, ce n'est pas un temps nul, c'est le temps que la matière met à se déformer pour passer d'une vitesse quelconque à vitesse 0

Il faut dons que l'inertie accumulée puisse être absorbée entre la détection et l’arrêt réel

Si ça tape, c'est une combinaison de 2 choses :

1 - il n'existe pas assez de marge entre la détection et la butée physique
2 - tu vas trop vite vers le capteur.

C'est pour ça que le homing se fait à vitesse réduite, dans un mouvement normal, un certain temps, genre 1/10 de seconde avant d'atteindre la position désirée, on ralenti. Là, on est potentiellement toujours à 1/10 de seconde de la position à atteindre, puisqu'on ne la connaît pas.


Membre cofondateur de l'ACoLab à Clermont-Ferrand
Re: Je commence en avoir plein mon casque...
July 15, 2017 12:55PM
Bonjour,

Je pense que le problème était le endstop.

D'habitude quand tu appuie sur le endstop tu entends et tu sens un clic. Celui-là ne faisait rien...

Je l'ai changer, mais encore tester. Pour l'instant je suis entrain de reconfigurer mon endstop Z avec une micro-swicth et non plus avec un sensor.

Mais le système sensor sera disponible et reste sur l'imprimante. Quand je serais prêt pour le sensor tout sera déjà installé.

Merci pour vos infos

cameleon
Re: Je commence en avoir plein mon casque...
July 16, 2017 04:33AM
je ne comprend pas le 6v que tu souhaite obtenir avec ton diviseur de tension.le capteur peut etre alimenté en 12v voir 24v puisqu'il a une plage d'utilisation de 6-36v par contre le signal qui va a la ramps doit être en 5v.(verifié le 5v en fonctionnement car le capteur a aussi une resistance)

Edited 1 time(s). Last edit at 07/16/2017 04:34AM by gab91.


Prusa i3 rework homemade , E3D V6 homemade.
Smartrapcore 200 x 300 ,axes 8mm .
Attachments:
open | download - Câblage-capteur-capacitif.png (28.1 KB)
Re: Je commence en avoir plein mon casque...
July 16, 2017 10:32AM
Bonjour,

Quand le sensor s'allume, j'ai au terminal de Endstop Z, 4.7 volts.

J'ai pas mis la partie la partie du code de Marlin pour le sensor, la voici plus bas.

L'autre question que je me pose. est il y a t-il une différence entre le sensor inductif et capacity ??? (il est peut-être là mon problème)

Celui que j'ai est un inductif ( LJ12A3-4-Z/BY Inductive Proximity Sensor Switch PNP DC 6V-36V)

Merci de votre aide

cameleon

//============================= Bed Auto Leveling ===========================

#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
#define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.

#ifdef ENABLE_AUTO_BED_LEVELING

// There are 2 different ways to pick the X and Y locations to probe:

// - "grid" mode
// Probe every point in a rectangular grid
// You must specify the rectangle, and the density of sample points
// This mode is preferred because there are more measurements.
// It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive

// - "3-point" mode
// Probe 3 arbitrary points on the bed (that aren't colinear)
// You must specify the X & Y coordinates of all 3 points

#define AUTO_BED_LEVELING_GRID
// with AUTO_BED_LEVELING_GRID, the bed is sampled in a
// AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
// and least squares solution is calculated
// Note: this feature occupies 10'206 byte
#ifdef AUTO_BED_LEVELING_GRID

// reglage pour la prod
// set the rectangle in which to probe
#define LEFT_PROBE_BED_POSITION 5
#define RIGHT_PROBE_BED_POSITION 140
#define BACK_PROBE_BED_POSITION 160
#define FRONT_PROBE_BED_POSITION 30

// reglage pour le proto
// set the rectangle in which to probe
/*#define LEFT_PROBE_BED_POSITION 20
#define RIGHT_PROBE_BED_POSITION 190
#define BACK_PROBE_BED_POSITION 120
#define FRONT_PROBE_BED_POSITION 5
*/

// set the number of grid points per dimension
// I wouldn't see a reason to go above 3 (=9 probing points on the bed)
#define AUTO_BED_LEVELING_GRID_POINTS 2


#else // not AUTO_BED_LEVELING_GRID
// with no grid, just probe 3 arbitrary points. A simple cross-product
// is used to esimate the plane of the print bed

#define ABL_PROBE_PT_1_X 50
#define ABL_PROBE_PT_1_Y 50
#define ABL_PROBE_PT_2_X 190
#define ABL_PROBE_PT_2_Y 50
#define ABL_PROBE_PT_3_X 50
#define ABL_PROBE_PT_3_Y 180

#endif // AUTO_BED_LEVELING_GRID


// these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
#define X_PROBE_OFFSET_FROM_EXTRUDER 0
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0

#define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance.
// Be sure you have this distance over your Z_MAX_POS in case

#define XY_TRAVEL_SPEED 5000 // X and Y axis travel speed between probes, in mm/min

#define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point.
#define Z_RAISE_BETWEEN_PROBINGS 10 //How much the extruder will be raised when traveling from between next probing points

//#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
//#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.

//If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
//The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
// You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.

// #define PROBE_SERVO_DEACTIVATION_DELAY 300


//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
//it is highly recommended you let this Z_SAFE_HOMING enabled!!!

#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area.
// When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled
// - If stepper drivers timeout, it will need X and Y homing again before Z homing
// - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
// - Block Z homing only when the probe is outside bed area.

#ifdef Z_SAFE_HOMING

#define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2) // X point for Z homing when homing all axis (G28)
#define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2) // Y point for Z homing when homing all axis (G28)

#endif

#endif // ENABLE_AUTO_BED_LEVELING


// The position of the homing switches
//#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used
//#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0)

//Manual homing switch locations:
// For deltabots this means top and center of the Cartesian print volume.
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 0
//#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.

//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
#define HOMING_FEEDRATE {70*60, 70*60, 10*60, 0} // set the homing speeds (mm/min)
Re: Je commence en avoir plein mon casque...
July 16, 2017 11:39AM
Allo,

Après réflexion, J'ai augmenté le voltage de ma source d'alimentation. espérant que ça ne causera pas de problèmes.

J'étais à 12.8 volts, et j'ai augmenté à 13.2 volts.

Maintenant j'ai 5.02 volts au terminal du Endstop à la carte ramps 1.4

Je vais les nouvelles essais dans une heure environ...

Si quelqu'un veut jeter un coup d'œil au code marlin, j'apprécierais

Merci

cameleon
Re: Je commence en avoir plein mon casque...
July 16, 2017 12:56PM
Bonjour,

Bon après avoir changé le endstop Y qui semblait défectueux, le problème est résolu.

Pour ce qui est du Sensor (endstop Z) je n'avais que 4,7 volts, maintenant que j'ai augmenté et que je suis à 5.02 volts le endstop z fonctionne.

La seule chose qui est bizarre, est que j'ai le message su mon écran LCD (endstops hit:z)

Quand je fais un home, tout ce positionne correctement. Mais après une minute ou deux, le plateau (bed) redescend de lui même jusqu'au bas, aussitôt que les némas deviennent "off'"

Mon Z est avec courroie et non avec vis...

merci

cameleon

Edited 3 time(s). Last edit at 07/16/2017 12:58PM by cameleon.
Re: Je commence en avoir plein mon casque...
July 17, 2017 09:29AM
Ce capteur a une sortie 'open collector'. C'est à dire qu'il fonctionne comme un interrupteur qui met la sortie à la masse quand il détecte quelque chose.
Peu importe la tension d'alimentation car il n'injecte rien dans sa sortie.
La tension de 4.7V ou 5.2V que tu mesures est fournie par la carte Ramps ou autre.. En fait il devrait y avoir une résistance 'pull-up' entre la sortie du capteur et le +5v de la carte.

Dans ce cas:
- Capteur pas actif: 5V à la sortie.
- Capteur actif: 0V à la sortie. (ou proche de 0V)
Re: Je commence en avoir plein mon casque...
July 17, 2017 04:02PM
Pour le Z qui retombe c'est normal, au bout d'un certain temps les moteurs se mettent hors tension, j'ai le cas sur ma delta, et vu le poids de la tête ca descend vite.
Tu aurais dû mettre des vis trapézoidales pour être tranquille.

Pour ton capteur tu as bien fait d'augmenter le voltage, car ton capteur fait chuter sa tension de sortie de 0,3volts à cause de sa résistance interne.

Edited 1 time(s). Last edit at 07/17/2017 04:06PM by Pascal68.
Sorry, only registered users may post in this forum.

Click here to login