On Sunday 10 May 2020 02:18:00 andrew beck wrote: > just a follow up here. after much searching on the forum I now have > my feedback connecting up to the pid loop. and the machine takes off > all over the place. with about 70 mm feedback error > Feedback is backwards, interchange the A and B connections.
> problem is I don't want to actually change my open loop step gen pid > loop. I just want to be able to compare commanded position and the > encoder position and then adjust the tuning values in my servo drive > until it is tuned nicely. > > anyway I will post on the forum also and see what people think > > regards > > Andrew > > On Sun, May 10, 2020 at 4:47 PM andrew beck <andrewbeck0...@gmail.com> > > wrote: > > just to add on here. I know people are connecting up encoder > > feedback to step dir control servo drive systems on here. so it has > > been done before. I am just having a little trouble following along. > > > > regards > > > > Andrew > > > > On Sun, May 10, 2020 at 4:46 PM andrew beck > > <andrewbeck0...@gmail.com> > > > > wrote: > >> hey Gene > >> > >> I am tuning my chinese servos and can't connect up the tuning > >> software so want to show it in Halscope so that I can track the > >> following error and then adjust it in the servo drive. This is > >> just a temporary thing. I have the feedback from the X axis > >> encoder plugged into the Spindle encoder pins on the 7i76 as that > >> is the only high speed encoder counter I currently have to use. > >> > >> I am not sure exactly how to set this thing up. > >> > >> *Ideally I just want to be able to graph the encoder following > >> error between my encoder and the commanded position that is going > >> through the step gens. I don't want to touch the PID loop in Linux > >> at the moment as I only have the once encoder counter and will have > >> to remove the feedback once the tuning is done and connect up the Y > >> axis encoder next to the 7i76 spindle encoder pins* > >> > >> this is my first time using Halscope (actually any sort of scope) > >> and I am getting stuck > >> > >> regards > >> > >> Andrew > >> > >> On Sun, May 10, 2020 at 4:02 PM Gene Heskett <ghesk...@shentel.net> > >> > >> wrote: > >>> On Saturday 09 May 2020 23:25:42 andrew beck wrote: > >>> > hey guys > >>> > > >>> > getting a bit stuck here and it is the same issue as this old > >>> > email so I thought I would answer it and see what you guys think > >>> > > >>> > I have a standard Hal and ini file generated from Pncconf for a > >>> > 5i25 and 7i76 combo. > >>> > > >>> > just trying to connect my encoder and graph the following error > >>> > in Halscope. > >>> > > >>> > all I want to do at the moment is use Halscope to allow me to > >>> > manually tune my servo drive parameters. (I will not be tuning > >>> > inside linuxcnc at the moment that will have to wait until my > >>> > new mesa cards come > >>> > > >>> > Can someone please advise what hal and ini stuff needs to be > >>> > changed to get my feedback into halscope > >>> > > >>> > regards > >>> > > >>> > Andrew > >>> > > >>> > > >>> > > >>> > I have just connected my x axis encoder to my spindle > >>> > >>> For what purpose? > >>> > >>> > On Thu, Feb 27, 2020 at 7:01 AM Ed W <li...@wildgooses.com> wrote: > >>> > > Hi, I've made good progress converting my little OmioCNC X6 > >>> > > from Mach3 to LinuxCNC. I think I owe a writeup at some point, > >>> > > but I still have a few glitches before I'm ready to do that. > >>> > > > >>> > > First thing which I'm worrying about is that having run > >>> > > pncconf, it generates an output for my open loop steppers > >>> > > which involves a PID type setup, eg here is my X axis from the > >>> > > ini > >>> > >>> PID's are optional for microstepped steppers. I have 2 lathes, one > >>> running with and one w/o. Both work well. My 6040 is running well > >>> w/o PID's. My GO704 has them. They are needed with servo's as > >>> thats what drives the servo's to a null, no error position. PID > >>> are useful IF you have feedback from glass scales or separate > >>> encoders on the motors, basicly treating the stepper as a servo, > >>> and the better motor kits today are moving in that direction. > >>> > >>> > > [AXIS_X] > >>> > > MAX_VELOCITY = 100.0 > >>> > > MAX_ACCELERATION = 750.0 > >>> > > MIN_LIMIT = -0.01 > >>> > > MAX_LIMIT = 355.0 > >>> > > > >>> > > [JOINT_0] > >>> > > TYPE = LINEAR > >>> > > HOME = 0.0 > >>> > > FERROR = 1.0 > >>> > > MIN_FERROR = 0.01 > >>> > > MAX_VELOCITY = 100.0 > >>> > > MAX_ACCELERATION = 750.0 > >>> > > # The values below should be 25% larger than MAX_VELOCITY > >>> > > and MAX_ACCELERATION > >>> > > # If using BACKLASH compensation STEPGEN_MAXACCEL should > >>> > > be 100% larger. > >>> > > STEPGEN_MAXVEL = 125.00 > >>> > > STEPGEN_MAXACCEL = 937.50 > >>> > > P = 1000.0 > >>> > > I = 0.0 > >>> > > D = 0.0 > >>> > > FF0 = 0.0 > >>> > > FF1 = 1.0 > >>> > > FF2 = 0.0 > >>> > > BIAS = 0.0 > >>> > > DEADBAND = 0.0 > >>> > > MAX_OUTPUT = 0.0 > >>> > > # these are in nanoseconds > >>> > > DIRSETUP = 10000 > >>> > > DIRHOLD = 10000 > >>> > > STEPLEN = 5000 > >>> > > STEPSPACE = 5000 > >>> > > STEP_SCALE = 320.0 > >>> > > MIN_LIMIT = -0.01 > >>> > > MAX_LIMIT = 355.0 > >>> > > HOME_OFFSET = -5.000000 > >>> > > HOME_SEARCH_VEL = -33.333333 > >>> > > HOME_LATCH_VEL = 0.500000 > >>> > > HOME_FINAL_VEL = 33.333333 > >>> > > HOME_USE_INDEX = NO > >>> > > HOME_IGNORE_LIMITS = YES > >>> > > HOME_SEQUENCE = 1 > >>> > > > >>> > > > >>> > > The corresponding .hal (again by pncconf) is as follows: > >>> > > > >>> > > > >>> > > #******************* > >>> > > # AXIS X JOINT 0 > >>> > > #******************* > >>> > > > >>> > > setp pid.x.Pgain [JOINT_0]P > >>> > > setp pid.x.Igain [JOINT_0]I > >>> > > setp pid.x.Dgain [JOINT_0]D > >>> > > setp pid.x.bias [JOINT_0]BIAS > >>> > > setp pid.x.FF0 [JOINT_0]FF0 > >>> > > setp pid.x.FF1 [JOINT_0]FF1 > >>> > > setp pid.x.FF2 [JOINT_0]FF2 > >>> > > setp pid.x.deadband [JOINT_0]DEADBAND > >>> > > setp pid.x.maxoutput [JOINT_0]MAX_OUTPUT > >>> > > setp pid.x.error-previous-target true > >>> > > setp pid.x.maxerror .0005 > >>> > > > >>> > > net x-index-enable <=> pid.x.index-enable > >>> > > net x-enable => pid.x.enable > >>> > > net x-pos-cmd => pid.x.command > >>> > > net x-pos-fb => pid.x.feedback > >>> > > net x-output <= pid.x.output > >>> > > > >>> > > # Step Gen signals/setup > >>> > > > >>> > > setp hm2_5i25.0.stepgen.00.dirsetup > >>> > > [JOINT_0]DIRSETUP setp hm2_5i25.0.stepgen.00.dirhold > >>> > > [JOINT_0]DIRHOLD setp hm2_5i25.0.stepgen.00.steplen > >>> > > [JOINT_0]STEPLEN setp hm2_5i25.0.stepgen.00.stepspace > >>> > > [JOINT_0]STEPSPACE setp hm2_5i25.0.stepgen.00.position-scale > >>> > > [JOINT_0]STEP_SCALE setp hm2_5i25.0.stepgen.00.step_type > >>> > > 0 > >>> > > setp hm2_5i25.0.stepgen.00.control-type 1 > >>> > > setp hm2_5i25.0.stepgen.00.maxaccel > >>> > > [JOINT_0]STEPGEN_MAXACCEL setp hm2_5i25.0.stepgen.00.maxvel > >>> > > [JOINT_0]STEPGEN_MAXVEL setp > >>> > > hm2_5i25.0.stepgen.00.step.invert_output true setp > >>> > > hm2_5i25.0.stepgen.00.direction.invert_output true > >>> > > > >>> > > # ---closedloop stepper signals--- > >>> > > > >>> > > net x-pos-cmd <= joint.0.motor-pos-cmd > >>> > > net x-vel-cmd <= joint.0.vel-cmd > >>> > > net x-output <= hm2_5i25.0.stepgen.00.velocity-cmd > >>> > > net x-pos-fb <= hm2_5i25.0.stepgen.00.position-fb > >>> > > net x-pos-fb => joint.0.motor-pos-fb > >>> > > net x-enable <= joint.0.amp-enable-out > >>> > > net x-enable => hm2_5i25.0.stepgen.00.enable > >>> > > > >>> > > # ---setup home / limit switch signals--- > >>> > > > >>> > > net min-home-x => joint.0.home-sw-in > >>> > > net min-home-x => joint.0.neg-lim-sw-in > >>> > > net x-pos-limit => joint.0.pos-lim-sw-in > >>> > > > >>> > > > >>> > > What would someone experienced recommend I do here? This is a > >>> > > simple openloop stepper machine, no feedback or position > >>> > > sensors. Just a 6i25 to a basic breakout board, going to a > >>> > > chinese 556 stepper driver clone and onto some small steppers > >>> > > on a 6040 type of machine? > >>> > > > >>> > > Is there any disadvantage (or advantage) to leaving all the > >>> > > PID and closed loop stuff in here? > >>> > > > >>> > > > >>> > > Thanks > >>> > > > >>> > > Ed W > >>> > > > >>> > > > >>> > > > >>> > > _______________________________________________ > >>> > > Emc-users mailing list > >>> > > Emc-users@lists.sourceforge.net > >>> > > https://lists.sourceforge.net/lists/listinfo/emc-users > >>> > >>> Cheers, Gene Heskett > >>> -- > >>> "There are four boxes to be used in defense of liberty: > >>> soap, ballot, jury, and ammo. Please use in that order." > >>> -Ed Howdershelt (Author) > >>> If we desire respect for the law, we must first make the law > >>> respectable. - Louis D. Brandeis > >>> Genes Web page <http://geneslinuxbox.net:6309/gene> > >>> > >>> > >>> _______________________________________________ > >>> Emc-users mailing list > >>> Emc-users@lists.sourceforge.net > >>> https://lists.sourceforge.net/lists/listinfo/emc-users > > _______________________________________________ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users Cheers, Gene Heskett -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) If we desire respect for the law, we must first make the law respectable. - Louis D. Brandeis Genes Web page <http://geneslinuxbox.net:6309/gene> _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users