Oops good point. I think the index needs to be only once per rev.
Automated Machinery Designer - PCNC1100 Series III upgrade, Graziano Sag 12 Lathe
Solidworks 2016 (SW Certified), HSMWorks
Perhaps my brain is foggy this evening but I don't see why the index has to be one per revolution of the actual spindle. The docs say: "... just set up the spindle encoder so that motion.spindle-revs increases by 1 when the spindle turns one revolution, and connect the index-enable to the encoder counter.
setp m5i20.0.enc-03-scale 2000
net spindle-pos m5i20.0.enc-03-position
net spindle-pos motion.spindle-revs
net spindle-index-en motion.spindle-index-enable
net spindle-index-en m5i20.0.enc-03-index-enable"
Why wouldn't things work with any fixed relationship to the spindle?
The index pulse is how it calculates accurate rpms
In machines with a PDB it might be easier to mount the encoder on the motor rather than on the spindle. Doesn't LinuxCNC support having the RPM sensor (index pulse) on the motor rather than on the spindle that is driven by a belt/gear (GEARCHANGE HAL component)? If so there must be a scaling ability that could be used for this application. A less elegant approach might be to fudge the K parameter for the G33.1 to reflect the downfeed per revolution after the belt reduction. Just trying to understand my options...
Currently with LinuxCNC you must have a 1:1 index or supply an index mask signal
The reason is that index detection is used to start the tapping (or threading) cycle
A 1/2 turn offset would not be good for pecking tap cycles or multi-pass ops like threading
Its certainly possible in HAL to synthesize the index from encoder counts (possible scaled)
but whether its worth the effort and end up with a volatile index
(you could not resume tapping or threading after a shutdown) is debatable
the 1:1 index pulse requirement is why I'm using identical pulleys on the spindle and encoder. It's been a challenge to get this to fit in the area needed but I think I've got the plan.. as soon as the pulleys arrive I'll alter them to fit and mount them.. then the HAL fun begins..
looking through all the material is appears to me that the index pulse triggers the tapping process to begin, the A channel provides rotation information and the B channel is used to detect which direction the spindle is rotating.. sound about right?
maybe I'll 3D print the parts to keep me busy while waiting for the pulleys to arrive...
Automated Machinery Designer - PCNC1100 Series III upgrade, Graziano Sag 12 Lathe
Solidworks 2016 (SW Certified), HSMWorks
The A/B channels together provide direction and speed information. After reading the LinuxCNC docs my understanding is that the index provides absolute orientation of the spindle. I hadn't thought of doing peck tapping but that would be impossible without a proper index.
I'm concerned about how to find room to mount things on a 770 with PDB plus possible balance issues at 10K RPM. I don't plan to tap at 10K (!) but I don't want to have to make mechanical changes every time that I tap. Maybe generate the index pulse at the spindle and attach the encoder to the motor?
A 770 uses a polyV belt which in my understanding has very little slip if properly tensioned. A proximity sensor won't work on a stock 770 since the pulleys are aluminum and not cogged. An optical pickup with a printed index should work though.
Automated Machinery Designer - PCNC1100 Series III upgrade, Graziano Sag 12 Lathe
Solidworks 2016 (SW Certified), HSMWorks
Are those modified commercial pulleys or are the made from barstock? If barstock, would you please provide some info regarding how you designed and milled them?
These are pulleys that I already had, commercial units I modified.
When I've made them from scratch, I use "4th axis" to machine the teeth (or to be precise, the grooves between the teeth) using a cutter ground for it.
I use solidworks for the design, which makes it easy as cake.
I've got to backburner this project for a short time while I do some customer-paying work, but I'll be back on it ASAP
Automated Machinery Designer - PCNC1100 Series III upgrade, Graziano Sag 12 Lathe
Solidworks 2016 (SW Certified), HSMWorks
You could either try to run the local copy of mesaflash ( using "locate mesaflash" to find where it is )
or build the latest from source: https://github.com/micges/mesaflash
(see the readme at the bottom of the page)
Or if you just want to see the existing pin-out, the kernel log records the pinout everytime the hostmot2 driver starts
so running dmesg after pathpilot runs should show the pinout
still could'nt get mesaflash to work.. but the dmesg yielded:
[ 123.193209] hm2: loading Mesa HostMot2 driver version 0.15
[ 123.194415] hm2_pci: loading Mesa AnyIO HostMot2 driver version 0.7
[ 123.194455] hm2_pci 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 123.194457] hm2_pci: discovered 5i25 at 0000:02:00.0
[ 123.195475] hm2/hm2_5i25.0: 34 I/O Pins used:
[ 123.195477] hm2/hm2_5i25.0: IO Pin 000 (P3-01): StepGen #4, pin Step (Output)
[ 123.195479] hm2/hm2_5i25.0: IO Pin 001 (P3-14): IOPort
[ 123.195480] hm2/hm2_5i25.0: IO Pin 002 (P3-02): StepGen #0, pin Direction (Output)
[ 123.195482] hm2/hm2_5i25.0: IO Pin 003 (P3-15): IOPort
[ 123.195483] hm2/hm2_5i25.0: IO Pin 004 (P3-03): StepGen #0, pin Step (Output)
[ 123.195485] hm2/hm2_5i25.0: IO Pin 005 (P3-16): IOPort
[ 123.195486] hm2/hm2_5i25.0: IO Pin 006 (P3-04): StepGen #1, pin Direction (Output)
[ 123.195488] hm2/hm2_5i25.0: IO Pin 007 (P3-17): PWMGen #0, pin Out0 (PWM or Up) (Output)
[ 123.195490] hm2/hm2_5i25.0: IO Pin 008 (P3-05): StepGen #1, pin Step (Output)
[ 123.195491] hm2/hm2_5i25.0: IO Pin 009 (P3-06): StepGen #2, pin Direction (Output)
[ 123.195493] hm2/hm2_5i25.0: IO Pin 010 (P3-07): StepGen #2, pin Step (Output)
[ 123.195494] hm2/hm2_5i25.0: IO Pin 011 (P3-08): StepGen #3, pin Direction (Output)
[ 123.195496] hm2/hm2_5i25.0: IO Pin 012 (P3-09): StepGen #3, pin Step (Output)
[ 123.195497] hm2/hm2_5i25.0: IO Pin 013 (P3-10): IOPort
[ 123.195499] hm2/hm2_5i25.0: IO Pin 014 (P3-11): IOPort
[ 123.195500] hm2/hm2_5i25.0: IO Pin 015 (P3-12): IOPort
[ 123.195501] hm2/hm2_5i25.0: IO Pin 016 (P3-13): IOPort
[ 123.195502] hm2/hm2_5i25.0: IO Pin 017 (P2-01): IOPort
[ 123.195504] hm2/hm2_5i25.0: IO Pin 018 (P2-14): IOPort
[ 123.195505] hm2/hm2_5i25.0: IO Pin 019 (P2-02): IOPort
[ 123.195506] hm2/hm2_5i25.0: IO Pin 020 (P2-15): IOPort
[ 123.195507] hm2/hm2_5i25.0: IO Pin 021 (P2-03): IOPort
[ 123.195509] hm2/hm2_5i25.0: IO Pin 022 (P2-16): IOPort
[ 123.195510] hm2/hm2_5i25.0: IO Pin 023 (P2-04): IOPort
[ 123.195511] hm2/hm2_5i25.0: IO Pin 024 (P2-17): IOPort
[ 123.195513] hm2/hm2_5i25.0: IO Pin 025 (P2-05): IOPort
[ 123.195514] hm2/hm2_5i25.0: IO Pin 026 (P2-06): IOPort
[ 123.195515] hm2/hm2_5i25.0: IO Pin 027 (P2-07): IOPort
[ 123.195516] hm2/hm2_5i25.0: IO Pin 028 (P2-08): IOPort
[ 123.195518] hm2/hm2_5i25.0: IO Pin 029 (P2-09): IOPort
[ 123.195519] hm2/hm2_5i25.0: IO Pin 030 (P2-10): IOPort
[ 123.195520] hm2/hm2_5i25.0: IO Pin 031 (P2-11): IOPort
[ 123.195522] hm2/hm2_5i25.0: IO Pin 032 (P2-12): IOPort
[ 123.195523] hm2/hm2_5i25.0: IO Pin 033 (P2-13): IOPort
[ 123.195546] hm2/hm2_5i25.0: registered
[ 123.195547] hm2_5i25.0: initialized AnyIO board at 0000:02:00.0
[ 130.452871] hm2_5i25.0: dropping AnyIO board at 0000:02:00.0
[ 130.452875] hm2/hm2_5i25.0: unregistered
If I read this correctly, I'm good to go on the 5I25 firmware.... yes?
Automated Machinery Designer - PCNC1100 Series III upgrade, Graziano Sag 12 Lathe
Solidworks 2016 (SW Certified), HSMWorks
Still working through some unrelated stuff that's tying up my Mill. but was able to get some stuff done towards rigid tapping...
Here's a couple of pics of the pulley and mount I designed to sit on top of the spindle flange, which will drive the pulley mounted on the encoder.
It was anodizing day for my other project so, I did the pulley mount for this project while I was at it.
the mount locates around the flange and is held with 6 magnets. 50 tooth XL pulley.
Still dont have all the info I need to mod the HAL file, Linux and LinuxCNC are still greek to me.. Hopefully I'll get whatever intelligence I need by the time the hardware is in place
Automated Machinery Designer - PCNC1100 Series III upgrade, Graziano Sag 12 Lathe
Solidworks 2016 (SW Certified), HSMWorks