Hey I want to upgrade the router of the LEAD1515 machine to this router that can pneumatically change tools: AMB Fräsmotor 1050 FME-W DI 230V (für ER16 Präzisions-Spannzangen) I would need two outputs from the blackbox controller to send two commands to the two solenoid valves to drop off/ pick up a tool. If I write a macro (fully new at this) with G-code to move to the position and give a command to a valve. Can this macro then be executed by just entering for example T4 in G-code? Or does this needs to be done with javascript? (also new at this) Is it possible to use the coolant output and use M8 (only one command)? Is it possible to use relay 1 and relay 2 for these commands? what is the output of these and can these be send with G-code? Any help is welcome! Thanks
Hey I will use the coolant output and relay1 and/or relay2 for my commands to the pneumatic valves. Will it work if i create a macro like this? G01 Z0 (drop off position) M9 (valve1 = 0) G4 P0.5 (wait 500ms) M11 (valve2 = 0) Any thoughts? Thanks Raf
As we don't have that setup to play with ourselves, best to play around and experiment with what you have on the machine. Some notes : G1 Z0 - look into using G28 or similar for stored toolchange position (See Getting started with Javascript Macros in CONTROL / Library of Macros created by the community for example that uses it) Also see G-Codes Not available, BlackBox has only one Coolant output by default (M8 ON / M9 OFF) As you only have one valve output look at it from a pneumatics point of view, 2-way valve etc
Hey Peter As you only have one valve output look at it from a pneumatics point of view, 2-way valve etc[/QUOTE] I need two different signals to control the spindle. Aren't there also two relays available? Can I do something with those? I will look into the macros for store tool positions and machine coordinates also. Thanks Raf
Relays are Tool Enable (spindle on/off) and Direction (fwd/rev) so not available either. Can technically modify grblhal with your own plugin to remove fwd/rev and then repurpose the relay, but depending what the air must do, a two/three way valve (air one way when powered, other way when off etc) would be way simpler. Can you share manual / info on what it needs air wise?
Hey Peter Can I use the tool Enable to send a command to a valve? The signal of one valve is very simple, it needs a zero during the tool change and then just needs to go high till the next tool change. What is the output of these relays? Thanks Raf
That signal is active any time the tool is on, so when you have a signal there, your tool is spinning (probably not a good time to do a toolchange, probably want spindle stopped for the change) All the "tool" stuff is intertwined. M3 = enable, and fwd both. M4 = enable and rev both. M5 = does not move Relay 2, but does turn off tool enable and PWM. Sxxxx sets PWM and PWM is used for PWM, 0-10v and Servo outputs all from one MCU pin. The only "spare" is coolant that you have full control over - anything else you a) strike a limit on available pins because some are used internally for more than one purpose (Tool enable on MCU is routed to both Relay1 and the Tool Enable Terminal. PWM is used for PWM, 0-10v and Servo, etc) and b) firmware support,disabling basic tool functions is not trivial, so unless you can do C firmware, not really an option. But still, easy to do with valves, if you just help with If I had to guess, probably one input for clamp/unclamp (Air On = clamped, air off = unclamped?) and another for a blow out valve (Just a quick burst) or is it (Air on input 1 = clamp, air on input 2 = unclamp?) Let me know what it needs so I can help you can with the right solution. Either multi way valve, or two seperate valves and a delay circuit in between, etc lots of ways to do it but I first need to know what the spindle needs
Hey peter I couldn't upload pictures and pdfs here, so I sent an email with the specifics. (http://support.openbuilds.com/support/home) Thanks for the help! Kind regards Raf
Support received this image and your graph only. Uploads on forum works fine by the way, use Upload button below forum reply field. Threw it at ChatGPT to translate Frasmotor – Milling motor Ausblasbooster – Blow-out booster Spannzange öffnen – Open collet Ausblasen – Blow out Ansteuerung – Control (or actuation) Ausblasbooster – Blow-out booster (repeated) Spannzange öffnen – Open collet (repeated) Between the language barrier and limited diagram I am still mostly guessing, but OK seems like one Air input is for "open collet" (Assuming spring return when air supply is shut off?) and the other is for "Blow Out" So, hook it up to air manually and test the basics first before you develop a control scheme: 1) Does putting air into collet port, release the tool? (or vice versa?) 2) Does turning off the air, clamp the tool (Or vice versa?) 3) Blow Out - I assume is to push the tool out back into holder? 4) If you then apply whatever is needed to unclamp (air on or off on collet input depending on tests (1) and (2) ) - what happens if you apply air to the Blow Out at the same time as you unclamp? (its not clamped and being blown out, should dislodge) Revert with test results and we can decide from there Alternatively, consider https://cnccat.com/cnccat_photos/files/ATC_Manual.pdf which only needs one standard 2/3-NC solenoid
Hey Peter The signals graph is correct, I verified with the manufacturer. I don't have the spindle yet, so unfortunatly I can't test. To clamp the tool, both signals to the valves need to be high. To drop the tool, signal to valve 1 goes low and the signal to valve 2 alternates every 500ms (4 times) to eject the toolholder gently. Then the tool is dropped and it goes to the pick up location with a high signal to valve 2. To pick the tool up, valve 2 again needs pulses (4times) to clean the toolholder and then the signal of valve 1 goes high and the tool is clamped. I will look into other spindles but I don't think I will find one with the same performance. Thanks Regards Raf
Great, so you can still consider one that can work with a single solenoid As support mentioned to you as well, there is only one output (coolant) - so either use a spindle that's happy with that, or you'd have to come up with a different controller option (or get into custom firmware plugins, or external control where the coolant output triggers say an Arduino that in turns control the two mosfets with timing etc etc)
Hey Peter The spindle and controller unfortunately both need to stay. I will use an arduino with the coolant input (M8/M9) as input, this arduino can thensend the right signals to the pneumatic valves. To intgrate a full automatic tool change, I need to do the following thing: - insert macro with machine coördinates -insert macros for each tool drop off and tool pick up with G-code to the location and M8 or M9 signal. -What about tool length compensation? -If I want just one command, for example T2 to execute: drop off current tool, pick up tool 2, add right compensations. Is it possible to let macros execute automatically? What do you think? Can it be done? Thanks in advance! Kind regards Raf
Possibly, but that mainly boils down to you doing it - unchartered territory after all Can use G53 in gcode or javascript macros to do machine coordinate moves Should be doable Existing macro you can use or modify Getting started with Javascript Macros in CONTROL / Library of Macros created by the community CONTROL's Macros doesn't read gcode from jobs, so essentially, no. Likely still going to be same as usual "file per tool" between files it returns control to you to use your macros to do the manual tool change, load new file, run it. Unless you put in a lot more work (including backend adding support to read T commands from gcode and control streaming to interrupt job to do toolchange) or alternatively, use grblHAL's macros/plugins (instead of CONTROL) that is. Would be great once you get it working, but just be aware there are some tricky bits to it
Het Peter Thank you for all the answers, I am excited to begin! One question left: I have a custom made machine, where is the machine zero/home located? is this location related to the limit switches or is it possible to program this point in openbuilds CAM? Kind regards Raf
Home switches = anywhere. Machine zero = at axis maximas for all axes (machine lies entirely in negative quadrant) Work zero: also anywhere, matching your CAM origin. Have a read through https://github.com/gnea/grbl/wiki/F...ing-or-it-so-annoying-and-not-what-im-used-to
Hey Peter Existing macro you can use or modify Getting started with Javascript Macros in CONTROL / Library of Macros created by the community I have 5 tools and these all have a seperate macro. Do I need a macro for tool length compensation? Can't I just use for example: G43.1 Z0.250 in the pick-up macro and measure the tool length offset with he previous tool? The M8 signal triggers the pneumatic valve. Thanks Kind regards Raf
The javascript macro just adds a GUI to guide the manual toolchanges, since yours is more automated, you can do the commands in gcode probably as well - as before, we've never done it, so give it a go and see if it works for you
You may want to experiment with that before committing too much to it - my experience was that the TLO got cancelled for a multitude of reasons without any warning / notification, hence the macro that adjusts the WCS instead.