Schwingungsanalyseplattform 04: Inbetriebnahme des BeagleBone Black

By:

BBB

Die Inbetriebnahme gestaltet sich recht einfach. Auf der Beagleboard-Homepage gibt es detaillieret Anleitungen zur Inbetriebnahme. Nach dem Installieren des entsprechenden Linux-Images auf der mikro-SD-Karte, kann man theoretisch mit dem Programmieren direkt loslegen. Dazu können verschieden Programmiersprachen verwendet werden wie C, C++, Java und Python. Passende Beispiele sind auch schon angeführt.

Für unsere gedachte Anwendung hat sich jedoch rausgestellt, dass ein nebenbei agierendes Betriebssystem wie Linux sich störend auf den Programmablauf auswirkt. Da wir die analogen Eingänge möglichst schnell (10 kHz) bei gleichbleibenden Abtastintervallen auslesen möchten ist hier die Verwendung der echtzeitfähigen Prozessorkerne (PRU-Kerne) sinnvoll. Dazu habe ich zwei interessante und kostenfreie Libraries gefunden.

  1. Libpruio-0.2
  2. Beaglebone_pru_adc

Die Libpruio Bibliothek ist relativ umfangreich und unterstützt einen Großteil der Peripherie über die PRU-Kerne. Allerdings ist die Installation etwas aufwändiger und die angegebenen Links nicht immer aktuell. Weiterhin Nachteilig wirkt sich die fehlende Implementierung einer Schnittstelle aus, die für den Datentransport an eine PC notwendig wäre.

Die Beaglebone_pru_adc Library ist von der Installation und Anwendung sehr angenehm zu handhaben. Sie ist jedoch nur geeignet für das Auslesen der analogen Eingänge. Dementsprechend ist auch hier eine zusätzliche Bibliothek erforderlich, die neben den digitalen Ein- und Ausgänge auch die PWM-Ausgänge und eine Schnittstelle implementiert. Vorzugsweise sollte diese ebenfalls eine Python-Bibliothek sein. Hier bietet sich die Kombination mit der von Adafruit angebotenen Library an. Die Schwierigkeit hier ist die entsprechende Kernelversion unter Angstöm zu finden mit der beide Libraries laufen (Link).

 

Mein Favorit ist die kostenlos angeboten Software Scilab/Xcos. Scilab/Xcos (Download) ist ein kostenloses Äquivalent zu Matlab/Simulink und mit dem Add-On X2C (Download) kann aus der der Blockdarstellung in Xcos ein C-Code erstellt werden, der nach dem kompilieren von der SD-Karte aus gestartet werden kann. Die Nachteile durch ein gleichzeitig laufendes Betriebssystem entfallen hier, damit ist auch eine Ansteuerung der Peripherie über die PRU-Kerne nicht mehr notwendig.

In meinem nächsten Beitrag werde nochmals genaue auf die Inbetriebnahme des BBB über Scilab eingehen.


2 thoughts on “Schwingungsanalyseplattform 04: Inbetriebnahme des BeagleBone Black

  1. Die Kommentare zu libpruio verstehe ich nicht:

    * Was muss erst konvertiert werden? Es genügt, den mitgelieferten C-Header in das Programm einzubinden und gegen die Bibliothek zu linken (wie in den C-Beispielen).

    * Und wozu sollte eine weitere Schnittstelle nötig sein? Bei libpruio dient der interne Speicher (RAM) als Schnittstelle. Ein einfacherer und schnellerer Zugriff auf die Daten ist nicht möglich.

    1. Hallo Easy,
      der Souce-Code der libpruio-Bibliothek ist in Freebasic geschrieben und steht nach der
      Installation auch in C zur Verfügung. Selbst konvertieren muss man dort nichts, wenn die Installationsanleitung befolgt wurde, außer vielleicht vereinzelte Beispiele. Das habe ich etwas missverständlich beschrieben und werde es berichtigen.
      Mit „Schnittstelle“ ist eine implementierte Schnittstelle zur Datenübertragung wie z.B. USB, SPI, Ethernet usw. gemeint, um die Daten an einem PC zu übertragen. Diese ist in der Bibliothek nicht enthalten.
      Vielen Dank für deine Fragen. Ich hoffe ich konnte sie dir beantworten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.