Chris, I am just trying to figure out your idea? Who parses the gcode file? The $5 chip? If you are running everything but the user interface on the $5 chip, it sounds like headless lcnc to me.
If you are running 6 axis on the $5 chip then you have all the wiring complexities that we have now. The $5 chip needs to connect to a breakout board something like that to protect the chip and it (the $5 chip) needs to be located someplace where it is convenient to wire all the axises from. So other than the difference in cost what does this $5 chip buy you? Alan > From: Chris Albertson <albertson.ch...@gmail.com> > To: "Enhanced Machine Controller (EMC)" <emc-users@lists.sourceforge.net> > Cc: > Bcc: > Date: Fri, 24 Jan 2020 21:56:18 -0800 > Subject: Re: [Emc-users] Real-time OS for machine controllers > On Fri, Jan 24, 2020 at 8:29 PM Alan Condit <condit.a...@gmail.com> wrote: > > > Chris, > > > > If I send 10000 steps to a smart X-axis controller, how does it stay in > > sync with a smart > > y-axis controller without someone controlling the synchronization between > > the two? > > > > As said, "steps" are the wrong thing to send. What they do is send time, > tagged points. Each point has a time tag on it. It is not hard to > synchronize clocks at the microsecond level. > > What they send is a list of target points. Assuming the machine works in > (x, y, z) space each point, you have "time", (x, y, z) and (x', y', z') and > (x'', y'', z''). A machine might have more or fewer axis with different > names, but same idea. Each controller can handle up to some maximum > number of axis and it wold not be until you are over that limit that you'd > have to split things. Doing six axis on one controller is reasonable. > > The controller tries its best to hit the target points. It can happen that > a target is impossible. Also, some of ths data can be omitted. Doing so > wuld free the controller to do what it "wants". I think you always want > x,y,z but could maybe omit the prime (velocity) or double prime > (acceleration) This kind of path planning is what LinuxCNC already does, > but today it is reasonable to push this down into a $5 chip. > > LinuxCNC is originally written used the exact oposite aproach and move all > the "smarts" upstream into a PC. > > The non-real-time part has to read the g-code or the conversational > interface or the hand pendant or video data and convert to a stream of > target points. > > That said, "steps" could work if each one had a time tag. But that pushes > the planning upstream and I think the better plan is to move as much > "smarts" as possible as close to the physical motor as possible. So let > the motor driver figure out what rate to drive each otor so the targets are > reached. > > > > Alan > > _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users