Sam,

         No goofing around allowed, this is serious stuff!  Looks 
like things are coming together for you.  Damn, I wish I could play 
with big toyls like that or Stuart's.

Mark

At 08:24 PM 10/9/2010, you wrote:
>more goofing around. got a good start on the spindle hal 
>component.  It seems to shift correctly (16 speed gearbox) this 
>video runs through all the gears for about 10 seconds a 
>piece.  Every other speed is ccw.  (just testing that also)  the 
>bottom 4 of the top 4 black ssr's control the 4 shift rails - you 
>can see it count up binary with each gear change.  very happy with 
>the results.  EMC is awesome!
>
>http://www.youtube.com/watch?v=22dWg3GbywE
>
>I am using an encoder on the spindle to make sure the drive train 
>spins for a certain amount of time while shifting.  (plus in the 
>future do closed loop spindle speed)
>
>http://www.electronicsam.com/images/KandT/conversion/spindle/Spindlemotorenc.JPG
>
>This is the hal component so far.  Still have to add 'at speed' and 
>keylock.  (it is messy - I know)
>
>component gearshift16 "gearshift16";
>// this is a component for a K&T 16 speed spindle transmission.  The 
>gearbox has 4 shift rails (16 combinations in binary) and a lock seqence.
>
>pin in float spnmotorspeedfb "actual spindle motor speed";
>
>pin in float cmdspnspeed "spindle command from emc - hooked to 
>motion.spindle-speed-cmd-rps - unmolested spindle command";
>
>pin in float cmdspnwithoverride "this is hooked to the 
>motion.spindle-speed-out to get spindle speed with overrride added";
>
>pin out float spnmotorspeed "spindle speed command to vfd";
>
>pin out float currselgear "current selected gear";
>pin out float nextgear  "next gear if gear has changed";
>
>pin in float shiftrpm "rpm for which the gear shifting takes place";
>
>pin in float shiftencodercounts "number of encoder counts to wait 
>while shifting";
>
>pin in signed rawcountsin "raw counts for counting shifting time";
>
>pin out bit shpsol "pressure enable for rails";
>pin out bit sc1sol "shift rail bit 0";
>pin out bit sasol "shift rail bit 1";
>pin out bit sc2sol "shift rail bit 2";
>pin out bit sssol "shift rail bit 3";
>pin out bit ksol  "spindle lock sol";
>
>pin in bit enable "enable gearshift componant and shift into gear 0";
>pin out bit enabled "transission has been shifted into gear 0 - 
>should be changed into variable after debugging";
>pin in bit spnon "spindle on";
>pin out bit spnonflag "flag set when spindle is first turned on so 
>to know not to shift while spindle is on";
>pin in bit spnbrake "check to see if spindle is actually off or the 
>spindle override is 0 - hack";
>pin in bit spindlelock "spindle lock activate";
>pin out float shifting "flag to know when the comp is in shift mode";
>pin out bit shift "flag to tell the transmission to shift when next possible";
>
>// this didn't work - jepler added rps pin that is unmolested by override.
>// pin in float haluiso "hooked to spindle override pin in halui for 
>calculating actual commanded spindle command";
>// pin out float actspnspeed "calculated commanded spindle speed 
>based on halui spindle speed.";
>
>pin out float capturedraw "inital spindle raw counts for shifting";
>
>pin in bit oneps "shift rail pressure sensor";
>
>
>function _ ;
>license "GPL";
>;;
>
>#include <rtapi_math.h>
>
>
>
>FUNCTION(_) {
>static double RATIO[16]={.0310168, .0350028, .0397274, .0444520, 
>.0804513, .0901584, .1025972, .1146178, .2073476, .2322251, 
>.2640781, .2955130, .5356125, .5998969, .6817628, .7662554};
>static double 
>TOPRPM[17]={0,60,70,80,90,150,170,190,210,380,420,480,540,1930,2160,2460,3000};
>int Gear = 0, gearloop = 0, currgearint = 0;
>
>
>
>
>
>
>currgearint = currselgear;
>//enable and shift into first gear - gear 0
>if(enable==true && enabled==false)
>         {
>                 spnmotorspeed = shiftrpm;
>                 if(spnmotorspeedfb<(shiftrpm+30) && 
> spnmotorspeedfb>(shiftrpm-30))
>                         {
>                         shpsol=true;
>                         sc1sol=false;
>                         sasol=false;
>                         sc2sol=false;
>                         sssol=false;
>                         ksol=false;
>                         if(capturedraw==0) capturedraw=rawcountsin;
> 
>if((capturedraw+shiftencodercounts)>rawcountsin && oneps==true)
>                                 {
>                                 spnmotorspeed = 0;
>                                 enabled = true;
>                                 capturedraw=0;
>                                 currselgear=0;
>
>                                 }
>                         }
>         }
>
>
>//if enable goes false
>if(enable==false)
>         {
>         ksol=false;
>         shpsol=false;
>         enabled=false;
>         capturedraw=0;
>         spnmotorspeed = 0;
>         }
>
>//check what gear should be
>
>if(enabled==true && spnbrake == false && spindlelock==false)
>         {
>         for (gearloop = 1 ; gearloop <= 16 ; gearloop++)
>                 {
>                 if(fabs(cmdspnspeed*60)<=TOPRPM[gearloop] && 
> fabs(cmdspnspeed*60)>TOPRPM[gearloop-1])
>                         {
>                         nextgear=gearloop-1;
>                         if(nextgear != 
> currselgear){shift=true;}else{shift=false;}
>                         }
>                 }
>         }
>//spindle lock logic
>
>
>
>
>//shift when we want to if shift is true
>
>if(shift==true && fabs(cmdspnwithoverride)>0)
>         {
>
>                         Gear=nextgear;
>                         shifting = true;
>                         spnmotorspeed = shiftrpm;
>                         if(spnmotorspeedfb<(shiftrpm+30) && 
> spnmotorspeedfb>(shiftrpm-30))
>                                 {
>                                 sc1sol=Gear & 1 ;
>                                 sasol=Gear & 2;
>                                 sc2sol=Gear & 4;
>                                 sssol=Gear & 8;
>                                 ksol=false;
>                                 if(capturedraw==0) capturedraw=rawcountsin;
> 
>if((capturedraw+shiftencodercounts)>rawcountsin && oneps==true)
>                                         {
>                                         spnmotorspeed = 0;
>                                         capturedraw=0;
>                                         currselgear=Gear;
>                                         shifting = false;
>                                         //spnonflag=true;
>                                         //shift=false;
>                                         }
>                                 }
>
>         }
>
>if(shifting==false && enabled == true && spindlelock == false)
>         {
>         spnmotorspeed = cmdspnwithoverride/RATIO[currgearint];
>         }
>
>if(spnbrake==true && enabled == true && spindlelock == false)
>         {
>         spnmotorspeed = 0;
>         }
>
>}
>
>
>
>
>
>
>
>On Wed, 06 Oct 2010 08:17:42 -0500
>  sam sokolik <sa...@empirescreen.com> wrote:
> >   Worked a bit on the tool changer arm.
> >
> > http://www.youtube.com/watch?v=ovxW8TKBGWU
> >
> > sam
> >
> > On 10/5/2010 10:15 AM, sam sokolik wrote:
> > >    3 axis moving! ;)
> > >
> > > http://www.youtube.com/watch?v=pOHL_KlUdqw
> > >
> > > sam
> > >
> > > On 9/6/2010 11:38 AM, sam sokolik wrote:
> > >>     2 axis moving!
> > >>
> > >> http://www.youtube.com/watch?v=QU_O_Z7Vv8c
> > >>
> > >> sam
> > >>
> > >> On 8/26/2010 4:38 PM, sa...@empirescreen.com wrote:
> > >>> Well - I fail at copy and paste...
> > >>>
> > >>> this should work better.
> > >>>
> > >>> I thought I would give an update on our ongoing project.
> > >>>
> > >>> This is a 60's vintage NC that used hydraulic servos.  we are 
> converting it to EMC2 using not quite as old Inland servos. (80's 
> vintage) they are 8 brush low rpm high torque.  (with the amc 
> drives we are using - it will be 40ft-lbs peak.)  We are using 2 
> mesa 5i20 boards as we are needing a good 70+ i/o + atleast 7 
> encoder counters and 5 +/-10v outputs.  We are at the point where 
> the machine is waking up.  the mesa hardware is awesome (thank to 
> peter and seb for their work).
> > >>>
> > >>> Be sure to watch the 2 videos at the end of this email.
> > >>>
> > >>> lets see if I can create a linear picture show...
> > >>> this is what the machine looked like in the 60s
> > >>> http://electronicsam.com/images/KandT/oldkandt.JPG
> > >>>
> > >>> this is what the machine looks like now
> > >>> http://electronicsam.com/images/KandT/DSCCurrent.JPG
> > >>>
> > >>> getting rid of the old control
> > >>> http://www.electronicsam.com/images/control.jpg
> > >>>
> > >>> this is the old electrical box
> > >>> http://electronicsam.com/images/KandT/conversion/mainelectricalbox.JPG
> > >>>
> > >>> we welded 2 of the same boxes together for new electronics.
> > >>> http://electronicsam.com/images/KandT/conversion/moreelec.jpg
> > >>>
> > >>> here is it mostly hooked up
> > >>> http://electronicsam.com/images/KandT/conversion/mostio.JPG
> > >>>
> > >>> This is the x,z,b gearbox - the old control used 1 hydraulic 
> servo to run all 3 axis
> > >>> http://electronicsam.com/images/KandT/conversion/xaxis/start.JPG
> > >>>
> > >>> open
> > >>> http://electronicsam.com/images/KandT/conversion/xaxis/start.JPG
> > >>>
> > >>> stripped
> > >>> http://electronicsam.com/images/KandT/conversion/xaxis/stripped.JPG
> > >>>
> > >>> shafts extended out so we can hook the servos up.
> > >>> http://electronicsam.com/images/KandT/conversion/xaxis/3shafts.JPG
> > >>>
> > >>> servo plate mounted
> > >>> 
> http://electronicsam.com/images/KandT/conversion/servo/x-zservo_mount.jpg
> > >>>
> > >>> belts (B axis still needs a solution)
> > >>> http://electronicsam.com/images/KandT/conversion/servo/belts.jpeg
> > >>>
> > >>> Because we are still using the z axis drive train that goes 
> up though the saddle - we needed to get the backlash out of it.  It 
> uses split gears to do that.  Grinding 1 washer thinner takes the 
> backlash out of 5 sets of gears. the washer is the spacer between 
> the 2 lower small gears.
> > >>> http://electronicsam.com/images/KandT/conversion/zaxis/gears.JPG
> > >>>
> > >>> we still have to mount the y axis servo. - The plan is to 
> direct couple into this shaft.
> > >>> http://electronicsam.com/images/KandT/conversion/yaxis/yaxisshaft.JPG
> > >>>
> > >>> here is the tool chain logic working...
> > >>> http://www.youtube.com/watch?v=4nuRea6615s
> > >>>
> > >>> here is the first closed loop movement with the x axis
> > >>> http://www.youtube.com/watch?v=FgOqEz5Tk-Y
> > >>>
> > >>> Getting there :)  Very happy with the progress.  (I only work 
> on it about once a week.)
> > >>>
> > >>> sam
> > >>>
> > >>>
> > >>> On Thu, 26 Aug 2010 16:27:29 -0500
> > >>>     <sa...@empirescreen.com>    wrote:
> > >>>> I thought I would give an update on our ongoing project.
> > >>>>
> > >>>> This is a 60's vintage NC that used hydraulic servos.  we 
> are converting it to EMC2 using not quite as old Inland servos. 
> (80's vintage) they are 8 brush low rpm high torque.  (with the amc 
> drives we are using - it will be 40ft-lbs peak.)  We are using 2 
> mesa 5i20 boards as we are needing a good 70+ i/o + atleast 7 
> encoder counters and 5 +/-10v outputs.  We are at the point where 
> the machine is waking up.  the mesa hardware is awesome (thank to 
> peter and seb for their work).
> > >>>>
> > >>>> Be sure to watch the 2 videos at the end of this email.
> > >>>>
> > >>>> lets see if I can create a linear picture show...
> > >>>> this is what the machine looked like in the 60s
> > >>>> http://electronicsam.com/images/KandT/oldkandt.JPG
> > >>>>
> > >>>> this is what the machine looks like now
> > >>>> http://electronicsam.com/images/KandT/DSCCurrent.JPG
> > >>>>
> > >>>> getting rid of the old control
> > >>>> http://www.electronicsam.com/images/control.jpg
> > >>>>
> > >>>> this is the old electrical box
> > >>>> http://electronicsam.com/images/Kand...ctricalbox.JPG
> > >>>>
> > >>>> we welded 2 of the same boxes together for new electronics.
> > >>>> http://electronicsam.com/images/Kand...n/moreelec.jpg
> > >>>>
> > >>>> here is it mostly hooked up
> > >>>> http://electronicsam.com/images/Kand...ion/mostio.JPG
> > >>>>
> > >>>> This is the x,z,b gearbox - the old control used 1 hydraulic 
> servo to run all 3 axis
> > >>>> http://electronicsam.com/images/Kand...axis/start.JPG
> > >>>>
> > >>>> open
> > >>>> http://electronicsam.com/images/Kand...axis/start.JPG
> > >>>>
> > >>>> stripped
> > >>>> http://electronicsam.com/images/Kand...s/stripped.JPG
> > >>>>
> > >>>> shafts extended out so we can hook the servos up.
> > >>>> http://electronicsam.com/images/Kand...is/3shafts.JPG
> > >>>>
> > >>>> servo plate mounted
> > >>>> http://electronicsam.com/images/Kand...ervo_mount.jpg
> > >>>>
> > >>>> belts (B axis still needs a solution)
> > >>>> http://electronicsam.com/images/Kand...rvo/belts.jpeg
> > >>>>
> > >>>> Because we are still using the z axis drive train that goes 
> up though the saddle - we needed to get the backlash out of it. It 
> uses split gears to do that. Grinding 1 washer thinner takes the 
> backlash out of 5 sets of gears. Don't think the previous owner 
> ever did this as we had to take a good .040" off the washer. The 
> washer is the spacer between the 2 lower small gears.
> > >>>> http://electronicsam.com/images/Kand...axis/gears.JPG
> > >>>>
> > >>>> we still have to mount the y axis servo. - The plan is to 
> direct couple into this shaft.
> > >>>> http://electronicsam.com/images/Kand...yaxisshaft.JPG
> > >>>>
> > >>>> here is the tool chain logic working...
> > >>>> YouTube - Kearney and Trecker tool chain logic working in 
> EMC2. Mechanically barcoded tools
> > >>>>
> > >>>> here is the first closed loop movement with the x axis
> > >>>> YouTube - Kearney and Trecker first closed loop movement with EMC2.
> > >>>>
> > >>>> Getting there Very happy with the progress. (I only work on 
> it about once a week.
> > >>>>
> > >>>> sam
> > >>>>
> > >>>> 
> ------------------------------------------------------------------------------
> > >>>> Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
> > >>>> Be part of this innovative community and reach millions of 
> netbook users
> > >>>> worldwide. Take advantage of special opportunities to 
> increase revenue and
> > >>>> speed time-to-market. Join now, and jumpstart your future.
> > >>>> http://p.sf.net/sfu/intel-atom-d2d
> > >>>> _______________________________________________
> > >>>> Emc-users mailing list
> > >>>> Emc-users@lists.sourceforge.net
> > >>>> https://lists.sourceforge.net/lists/listinfo/emc-users
> > >>> 
> ------------------------------------------------------------------------------
> > >>> Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
> > >>> Be part of this innovative community and reach millions of 
> netbook users
> > >>> worldwide. Take advantage of special opportunities to 
> increase revenue and
> > >>> speed time-to-market. Join now, and jumpstart your future.
> > >>> http://p.sf.net/sfu/intel-atom-d2d
> > >>> _______________________________________________
> > >>> Emc-users mailing list
> > >>> Emc-users@lists.sourceforge.net
> > >>> https://lists.sourceforge.net/lists/listinfo/emc-users
> > >>>
> > >> 
> ------------------------------------------------------------------------------
> > >> This SF.net Dev2Dev email is sponsored by:
> > >>
> > >> Show off your parallel programming skills.
> > >> Enter the Intel(R) Threading Challenge 2010.
> > >> http://p.sf.net/sfu/intel-thread-sfd
> > >> _______________________________________________
> > >> Emc-users mailing list
> > >> Emc-users@lists.sourceforge.net
> > >> https://lists.sourceforge.net/lists/listinfo/emc-users
> > >>
> > > 
> ------------------------------------------------------------------------------
> > > Beautiful is writing same markup. Internet Explorer 9 supports
> > > standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2&  L3.
> > > Spend less time writing and  rewriting code and more time creating great
> > > experiences on the web. Be a part of the beta today.
> > > http://p.sf.net/sfu/beautyoftheweb
> > > _______________________________________________
> > > Emc-users mailing list
> > > Emc-users@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/emc-users
> > >
> >
> > 
> ------------------------------------------------------------------------------
> > Beautiful is writing same markup. Internet Explorer 9 supports
> > standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
> > Spend less time writing and  rewriting code and more time creating great
> > experiences on the web. Be a part of the beta today.
> > http://p.sf.net/sfu/beautyoftheweb
> > _______________________________________________
> > Emc-users mailing list
> > Emc-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/emc-users
>
>
>------------------------------------------------------------------------------
>Beautiful is writing same markup. Internet Explorer 9 supports
>standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
>Spend less time writing and  rewriting code and more time creating great
>experiences on the web. Be a part of the beta today.
>http://p.sf.net/sfu/beautyoftheweb
>_______________________________________________
>Emc-users mailing list
>Emc-users@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/emc-users



------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to