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 <[email protected]> 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, [email protected] 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 > >>> <[email protected]> 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 > >>>> [email protected] > >>>> 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 > >>> [email protected] > >>> 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 > >> [email protected] > >> 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 > > [email protected] > > 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 > [email protected] > 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 [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
