Hello Guest it is April 28, 2024, 09:33:46 PM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - HimyKabibble

221
Those are the biggies. The rest is, as you pointed out, to keep the machine from chewing its own ankles off.

I would try to design in a failure point to prevent that.  On my ATC, the weak point is the attachment of the tool "forks" to the carousel, which are Nylon screws.  If a major jam were to occur, those screws would simply shear off, and the tool holder, and folk would fall on the table.  The only failure I can see right now with any possibility of breaking anything would be if the PDB tried to engage while the spindle was running in reverse.  Since I've never once had to run in reverse, this one doesn't concern me.  If the PDB were to engage while the spindle is running forward, the drawbar would simply unscrew, dropping the tool and collet.  Not good, but not catastrophic.  Even then, the spindle brake *might* be enough to over-load the motor and stall the spindle, though I have no intention of testing that theory....  Once I get a spindle sensor on the machine, these issues also go away, as neither the PDB
nor ATC will be allowed to engage unless the spindle is confirmed stopped.

Regards,
Ray L.

222
Steve,

Here is my ATC code:

#ifndef ATC_H
#define ATC_H

#include "KMotionDef.h"
#include "../Common/CommonDefs.h"
#include "../Common/PDB.h"

int current_atc_pos;   // Current ATC position
int current_atc_tool;   // Current ATC tool

void  LoadTool(int tool)
{   
   current_atc_tool = (int)persist.UserData[PERSIST_CURRENT_TOOL];

   if (tool == current_atc_tool)
      return;

   RotateToTool(current_atc_tool);
      
   Move(AXIS_Z, PDB_Z_POS * Z_STEPS_PER_INCH);

   while (!CheckDone(AXIS_Z))
      ;
   
   if (current_atc_tool == 1)
      LowerLift();
   else
      RaiseLift();
   
   PivotToQuill();
   
   if (current_atc_tool != 1) {
      PDBReleaseTTS();
      LowerLift();
   }
   
   RotateToTool(tool);
   
   if (tool > 1) {
      RaiseLift();
      PDBGrabTTS();
   }
   
   PivotToPark();
   RaiseLift();
}

void RotateToTool(int tool)
{
   int target_tool = tool;
   int current_tool = (int)persist.UserData[PERSIST_CURRENT_ATC_POS];
   
   if (tool == 1)
      target_tool = 2;
   if (current_tool == 1)
      current_tool = 2;
   
   while (current_tool != target_tool)
   {
      SetBit(ATC_ROTATE);
      Delay_sec(0.5);
      ClearBit(ATC_ROTATE);
      Delay_sec(0.5);
      ++current_tool;
      if (current_tool > 11)
         current_tool = 2;
   }
   Delay_sec(0.5);
   current_atc_pos = tool;
   persist.UserData[PERSIST_CURRENT_ATC_POS] = (double)tool;
}

void RaiseLift()
{
   if (!ReadBit(ATC_LIFT))
      return;
   ClearBit(ATC_LIFT);
   ConfirmAction(ATC_LIFT_SENSE);
}

void LowerLift()
{
   if (ReadBit(ATC_LIFT))
      return;
   SetBit(ATC_LIFT);
   ConfirmAction(ATC_LIFT_SENSE);
}

void PivotToQuill()
{
   if (ReadBit(ATC_PIVOT))
      return;
   SetBit(ATC_PIVOT);
   ConfirmAction(ATC_PIVOT_SENSE);
}

void PivotToPark()
{
   if (!ReadBit(ATC_PIVOT))
      return;
   ClearBit(ATC_PIVOT);
   ConfirmAction(ATC_PIVOT_SENSE);
}

ConfirmAction(int bit)
{
   int i = 0;
   
   Delay_sec(0.25);
   while (i < 10) {
      if (ReadBit(bit))
         i++;
      else
         i=0;
   }
   i=0;
   while (i < 10) {
      if (!ReadBit(bit))
         i++;
      else
         i=0;
      Delay_sec(0.01);
   }
}

#endif   


Regards,
Ray L.

223
Steve,

Nice work as always.  The time I spent playing with Belleville drawbars a few years ago convinced me I never wanted to mess with them again, and is what led to my stepper-driven drawbar.  I wonder why so many VMCs use them?  And huge stacks of them at that.

BTW - I sent you a e-mail earlier today re: KFlop.  Did you get it?

Regards,
Ray L.

224
Here is one final video, making cuts and doing toolchanges.

http://www.youtube.com/watch?v=zjGi1WBTMBE&feature=youtu.be

Regards,
Ray L.

225
General Mach Discussion / Re: Time to show off my ATC
« on: December 29, 2012, 11:36:50 AM »
Looks like 14.2mm then opens up to 17.5mm to accept the shank of the nt30 (17.00mm)

Are you guys running those sort of revs with the vari speed heads or pullies?  I have turned up my inverter 10hertz above standard and to be honest thd vari head doesn't sound like it enjoys it to much so turned if back down.



No, mine is a step-pulley.  I think you'd be pushing your luck running a VariSpeed that fast.

Regards,
Ray L.

226
Ray, truth be told, I fully expect you to win. I just want the competition to be at the highest level, and I know you are capable of that. I have a selfish motivation, of course, but it also hopefully benefits the many readers of this thread to observe the process.

I think we agree that the mechanics, complicated as they may be, are not the lion's share of an ATC, but rather the control and sensors. I would speculate that those who can build the mechanism are many, those who can create an autonomous and safe control system are few. That's where I see the real competition. The finish line includes all sensors and 'release candidate' level fully functional control code. I also want to follow what Hood and other 'non-contestants' are doing with regard to sensors and control code.

Actually, the sensors and code on mine turned out to be quite trivial.  The code is barely two pages of dead-simple C that took only maybe two hours to write and debug.

To consolidate your questions from the last couple posts, let me say that yes, I am familiar with 'C'. There are several thousand lines of it in my InTurn™ motor control system. And less volume but far greated intensity code in my balancer. Although I am a lightweight with electronics, I get by with the 90% learn and 10% do methodology. 

I am going to acquire a Kflop board based on your endorsement. Initially, I just want to replace the smoothstepper, but I have similar needs to yours down the road, so the sizeable learning curve is an investment that will pay off, methinks. You mentioned loaning a board, but the way it is worded, I cannot tell if you mean loading an ethernet Smoothstepper or a Kflop board.   ???

Must've been a SmoothStepper I was referring to.  I only have the oneKFlop of my own, and a backup that actually belongs to a friend.

As to machine complexity, I have 4 axis of Mitsubishi J3 series industrial drives (and motors) and the spindle is a Copley Controls Xenus drive pushing a big DC brush motor. I am starting to talk to these devices in real time to get at some of the pertinent staus info they provide and create a 'reactive' system that can act on the data from the drives to adjust the paramaters on a CNC machine in real time. Another machining center feature to bring down to we mere mortals. Hence my interest in your amazing work with the Kflop. Yeah, I did some homework on that.

Anyway, I threw this machine together quick and dirty to get enough Y travel to do a specific project. I have since boxed and welded up the column and now it has decent performance.  My 'permanent' mill will be similar, but larger, much heavier and of course will have the spindle and tool changer from this thread. Since the spindle is completed (except for the die spring) and the ATC is almost done, I am revisiting the pile of parts and the frame design. Today I purchased a 9" x 42" Bridgeport mill table to add to the pile.

There has been no progress on my ATC because I had some unanticipated work to accomplish, however, I expect to start making progress again on the ATC today. I am simultaneously making a new spindle from A6 tool steel, (which will be fully hardened and ground) and ditching the bellevilles. I expect there will be a lot of interest in my big fat die spring because it *probably* can be implemented on an existing spindle which has no way to get the typical disc spring arrangement installed. Next couple days I will post some photos of the ATC assembled on the side of the new head.

I see from the photos you posted that the swing arm has been eating its Wheaties. Very nice piece!  8) I also note the pivot has an upper and lower mounting. Double nice. Significant improvements from the prototype, as one would expect. Q: curiosity, how did you form the smooth curve in the skirt?

The pivot arm bracket is actually the prototype.  The top support for the pivot was always planned, it just took a while to get it built, and made it much easier to remove the whole assembly from the machine during initial tinkering and debugging.  The "skirt" was just rough hand-formed over a piece of 4" diameter aluminum round, then fastened in place with 6-32 screws.  I'm very pleased with how nicely it came out.  I now have the door operating as well.  I used a simple tension spring to pull the door open, and a cable from the door to the mounting arm on the ram to close.  The geometry is such that with just a short (18") piece of bicycle brake cable inner wire fastened between those two points, it pulls tight when the arm parks, and goes slack when the arm pivots to the quill, allowing the spring to pull the door open.  Could'nt be any simpler or cheaper.

Now that my annoying spindle problems appear to be resolved, I can finally get back to work!  Looking forward to seeing what you come up with.  Your work always leaves me feeling totally inadequate!  :-)

Regards,
Ray L.


227
General Mach Discussion / Re: Time to show off my ATC
« on: December 28, 2012, 05:51:58 PM »
The reason I ask is I have a bp clone with a nt30 and would love a tool changer but didn't think I had enough room for a gripper without modding the spindle.

Also how did you get your mill to 6000rpm. Did you use an inverter and turn up the hertz?

I run my knee mill up to 8200 RPM.  It's a 2-/4-pole AC motor, and I run it up to 90Hz in 2-pole mode, and 160Hz in 4-pole mode.  Been running that way for years with no problems at all.

Regards,
Ray L.

228
General Mach Discussion / Re: Time to show off my ATC
« on: December 27, 2012, 12:35:54 PM »
What are you using to move the knee?  I've had, at various times, up to four gas springs on mine, but never got above 75 IPM, using an 850 oz-in DC servo driving through a 48:1 reduction: 5-pitch leadscrew, plus original bevel gears, plus a 4.8:1 belt reduction.  I assume you have a ballscrew on the knee?

Kinda funny....  I considered an approach similar to yours, but ruled it out due to space issues!  :-)  It would've required extending the table enclosure at least a foot further to one side to make room.

Regards,
Ray L.

229
General Mach Discussion / Re: Time to show off my ATC
« on: December 27, 2012, 12:15:33 PM »
Very nice!  But I'm wondering why you don't use your quill?  I ran my knee mill for about 18 months using the knee as the Z axis, and, besides being painfully slow (50 IPM, compared to 250 on X/Y), I saw significant wear on the leadscrew and bevel gears, and it's not hugely accurate, due to lead error in the leadscrew.  I added a quill drive, which has been wonderful.  Now I use the knee to apply tool length compensation, so I always have full quill travel for every tool.

Just finished my own 10-tool ATC:  http://www.youtube.com/watch?v=54s0aoAT37o

It's great fun watching it work for the first few days, isn't it?

Regards,
Ray L.

230
And, we now have a door on the carousel.  Just need to get into town and pickup a spring (to close the door) and a bicycle brake cable (to open the door), and we're done!

I can taste Steve's beer already....  :-)

Regards,
Ray L.