I think my project would be simple enough to run through the PRU. My current PLC loop I am running in the motion control software is just a few ifElse statements that monitor position and change direction. Does the PRU have access to the eQEP without adding latency?
It's been a long time since I worked with a linux real time kernel and HAL. I did a similar project a long time ago using linuxCNC to control a Moog hydraulic servo-valve on an old Heald ID grinding machine. That was pretty cool to see linux handle a Hydraulic cylinder on a PID loop. Here is a quick vid of it: https://www.youtube.com/watch?v=NMkNCSUJBvs The machinekit distro looks very similar but more streamlined and with better hardware than what I had. I will have to dig into that a little more. On Sunday, September 11, 2016 at 9:08:35 AM UTC-4, Charles Steinkuehler wrote: > > On 9/10/2016 5:04 PM, beezerlm wrote: > > > > I have a fairly simple motion control project I was planning on > using an > > Arduino for, but my understanding is that the arduino's 16Mhz clock > won't keep > > up with my encoder pulses. I will need to process a max of 10,000 > pulses per > > second. The project is to control 1 reciprocating pneumatic cylinder > and to > > simply monitor the position and change direction at a programmable > in/out > > position. Is this within the capabilities of the BBB? > > The hardware eCAP encoder inputs on the BBB can easily keep up with > this rate and much faster. The main issue you are likely to run into > is latency and jitter on the ARM side running the control software. > > If your application is simple enough, you can write PRU code to run it > and not have to worry about any ARM side system latency with Linux. > > If your application is more complex and you need easy access to system > resources, you might consider using the Machinekit distribution. It's > already setup with a hard-real-time kernel and HAL layer that has > drivers for the BBB's eQEP hardware encoders. It should be fairly > simple to craft a HAL file (which is basically a netlist or text > version of a schematic design) using stock components that will > twiddle pins based on the current encoder position. > > -- > Charles Steinkuehler > [email protected] <javascript:> > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/6d1067c6-76cd-4d8f-b53a-5ebf1a702264%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
