Have you found any solutions to run automatic air assist (m8) from the skr pro 1.2? I have not been able to find out if there is a pin available to connect a solenoid to. Lightburn has the option available. I just can’t find anywhere that describes how to attach it to the board.
On a really low level, I was thinking about hooking up to a fan port, and converting the M8 command to whatever is required in the gcode file.
Interested in a better approach though, so following
I use an IOT relay like this one. They tend to go in and out of stock at many places including Amazon, and when they are available, sell for about $30. I control it using a fan pin and use M106/M107 in the start and end gcode sections. When I use a router, the IOT relay turns on/off the spindle. When I use my laser, it turns the laser and the air assist on and off. I’ve seen other forum posts that use a 12V relay module or an SSR with the fan pin.
As an alternate to a fan pin and M106/M107, M42 can be used. It can set the state of any pin. Since most pins on the SKR Pro board are 3.3V or 5.0V, you would could use a 5V relay module.
As for M8, it is disabled in the V1 maintainted Marlin firmware. You would need to enable it in the following section in configuration.h by uncommenting “COLANT_CONTROL” and defining a COOLANT_MIST_PIN and/or a COOLANT_FLOOD_PIN.
/** * Coolant Control * * Add the M7, M8, and M9 commands to turn mist or flood coolant on and off. * * Note: COOLANT_MIST_PIN and/or COOLANT_FLOOD_PIN must also be defined. */ //#define COOLANT_CONTROL #if ENABLED(COOLANT_CONTROL) #define COOLANT_MIST // Enable if mist coolant is present #define COOLANT_FLOOD // Enable if flood coolant is present #define COOLANT_MIST_INVERT false // Set "true" if the on/off function is reversed #define COOLANT_FLOOD_INVERT false // Set "true" if the on/off function is reversed #endif
I don’t have a SKR Pro board, but since the laser PWM pin V1 assigns is PC9 on Extension-1, I assume the other 11 named pins on Extension-1 are available. M8 is flood.
I didn’t use it yet but as @robertbu says you must define/enable it in your marlin’s Configuration_adv.h file, rebuild Marlin then reflash your board.
According to Marlin’s Gcode documentation, M8(air assist on) is carried by COOLANT_FLOOD_PIN(not the MIST one)
So when i’ll have time to upgrade to automatic air assist, i’ll use PF9(right next to PC9 i use for my laser) and GND to control :
- a 3V-12VDC to 250VAC Solid State Relay with a soket for using it with my compressed air diaphragm pump(80L/sec with low psi) in a classical power ON/OFF mode.
or/and - a 3V-12VDC to 12V-24VDC Solid State Relay with a 24V Air solenoid valve for using it with my air compressor(high psi) in a Air ON/OFF mode with compressor still ON.
See below the PF9 pin in red and GND in black.
I use Marlin 2.0.7.2 and in my configuration_adv.h i would have make that changes:
#define COOLANT_CONTROL
#define COOLANT_FLOOD_PIN PF9 // coolant flood / air assist
/**
- Coolant Control
- Add the M7, M8, and M9 commands to turn mist or flood coolant on and off.
- Note: COOLANT_MIST_PIN and/or COOLANT_FLOOD_PIN must also be defined.
*/
I’d love to see this work (and beg for your compiled firmware). Having automatic air assist would mean I can do etching and cutting in one gcode file and not have to essentially do a ‘tool change’ protocol to switch between the two (home to zero, hook up air assist, load cutting gcode)
Thanks for the thorough information. I am currently controlling it manually and just let the air run for the whole job (and often forget to stop it at the end). This looks very manageable and like a great solution. I’ll get some parts ordered and report back on how it is working.