<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 2 April 2014 10:14, Casey Callendrello <span dir="ltr"><<a href="mailto:c1@caseyc.net" target="_blank">c1@caseyc.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="">On 3/27/14, 10:13 PM, Henner Zeller wrote:<br>
> <hacking><br>
><br>
> Back to hacking. This is part of what defines NB and we should all do.<br>
> So after this way to long preamble, I am telling you what I am hacking<br>
> right now.<br>
><br>
> Over New Years' eve, I was playing with the Beaglebone PRU to generate<br>
> nice, realtime-clean stepmotor steps<br>
>   <a href="https://plus.google.com/u/0/+HennerZeller/posts/HyDMSHRBBDH" target="_blank">https://plus.google.com/u/0/+HennerZeller/posts/HyDMSHRBBDH</a><br>
> Was easier than thought, and works quite well<br>
>   <a href="https://www.youtube.com/watch?v=hIEY9077D64" target="_blank">https://www.youtube.com/watch?v=hIEY9077D64</a><br>
><br>
> Since that worked well, I designed a board together with Jake that we<br>
> call 'Bumps'<br>
>   <a href="https://plus.google.com/u/0/+HennerZeller/posts/CS9fhJx9bpX" target="_blank">https://plus.google.com/u/0/+HennerZeller/posts/CS9fhJx9bpX</a><br>
><br>
> They arrived in the meantime (OSH-Park is has a nice quality!)<br>
>   <a href="https://plus.google.com/u/0/+HennerZeller/posts/UVa9mFV6z1k" target="_blank">https://plus.google.com/u/0/+HennerZeller/posts/UVa9mFV6z1k</a><br>
><br>
> ... so hopefully on the upcoming weekend we'll find some time to<br>
> solder them together. For that, there is the plan to use Jakes 3D<br>
> printer/dispenser (he did a 5MoF on it) and dispense solder paste on<br>
> the board. For that I wrote a quick program to convert some KiCAD<br>
> output to GCode for doing the dispensing action. Here is the code for<br>
> that:<br>
><br>
>   <a href="https://github.com/hzeller/rpt2paste" target="_blank">https://github.com/hzeller/rpt2paste</a><br>
><br>
> </hacking><br>
><br>
> -h<br>
</div>Henner,<br>
Oh, yeah, I saw your PRU code and got super excited! A friend and I are<br>
trying to build an autonomous RC car. We are using the raspi but I'd<br>
really like to switch to the beaglebone.<br>
<br>
A critical part of the project is the speed control. The input is a<br>
fixed multiple of pulses per rpm, and the output is a servo-style<br>
signal. I'd like to write a PID controller that handles this. Thoughts?<br>
Is it going to be a big pain? Pulses are at about 100 Hz. My idea was to<br>
put this in the PRU for more precise timing.</blockquote><div><br></div><div>Yeah, that should be no problem at all. The PRU runs at 200Mhz so you have a lot of time doing complicated things between pulses.</div><div>You can output stuff at ~20Mhz at least and read similarly fast.</div>
<div>In my case, I communicate with the PRU just with a little ring-buffer of commands sent from the 'host' CPU, other than that, it operates entirely independent and does not have any issues waiting for things on the host-CPU (including pontential DRAM stalls, as it has its own SRAM); thus it can create very precise outputs.</div>
<div><br></div><div>(it sounds like you more want to write a PLL not PID ?)</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">That way, the Beagle CPU<br>

could handle the the vision side of things.<br></blockquote><div><br></div><div>Sounds good.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
--Casey<br>
</font></span></blockquote></div><br></div></div>