New to LinuxCNC - seek ATC advice
First post and first day with LinuxCNC.
![:-) :-)](/media/kunena/emoticons/smile.png)
I've spent the day researching LinxCNC as an option for my custom build.
I've found very little in the way of setting up ATCs. On the top of my spindle list is the IMT ECO 80 range.
www.imt.de/uploads/media/Broschuere_Eco_80_GB.pdf
--There are three sensors
PNP Signal - tool unclamped
PNP Signal - tool clamped
PTC spindle temperature
-- Three air supplies requiring a relay
Tool clampling/release
Taper cleaning
Coolant mist relay
Has anyone written any kind of module/plugin for selecting a tool from a bay and controlling the various spindle functions in the process?
For example this changing tool process.
1). Stop the spindle
2). Raise Z to top
3). Move to the current tools bay number
4). Move down to tool rentention Z co-ordinate
5). Release tool & check tool PNP unclamped sensor to make sure it was released and not stuck
6). Raise Z and start taper cleaning
7). Move to new tool bay number.
8). Move down to tool rentention Z co-ordinate and switch off taper cleaning
9). Enable the tool clamp relay and check PNP tool clamped for correct clamping.
10). Raise Z to top
11). Resume
Something like this I guess.
Thomas Kamsker suggests that his script is for 2.4 and he'd do it differently for 2.6+.
Any advice or pointers in the right direction would be gratefully received.
David.
Please Log in or Create an account to join the conversation.
Any advice or pointers in the right direction would be gratefully received.
Have a look in the sample configs for sim->axis->remap->rack-toolchange
The key to it is that a setting in the INI file (REMAP = M6......) calls a G-code subroutine.
The G-code routine in that sample looks like this
o<rack_change> sub
M73 (auto-restore modal settings on return)
;(print, rack_change: loaded tool=#<_current_tool> current pocket: #<_current_pocket>)
;(print, rack_change: selected tool=#<_selected_tool> selected pocket: #<_selected_pocket>)
; unload previous tool
o300 if [#<_current_pocket> GT 0]
o<tool_getput_move> call [#<_current_pocket>]
M62 P #<_ini[pins]lock> ; set lock pin
G4 P #<_ini[dwell]lock_time>
o<tool_holder_clear_move> call
G4 P #<_ini[dwell]mystery> ; unsure what this is for
o300 endif
; go to new tool
o<tool_getput_move> call [#<_selected_pocket>]
M64 P #<_ini[pins]lock> ; set lock pin
M64 P #<_ini[pins]flush> ; set flush pin
G4 P #<_ini[dwell]new_tool>
M65 P #<_ini[pins]flush> ; drop flush pin
; the purpose of this move is unclear to me
; micges - please explain!
o400 if [#<_absolute>]
G91
G0 Z-6
G90
o400 else
G0 Z-6
o400 endif
M65 P #<_ini[pins]lock> ; drop lock pin
G4 P #<_ini[dwell]post_unlock>
; NB: this is reordered wrt micges patch:
; tool_holder_clear_move came after load_tool_msg
o<tool_holder_clear_move> call
; succeed by returning a positive value
o<rack_change> endsub [1]
m2
Using M64 / M65 to swith digital outputs and operate the solenoids etc.
I think it should really use G53 absolute moves rather than the strange IF <#_absolute>.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
My Y axis rails are sat on grade 000 granite. The travel is 2.7m and we have a C3 4mm lead ballscrew moving the gantry. My servo has 12800 steps per rev for 313nm steps.
I'd like to use something like the Renishaw Resolute absolute linear encoder ( or similar) to give accurate Y axis location.
www.renishaw.com/en/linear-absolute-encoders--10940
or something like
www.microesystems.com/products-services/...oders/portfolio-page
I would be grateful for any suggestions on current compatibility with MESA cards and or current support liner scales in the 50-200nm range.
Thanks again. David.
Please Log in or Create an account to join the conversation.
My next hurdle is linear encoders.
Firstly, are you sure that you need to bother? Is it possible that screw-mapping (ie, a one-of measurement of actual position referrred to ballscrew+encoder position) will do the job?
I'd like to use something like the Renishaw Resolute absolute linear encoder ( or similar) to give accurate Y axis location.
Have you priced them? My impression is that they are very expensive. It may be that the value of the work that you intend to create justifies that expense.
I was sent a Renishaw Resolute scale to write a LinuxCNC driver for it, but it got lost in the post and never arrived.
The last time I talked to the Renishaw rep he had decided that it wasn't commercially worthwhile for them to send me another, as they had no evidence of there being any demand for the Resolute/LinuxCNC combination.
So, I can't say for certain that it can be done, but as the scales use a standard BiSS interface, and there is a BiSS module for the Mesa cards and a LinuxCNC driver for that module, it should be relatively straightforward. I think that a firmware with BiSS or SSI can be created for any FPGA card, then it is a matter of choosing a daughter card with the correct output. You might even be able to use a 7i44 with half the outputs as BiSS and half as Smart-serial. What matters here is the _electrical_ interface of the daughter card outputs, not the software encoding.
www.linuxcnc.org/docs/html/man/man9/hostmot2.9.html#BiSS (an scroll up one line...)
Please Log in or Create an account to join the conversation.
Fanuc
resources.renishaw.com/en/details/--65692
BiSS
resources.renishaw.com/en/details/--65803
(Maybe we should ask them to add LinuxCNC to their Compatibility page.... www.renishaw.com/en/resolute-absolute-en...ible-products--11978 )
I think that a BiSS format linear scale would use the format string "biss_chan_0=x-encoder%36eerror%1bwarning%1b" and then the HAL pins would look pretty much like any other encoder.
(I am not 100% sure if the Mesa interface passes through the 10 ack bits, if so then the format would be "biss_chan_0=%2px-encoder%36eerror%1bwarning%1b" and the "36" would need to suit the bit-with of the actual scale in use.
Please Log in or Create an account to join the conversation.
The MicroE Mercury II 6000 series also support serial digital (SPI) - top right page 8 and payload details bottom right page 10. RS422 compatible.
www.microesystems.com/sites/default/file...rcury_II_MII6000.pdf
Please Log in or Create an account to join the conversation.
The MicroE Mercury II 6000 series also support serial digital (SPI) - top right page 8 and payload details bottom right page 10.
www.microesystems.com/sites/default/file...rcury_II_MII6000.pdf
Mesa have the BSPI interface for SPI too.
BSPI and UART LinuxCNC pre-date the Smart Serial interface, and are somewhat more awkward to configure.
I have been meaning to roll BSPI and UART up into the same format as SSI BISS and Fanuc. Maybe this is the incentive to do so.
I see that you are also in the UK, which opens up the possibility of sending a sample of whatever you decide on to me for driver setup.
Please Log in or Create an account to join the conversation.
I'm based in Nottingham. I'll see if I can get some samples and fire them over to you.
Do you contract out your time? When I put all this together I could do with some hands on advice/help.
Please Log in or Create an account to join the conversation.
I am in Basildon. On balance I would rather be in Nottingham.I'm based in Nottingham.
![:-) :-)](/media/kunena/emoticons/smile.png)
No, I am determined that this will always be a fun hobby, not paid work.Do you contract out your time?
Please Log in or Create an account to join the conversation.