SYNOPSIS
loadrt encoder_ratio [ num_chan=num | names=name1[,name2…] ]
BESCHREIBUNG
encoder_ratio can be used to synchronize two axes (like an "electronic gear"). It counts encoder pulses from both axes in software, and produces an error value that can be used with a PID loop to make the slave encoder track the master encoder with a specific ratio.
Dieses Modul unterstützt bis zu acht Achsenpaare. Die Anzahl der Paare wird durch den Modulparameter num_chan festgelegt. Alternativ können Sie Namen= und eindeutige, durch Kommata getrennte Namen angeben.
Die Angaben num_chan= und names= schließen sich gegenseitig aus. Wenn weder num_chan= noch names= angegeben sind, ist der Standardwert eins.
FUNKTIONEN
- encoder-ratio.sample
-
Alle Eingangsstifte lesen. Muss mit dem doppelten Wert der maximal gewünschten Zählrate aufgerufen werden.
- encoder-ratio.update (uses floating-point)
-
Aktualisiert alle Ausgangspins. Kann von einem langsameren Thread aufgerufen werden.
NAMING
Die Namen für Pins und Parameter erhalten folgende Präfixe: encoder-ratio.N. für N=0,1,…,num-1 bei Verwendung von num_chan=num nameN. für nameN=name1,name2,… bei Verwendung von *names=name1,name2,… .
Das Format encoder-ratio.N. wird in den folgenden Beschreibungen gezeigt.
PINS
- encoder-ratio.N.master-A bit in
-
+
- encoder-ratio.N.master-B bit in
-
+
- encoder-ratio.N.slave-A bit in
-
+
- encoder-ratio.N.slave-B bit in
-
Die Encoderkanäle der Master- und Slave-Achsen.
- encoder-ratio.N.enable bit in
-
Wenn der Enable-Pin FALSE ist, meldet der Error-Pin einfach die Position der Slave-Achse in Umdrehungen. Als solcher wird er normalerweise mit dem Rückführungspin eines PID-Blocks für die Regelung der Slave-Achse verbunden. Normalerweise bleibt der Befehlseingang des PID-Blocks unbeschaltet (Null), so dass die Slave-Achse einfach stillsteht. Wenn jedoch der Freigabeeingang auf TRUE geht, wird der Fehlerpin zur Slave-Position minus der skalierten Master-Position. Der Skalierungsfaktor ist das Verhältnis der Master-Zähne zu den Slave-Zähnen. Wenn sich der Master bewegt, wird der Fehler ungleich Null, und die PID-Schleife treibt die Slave-Achse an, um dem Master zu folgen.
- encoder-ratio.N.error float out
-
Der Fehler in der Position des Slaves (in Umdrehungen).
PARAMETER
- encoder-ratio.N.master-ppr unsigned rw
- encoder-ratio.N.slave-ppr unsigned rw
-
Die Anzahl der Impulse pro Umdrehung der Master- und Slave-Achsen.
- encoder-ratio.N.master-teeth unsigned rw
- encoder-ratio.N.slave-teeth unsigned rw
-
Die Anzahl der "Zähne" auf dem Geber- und dem Nehmerzahnrad.
SIEHE AUCH
encoder(9)