Hello Fisher. TJF gave some good answers. I'd also add that: Are there BBB python libraries for general things like PWM, ADC, I2C and other general IO like in RPi? -Adafruit_BBIO is really good and well-supported
How different is the BBB to use and program to RPi? -Since they both run linux, in general programming them is the same. The BBB uses the Device Tree/Cape Manager system which can make the initial learning curve a little steep... not sure if the RPi uses Device Tree by default. The BBB seems to have 2 x IO processors in its PRU-ICSS, I think they are 200MHz each, how easy is it to use them for inputs, outputs and calculations separate from the CPU? Is there a kernel module? -Once you get the workflow set up, it's pretty straightforward to use them for IO. The main processor is probably better suited for calculations. The PRU-ICSS does not really seem to be documented except for in a GIT project, the documents there seem to have info from Texas instruments (who make the CPU) but not official. Is this subsystem used by others? How? -I've seen it used for 3D print motion and heater control, CNC motion control, etc. Knowing that most instructions take 5ns gives you extremely precise timing... you can have your own high-resolution timers, generate PWM, generate audio waveforms, decode video signals, sample sensors, etc... the sky really is the limit. You can share memory with the main processor and do complex computational tasks(eg computer vision) while having realtime IO. All the information is available online, but it's all scattered which makes the learning curve pretty steep. I'm working on a beginner's guide to the PRU based on my own learning experience to hopefully make it easier to get started. PWM seems to be 2 types: hi and low resolution, 3 of each to make 6 in total. The hi seems to have 2 outputs per unit, can they have separate duty cycles? I would like to control 6 separate motors. -TJF answered this. I'd add that you can also generate your own high-resolution PWM using the handy PRU-ICSS. On Tuesday, July 1, 2014 1:03:36 AM UTC-7, Fisher Grubb wrote: > > Hi, > > My name is Fisher, I'm doing a Masters in control system research and need > to choose a controller board for my project. > > It will control a 6 wheel car (wild thumper) to keep a rod (inverted > pendulum) upright. > > I am looking to understand the BBB in more detail to know if I should > consider it or not. > > I will be using the controller board with Simulink from Mathworks in the > same way it can be used with RPi or Arduino. I hope to control the 6 > motors with PWM, read a few voltages with ADC, may be use some I2C and SPI > etc. > > The BBB may be a strong choice for me if I can use the 2 x IO processors > to do realtime stuff while the CPU does other things. > > > I have a few questions, mainly how its used/programmed compared to the > Raspberry Pi as they can both run Debian Linux. > > - Are there BBB python libraries for general things like PWM, ADC, I2C > and other general IO like in RPi? > - How different is the BBB to use and program to RPi? > - The BBB seems to have 2 x IO processors in its PRU-ICSS, I think > they are 200MHz each, how easy is it to use them for inputs, outputs and > calculations separate from the CPU? Is there a kernel module? > - The PRU-ICSS does not really seem to be documented except for in a > GIT project, the documents there seem to have info from Texas instruments > (who make the CPU) but not official. Is this subsystem used by others? > How? > - PWM seems to be 2 types: hi and low resolution, 3 of each to make 6 > in total. The hi seems to have 2 outputs per unit, can they have separate > duty cycles? I would like to control 6 separate motors. > - The BBB seems to have an 8 channel, 12 bit ADC > - Are any issues with the board such as can't use certain IO's at the > same time, such as using 6 PWM outputs with 2 ADC, I2C or SPI? > > Here is the GIT project for the PRU that I have found, Ti seems to refer > to it as well, I think in a forum of theirs. > > https://github.com/beagleboard/am335x_pru_package > > To my knowledge, the BBB has: > > > - 1GHz ARM v8 32 bit CPU from Ti > - 3D GPU with max 720p through HDMI > - 2 x IO processors in the PRU-ICSS > - 3 hi resolution PWM (eHRPWM) > - 3 low resolution PWM (eCAP) > - Some quadrature encoder inputs > > > I appreciate any input from anyone. > > Thanks, > > Fisher > -- 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]. For more options, visit https://groups.google.com/d/optout.
