Hi Gene,
The point here is "low cost" not what is possible when you add hardware.  As 
I've said in another posting if a 1000 line quadrature encoder runs $400 new 
then the idea of an inexpensive 1PPR MACH2/3 system on a Pentium was a great 
solution.
With a bit more expertise and access to a larger gear or slotted disk even 60 
PPR plus and index is just fine for milling and power tapping or threading on a 
lathe.

Now with $25US quadrature encoders with index pulse plus $10 worth of Chinese 
toothed belt and pulleys adding a quadrature encoder to a lathe like a Unimat 
DB200 becomes feasible.  But if one does buy a 1000 line encoder which is 4000 
PPR and the lathe can turn 6000 RPM then something has to be able to handle the 
400,000 edges per second.

Truth be told a 100 line encoder creating 400 edges per rev is still better 
than 1 degree resolution and adjusting the Z axis speed between 1 degree speed 
variations is still actually rather silly.  It all depends how the software 
handles tracking spindle speed to create Z axis motion of the carriage on the 
lathe.  And 400 edges per second is now a 40kHz rate or 25uS period.  That 
means the real time part of the software running with a 10uS period could 
easily track a 6000 RPM spindle that slows down as the tool bit starts cutting. 

Also since popular stepper motor drivers run max 16 micro-steps per step we're 
talking 3200 steps per rev of the motor but rare is the stepper motor that can 
handle even say 40kHz step rates and have any torque left over.

John

> -----Original Message-----
> From: gene heskett [mailto:ghesk...@shentel.net]
> Sent: August 27, 2024 12:33 PM
> To: emc-users@lists.sourceforge.net
> Subject: Re: [Emc-users] LinuxCNC 2.9.3 has been released
> 
> On 8/27/24 12:39, John Dammeyer wrote:
> > I've read a posting on another forum where the author states he's running
> LinuxCNC with a Raspberry Pi using the Pi4 (and now Pi5) I/O pins configured
> to duplicate the PC parallel port.  With the quad core processor on the Pi is 
> it
> now fast enough to duplicate a PC with a parallel port or is the guy full of 
> BS?
> > John
> I don't think he BSing you, but he is sure doing it the hard way. I do
> not know if Peter Wallace has any more of the 7i90HD interface left, or
> the 3 7i42TA's that bring that interface out to the 5 volt world, but
> that interface with rpspi as a driver, makes a 42mgabaud write serial
> channel that gives you 72 io pins to do what you want with a lathe or
> milling machine. It also reads the replies in 32 bit packets  from the
> 7i90HD at 25 megabaud. Been useing that combo for about a decade now to
> run an 11x54 Sheldon about 80 yo, and doing it w/o logging a mistake in
> the 3 wire spi serial comm that I've ever detected. IMO cobbling up a
> parport out of gpio is doing it the hard way & probably limits what he
> can do.  Here is the initial report from starting lcnc on my lathe:
> 
> cnc@rpi4:/etc$ linuxcnc -l
> LINUXCNC - 2.10.0~pre0
> Machine configuration directory is
> '/home/cnc/linuxcnc/configs/sheldon-lathe'
> Machine configuration file is '7i90-axis.ini'
> Starting LinuxCNC...
> linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
> Note: Using POSIX realtime
> Found file(REL): ./hm2-7i90-stepper.hal
> hm2: loading Mesa HostMot2 driver version 0.15
> hm2_rpspi: Platform: Raspberry Pi 4 Model B Rev 1.1
> hm2_rpspi: Base address 0xfe000000 size 0x01800000
> hm2_rpspi: Mapped peripherals from 0xfe000000 (size 0x01800000) to
> gpio:0x0x7f81630000, spi:0x0x7f81634000, aux:0x0x7f81645000
> hm2_rpspi: SPI0/CE0 clock rate: 41666000/25000000 Hz, VPU clock rate:
> 500000000 Hz
> hm2_rpspi: SPI0/CE0 write clock rate calculated: 41666666 Hz (clkdiv=12)
> hm2_rpspi: SPI0/CE0 read clock rate calculated: 25000000 Hz (clkdiv=20)
> hm2_rpspi: SPI0/CE0 Valid cookie matched
> hm2_rpspi: SPI0/CE0 Base: hm2_7i90.0
> hm2/hm2_7i90.0: Low Level init 0.15
> hm2/hm2_7i90.0: MD 2: 3x IOPort v0: accepted, using 3
> hm2/hm2_7i90.0: MD 0: 1x Hostmot2 DPLL v0: accepted, using 1
> hm2/hm2_7i90.0: MD 1: 1x Watchdog v0: accepted, using 1
> hm2/hm2_7i90.0: MD 3: 4x Encoder v2: accepted, using 4
> hm2/hm2_7i90.0: MD 4: 2x PWMGen v0: accepted, using 1
> hm2/hm2_7i90.0: MD 5: 4x StepGen v2: accepted, using 4
> hm2/hm2_7i90.0: MD 6: 1x LED v0: accepted, using 1
> hm2/hm2_7i90.0: 72 I/O Pins used:
> hm2/hm2_7i90.0:     IO Pin 000 (P1-01): StepGen #0, pin Step (Output)
> hm2/hm2_7i90.0:     IO Pin 001 (P1-03): StepGen #0, pin Direction (Output)
> hm2/hm2_7i90.0:     IO Pin 002 (P1-05): StepGen #1, pin Step (Output)
> hm2/hm2_7i90.0:     IO Pin 003 (P1-07): StepGen #1, pin Direction (Output)
> hm2/hm2_7i90.0:     IO Pin 004 (P1-09): Encoder #0, pin A (Input)
> hm2/hm2_7i90.0:     IO Pin 005 (P1-11): Encoder #2, pin A (Input)
> hm2/hm2_7i90.0:     IO Pin 006 (P1-13): Encoder #0, pin B (Input)
> hm2/hm2_7i90.0:     IO Pin 007 (P1-15): Encoder #2, pin B (Input)
> hm2/hm2_7i90.0:     IO Pin 008 (P1-17): Encoder #0, pin Index (Input)
> hm2/hm2_7i90.0:     IO Pin 009 (P1-19): Encoder #2, pin Index (Input)
> hm2/hm2_7i90.0:     IO Pin 010 (P1-21): Encoder #1, pin A (Input)
> hm2/hm2_7i90.0:     IO Pin 011 (P1-23): Encoder #3, pin A (Input)
> hm2/hm2_7i90.0:     IO Pin 012 (P1-25): Encoder #1, pin B (Input)
> hm2/hm2_7i90.0:     IO Pin 013 (P1-27): Encoder #3, pin B (Input)
> hm2/hm2_7i90.0:     IO Pin 014 (P1-29): Encoder #1, pin Index (Input)
> hm2/hm2_7i90.0:     IO Pin 015 (P1-31): Encoder #3, pin Index (Input)
> hm2/hm2_7i90.0:     IO Pin 016 (P1-33): StepGen #2, pin Step (Output)
> hm2/hm2_7i90.0:     IO Pin 017 (P1-35): StepGen #2, pin Direction (Output)
> hm2/hm2_7i90.0:     IO Pin 018 (P1-37): StepGen #3, pin Step (Output)
> hm2/hm2_7i90.0:     IO Pin 019 (P1-39): StepGen #3, pin Direction (Output)
> hm2/hm2_7i90.0:     IO Pin 020 (P1-41): PWMGen #0, pin Out0 (PWM or Up)
> (Output)
> hm2/hm2_7i90.0:     IO Pin 021 (P1-43): PWMGen #0, pin Out1 (Dir or
> Down) (Output)
> hm2/hm2_7i90.0:     IO Pin 022 (P1-45): IOPort
> hm2/hm2_7i90.0:     IO Pin 023 (P1-47): IOPort
> hm2/hm2_7i90.0:     IO Pin 024 (P2-01): IOPort
> hm2/hm2_7i90.0:     IO Pin 025 (P2-03): IOPort
> hm2/hm2_7i90.0:     IO Pin 026 (P2-05): IOPort
> hm2/hm2_7i90.0:     IO Pin 027 (P2-07): IOPort
> hm2/hm2_7i90.0:     IO Pin 028 (P2-09): IOPort
> hm2/hm2_7i90.0:     IO Pin 029 (P2-11): IOPort
> hm2/hm2_7i90.0:     IO Pin 030 (P2-13): IOPort
> hm2/hm2_7i90.0:     IO Pin 031 (P2-15): IOPort
> hm2/hm2_7i90.0:     IO Pin 032 (P2-17): IOPort
> hm2/hm2_7i90.0:     IO Pin 033 (P2-19): IOPort
> hm2/hm2_7i90.0:     IO Pin 034 (P2-21): IOPort
> hm2/hm2_7i90.0:     IO Pin 035 (P2-23): IOPort
> hm2/hm2_7i90.0:     IO Pin 036 (P2-25): IOPort
> hm2/hm2_7i90.0:     IO Pin 037 (P2-27): IOPort
> hm2/hm2_7i90.0:     IO Pin 038 (P2-29): IOPort
> hm2/hm2_7i90.0:     IO Pin 039 (P2-31): IOPort
> hm2/hm2_7i90.0:     IO Pin 040 (P2-33): IOPort
> hm2/hm2_7i90.0:     IO Pin 041 (P2-35): IOPort
> hm2/hm2_7i90.0:     IO Pin 042 (P2-37): IOPort
> hm2/hm2_7i90.0:     IO Pin 043 (P2-39): IOPort
> hm2/hm2_7i90.0:     IO Pin 044 (P2-41): IOPort
> hm2/hm2_7i90.0:     IO Pin 045 (P2-43): IOPort
> hm2/hm2_7i90.0:     IO Pin 046 (P2-45): IOPort
> hm2/hm2_7i90.0:     IO Pin 047 (P2-47): IOPort
> hm2/hm2_7i90.0:     IO Pin 048 (P3-01): IOPort
> hm2/hm2_7i90.0:     IO Pin 049 (P3-03): IOPort
> hm2/hm2_7i90.0:     IO Pin 050 (P3-05): IOPort
> hm2/hm2_7i90.0:     IO Pin 051 (P3-07): IOPort
> hm2/hm2_7i90.0:     IO Pin 052 (P3-09): IOPort
> hm2/hm2_7i90.0:     IO Pin 053 (P3-11): IOPort
> hm2/hm2_7i90.0:     IO Pin 054 (P3-13): IOPort
> hm2/hm2_7i90.0:     IO Pin 055 (P3-15): IOPort
> hm2/hm2_7i90.0:     IO Pin 056 (P3-17): IOPort
> hm2/hm2_7i90.0:     IO Pin 057 (P3-19): IOPort
> hm2/hm2_7i90.0:     IO Pin 058 (P3-21): IOPort
> hm2/hm2_7i90.0:     IO Pin 059 (P3-23): IOPort
> hm2/hm2_7i90.0:     IO Pin 060 (P3-25): IOPort
> hm2/hm2_7i90.0:     IO Pin 061 (P3-27): IOPort
> hm2/hm2_7i90.0:     IO Pin 062 (P3-29): IOPort
> hm2/hm2_7i90.0:     IO Pin 063 (P3-31): IOPort
> hm2/hm2_7i90.0:     IO Pin 064 (P3-33): IOPort
> hm2/hm2_7i90.0:     IO Pin 065 (P3-35): IOPort
> hm2/hm2_7i90.0:     IO Pin 066 (P3-37): IOPort
> hm2/hm2_7i90.0:     IO Pin 067 (P3-39): IOPort
> hm2/hm2_7i90.0:     IO Pin 068 (P3-41): IOPort
> hm2/hm2_7i90.0:     IO Pin 069 (P3-43): IOPort
> hm2/hm2_7i90.0:     IO Pin 070 (P3-45): IOPort
> hm2/hm2_7i90.0:     IO Pin 071 (P3-47): IOPort
> hm2/hm2_7i90.0: registered
> MOTION: setting Traj cycle time to 1000000 nsecs
> MOTION: setting Servo cycle time to 1000000 nsecs
> note: MAXV     max: 2.000 units/sec 120.000 units/min
> note: LJOG     max: 2.000 units/sec 120.000 units/min
> note: LJOG default: 1.350 units/sec 81.000 units/min
> note: jog_order='ZX'
> note: jog_invert={'X'}
> 
> There is probably 30+ i/o ports still unused John. Room for lots of new
> toys should I stumble over a tool changer I can use.
> 
> >
> >> -----Original Message-----
> >> From: Chris Albertson [mailto:albertson.ch...@gmail.com]
> >> Sent: July 13, 2024 11:40 AM
> >> To: Enhanced Machine Controller (EMC)
> >> Subject: Re: [Emc-users] LinuxCNC 2.9.3 has been released
> >>
> >> If the old Lenovo PC has ahard drive, or better yet an SSD inside,then it
> will
> >> run much better then the Pi4 that is runniong off an SD card.  Those cards
> a
> >> re very slow.
> >>
> >> If you want to upgrade the hardware replace th mechanical hard drive in
> the
> >> PC with a SATA SSD.  If it already has an SSD, then you are good already
> >>
> >>> On Jul 13, 2024, at 11:24?AM, John Dammeyer
> <jo...@autoartisans.com>
> >> wrote:
> >>>
> >>>
> >>>
> >>>> From: andy pugh [mailto:bodge...@gmail.com]
> >>>>
> >>>> On Sat, 13 Jul 2024 at 19:00, John Dammeyer
> <jo...@autoartisans.com>
> >>>> wrote:
> >>>>>
> >>>>> Hi Andy,
> >>>>> On my workbench for playing around I'm running 2.8.4 on a Pi4 with
> an
> >> LCD
> >>>> touch screen and the MESA 7i92H.  How easy to update that?
> >>>>
> >>>> The best thing to do with a Pi is probably to make a new SD card from
> >>>> the LinuxCNC image, then copy your existing config across (probably
> >>>> easiest to put the linuxcnc folder on a USB stick then swap SD cards)
> >>>> Then you can always go back to the old, working, SD card if there is a
> >>>> problem.
> >>>>
> >>>
> >>> Thanks.  That's what I figured.
> >>> What about the 2.8.1 PC?  Better to replace it?  I picked it up surplus 
> >>> for
> >> about $75 a number of years ago.  I have a second one as a spare.
> >>> John
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> 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
> 
> Cheers, Gene Heskett, CET.
> --
> "There are four boxes to be used in defense of liberty:
>   soap, ballot, jury, and ammo. Please use in that order."
> -Ed Howdershelt (Author, 1940)
> If we desire respect for the law, we must first make the law respectable.
>   - Louis D. Brandeis
> 
> 
> 
> _______________________________________________
> 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

Reply via email to