OK, I just got my BBB so I gotta talk a bit out of my butt (having not done 
this yet myself).

What you need to do is get it "interrupt driven". However you do it.

I'm thinking there is a GPIO pin that has this capability (and 
realistically accessible via the OS in whatever dev environment you use). 
The form it would take is a callback kinda looking function (like 
int_countencoder() ). All the function does is super-fast adjust its 
accumulators and save the absolute position of your encoder in a way 
accessible at the application level. In other words you just call a 
high-level function getposition() and it gives you the number you need.

Another way to do is to do the same thing with a PIC or an Arduino where it 
does an interrupt driven function and then allows you to scan the absolute 
position via a serial or USB connection. I would do it in assembly language 
as well (like with a PIC16Fx), crystal-controlled, and tight so there's no 
chance of loosing any pulses. Maybe just have it update the host at maybe 
10 to 100 hz, so you have the absolute position in real time.

On Saturday, September 10, 2016 at 5:22:54 PM UTC-7, 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?
>

-- 
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/b36c7821-15b5-40ac-9708-f69682487182%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to