Motor Control, PRU's

Uploaded zipped project files for the BBA-64 and BeagleBone Black to:
GitHub - gitklindsayjr/Beaglebone_AI64_PRUS: Repository for CCS and Eclipse Beaglebone AI-64 and
GitHub - gitklindsayjr/BeagleBone_Black_PRUS: Code Composer and Eclipse zipped project files

These projects were built using Code Composer Studio and the “pru-software-support-package”. The BBAI-64 project uses only PRU0, while the BeagleBoneBlack uses both PRU’s.

In addition their is a Linux interface application that loads and uses the RPMessaging interface to control the Motor connected to PRU0. This application was Cross Compiled using Eclipse on a Debian 11 bullseye desktop PC. For the BeagleBone Black it uses the “/sys/devices/platform/ocp/ocp:” pinmux to configure the pins used by the PRU’s. The pins used on the BBAI-64 are set using a modified “robotics-cape.dts” overlay, “MotorControl.dts”.

These projects demonstrate the use of the BeagleBone’s system eQEP and GPIO as well as the PRU’s ecap-APWM and direct GPIO. Also the “/dev/remoteproc” and “/dev/rpmsg_pruxx” interfaces. Included is the motor control servo model, schematic, motor, encoder information, and MotorControl.dts overlay.

Debugging these PRU projects was accomplished using the GPIO pins connected to a scope.

2 Likes