LASER upgrade pin alteration troubles

if this is too awful to read due to the text blocks please let me know and i can throw them into paste bins.

 

So, as it says in step 1 of section B here, https://www.v1engineering.com/wp-content/uploads/2016/01/MPCNC-laser-add-on-walk-through-Rev2.0.pdf

 

youre supposed to change the pin from d9 to pin 44. the pins_RAMPS_13.h file that the guide originally calls for no longer has any pinouts, so i went to where it was calling for the pins, pins_ramps.h and i changed the designated pin for the fan from

// Heaters / Fans
//
#ifndef MOSFET_D_PIN
#define MOSFET_D_PIN -1
#endif
#ifndef RAMPS_D8_PIN
#define RAMPS_D8_PIN 8
#endif
#ifndef RAMPS_D9_PIN
#define RAMPS_D9_PIN 9
#endif
#ifndef RAMPS_D10_PIN
#define RAMPS_D10_PIN 10
#endif

replacing the 9 to a 44

 

this didn’t work when i tested it.

when i went back to look and further explore the file, i found

// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE) && !PIN_EXISTS(SPINDLE_LASER_ENABLE)
#if !defined(NUM_SERVOS) || NUM_SERVOS == 0 // try to use servo connector first
#define SPINDLE_LASER_ENABLE_PIN 4 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 6 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 5
#elif !(ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL) \
&& (ENABLED(PANEL_ONE) || ENABLED(VIKI2) || ENABLED(miniVIKI) || ENABLED(MINIPANEL) || ENABLED(REPRAPWORLD_KEYPAD))) // try to use AUX 2
#define SPINDLE_LASER_ENABLE_PIN 40 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 44 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 65
#endif
#endif

do i no longer need to fuck with the pinout lists? seems like it is controlled here but i cant figure out exactly what its doing, and more importantly, which pins to use.

i looked in config.adv of the current marlin dualendstop firmware that ryan gives us, and i find

/**
* Spindle & Laser control
*
* Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
* to set spindle speed, spindle direction, and laser power.
*
* SuperPid is a router/spindle speed controller used in the CNC milling community.
* Marlin can be used to turn the spindle on and off. It can also be used to set
* the spindle speed from 5,000 to 30,000 RPM.
*
* You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
* hardware PWM pin for the speed control and a pin for the rotation direction.
*
* See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
*/
//#define SPINDLE_LASER_ENABLE
#if ENABLED(SPINDLE_LASER_ENABLE)

#define SPINDLE_LASER_ENABLE_INVERT false // set to "true" if the on/off function is reversed
#define SPINDLE_LASER_PWM true // set to true if your controller supports setting the speed/power
#define SPINDLE_LASER_PWM_INVERT true // set to "true" if the speed/power goes up when you want it to go slower
#define SPINDLE_LASER_POWERUP_DELAY 5000 // delay in milliseconds to allow the spindle/laser to come up to speed/power
#define SPINDLE_LASER_POWERDOWN_DELAY 5000 // delay in milliseconds to allow the spindle to stop
#define SPINDLE_DIR_CHANGE true // set to true if your spindle controller supports changing spindle direction
#define SPINDLE_INVERT_DIR false
#define SPINDLE_STOP_ON_DIR_CHANGE true // set to true if Marlin should stop the spindle before changing rotation direction

/**

anyone have any luck?

ok, i read through http://marlinfw.org/docs/configuration/laser_spindle.html and may be able to figure this out. it looks like its preset to pins 4 and 6. now i just need to find pins 4 and 6?

 

edit: ok maybe not.

If you map D9 to 44 you need to use M106 and M107 to activate the laser.

i tried that but it did nothing :frowning:

i dont believe its that simple to change the pinout anymore

i got it! will post more in the morning. its 230 am and i have a presentation tomorrow :slight_smile:

 

ended up being a game of “find the pins that are working”

 

Great. For reference this is from my configuration file.

#define SPINDLE_LASER_ENABLE
#if ENABLED(SPINDLE_LASER_ENABLE)

#define SPINDLE_LASER_ENABLE_INVERT false // set to “true” if the on/off function is reversed
#define SPINDLE_LASER_PWM true // set to true if your controller supports setting the speed/power
#define SPINDLE_LASER_PWM_INVERT true // set to “true” if the speed/power goes up when you want it to go slower
#define SPINDLE_LASER_POWERUP_DELAY 5000 // delay in milliseconds to allow the spindle/laser to come up to speed/power
#define SPINDLE_LASER_POWERDOWN_DELAY 5000 // delay in milliseconds to allow the spindle to stop
#define SPINDLE_DIR_CHANGE true // set to true if your spindle controller supports changing spindle direction
#define SPINDLE_INVERT_DIR false
#define SPINDLE_STOP_ON_DIR_CHANGE true // set to true if Marlin should stop the spindle before changing rotation direction

/**

  • The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
  • SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
  • where PWM duty cycle varies from 0 to 255
  • set the following for your controller (ALL MUST BE SET)
    */

#define SPEED_POWER_SLOPE 0.3922
#define SPEED_POWER_INTERCEPT 0
#define SPEED_POWER_MIN 10
#define SPEED_POWER_MAX 100 //

Use M106 SXXX set XXX at 0 to 255.

Double check the wiring feeding the signal to the TTL board. The +/- on the TTl board was backwards.

The PDF for the pinout change is for using the fan Gcode to control the laser on a 5v pin instead of 12v. Marlin now lets you make this change easier but using a different gcode command.

This may solve my problem!

My current Marlin software I mapped pin 9 to 44 for my laser control. If I download the current version ( V1CNC_Ramps_Dual-2.1.1) which pin would I then have to use ? I see the documentation talks about pin D6. Would that have the same ttl / voltage as pin D44 ? So I only need to move pin D44 to pin D6 ?

I just looked at the firmware source. In src/ramps/pins/ramps/ramps.h, it appears that D6 is defined as the laser PWM pin. Both D44 and D6 are 5V pins, so you should be fine just moving your connection. Alternately, you could edit ramps.h and change the laser pin to D44.

With the current firmware, your laser can be controlled by either M3/M5 g-code commands, or my inline commands. If the software you are using to create your laser g-code supports inline commands, you will get superior results using them instead of M3/M5. In order to enable inline laser commands, you need to put the following at the top of your g-code files:

M3 I