Monarch MDT-24 Retrofit (Sharp SV-2412 w/ Fanuc 0i-MC)

More
27 Jan 2018 20:02 - 27 Jan 2018 20:42 #105077 by lamandesigns
Hi everyone,

I have done about 6 or 7 machines now with LinuxCNC and either parallel port or Mesa cards. This one however has been a big project. I purchased this machine, which is a Monarch MDT-24, a re-badged Sharp SV-2412 circa 2007. This machine was purchased originally in 2009 by the previous owner with a second machine. The second machine was just the shell and this machine was working with about 2,000 hours on it. They restored the other machine with electronics from this machine and then purchased new/used electronics for this machine over time. However they never put the machine together completely. So I purchased the machine about a year ago and started working with the Fanuc 0i-MC electronics. The more I worked on it, the less I was interested in it. I realize Fanuc is pretty darn good controls. However I was not happy with how little control I have over customizing it and the little 7" monochrome screen was just a no for me. So about November 2017, I decided to just dive in and change all the electronics and clean up all the wiring on the machine since it was a mess.

I will post more about the process so far and what I have done and how. But here is a little summary of parts used and parts that are utilized original to the machine:
  • Fanuc 10HP/10,000RPM Spindle
  • Fanuc alpha Servo Drives w/ alpha incremental encoders
  • 16 tool ATC
  • Automatic lube system
  • Hitachi SJ300 VFD drive
  • Elmo Cornet Servo drives - Elmo customer support has been great. Even though I bought these used, they have gone way beyond what I was expecting to help me have get it all working
  • Pico Systems Fanuc Serial encoder converters - Jon has been amazing with support and the quick responses. I just don't have enough good things to say about him!
  • Mesa cards: 6i24 main board, 7i48 servo interface, 7i37 front IO, 7i44 8 channel RS-422 interface, 7i73 keypad interface, 2x 7i70 remote input modules, 1x 7i71 remote output module
  • AsRock Q1900 board/CPU w/8gb of memory and 64GB SSD
  • 11" touchscreen 1920x1200 mounted LCD
  • Original interface panel c/w pendant
  • Utilizing all the original limit switches, tool changer, home switches, relays, contactors and so on.
Currently everything is operational as far as simple moves of the servos and spindle. Although control of servos through LinuxCNC is not 100% as it seems like encoder feedback to LinuxCNC sometimes doesn't read the right amount.

Below are links to some of the pictures of the process.

The day it arrived: Before picture
Trying to clean the Fanuc stuff and mounting them: Mount Fanuc Controls
Video showing the screen and front panel: Front Panel
Side I/O wiring cleaned up w/ Mesa remote cards: Side I/O
Rear drive controls w/ Pico cards: Rear Controls
Front Main Control (need a new cleaned up photo): Front Control
Last edit: 27 Jan 2018 20:42 by lamandesigns.

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

More
02 Feb 2018 11:14 #105322 by RotarySMP
Very impressive work
Mark
The following user(s) said Thank You: lamandesigns

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

More
03 Feb 2018 03:07 - 03 Feb 2018 03:08 #105351 by lamandesigns
Last edit: 03 Feb 2018 03:08 by lamandesigns.

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

More
04 Feb 2018 01:01 - 04 Feb 2018 01:42 #105382 by lamandesigns
Hello everyone,

So I have a little time now trying to troubleshoot the communication between LinuxCNC and the servo drives.

The drives have their own software to setup and tune. They are tuned for velocity mode and are setup to have 1V = 200RPM / 844,000cnts/sec (2000RPM is full speed at 10V). Jugging and moving around with the servo drives seems to work just great.

However, as soon as LinuxCNC is enabled (machine is on), even with not jug, the axis start moving very slowly. If I try to jog any of the axis, I get a very quick following error as the encoder seems to move very small amount compared to the commanded move.

Unless I have missed something, I have narrowed this down to one of the following two potential items (or both):

1. PID: so the servo drive has it's own PID auto-tuning which uses commutation and signals with a built-in scope to get the servos bang on. The graphs look perfect. I am wondering if the PID in LinuxCNC is causing some sort of an issue here. Is there a way to turn this PID off?
2. Wiring: the Elmo drives analog in uses three lines: analog+, analog-, and analog return. The 7i48 uses the AOUT and GND. I have tried a couple of combinations with what seems like no change. AOUT is connected to analog+. I have tried connecting the GND to analog- on its own as well as connecting GND to both analog- and the analog return with similar results.

Edit: so I might be onto something here: the Elmo controller is a differential analog input and the 7i48 is a single-end analog output. I wonder if I can somehow convert this!

The encoder connection to 7i48 is the feedback output of the servo drive and I have used a dial indicator on the axis to check it's accuracy!

Am I totally missing the boat here? I have attached the .ini and .hal file of the test setup in hope of someone finding something obvious that I have missed.
Attachments:
Last edit: 04 Feb 2018 01:42 by lamandesigns.

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

More
04 Feb 2018 02:53 #105385 by Todd Zuercher
That would be the expected behavior with all of the pid settings 0. You need to tune the position loop by finding the optimal settings for Linuxcnc's PID.

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

More
04 Feb 2018 04:51 #105387 by lamandesigns
Well I do have P at 50 and FF1 at 1. I guess I will try some D. My thoughts were since the servo drive handles most of the jumping around, minimal tuning would be required on the LinuxCNC side.

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

More
04 Feb 2018 13:29 #105398 by Todd Zuercher
Have you read any of the tuning tutorials?

Are you using Halscope to look at the velocity feedback, velocity command, and following error?

What do you have the min and max following error set to? Set them to an inch or more so you can see what is happening before a following error alarm is set.
The following user(s) said Thank You: lamandesigns

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

More
04 Feb 2018 13:58 - 04 Feb 2018 14:10 #105401 by PCW
A couple of notes here:

Analog input wiring is fine (7I48 AOUT to ANALOG+ 7I48 GND to ANALOG- )

I would set FF1 to 0 to start or 1/(IPS_at_1V) if you know the axis velocity at 1V input
( 1 is likely way too high )

As Todd said, set the Ferror limits (both ferror and min-ferror) to 1 inch or so, so you can see what's happening

D is typically not required on a velocity mode servo, these are tuned chiefly with FF1 and P

Here's a link to a basic velocity mode tuning tutorial:

gnipsel.com/linuxcnc/tuning/servo.html
Last edit: 04 Feb 2018 14:10 by PCW.
The following user(s) said Thank You: lamandesigns

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

More
04 Feb 2018 19:07 #105413 by lamandesigns
Ferror is 0.5 and 0.05. I will increase those higher and then play with FF1. Technically based on that formula FF1 should be around 0.012. I will play around the LinuxCNC tuning today to see! Thank you both!

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

More
05 Feb 2018 01:43 #105428 by lamandesigns
Well the tuning did the trick. However the numbers are much higher than I was expecting.
I have ended up with the following:
  • X: P-8000, I-2, D-25
  • Y: P-8000, I-2, D-25
  • Z: P-10000, I-2, D-30

Now this is all with FF at zero. I can't see any difference with the FF changed. What am I supposed to be monitoring?

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

Moderators: cncbasher
Time to create page: 0.131 seconds
Powered by Kunena Forum