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.

Reply via email to