Sind die Karten seitens der Hardware konfiguriert und die richtige Firmware aufgespiel sind ggf. noch Maßnahmen seitens der Software nötig.
Die Einrichtung von Mesakarten kann dabei auch mit dem PncConf Wizard erstellt und bearbeitet werden sofern die vorhandene Kartenkombination unterstützt wird.
In diesem Beispiel verwenden wir eine Kombination die nicht vollständig vom Wizard unterstützt wird aus folgenden Karten:
Um einen geeigneten Startpunkt zu bekommen können sie gerne unsere Demo-Konfiguration herunterladen die auf einer Weeke BP10 Konfiguration basiert aber ebenso als Grundlage für diverse andere Servo betrieben Maschinen genutzt werden kann. In der Konfiguration sind darüber hinaus einige hilfreiche Erweiterungen eingepflegt.
Ein zentraler HAL Baustein für die Organisation der Peripherie wie Ventile, Frequenzumrichter und Schutzeinrichtungen ist in der Konfiguration nicht vorhanden, da wir die vollständige Konfiguration hier leider nicht kostenlos Anbieten können.
Wer hier Interesse hat, oder weitere Infos benötig kann gerne Kontakt zu uns aufnehmen.
Bevor LinuxCNC die Mesakarten nutzen kann müssen ein paar Randdaten in der INI Datei in der [HOSTMOT2] Sektion definiert werden.
Hierzu gehören der Treiber, das FPGA Baord und der konfigurations String.
Der hm2_pci Treiber ist die richitge Wahl für alle aktuellen Mesakarten. Die Boardbezeichnung bezieht sich immer auf die FPGA Karte die im PC eingesteckt ist und wird in dieser Konfiguration nicht verwendet, dennoch auch hier der Hinweis das die 6i25 intern als 5i25 gehandhabt wird.
Der konfigurations String gibt einerseits die Kommunikationswege zu den Karten an die mit der 6i25 verbunden sind und andererseits die Anzahl der speziellen Hardwarekomponenten die genutzt werden sollen. Die Anschlüsse der speziellen Hardwarekomponenten befinden sich auf der 7i77 und werden dadurch von der 7i77 begrenzt.
String | Hardware | Maximum |
num_encoders | Anzahl der Quadratur Encoder die verwendet werden sollen | 6 |
num_pwmgens | Anzahl der analogen Ausgänge die verwendet werden sollen | 6 |
sserial_port_0/1 | Kommunikation über P3(7i77) und P2(7i74) | 2 |
Die HAL Konfiguration ist ebenfalls in der Demo Konfiguration enthalten und soll hier nocheimal im Detail erklärt werden.
Die Ein-, Ausgänge und die speziellen Hardwarekomponenten haben einige Optionen die in den HAL Dateien eingestellt werden können. Die Parameter können wie im Bild rechts mit dem setp Befehl dem entsprechenen Parameter-Pin des Encoders und dem Wert am Ende einer Zeile gesetzt werden. Die Parameter Angabe [AXIS_0]ENCODER_SCALE ist ein Verweis auf den Wert ENCODER_SCALE in der [AXIS_0] Sektion der INI Datei.
Folglich sind die wichtigsten Parameter-Pins die in der Demo Konfiguration enthalten sind beschrieben:
Parameter-Pin | Beschreibung |
counter-mode | Quadraturencoder (0) über A/B Phasen, Ein-Kanal Zähler (1) über A Phase |
filter | Impulse kleiner als 30ns (0) oder 150ns (1) werden herausgefiltert |
index-invert | Index Impulse werden bei fallender (0) oder steigender (1) Flanke gewertet |
scale | Grundlage für die Positionberechnung (Anzahl der Impulse pro mm) |
Für die Servo Antriebe und Spindeln mit Drehzahlvorgabe über einen Frequenzumrichter werder die analogen Ausgänge benötigt, welche mit folgenden Parametern gefüttert werden.
Auch hier werden die Parameter zwecks Übersicht in den Achs Sektionen der INI Datei angegeben.
analogout0-sclaemax
Aus Kompatibilitätgründen arbeitet die Mesakarte intern ebenso wie die LinuxCNC PID-Regler mit Werten von -1.0 bis +1.0. Mit dem scalemax Wert kann dieser Wertebereich adaptiert werden.
Der Spannungsbereich am Ausgang der Karte reicht generell von -10 bis +10Volt.
Beispiel Servoendstufe | Beispiel Spindel | |||
analogout0-scalemax | 10 | analogout3-scalemax | 18000 | |
analogout0 (pid.0.out) | 0.9 | analogout3 (Drehzahlvorgabe) | 9000 | |
AOUT0 (Analoge Ausgangsklemme 0) | 9.0V | AOUT3 (Analoge Ausgangsklemme 3) | 5.0V |
analogout0-minlim /maxlim
Für jeden analogen Ausgang können untere und obere Grenzwerte angegeben werden, so kann die Drehzahl z.B. auf 0-14000 Umdrehungen begrenzt werden (minlim=0, maxlim=14000).
Das Verbinden einer internen Funktion mit einem Pin der Mesakarte erfolgt mit dem Befehl net in HAL. Welche Pins die Karten bieten kann entweder dem nebenstehenden Bild entnommen werden oder in ausführlicher form mit dem HAL-Anzeigen Fenster im Maschine Menü von LinuxCNC. Alle Pins die für Verbindungen unter LinuxCNC zur Verfügung stehen können unter dem Pins Zweig angesehen werden.