Mazak Impulse - Oak retrofit build log

All things related to Centroid Oak, Allin1DC, MPU11 and Legacy products

Moderator: cnckeith

ashesman
Posts: 243
Joined: Thu Dec 03, 2020 4:54 am
Acorn CNC Controller: No
Allin1DC CNC Controller: No
Oak CNC controller: Yes
MPU11 & GPIO4D -w/ 3rd Party Drives: No
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
CNC Control System Serial Number: none

Re: Mazak Impulse - Oak retrofit build log

Post by ashesman »

A few progress steps made today. I finally gave in and moved the home switches. For two reasons; to get rid of the dead band past them where if the machine was to stop there, next home would crash and so that one of my travel limits could be zero to enable screw compensation.
20210618_212339.jpg
Firstly I want to get off my chest that I think Centroids homing is rubbish (yes I understand how it works and about switches and index pulses). It overshoots the home switches by 3mm (1/8") and crashes into the hard stops! Even at lower speeds like 1500 mm/min. You have to set the home rate super slow to minimize overshoot. Then the jog rate is affected. Why aren't these separate settings! If you move the home switches back so there is more room after them before the hard stops, then you lose travel. But you cant gain that travel back by setting your + limit a few mm higher because then screw compensation doesn't work. Why does that even care about travel limits! Just reference the table off the zero position! A better homing mechanism is to have wide home switch dogs so you can detect the leading edge and slow down enough to not overshoot the trailing edge. They could do all the above back in the early 90s! Yes I know all machines are different. Rant over...

Anyways, after finding a happy medium and adjusting the motor to lead screw orientation to get my index pulses nice and close to my home switches, I ran the system test. All systems are go!
Capture12.PNG
Capture12.PNG (6.55 KiB) Viewed 751 times
I tidied up my home macro to also perform a spindle rotation to ensure spindle index is found.

I also wrote a PID control in the PLC to perform spindle orientation. It works OK but the motor drive cant do zero RPM so it twitches a lot as it constantly goes in and out of zero RPM.

I then wrote a macro to do manual tool changing. This used to require manually jogging to tool change position so it is nice to now have a button on the jog panel to do it now.

I ran a few of the sample g code programs just because. I noticed the X axis shudders at low speeds so more work is needed on the DYN4 tuning. To be honest I have lost confidence that these drives are ever going to work nicely!

Next mission is to finish off auto tool changing. I am not sure that the spindle orient is going to be good enough though. It has to be quite precise otherwise the tool collides with the locator. Fingers crossed. If not its yet another spindle drive which would be a pain!
tblough
Posts: 1699
Joined: Tue Mar 22, 2016 10:03 am
Acorn CNC Controller: Yes
Allin1DC CNC Controller: Yes
Oak CNC controller: Yes
MPU11 & GPIO4D -w/ 3rd Party Drives: Yes
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
CNC Control System Serial Number: 100505
100327
102696
103432
7804732B977B-0624192192
Location: Boston, MA
Contact:

Re: Mazak Impulse - Oak retrofit build log

Post by tblough »

Instead of calling Centroid rubbish, you could spend a little time searching.

viewtopic.php?f=64&t=3637&p=28328&hilit=Cncm.hom#p28328
Cheers,

Tom
Confidence is the feeling you have before you fully understand the situation.
I have CDO. It's like OCD, but the letters are where they should be.
ashesman
Posts: 243
Joined: Thu Dec 03, 2020 4:54 am
Acorn CNC Controller: No
Allin1DC CNC Controller: No
Oak CNC controller: Yes
MPU11 & GPIO4D -w/ 3rd Party Drives: No
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
CNC Control System Serial Number: none

Re: Mazak Impulse - Oak retrofit build log

Post by ashesman »

I didn't mention that in already do exactly that in my home macro to claim a bit of travel back as wasn't relevant. But it doesn't solve the problem of being able to stop past the home position then be out of bounds for homing next time. My point was that looking at both edges of the home switch, even as an option would make things a lot nicer.
cncsnw
Posts: 2257
Joined: Wed Mar 24, 2010 5:48 pm

Re: Mazak Impulse - Oak retrofit build log

Post by cncsnw »

Since you apparently have limit switches that are separate from your overtravel switches, you should write your own homing routine using M104 and M105. Then you can do whatever sequence you want, at whatever feedrates you want.

If, after locating one edge or another of your homing switch with M104 and/or M105, you want to move plus or minus to the index pulse, you can do that with M92 or M91, provided that you:
1) Set the home switch input numbers on Machine Configuration -> Motor Parameters to zero
2) Set the "home at powerup" option on Control Configuration to "Ref Mark-HS".
slodat
Posts: 657
Joined: Thu Apr 12, 2018 11:16 pm
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
MPU11 & GPIO4D -w/ 3rd Party Drives: No
DC3IOB: No
CNC11: No
CPU10 or CPU7: No
CNC Control System Serial Number: none

Re: Mazak Impulse - Oak retrofit build log

Post by slodat »

This is how I do it..

IN1 = X axis home/limit
IN2 = Y axis home/limit
IN3 = Z axis home/limit
IN4 = ZRI input. All axis in parallel

Code: Select all

N100 ;Check for an open home switch
;First axis minus and plus
IF #21301 == 0 THEN #111 = 9 ELSE #111 = #21301
IF #21401 == 0 THEN #112 = 9 ELSE #112 = #21401
IF [#20101 != 78] && [#21301 != 0] && !#[50000 + [#111]] THEN M225 #100 "X Home switch tripped!!!\nPlease clear before Homing.\n\nPress Cycle Cancel to end Homing";
IF [#20101 != 78] && [#21401 != 0] && !#[50000 + [#112]] THEN M225 #100 "X Home switch tripped!!!\nPlease clear before Homing.\n\nPress Cycle Cancel to end Homing"
IF [#20101 != 78] && [#21301 != 0] && !#[50000 + [#111]] THEN #101 = #101 + 1
IF [#20101 != 78] && [#21401 != 0] && !#[50000 + [#112]] THEN #101 = #101 + 1

;Second axis minus and plus
IF #21302 == 0 THEN #111 = 9 ELSE #111 = #21302
IF #21402 == 0 THEN #112 = 9 ELSE #112 = #21402
IF [#20102 != 78] && [#21302 != 0] && !#[50000 + [#111]] THEN M225 #100 "Y Home switch tripped!!!\nPlease clear before Homing.\n\nPress Cycle Cancel to end Homing"
IF [#20102 != 78] && [#21402 != 0] && !#[50000 + [#112]] THEN M225 #100 "Y Home switch tripped!!!\nPlease clear before Homing.\n\nPress Cycle Cancel to end Homing"
IF [#20102 != 78] && [#21302 != 0] && !#[50000 + [#111]] THEN #101 = #101 + 1
IF [#20102 != 78] && [#21402 != 0] && !#[50000 + [#112]] THEN #101 = #101 + 1

;Third axis minus and plus
IF #21303 == 0 THEN #111 = 9 ELSE #111 = #21303
IF #21403 == 0 THEN #112 = 9 ELSE #112 = #21403
IF [#20103 != 78] && [#21303 != 0] && !#[50000 + [#111]] THEN M225 #100 "Z Home switch tripped!!!\nPlease clear before Homing.\n\nPress Cycle Cancel to end Homing"
IF [#20103 != 78] && [#21403 != 0] && !#[50000 + [#112]] THEN M225 #100 "Z Home switch tripped!!!\nPlease clear before Homing.\n\nPress Cycle Cancel to end Homing"
IF [#20103 != 78] && [#21303 != 0] && !#[50000 + [#111]] THEN #101 = #101 + 1
IF [#20103 != 78] && [#21403 != 0] && !#[50000 + [#112]] THEN #101 = #101 + 1

;Fourth axis minus and plus
;IF #21304 == 0 THEN #111 = 9 ELSE #111 = #21304
;IF #21404 == 0 THEN #112 = 9 ELSE #112 = #21404
;IF [#20104 != 78] && [#21304 != 0] && !#[50000 + [#111]] THEN M225 #100 "Home switch tripped!!!\nPlease clear before Homing.\n\nPress Cycle Cancel to end Homing"
;IF [#20104 != 78] && [#21404 != 0] && !#[50000 + [#112]] THEN M225 #100 "Home switch tripped!!!\nPlease clear before Homing.\n\nPress Cycle Cancel to end Homing"
;IF [#20104 != 78] && [#21304 != 0] && !#[50000 + [#111]] THEN #101 = #101 + 1
;IF [#20104 != 78] && [#21404 != 0] && !#[50000 + [#112]] THEN #101 = #101 + 1
;IF #101 != 0 THEN GOTO 100


M106 /Z P3 F10	;Move Z plus at 10 in/m until input 3 opens
M105 /Z P-3 F.5	;Back Z off Switch
M105 /Z P-4 F.1	;Move Z minus at 1 in/m until input 4 closes
G4P1
M26 /Z          ;Set Z home here
M105 /Z P4 F1	;Back off ZRI for the next axis

M105 /Y P2 F10
M106 /Y P-2 F.5
M106 /Y P-4 F.1
G4P1
M26 /Y
M106 /Y P4 F1	;Back off ZRI for the next axis

M105 /X P1 F10  
M106 /X P-1 F.5 
M106 /X P-4 F.1 
G4P1
M26 /X      
M106 /X P4 F1	;Back off ZRI for the next axis

;g53 x1 y1
;g53 x15 y10.5 f50

N1000           ;END
ashesman
Posts: 243
Joined: Thu Dec 03, 2020 4:54 am
Acorn CNC Controller: No
Allin1DC CNC Controller: No
Oak CNC controller: Yes
MPU11 & GPIO4D -w/ 3rd Party Drives: No
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
CNC Control System Serial Number: none

Re: Mazak Impulse - Oak retrofit build log

Post by ashesman »

slodat wrote: Thu Jun 24, 2021 4:17 pm This is how I do it..
Thanks for the example. Does this mean you are homing based off the switch positions rather than relative to the axis index pulse? There doesn't appear to be a way to find the index pulse for axis like you can for the spindle with M150. There is 23401-23408 (At index pulse) but it seems that even moving slowly and looping while checking there would be a risk of missing the index pulse.
ashesman
Posts: 243
Joined: Thu Dec 03, 2020 4:54 am
Acorn CNC Controller: No
Allin1DC CNC Controller: No
Oak CNC controller: Yes
MPU11 & GPIO4D -w/ 3rd Party Drives: No
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
CNC Control System Serial Number: none

Re: Mazak Impulse - Oak retrofit build log

Post by ashesman »

So, for the next installment... I have pretty much finished my PLC setup and have everything working including tool change, well, sort of! I almost have a working machine again!

For the sake of documenting how the tool change on this machine works for those that have asked and for others in the future, here are some pictures and a description:

When the Y axis moves back far enough, almost to the limit of its travel, a lever is pushed up against a plate. This lever releases the tool. There is no electric or pneumatic actuator, the tool can only be released by moving to this position on the Y axis. This Y position, is directly above where the tools are in the tool racks so the tool is released into one of the racks, or picked up out of one of the racks. The spindle must be oriented correctly when trying to release the tool to ensure the release linkage is aligned. The pictures and attached video should explain everything.
20210627_160904.jpg
The most important thing to realize here is that when the lever comes down to release the tool, even though there are bearings on the linkage, the spindle gets very stiff to turn. So stiff that it can cause the orientation function to fail due to position or overcurrent error. This is actually a fault the OEM controller had that I never bothered to diagnose. And coincidently the same fault I am having now due to my huckery spindle orientation control!

Now that you can see how the tool is released, the next thing are the tool racks. There are two racks for five tools each. One on the left, one on the right. They are pneumatically actuated and come out on slides when needed. The spindle is moved in X and Z to be in front of a rack, then goes back in Y until the tool is released, then lifts up in Z to clear the tool. The reverse process is used to grab a new tool. The following video shows my tool change macro working (without any tools fitted). I am running at really reduced speeds at the moment until I am confident. The OEM controller would tool change in about 2.5 seconds.

The reason I don't have any tools in for that example is because my spindle orientation is not robust enough yet. Until I can get that better, I cant do auto tool changes :-( I am not sure I will ever be able to get orientation good with the Hitachi SJ-P1 VFD due to its inability to run at zero speed. I have one more thing to try, then I will see if I can afford an ACS880, or maybe design my own drive!

My control panel has been solid. I haven't had any issues or had to change anything. I wired it all up and closed everything up and got it good first go! It makes very little heat. Unfortunately until I can get motor drives sorted, I cant close up the back door. Which means I cant refit the coolant tank. I am down to a half page list of things to tidy up. Two of them are major i.e. motor drive issues, some are nice to haves (mostly things not supported by Centroid).

While I ponder over what to do with motor drives, I need to start building the control panel to go on the front of the machine. I have all the parts, just need to do the sheet metal work. I have been avoiding it as sheet metal and I don't go well together!

I am still really unhappy with the axis drives. They cannot be tuned to move fast or be stiff. Still working with DMM for a resolution on this.
martyscncgarage
Posts: 8980
Joined: Tue Mar 28, 2017 12:01 pm
Acorn CNC Controller: Yes
Allin1DC CNC Controller: Yes
Oak CNC controller: No
MPU11 & GPIO4D -w/ 3rd Party Drives: No
DC3IOB: No
CNC12: Yes
CNC11: Yes
CPU10 or CPU7: Yes
CNC Control System Serial Number: none
Location: Mesa, AZ

Re: Mazak Impulse - Oak retrofit build log

Post by martyscncgarage »

On your orient issue, is it that the spindle orients fine but there is enough dither between encoder pulses that the Zero speed output from the VFD flickers with the dithering?
Does the Orient output stay solid when the spindle is oriented?
Reminder, for support please follow this post: viewtopic.php?f=20&t=383
We can't "SEE" what you see...
Mesa, AZ
martyscncgarage
Posts: 8980
Joined: Tue Mar 28, 2017 12:01 pm
Acorn CNC Controller: Yes
Allin1DC CNC Controller: Yes
Oak CNC controller: No
MPU11 & GPIO4D -w/ 3rd Party Drives: No
DC3IOB: No
CNC12: Yes
CNC11: Yes
CPU10 or CPU7: Yes
CNC Control System Serial Number: none
Location: Mesa, AZ

Re: Mazak Impulse - Oak retrofit build log

Post by martyscncgarage »

I'm interested to hear what DMM says, and what suggestions they make. They are not the best when it comes to AC servos. I assume they have asked for screen shots of your DMMDRV screens.

The line reactor DID clear up some faulting along with the regenerative resistor on the Z axis which on my case eliminated the remaining faults. The FADAL TRM I did would fault when jogging the Z axis in the negative direction. This had to do with a non counterbalanced Z axis.

Marty

Marty
Reminder, for support please follow this post: viewtopic.php?f=20&t=383
We can't "SEE" what you see...
Mesa, AZ
ashesman
Posts: 243
Joined: Thu Dec 03, 2020 4:54 am
Acorn CNC Controller: No
Allin1DC CNC Controller: No
Oak CNC controller: Yes
MPU11 & GPIO4D -w/ 3rd Party Drives: No
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
CNC Control System Serial Number: none

Re: Mazak Impulse - Oak retrofit build log

Post by ashesman »

martyscncgarage wrote: Sun Jun 27, 2021 8:13 am On your orient issue, is it that the spindle orients fine but there is enough dither between encoder pulses that the Zero speed output from the VFD flickers with the dithering?
Does the Orient output stay solid when the spindle is oriented?
The orient issue is due to the VFD not being able to operate at zero rpm. As orient is a zero speed thing the VFD is constantly switching on and off each time it tries to correct. Each time it switches on, it does a startup detection. So, I am trying to make it do something it is not meant to do. It has built in orient and position control for induction motors but they turned that function off for servo motors!

It has a 10000 count encoder so no problems with resolution.

I am going to try disabling orient once the tension comes onto the tool release. Just adds a risk that if the spindle gets bumped around that it will crash into the tool locator tabs. The best thing would be to get a fourth VFD that can do closed loop permanent magnet control. I thought the Hitachi did as it says so in the manual, but then it also says it cant!!!

As for the DMM driven servos, because the crude setup of those drives doesn't allow entering motor data to correct the motor model, they cannot achieve stable control of my motors. The reply from DMM support is getting slower and slower as they get sick of me I think!

Also the drives have a confirmed fault and can not be external reset, needing a power cycle. A real pain.
Post Reply