Alzmetall BAZ 15 CNC Carousel ATC - need help.

More
03 Oct 2024 12:04 - 03 Oct 2024 12:17 #311224 by xenon-alien
Hello.
I'm "new" in LCNC ( I can copy paste with a little understanding the process)
The axis, and the spindle is working and moveing and doing the homeing sequence (with index).
Now I'm tryin to figure out the carousel component.
The machine is a Baz 15 CNC with random tool changer. (=1 in the config - axis ui)
The I/O signals connected to the mesa 7i96s and to a 7i84 board.
All signals now has names.
The carousel motor has a break. In the VFD it's hooked up and by running it loose, stops it lock. So the control should be with motor ON (cw) and a REVerse (ccw) signal. (there was 2 different speeds 24Hz 83hz, but on the new vfd i can't make them work, because in multispeed is in % and the revers is controled with negative %)
Activating the ATC output signals from LCNC one-by-one everything is moveing, the inputs are blinking.
The question is, how to make it move on by own with one command?
There are 3 sensors for tool search. 
S4 - index
S5 - count
S6 - count (on position)?
S7 - when changing and hide the carousel.

When I will be at home, i will add some fotos.
The tool change looks like this:
Last edit: 03 Oct 2024 12:17 by xenon-alien.

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

More
03 Oct 2024 17:27 - 03 Oct 2024 17:30 #311240 by xenon-alien
A few words more....
To the main spindle's VFD 2 output signals (alarm and spindle stop) connected also to the mesa card. The spindle stop signal is high, when the spindle run. So the first check will be this.
There are also sensors (S12-S14) for rotary head position "0°", or "180°" (the head must move cw, or ccw sensing the head position)
For the "clamps" (catching the tool, rotates the head and release it) not sure if there any sensor (i will figure it out later)
Also there are a head top and bottom position sensor + tool lock/release in the spindle.
If needed, i will add tomorrow my config, but there are nothing about the carousel, only I/O pin names

The first question is:
Which pins i have to use from the carousel component, to see only how it rotates and find the commanded pocket number.
pockets - The number of pockets in one toolchanger - 24.
encoding - The position encoding. - ? (not sure - Index, or count)
num_sense - The number of position sense pins. - 3 (but if use Index just 2)
dir  - Set to  2 for bidirectional operation.
carousel.N.pocket-number
carousel.N.enable
carousel.N.ready
carousel.N.sense-0 
carousel.N.sense-1
carousel.N.sense-2
carousel.N.index-enable
(sense-0 if i understand correctly will wait for high, or i will invert it if needed low)
carousel.N.motor-fwd
carousel.N.motor-rev
carousel.N.homed
(i have no idea how to home the carousel)


An other issue with the "message". Some why it's triggering the pop up message at LCNC startup. (they are high, but i'm used the inverted pin "-not")
+ at startup, before showing the main screen pop up a message "negative tool number id not found" (trying it on a raspbery pi 5 with the raspbian OS with LCNC 2.10 pre, on this forum found the image file)

Here are some photos...
Last edit: 03 Oct 2024 17:30 by xenon-alien.

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

More
03 Oct 2024 17:33 #311242 by xenon-alien
And if I understand correctly, all pins must be connected to motion I/O, to be possible to manipulate them from G-code.
Is that correct?

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

More
03 Oct 2024 18:03 #311244 by xenon-alien
Also watched this... Try to understand... But... not really... What to use in my case...

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

More
04 Oct 2024 08:46 - 04 Oct 2024 10:06 #311272 by xenon-alien
Here is my hal file (pleas tell me which pins to use) 

File Attachment:

File Name: Baz15CNC.hal
File Size:20 KB


Now i  will try to edit the toolchange.ngc (it looks like the macro-b in the DDCS Expert controller)
Attachments:
Last edit: 04 Oct 2024 10:06 by xenon-alien.

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

More
04 Oct 2024 12:38 #311279 by xenon-alien
the toolchange.ngc not so difficult, but to unload the spindle i need to find an empty pocket first.
How can i do it?

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

More
07 Oct 2024 11:01 #311480 by xenon-alien
Hello
Here is the toolchange ngc, but i don't understand how to check the head position
There are 3 switches s12 s13 s14 in the hal file. How to read them or they result from the hal file to use it in the ngc file?

;check the position of he head ussing s12-s14 signals  ?
;use the M64 P6 ka25-head-ccw if s12 - HIGH , s13 - LOW , s14 - HIGH . ?
;use the M64 P7 ka26-head-cw if s12 -  , s13 -  , s14 -  . ?
;if all  three signals low in a few seconds abort 


 

File Attachment:

File Name: toolchange.ngc
File Size:3 KB
Attachments:

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

More
08 Oct 2024 17:28 #311593 by xenon-alien
Tried to read the manual about the REMAP. It's a little difficult for me.Added the Pytons to the ini without epilogs and prologs.Now the carousel begin to rotating, but after index it stops, car-active pin goes LOW, but index-enable still HIGH and the car-enable HIGH too, but after 30sec both goes LOW. Tool and pocket number changes. When i try to change again the tool nothing happens.

Can anyone help, how to make work the carousel.component?
Maybe i  don't make some connections, or setp...

Now the config looks like this...
 
Attachments:

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

More
02 Nov 2024 17:33 #313667 by xenon-alien
Is it possible to make the random tool change faster searching for the next tool in the g-code and prepare it while the program runs?

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

More
03 Nov 2024 05:45 - 03 Nov 2024 08:56 #313699 by Aciera
I think that might be possible using a python remap for 'T'. The remap is executed by the read ahead and could start the tool search through hal.

[edit]

Just gave this a try and it looks like it might work:
import sys
import traceback
import hal
import emccanon
from interpreter import *
from util import lineno, call_pydevd

throw_exceptions = 1 # raises InterpreterException if execute() or read() fail

def remap_t(self, **words):
    cblock = self.blocks[self.remap_level]
    tool  = cblock.t_number
    if self.task == 0: # ignore the preview interpreter
        return INTERP_OK
    self.execute("T%f" % tool, lineno())
    print('T_Remap preparing tool: ',tool)
    # Initiate your tool prep here
    return INTERP_OK

with this in the [RS274NGC] section of the ini file:
REMAP= T py=remap_t

You will also need to configure python:
linuxcnc.org/docs/devel/html/remap/remap...emap:embedded-python

For sim config on python remap see:
configs/sim/axis/remap/getting-started
Last edit: 03 Nov 2024 08:56 by Aciera.

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

Time to create page: 0.098 seconds
Powered by Kunena Forum