Kitamura Mycenter Zero - DELTA Ethercat Retrofit

All things ecat Hickory CNC controller

Moderator: cnckeith

spikee
Posts: 127
Joined: Thu Feb 01, 2024 5:34 am
Acorn CNC Controller: No
Plasma CNC Controller: No
AcornSix CNC Controller: No
Allin1DC CNC Controller: No
Hickory CNC Controller: Yes
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
Contact:

Re: Kitamura Mycenter Zero - DELTA Ethercat Retrofit

Post by spikee »

cncsnw wrote: Fri Jan 17, 2025 2:03 pm I am not prepared to interpret the whole sequence to understand your intent and whether it makes sense, but...

The expression:

Code: Select all

(M14_SV || (Aux14Key_I && M14_SV) )
is functionally no different from the expression:

Code: Select all

M14_SV
So it is not clear what you are trying to accomplish with the Aux14 key.

Also, there is probably no reason to RST CarouselPotUp_O in direct response to M14_SV, given that you are also setting MovingPotDown_M, and your later logic is going to reset CarouselPotUp_O in response to MovingPotDown_M.

Your logic will be easier to understand if there is only one place where you ultimately control (SET or RST) a given output.
Thanks for the feedback. Im running it on the machine now and M14 does not work :P.
I just came to the same conclusion and fixing it now. The AUX codes were there by default, so not sure what the use case is. I just kept it in there.


spikee
Posts: 127
Joined: Thu Feb 01, 2024 5:34 am
Acorn CNC Controller: No
Plasma CNC Controller: No
AcornSix CNC Controller: No
Allin1DC CNC Controller: No
Hickory CNC Controller: Yes
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
Contact:

Re: Kitamura Mycenter Zero - DELTA Ethercat Retrofit

Post by spikee »

I had to edit the code a bit more and now it works. Next step is to add the servo on the arm. And the atc functionality is almost completed.


spikee
Posts: 127
Joined: Thu Feb 01, 2024 5:34 am
Acorn CNC Controller: No
Plasma CNC Controller: No
AcornSix CNC Controller: No
Allin1DC CNC Controller: No
Hickory CNC Controller: Yes
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
Contact:

Re: Kitamura Mycenter Zero - DELTA Ethercat Retrofit

Post by spikee »

So I spent a little more time on it this weekand and the arm section fully works.
I had to turn the speed down about to 20000mm/m for the toolchange arm motor (arbitary unit) When i go higher than that the mechanical "klunks" sound a bit too violent :P.


Initially I tried to do all movements in the m6 macro using probing moves such as M115. This works great, except when you go into the higher speeds. The signal chain is just too slow and you'll get offsets vs where a signal was actually triggered. So i had to go back to how the OEM implemented this function. It is actually fairly simple. They just used an AC motor which ran at like 1500rpm, drove it with a vfd and just pulled power and used a big ass mechanical brake to stop whenever needed. The tool release/clamping is just done by a single sensor. And the whole control of it is pretty dumb.

The bad side of the two sensor system they use now is that you really need to trigger tool clam/unclamp on either rising edge or falling edge signal which makes the code a bit of a pita. I tried that, it kinda works, but not a big fan of it. So what I'm just going to do is make my own "encoder wheel" which basically is a photointerruptor and a disk inbetween. The disk which is attached to an output shaft of the atc arm mechanism just tells it to clamp or unclamp. Using this method it can never be out-of sync or anything like that.

As the rest of the atc is working (carousel + elevator) this should be one of the last items required.


spikee
Posts: 127
Joined: Thu Feb 01, 2024 5:34 am
Acorn CNC Controller: No
Plasma CNC Controller: No
AcornSix CNC Controller: No
Allin1DC CNC Controller: No
Hickory CNC Controller: Yes
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
Contact:

Re: Kitamura Mycenter Zero - DELTA Ethercat Retrofit

Post by spikee »

New update!
I've been busy with other house projects, so the CNC retrofit has been on hold quite a bit. Yesterday, I managed to get a few more hours in and made some solid progress.

Oiling system upgrade
I switched out the oiling system for a volumetric distribution setup. The OEM system just worked on random restriction, which was fine when everything was new, but after 30 years, all the oil was flowing to the ATC gearbox while the rest wasn't getting any lubrication.

New setup: volumetric distribution ensures oil is properly allocated to all necessary components.

Image
Image

I also had to replace the OEM Shore oil pump as it no longer builds pressure. A shame, since it's a quality unit, but presumably a seal has failed. I'll replace it with a "China special" for now.

ATC swingarm gearbox & shaft adapter upgrade
Switched out the DIY ATC swingarm gearbox-to-shaft adapter. The previous servo gearbox had a messed-up keyway, so at higher loads or faster speeds, it would just rotate despite my shrink-fit solution.

New setup: a custom shaft adapter that clamps onto the gearbox shaft with four M6 bolts. Even though it's custom, it was surprisingly cheap from China.

Also swapped the 1:40 gearbox for a 1:20 to reduce torque.

Image

ATC clamp-unclamp sensor upgrade:
I was not that amazed by the OEM sensing method to detect clamp/unclamping of the tool. This is probably more due to a lack of understanding on my side than anything else... So I just made my own "encoder disk" + sensor.
Image

The idea is to just cut the slots out of the encoder disk, so it triggers the tool clamp/unclamp whenever desired.

Centroid Hickory breakout board
Started working on a custom breakout board for the Centroid Hickory. The idea is to mount it on top of the Hickory, with all I/Os routed to the breakout board, where it will get the necessary circuitry and connectors to interface with other components.

Image

This also replaces the relay boards that Centroid uses for the Hickory.

The main issue with my current wiring is that every sensor needs 24V, ground, and one or two signal wires. Without proper provisions, this turns into a wiring mess. The OEM system also uses relays for outputs, but most of my outputs just send 24V to a VFD input, for example. Anything that actually needs a higher-power relay usually requires a dedicated one anyway.

I also added ready-to-go provisions for:

- Renishaw 3D toolsetter (5V TTL)
- Coolant pump (Delta MS300 VFD)
- Wireless 3D probe
Image

All the outputs go through photorelays (130mA capable, up to 350V AC/DC).

Image

I'll also add proper connectors to hook up all relevant signals to the VFD and other components.

Did something similar in my MightyMill build, and it solved about 90% of my wiring issues. Should make things a lot cleaner.
It needs a bit more work but in essence it is a very simple pcba.

Enclosure
Most of the glass panels are mounted, I just need to glue some hardware on it. I'm just focussing on the small things here and there around the CNC.

ATC PLC code
I'm not that happy with the methods that the PLC has to interface with things such as EtherCAT. Well, to my understanding, it doesn't have any. The problem is that if you want to do sensor checks using G-code, it’s just too slow to react. It lags behind ~1000ms compared to the PLC/actual I/O. So while it currently works, it’s not as nice as I want it to be.

One dumb workaround I could do is stopping the ATC arm by triggering the Motor Stop IO (configurable) on the Delta B3 drive. But it could be that the drive goes in an alarm state at that point, so i need to test if that is a possible workaround.

There's some slack in the ATC system, and because of limitations like G-code delays and the PLC not being able to interface with the EtherCAT drive, I currently have to blindly command the ATC swingarm servo to move a certain number of steps and then stop. But due to the slack in the system, it will slowly drift away from the home position over time. Homing via G-code is possible, but because of the delays, it only works at relatively slow speeds. All in all not a very nice solution.

Now I'm considering just making it dumb—removing it from EtherCAT and driving the swingarm servo in PR mode, while misusing the high-speed homing mode for the swingarm action. In this setup, I could handle the full ATC drive using simple PLC logic, as the interface would essentially just need an alarm out and an enable PR bit 0 input.

The OEM kitamura method worked like this.


Post Reply