Aide Construction CNC Mega 250 RAMPS 1.4

  • Auteur de la discussion bonhom61
  • Date de début
B

bonhom61

Apprenti
Bonjour à tous et toutes, voilà j'ai en projet de faire une petite cnc avec arduino mega 2560 et RAMPS 1.4. pour l'intention j'ai commander un kit arduino mega et RAMPS 1.4 et moteur pas à pas nema 17. j'ai Télécharger une version de grbl en 3 axes et utilise grbl contrôler.

Mon problème, les moteurs pas à pas ne tourne pas quand je leur donne un déplacement. une Led rouge fixe s'affiche en haut à gauche de la ramps 1.4.



avez vous des solutions ? des indications? merci davance
 
J

jpbbricole

Compagnon
Salut bonhom61
Quelle version de GRBL?

Cordialement
jpbbricole
 
B

bonhom61

Apprenti
IL s'agit de grbl 9c me semble til. j'en ai essayer plusieurs mais même problème sur tous. quel version faut il ? merci de ta réponse
 
S

speedjf37

Compagnon
Bonjour,

Quelle alimentation sur la ramps ?
quels réglages sur les pololu ?

une photo de l'ensemble svp.

Cordialement JF
 
B

bonhom61

Apprenti
SUR la ramps j'ai une alimentaire 12 volt (j'ai une léd rouge qui sallume sur là ramps). c'est quoi les pololu?

Globalement ma ramps et monté sur la arduino, puis j'ai mis les fusible et les 3 carte contrôler', puis les trois moteur pas a pas.

Je poste une photo du montage ce soir.
 
B

bonhom61

Apprenti
Ok le pololu c le potentiomètre sur la carte, j'ai tourné celui ci mais je n'ai pas eu de changement (1 tour ou deux dans les deux sens)
 
J

jpbbricole

Compagnon
Salut bonhom61
Je ne pense pas qu'une version standard de GRBL soit compatible avec Rampes 1.4. C'est un question de pinout. Je te fais un topo dans le courant de d'après-midi.

jpbbricole
 
J

jpbbricole

Compagnon
Je te fais un topo dans le courant de d'après-midi.
Voilà, je suis de retour! Ce que je vais t'expliquer, je n'ai pas pu l'expirémenter, ne pratiquant pas Ramps 1.4.
Ce type carte n'est pas fait pour du GRBL standard, le pinout n'est pas le même que sur les cartes GRBL. Et c'est certainement pourquoi la LED rouge, le port étant mal ou pas initialisé.
Ici le pinout Ramps 1.4
ici le pinout de GRBL

Tu peux essayer de corriger dans cpu_map.h

// Define step pulse output pins. NOTE: All step bit pins must be on the same port.
#define STEP_DDR DDRD
#define STEP_PORT PORTD
#define X_STEP_BIT 2 // Uno Digital Pin 2
#define Y_STEP_BIT 3 // Uno Digital Pin 3
#define Z_STEP_BIT 4 // Uno Digital Pin 4
#define STEP_MASK ((1<<X_STEP_BIT)|(1<<Y_STEP_BIT)|(1<<Z_STEP_BIT)) // All step bits

// Define step direction output pins. NOTE: All direction pins must be on the same port.
#define DIRECTION_DDR DDRD
#define DIRECTION_PORT PORTD
#define X_DIRECTION_BIT 5 // Uno Digital Pin 5
#define Y_DIRECTION_BIT 6 // Uno Digital Pin 6
#define Z_DIRECTION_BIT 7 // Uno Digital Pin 7
#define DIRECTION_MASK ((1<<X_DIRECTION_BIT)|(1<<Y_DIRECTION_BIT)|(1<<Z_DIRECTION_BIT)) // All direction bits

en respectant les warnings!
Autrement il existe une version GRBL pour Ramps 1.4

Mais de toute façon, je doute que tu puisses utiliser les interfaces, lecteur de cartes, écran LCD et divers boutons, de cette carte, avec GRBL.
C'est pourquoi, pour les petites CNC en général il est préférable de s'orienter vers des cartes à base de UNO avec shield V3.1.

Cordialement
jpbbricole
 
B

bonhom61

Apprenti
Oki super merci pour l'information, je vais tester le grbl pour la ramps, merci à tous. Je reviens vers vous des que j'ai des news
 
D

Dardar88

Compagnon
Autrement il existe une version GRBL pour Ramps 1.4
merci aussi pour le lien ,je tente....

Pour gagner du temps , car il y a des problemes de compilation avec la version proposée :
il faut suivre les prescriptions (prises dans les discussions) suivantes.

dans : GRBL_RAMPS1_4
remplacer les quotes <> par des "

#include "system.h"
#include "nuts_bolts.h"
#include "eeprom.h"
#include "gcode.h"

#include "config.h"
#include "defaults.h"
#include "settings.h"
#include "fastio.h"

#include "stepper.h"
#include "planner.h"
#include "report.h"
#include "serial.h"
#include "cpu_map.h"
#include "limits.h"
#include "motion_control.h"
#include "spindle_control.h"
#include "protocol.h"
#include "probe.h"
#include "print.h"
#include "coolant_control.h"

sinon il ne trouvera pas les librairies.(depend peut etre des versions Arduino ,pour moi la 1.5.8)

Dans Ramps.h
Enlever les asterix autour des Z

inline void rampsWriteDisable(uint8_t value) {
if (CHECK(value, STEPPERS_DISABLE_BIT)) {
WRITE(X_ENABLE_PIN, 1);
WRITE(Y_ENABLE_PIN, 1);
WRITE(**Z**_ENABLE_PIN, 1);
} else {
WRITE(X_ENABLE_PIN, 0);
WRITE(Y_ENABLE_PIN, 0);
WRITE(**Z**_ENABLE_PIN, 0);
}
}

(Z should be bold instead of enclosed in asterisks, I think you get the idea.)

j'ai rien inventé, merci a eux ! .

Apres ces modifs ,ça compile et ça televerse , a ce point rendu ,sous le moniteur de communication a
115200 , le GRBL cause bien en retour des $ (venal ?) mais je n'ai pas encore connecté de moteurs...

(ma carte est une DCcduino avec un chip de com USB nécessitant un pilote particulier , ça fonctionne
nickel sauf en mode OTG ,pas terrible a partir d'une tablette , mais en progres.... )

t.
 
S

speedjf37

Compagnon
dans : GRBL_RAMPS1_4
remplacer les quotes <> par des "

Bonjour,

Pour les problèmes avec les <> et "" , c'est du chemin standard.
<> accède à un chemin défini (librairies installées ou chemin par défaut de l'application par exemple)
" " pointe vers les fichiers du chemin actuel (même dossier).

Cordialement JF
 
B

bonhom61

Apprenti
Bon ba super vos retour les gars je vais tenter ça se soir, et je vous dit ce qu'il en ai.
 
B

bonhom61

Apprenti
Bon jsuis content cette version fonctionne et fait tourner mes moteurs, par contre j'ai l'axe y et Z qui sont inversé.
 
B

bonhom61

Apprenti
Quelqu'un a une idée pour que grbl identifie les bon axes? mon y et z son inversé
 
J

jpbbricole

Compagnon
Peut être en croisant le câblage.
Ou en corrigeant dans cpu_map.h

Cordialement
jpbbricole
 
B

bonhom61

Apprenti
je pense plus au cpu.map alors, car le cablage de la ramps et fixe puisque enfiché sur l'arduino. bon sinon merci ça marche pas mal
 
B

bonhom61

Apprenti
Dsl de encore vous deranger, donc le grbl fonctionne bien, mais il inverse axe y et z que faut il modifier pour que le cpu fonctionne?
 
J

jpbbricole

Compagnon
J'ai peut être mal compris, y et z tournent a l'envers ou y tourne à la place de z?

jpbbricole
 
J

jpbbricole

Compagnon
J'ai un peu de peine à t'aider, je n'ai pas le matériel, mais jje vais essayer.
Pourrais-tu mettre en ligne le fichiet cpu_map.h?

jpbbricole
 
B

bonhom61

Apprenti
/*
cpu_map.h - CPU and pin mapping configuration file
Part of Grbl v0.9

Copyright (c) 2012-2014 Sungeun K. Jeon

Grbl is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Grbl is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Grbl. If not, see <http://www.gnu.org/licenses/>.
*/

/* The cpu_map.h file serves as a central pin mapping settings file for different processor
types, i.e. AVR 328p or AVR Mega 2560. Grbl officially supports the Arduino Uno, but the
other supplied pin mappings are supplied by users, so your results may vary. */

// NOTE: This is still a work in progress. We are still centralizing the configurations to
// this file, so your success may vary for other CPUs.

#ifndef cpu_map_h
#define cpu_map_h
//----------------------------------------------------------------------------------------

#ifdef CPU_MAP_ATMEGA328P // (Arduino Uno) Officially supported by Grbl.

// Define serial port pins and interrupt vectors.
#define SERIAL_RX USART_RX_vect
#define SERIAL_UDRE USART_UDRE_vect

// Define step pulse output pins. NOTE: All step bit pins must be on the same port.
#define STEP_DDR DDRD
#define STEP_PORT PORTD
#define X_STEP_BIT 2 // Uno Digital Pin 2
#define Y_STEP_BIT 3 // Uno Digital Pin 3
#define Z_STEP_BIT 4 // Uno Digital Pin 4
#define STEP_MASK ((1<<X_STEP_BIT)|(1<<Y_STEP_BIT)|(1<<Z_STEP_BIT)) // All step bits

// Define step direction output pins. NOTE: All direction pins must be on the same port.
#define DIRECTION_DDR DDRD
#define DIRECTION_PORT PORTD
#define X_DIRECTION_BIT 5 // Uno Digital Pin 5
#define Y_DIRECTION_BIT 6 // Uno Digital Pin 6
#define Z_DIRECTION_BIT 7 // Uno Digital Pin 7
#define DIRECTION_MASK ((1<<X_DIRECTION_BIT)|(1<<Y_DIRECTION_BIT)|(1<<Z_DIRECTION_BIT)) // All direction bits

// Define stepper driver enable/disable output pin.
#define STEPPERS_DISABLE_DDR DDRB
#define STEPPERS_DISABLE_PORT PORTB
#define STEPPERS_DISABLE_BIT 0 // Uno Digital Pin 8
#define STEPPERS_DISABLE_MASK (1<<STEPPERS_DISABLE_BIT)

// Define homing/hard limit switch input pins and limit interrupt vectors.
// NOTE: All limit bit pins must be on the same port, but not on a port with other input pins (pinout).
#define LIMIT_DDR DDRB
#define LIMIT_PIN PINB
#define LIMIT_PORT PORTB
#define X_LIMIT_BIT 1 // Uno Digital Pin 9
#define Y_LIMIT_BIT 2 // Uno Digital Pin 10
#ifdef VARIABLE_SPINDLE // Z Limit pin and spindle enabled swapped to access hardware PWM on Pin 11.
#define Z_LIMIT_BIT 4 // Uno Digital Pin 12
#else
#define Z_LIMIT_BIT 3 // Uno Digital Pin 11
#endif
#define LIMIT_MASK ((1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT)) // All limit bits
#define LIMIT_INT PCIE0 // Pin change interrupt enable pin
#define LIMIT_INT_vect PCINT0_vect
#define LIMIT_PCMSK PCMSK0 // Pin change interrupt register

// Define spindle enable and spindle direction output pins.
#define SPINDLE_ENABLE_DDR DDRB
#define SPINDLE_ENABLE_PORT PORTB
#ifdef VARIABLE_SPINDLE // Z Limit pin and spindle enabled swapped to access hardware PWM on Pin 11.
#define SPINDLE_ENABLE_BIT 3 // Uno Digital Pin 11
#else
#define SPINDLE_ENABLE_BIT 4 // Uno Digital Pin 12
#endif
#define SPINDLE_DIRECTION_DDR DDRB
#define SPINDLE_DIRECTION_PORT PORTB
#define SPINDLE_DIRECTION_BIT 5 // Uno Digital Pin 13 (NOTE: D13 can't be pulled-high input due to LED.)

// Define flood and mist coolant enable output pins.
// NOTE: Uno analog pins 4 and 5 are reserved for an i2c interface, and may be installed at
// a later date if flash and memory space allows.
#define COOLANT_FLOOD_DDR DDRC
#define COOLANT_FLOOD_PORT PORTC
#define COOLANT_FLOOD_BIT 3 // Uno Analog Pin 3
#ifdef ENABLE_M7 // Mist coolant disabled by default. See config.h to enable/disable.
#define COOLANT_MIST_DDR DDRC
#define COOLANT_MIST_PORT PORTC
#define COOLANT_MIST_BIT 4 // Uno Analog Pin 4
#endif

// Define user-control pinouts (cycle start, reset, feed hold) input pins.
// NOTE: All pinouts pins must be on the same port and not on a port with other input pins (limits).
#define PINOUT_DDR DDRC
#define PINOUT_PIN PINC
#define PINOUT_PORT PORTC
#define PIN_RESET 0 // Uno Analog Pin 0
#define PIN_FEED_HOLD 1 // Uno Analog Pin 1
#define PIN_CYCLE_START 2 // Uno Analog Pin 2
#define PINOUT_INT PCIE1 // Pin change interrupt enable pin
#define PINOUT_INT_vect PCINT1_vect
#define PINOUT_PCMSK PCMSK1 // Pin change interrupt register
#define PINOUT_MASK ((1<<PIN_RESET)|(1<<PIN_FEED_HOLD)|(1<<PIN_CYCLE_START))

// Define probe switch input pin.
#define PROBE_DDR DDRC
#define PROBE_PIN PINC
#define PROBE_PORT PORTC
#define PROBE_BIT 5 // Uno Analog Pin 5
#define PROBE_MASK (1<<PROBE_BIT)


#ifdef VARIABLE_SPINDLE
// Advanced Configuration Below You should not need to touch these variables
#define TCCRA_REGISTER TCCR2A
#define TCCRB_REGISTER TCCR2B
#define OCR_REGISTER OCR2A

#define COMB_BIT COM2A1
#define WAVE0_REGISTER WGM20
#define WAVE1_REGISTER WGM21
#define WAVE2_REGISTER WGM22
#define WAVE3_REGISTER WGM23

// NOTE: On the 328p, these must be the same as the SPINDLE_ENABLE settings.
#define SPINDLE_PWM_DDR SPINDLE_ENABLE_DDR
#define SPINDLE_PWM_PORT SPINDLE_ENABLE_PORT
#define SPINDLE_PWM_BIT SPINDLE_ENABLE_BIT // Shared with SPINDLE_ENABLE.
#endif // End of VARIABLE_SPINDLE

#endif

//----------------------------------------------------------------------------------------

#ifdef CPU_MAP_ATMEGA2560 // (Arduino Mega 2560) Working @EliteEng

// Serial port pins
#define SERIAL_RX USART0_RX_vect
#define SERIAL_UDRE USART0_UDRE_vect

// Increase Buffers to make use of extra SRAM
//#define RX_BUFFER_SIZE 256
//#define TX_BUFFER_SIZE 128
//#define BLOCK_BUFFER_SIZE 36
//#define LINE_BUFFER_SIZE 100

// Define step pulse output pins. NOTE: All step bit pins must be on the same port.
#define STEP_DDR DDRA
#define STEP_PORT PORTA
#define STEP_PIN PINA
#define X_STEP_BIT 2 // MEGA2560 Digital Pin 24
#define Y_STEP_BIT 3 // MEGA2560 Digital Pin 25
#define Z_STEP_BIT 4 // MEGA2560 Digital Pin 26
#define STEP_MASK ((1<<X_STEP_BIT)|(1<<Y_STEP_BIT)|(1<<Z_STEP_BIT)) // All step bits

// Define step direction output pins. NOTE: All direction pins must be on the same port.
#define DIRECTION_DDR DDRA
#define DIRECTION_PORT PORTA
#define DIRECTION_PIN PINA
#define X_DIRECTION_BIT 5 // MEGA2560 Digital Pin 27
#define Y_DIRECTION_BIT 6 // MEGA2560 Digital Pin 28
#define Z_DIRECTION_BIT 7 // MEGA2560 Digital Pin 29
#define DIRECTION_MASK ((1<<X_DIRECTION_BIT)|(1<<Y_DIRECTION_BIT)|(1<<Z_DIRECTION_BIT)) // All direction bits

// Define stepper driver enable/disable output pin.
#define STEPPERS_DISABLE_DDR DDRB
#define STEPPERS_DISABLE_PORT PORTB
#define STEPPERS_DISABLE_BIT 7 // MEGA2560 Digital Pin 13
#define STEPPERS_DISABLE_MASK (1<<STEPPERS_DISABLE_BIT)

// NOTE: All limit bit pins must be on the same port
#define LIMIT_DDR DDRB
#define LIMIT_PORT PORTB
#define LIMIT_PIN PINB
#define X_LIMIT_BIT 4 // MEGA2560 Digital Pin 10
#define Y_LIMIT_BIT 5 // MEGA2560 Digital Pin 11
#define Z_LIMIT_BIT 6 // MEGA2560 Digital Pin 12
#define LIMIT_INT PCIE0 // Pin change interrupt enable pin
#define LIMIT_INT_vect PCINT0_vect
#define LIMIT_PCMSK PCMSK0 // Pin change interrupt register
#define LIMIT_MASK ((1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT)) // All limit bits

// Define spindle enable and spindle direction output pins.
#define SPINDLE_ENABLE_DDR DDRH
#define SPINDLE_ENABLE_PORT PORTH
#define SPINDLE_ENABLE_BIT 3 // MEGA2560 Digital Pin 6
#define SPINDLE_DIRECTION_DDR DDRE
#define SPINDLE_DIRECTION_PORT PORTE
#define SPINDLE_DIRECTION_BIT 3 // MEGA2560 Digital Pin 5

// Define flood and mist coolant enable output pins.
// NOTE: Uno analog pins 4 and 5 are reserved for an i2c interface, and may be installed at
// a later date if flash and memory space allows.
#define COOLANT_FLOOD_DDR DDRH
#define COOLANT_FLOOD_PORT PORTH
#define COOLANT_FLOOD_BIT 5 // MEGA2560 Digital Pin 8
#ifdef ENABLE_M7 // Mist coolant disabled by default. See config.h to enable/disable.
#define COOLANT_MIST_DDR DDRH
#define COOLANT_MIST_PORT PORTH
#define COOLANT_MIST_BIT 6 // MEGA2560 Digital Pin 9
#endif

// Define user-control pinouts (cycle start, reset, feed hold) input pins.
// NOTE: All pinouts pins must be on the same port and not on a port with other input pins (limits).
#define PINOUT_DDR DDRK
#define PINOUT_PIN PINK
#define PINOUT_PORT PORTK
#define PIN_RESET 0 // MEGA2560 Analog Pin 8
#define PIN_FEED_HOLD 1 // MEGA2560 Analog Pin 9
#define PIN_CYCLE_START 2 // MEGA2560 Analog Pin 10
#define PINOUT_INT PCIE2 // Pin change interrupt enable pin
#define PINOUT_INT_vect PCINT2_vect
#define PINOUT_PCMSK PCMSK2 // Pin change interrupt register
#define PINOUT_MASK ((1<<PIN_RESET)|(1<<PIN_FEED_HOLD)|(1<<PIN_CYCLE_START))

// Define probe switch input pin.
#define PROBE_DDR DDRK
#define PROBE_PIN PINK
#define PROBE_PORT PORTK
#define PROBE_BIT 3 // MEGA2560 Analog Pin 11
#define PROBE_MASK (1<<PROBE_BIT)

// Start of PWM & Stepper Enabled Spindle
#ifdef VARIABLE_SPINDLE
// Advanced Configuration Below You should not need to touch these variables
// Set Timer up to use TIMER2B which is attached to Digital Pin 9
#define TCCRA_REGISTER TCCR2A
#define TCCRB_REGISTER TCCR2B
#define OCR_REGISTER OCR2B

#define COMB_BIT COM2B1
#define WAVE0_REGISTER WGM20
#define WAVE1_REGISTER WGM21
#define WAVE2_REGISTER WGM22
#define WAVE3_REGISTER WGM23

#define SPINDLE_PWM_DDR DDRH
#define SPINDLE_PWM_PORT PORTH
#define SPINDLE_PWM_BIT 6 // MEGA2560 Digital Pin 9
#endif // End of VARIABLE_SPINDLE

#endif

#ifdef CPU_MAP_ATMEGA2560_RAMPS_1_4 // (Arduino Mega 2560)+Ramps1.4 Working Arsi

// Serial port pins
#define SERIAL_RX USART0_RX_vect
#define SERIAL_UDRE USART0_UDRE_vect

// Increase Buffers to make use of extra SRAM
//#define RX_BUFFER_SIZE 256
//#define TX_BUFFER_SIZE 128
//#define BLOCK_BUFFER_SIZE 36
//#define LINE_BUFFER_SIZE 100

// Define step pulse output pins. Changed for Ramps
#define STEP_DDR DDRA
#define STEP_PORT PORTA
#define STEP_PIN PINA
#define X_STEP_BIT 2 // Not realy used
#define Y_STEP_BIT 3 // Not realy used
#define Z_STEP_BIT 4 // Not realy used
#define STEP_MASK ((1<<X_STEP_BIT)|(1<<Y_STEP_BIT)|(1<<Z_STEP_BIT)) // All step bits

// Define step direction output pins. Changed for Ramps
#define DIRECTION_DDR DDRA
#define DIRECTION_PORT PORTA
#define DIRECTION_PIN PINA
#define X_DIRECTION_BIT 5 // Not realy used
#define Y_DIRECTION_BIT 6 // Not realy used
#define Z_DIRECTION_BIT 7 // Not realy used
#define DIRECTION_MASK ((1<<X_DIRECTION_BIT)|(1<<Y_DIRECTION_BIT)|(1<<Z_DIRECTION_BIT)) // All direction bits

// Define stepper driver enable/disable output pin. Changed for Ramps
#define STEPPERS_DISABLE_DDR DDRB
#define STEPPERS_DISABLE_PORT PORTB
#define STEPPERS_DISABLE_BIT 7 // Not realy used
#define STEPPERS_DISABLE_MASK (1<<STEPPERS_DISABLE_BIT)

// NOTE: All limit bit pins must be on the same port
#define LIMIT_DDR DDRB
#define LIMIT_PORT PORTB
#define LIMIT_PIN PINB
#define X_LIMIT_BIT 3 // Ramps PB3 ( MISO/PCINT3 ) Digital pin 50 (MISO) ->Ramps AUX-3 pin 3
#define Y_LIMIT_BIT 2 // Ramps PB2 ( MOSI/PCINT2 ) Digital pin 51 (MOSI) ->Ramps AUX-3 pin 4
#define Z_LIMIT_BIT 1 // Ramps PB1 ( SCK/PCINT1 ) Digital pin 52 (SCK) -> Ramps AUX-3 pin 5
#define LIMIT_INT PCIE0 // Pin change interrupt enable pin
#define LIMIT_INT_vect PCINT0_vect
#define LIMIT_PCMSK PCMSK0 // Pin change interrupt register
#define LIMIT_MASK ((1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT)) // All limit bits

// Define spindle enable and spindle direction output pins.
#define SPINDLE_ENABLE_DDR DDRH
#define SPINDLE_ENABLE_PORT PORTH
#define SPINDLE_ENABLE_BIT 3 // MEGA2560 Digital Pin 6
#define SPINDLE_DIRECTION_DDR DDRE
#define SPINDLE_DIRECTION_PORT PORTE
#define SPINDLE_DIRECTION_BIT 3 // MEGA2560 Digital Pin 5

// Define flood and mist coolant enable output pins.
// NOTE: Uno analog pins 4 and 5 are reserved for an i2c interface, and may be installed at
// a later date if flash and memory space allows.
#define COOLANT_FLOOD_DDR DDRH
#define COOLANT_FLOOD_PORT PORTH
#define COOLANT_FLOOD_BIT 5 // MEGA2560 Digital Pin 8
#ifdef ENABLE_M7 // Mist coolant disabled by default. See config.h to enable/disable.
#define COOLANT_MIST_DDR DDRH
#define COOLANT_MIST_PORT PORTH
#define COOLANT_MIST_BIT 6 // MEGA2560 Digital Pin 9
#endif

// Define user-control pinouts (cycle start, reset, feed hold) input pins.
// NOTE: All pinouts pins must be on the same port and not on a port with other input pins (limits).
#define PINOUT_DDR DDRK
#define PINOUT_PIN PINK
#define PINOUT_PORT PORTK
#define PIN_RESET 0 // MEGA2560 Analog Pin 8
#define PIN_FEED_HOLD 1 // MEGA2560 Analog Pin 9
#define PIN_CYCLE_START 2 // MEGA2560 Analog Pin 10
#define PINOUT_INT PCIE2 // Pin change interrupt enable pin
#define PINOUT_INT_vect PCINT2_vect
#define PINOUT_PCMSK PCMSK2 // Pin change interrupt register
#define PINOUT_MASK ((1<<PIN_RESET)|(1<<PIN_FEED_HOLD)|(1<<PIN_CYCLE_START))

// Define probe switch input pin.
#define PROBE_DDR DDRK
#define PROBE_PIN PINK
#define PROBE_PORT PORTK
#define PROBE_BIT 3 // MEGA2560 Analog Pin 11
#define PROBE_MASK (1<<PROBE_BIT)

// Start of PWM & Stepper Enabled Spindle
#ifdef VARIABLE_SPINDLE
// Advanced Configuration Below You should not need to touch these variables
// Set Timer up to use TIMER2B which is attached to Digital Pin 9
#define TCCRA_REGISTER TCCR2A
#define TCCRB_REGISTER TCCR2B
#define OCR_REGISTER OCR2B

#define COMB_BIT COM2B1
#define WAVE0_REGISTER WGM20
#define WAVE1_REGISTER WGM21
#define WAVE2_REGISTER WGM22
#define WAVE3_REGISTER WGM23

#define SPINDLE_PWM_DDR DDRH
#define SPINDLE_PWM_PORT PORTH
#define SPINDLE_PWM_BIT 6 // MEGA2560 Digital Pin 9
#endif // End of VARIABLE_SPINDLE

#endif

//----------------------------------------------------------------------------------------

/*
#ifdef CPU_MAP_CUSTOM_PROC
// For a custom pin map or different processor, copy and paste one of the default cpu map
// settings above and modify it to your needs. Then, make sure the defined name is also
// changed in the config.h file.
#endif
*/

#endif
 
J

jpbbricole

Compagnon
J'essayerai ces modifications:

// Define step pulse output pins. NOTE: All step bit pins must be on the same port.
#define STEP_DDR DDRD
#define STEP_PORT PORTD
#define X_STEP_BIT 2 // Uno Digital Pin 2
#define Z_STEP_BIT 3 // Uno Digital Pin 3
#define Y_STEP_BIT 4 // Uno Digital Pin 4
#define STEP_MASK ((1<<X_STEP_BIT)|(1<<Z_STEP_BIT)|(1<<Y_STEP_BIT)) // All step bits

// Define step direction output pins. NOTE: All direction pins must be on the same port.
#define DIRECTION_DDR DDRD
#define DIRECTION_PORT PORTD
#define X_DIRECTION_BIT 5 // Uno Digital Pin 5
#define Z_DIRECTION_BIT 6 // Uno Digital Pin 6
#define Y_DIRECTION_BIT 7 // Uno Digital Pin 7
#define DIRECTION_MASK ((1<<X_DIRECTION_BIT)|(1<<Z_DIRECTION_BIT)|(1<<Y_DIRECTION_BIT)) // All direction bits

jpbbricole
 
Dernière édition:
B

bonhom61

Apprenti
j'avais essayer ça mais dans la partie mega, pas uno?
 
J

jpbbricole

Compagnon
La partie UNO est en remarque (//) dans ce fichier donc est purement indicative.
En fait, la modification consiste à croiser les lettres Y et Z.

jpbbricole
 
B

bonhom61

Apprenti
Ok super je vais essayer ça ce soir. Merci pour les info
 
J

jpbbricole

Compagnon
Je vais appliquer cela a tout le programmes.
Non!!!!!!!!
En fait, la modification consiste à croiser les lettres Y et Z.
Quand je disais ça celà voulais dire qu'aux endroits que je t'ai indiqués en gras:

// Define step pulse output pins. NOTE: All step bit pins must be on the same port.
#define STEP_DDR DDRD
#define STEP_PORT PORTD
#define X_STEP_BIT 2 // Uno Digital Pin 2
#define Z_STEP_BIT 3 // Uno Digital Pin 3
#define Y_STEP_BIT 4 // Uno Digital Pin 4
#define STEP_MASK ((1<<X_STEP_BIT)|(1<<Z_STEP_BIT)|(1<<Y_STEP_BIT)) // All step bits

// Define step direction output pins. NOTE: All direction pins must be on the same port.
#define DIRECTION_DDR DDRD
#define DIRECTION_PORT PORTD
#define X_DIRECTION_BIT 5 // Uno Digital Pin 5
#define Z_DIRECTION_BIT 6 // Uno Digital Pin 6
#define Y_DIRECTION_BIT 7 // Uno Digital Pin 7
#define DIRECTION_MASK ((1<<X_DIRECTION_BIT)|(1<<Z_DIRECTION_BIT)|(1<<Y_DIRECTION_BIT)) // All direction bits

Après, si celà ne vas toujours pas, on regardera plus loin.

jpbbricole
 
S

speedjf37

Compagnon
Bonjour,

S'il utilise une MEGA2560 et que ce choix est défini:
CPU_MAP_ATMEGA2560_RAMPS_1_4 // (Arduino Mega 2560)+Ramps1.4 Working Arsi

Il faut modifier 4 lignes (en gras) :
#define X_STEP_BIT 2 // MEGA2560 Digital Pin 24
#define Z_STEP_BIT 3 // MEGA2560 Digital Pin 25
#define Y_STEP_BIT 4 // MEGA2560 Digital Pin 26
#define STEP_MASK ((1<<X_STEP_BIT)|(1<<Y_STEP_BIT)|(1<<Z_STEP_BIT)) // All step bits

// Define step direction output pins. NOTE: All direction pins must be on the same port.
#define DIRECTION_DDR DDRA
#define DIRECTION_PORT PORTA
#define DIRECTION_PIN PINA
#define X_DIRECTION_BIT 5 // MEGA2560 Digital Pin 27
#define Z_DIRECTION_BIT 6 // MEGA2560 Digital Pin 28
#define Y_DIRECTION_BIT 7 // MEGA2560 Digital Pin 29
#define DIRECTION_MASK ((1<<X_DIRECTION_BIT)|(1<<Y_DIRECTION_BIT)|(1<<Z_DIRECTION_BIT)) // All direction bits

Changer l'ordre des masques est inutile

Cela sert uniquement à rediriger les signaux STEP et DIR vers les drivers (pas les pin des fin de course)

JF
 
Dernière édition:
B

bonhom61

Apprenti
Oui je vais essayer ce soir et je vous dit si cela marche ou non. j'avais aussi essayer en changeant les numéro de pin (cela reviens au même) mais même problème. Je vous redis
 

Sujets similaires

Moi33
Réponses
2
Affichages
851
speedjf37
S
M
Réponses
4
Affichages
915
MB Creations
M
A
Réponses
5
Affichages
5 047
abdelkarimgr
A
C
Réponses
0
Affichages
32 046
Charles MONIOT
C
Haut