Realistically, no one is going to redesign LCNC to use target times. It would be too large of an effort relative to the size of the project.
If you want to see some hardcore electric motor control porn, it is not the CNC or printer guys doing it. Look at this 56-axis machine, all done with 3-phase BLDC motors and EtherCAT. (Yes, 56 motors) https://www.facebook.com/watch/?v=1421798356402556 > On Sep 28, 2026, at 3:54 AM, maurice e heskett <[email protected]> wrote: > > On 9/27/26 23:53, Chris Albertson wrote: >>> On Sep 27, 2026, at 2:43 PM, Peter Wallace<[email protected]> wrote: >>> >>> On Sun, 27 Sep 2026, Chris Albertson wrote: >>> >>>> I like the way Klipper solved the communications jitter issue. Kiliiper >>>> is a lot like LCNC. There is a central Linux computer that reads the >>>> G-code file, does planning and the math, and then the low-level stuff like >>>> generating wavforms to drive a stepper motor or whatever is some on >>>> microcontrollers that can be truely ?hard? real time. >>>> >>>> What Klipper does is simple. The microcontroller clocks are synchronized >>>> to the Linux system. Then the Linux host attaches a ?target time? with >>>> each movement command. The microcontroller then buffers the command until >>>> the exact right time. This way, millisecond-level RT jitter in Linux does >>>> not show up on the motors. >>>> >>>> This way, one can get 10-microsecond-level timing without real-time Linux. >>> >>> The difference is that LinuxCNC is an unbuffered system at the motion >>> level. Buffering removes the real time requirement from the upper level >>> controller but loses the ability for the upper level controller and >>> therefore motion to repond to real time inputs. >>> >> The way Klipper works for a real-time event like hitting a limit switch is >> that the microcontroller is interrupted. The controller captures the clock >> and then invalidates the buffer and sends the captured clock value back to >> the Linux computer. >> >> What makes this work so well is that, unlike Linux, a typical >> microcontroller can capture a clock or timer value on an interrupt entirely >> in hardware, without needing software to manually read the timer. We can >> get nanosecond or microsecond timing even in a buffered system. >> >> The other thing that makes this work is the Linux system continuously polls >> the microcontroller’s clock and maintains a transformation equation that >> accounts for any difference in phase and rate between the two clocks. >> >> I don’t think all real-time events have to clear the buffer. I’m not >> expert enough on details like that. But because the clocks are tracked, >> the Linux machine can drive any reasonable number of microcontrollers using >> CAN bus, serial, USB or whatever. >> >> Another advantage is that this system can be very low cost. I can use a $4 >> rp2040 development board to drive a stepper at one million steps per second. >> Better microcontrollers do better. >> >> No one will implement this. It is too much work. > > Is it? Let me propose a test procedure: > > A bananapi-m5, driving a BTT octopus-pro V1.1 controller board. It > can drive 8 motors in real time, monitoring all 8 limit switches > while maintaining 3 or more temperatures. > > Talk to Kevin about a fork of klipper to drive our very extensive list of > hdwe. > > Borrow our test suite, feed it to klipper and see what falls out. The list > for functions for a 3d printer is maybe 10% of what we are doing in LinuxCNC. > How much work would it take to fix each fallout? > > Then we would have a far better understanding of the work involved. > > Another of my fav subjects: > > The advent of closed loop stepper/servo's has, at my place, been an eye > opener in terms of the speed limits and accuracy, taking an elderly Ender5 > from 16mm/sec for y travel, to 200mm/sec or better. Actual limit is imposed > by the hot ends ability to deliver enough hot plastic from a 60 watt heater. > The hot ends ability to deliver the plastic is now that printers speed > limit. The hot end needs more heat. Where that printer had layer shifts at > 20mm/sec, now with 72 volts for the main motors, details in the print are > much better defined now & a 3 day job is now done in 9 hours. That heater is > rated for 320C but has a short life, but it does a fine job with a spool of > polycarb loaded. I have a bed booster fitted, and a 36 volt, 800watt bed > supply, can now hit 125C for printing polycarb. > > My sheldon 11" x 56" now has 42 volt 3 phase closed loop motors, around 3x > faster & much quieter than the 24 volt regular steppers. Watching it run > you'd swear Casper the ghost was turning the cranks. My 4 axis 6040 gantry > has 2 of these motors on Z & B axises. My G0704 has an A for its 4th. 500+ > rpms, .1 degree accuracy. > > >> >> >> >> >> _______________________________________________ >> Emc-users mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/emc-users > _______________________________________________ > Emc-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/emc-users _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
