I put a CUI ATM-103 encoder on my spindle motor. I’m using a parallel port card and a BOB to interface my steppers and spindle. The spindle uses PWM pulses and I’m able to receive the encoder inputs directly in to LCNC via the BOB. With the encoder set to 100 PPR, it would lose count of the rpm above 1200. I changed the PPR to 48 and am now able to track rpm from the encoder up to around 2400. LCNC has a hard time counting the pulses in software. Many use a hardware counter built in to the Mesa Variety of interface cards. For me, I really only need the feedback for rigid tapping which is well within the rpm range I can achieve with tracking.
On Sun, May 24, 2020 at 6:17 PM R C <cjv...@gmail.com> wrote: > Hello, > > > I have been following this thread. I wrote some code that runs on an > RPI that can read a quadrature encoder, I have a few of them, with > different resolutions. > > I also have a few encoders that came with some stepper motors I got my > hands on, still have to play with those to see what it is they exactly do. > > > I saw this thread about "HAL programming", I don't know much about > linux-cnc/HAL, if anything, but is there some "general" interface so one > could 'feed' linux cnc > > data from an encoder? > > > I started playing/messing with these things, because it seems that > linux-cnc has a hard time keeping up with these encoders and there's not > a whole lot I could find > > about how to make a spindle encoder work with linux cnc > > > Ron > > > On 5/24/20 3:41 PM, John Dammeyer wrote: > > The > > http://linuxcnc.org/docs/html/examples/spindle.html#_spindle_feedback > > document lists this example code with a footnote on the use of encoder.3 > > > > "In this example, we will assume that some encoders have already been > issued to axes/joints 0, 1, and 2. So the next encoder available for us to > attach to the spindle would be number 3. Your situation may differ." > > > > The document isn't clear to me on this. If I do not have encoders > issued for axes/joints 0,1,2 then can the spindle use encoer.0? Or are > those numbers reserved for the existing axis anyway? Which I guess doesn't > make sense because then there would also have to be encoders for axis a,b & > c and the spindle would start at 6. I've probably answered my own question. > > > > But if the spindle encoder is declared in the hal file first, as > encoder.0, does that make x,y & z then encoder.1, encoder.2 and encoder.3? > > > > Or by default if encoders are used with x,y &z are they then by default > 0,1 & 2? And even if declared in the hal file in a different order must be > allocated as 0, 1 & 2? > > > > Enquiring minds need to know. > > Thanks > > John > > > > > > # add the encoder to HAL and attach it to threads. > > loadrt encoder num_chan=1 > > addf encoder.update-counters base-thread > > addf encoder.capture-position servo-thread > > > > # set the HAL encoder to 100 pulses per revolution. > > setp encoder.3.position-scale 100 > > > > # set the HAL encoder to non-quadrature simple counting using A only. > > setp encoder.3.counter-mode true > > > > # connect the HAL encoder outputs to LinuxCNC. > > net spindle-position encoder.3.position => motion.spindle-revs > > net spindle-velocity encoder.3.velocity => motion.spindle-speed-in > > net spindle-index-enable encoder.3.index-enable <=> > motion.spindle-index-enable > > > > # connect the HAL encoder inputs to the real encoder. > > net spindle-phase-a encoder.3.phase-A <= parport.0.pin-10-in > > net spindle-phase-b encoder.3.phase-B > > net spindle-index encoder.3.phase-Z <= parport.0.pin-11-in > > > > > > > > > > > > _______________________________________________ > > 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 > _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users