New to LinuxCNC - seek ATC advice

More
06 Aug 2015 07:55 - 06 Aug 2015 08:28 #61183 by ftree
Hi all.

First post and first day with LinuxCNC. :-)

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.
Last edit: 06 Aug 2015 08:28 by ftree.

Please Log in or Create an account to join the conversation.

More
06 Aug 2015 22:08 - 06 Aug 2015 22:11 #61190 by andypugh

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>.
Last edit: 06 Aug 2015 22:11 by andypugh.

Please Log in or Create an account to join the conversation.

More
07 Aug 2015 02:53 #61199 by ftree
Many thanks Andy. I've just bee having a good look through the code. Seems fairly simple. I'll starting mapping the MESA I/O out this weekend.

Please Log in or Create an account to join the conversation.

More
10 Aug 2015 08:37 #61258 by ftree
My next hurdle is linear encoders.

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.

More
10 Aug 2015 17:30 #61261 by andypugh

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.

More
10 Aug 2015 17:53 #61263 by andypugh
Looking at the Renishaw site, you have a choice of the Fanuc or BiSS protocols with existing LinuxCNC support

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.

More
10 Aug 2015 18:15 - 10 Aug 2015 18:29 #61264 by ftree
Thanks Andy.

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
Last edit: 10 Aug 2015 18:29 by ftree.

Please Log in or Create an account to join the conversation.

More
10 Aug 2015 18:29 #61265 by andypugh

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.

More
10 Aug 2015 19:22 #61270 by ftree
Andy,

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.

More
10 Aug 2015 19:45 - 10 Aug 2015 19:45 #61272 by andypugh

I'm based in Nottingham.

I am in Basildon. On balance I would rather be in Nottingham. :-)

Do you contract out your time?

No, I am determined that this will always be a fun hobby, not paid work.
Last edit: 10 Aug 2015 19:45 by andypugh.

Please Log in or Create an account to join the conversation.

Time to create page: 0.231 seconds
Powered by Kunena Forum