ENCODER

NOMBRE
SINOPSIS
DESCRIPCIÃN
FUNCIONES
NOMBRES
PINES
PARÃMETROS

NOMBRE

encoder - conteo por software de señales de encoder en cuadratura

SINOPSIS

loadrt encoder [num_chan=num | names=name1[,name2...]]

DESCRIPCIÃN

encoder se usa para medir la posición contando los pulsos generados por un encoder de cuadratura. Como implementación basada en software, es mucho menos costosa que una en hardware, pero tiene un tasa máxima de conteo limitada. El lÃmite está en el rango de 10KHz a 50KHz, dependiendo de la velocidad de la computadora y otros factores. Si es necesario mejor el rendimiento, un contador de encoder hardware es una opción mejor. Algunos sistemas basados en hardware pueden contar a velocidades de MHz.

encoder admite un máximo de ocho canales. El número de los canales realmente cargados se configuran mediante el argumento num_chan cuando se carga el módulo. Alternativamente, especifique names= y nombres únicos separado por comas para cada canal.

Los especificadores num_chan= y names= son mutuamente excluyentes. Si no se especifica num_chan= ni names=, o si num_chan=0, el valor predeterminado es tres.

encoder tiene un modo unidireccional mono-fáse llamado counter. En este modo, se ignora la entrada phase-B; los recuentos aumentan en cada flanco ascendente de phase-A. Este modo puede ser útil para contar un husillo unidireccional con una sola lÃnea de entrada, aunque se pierden las caracterÃsticas de resistencia al ruido de la cuadratura.

FUNCIONES

encoder.update-counters (no punto flotante)

Hace el conteo real, muestreando las señales del encoder y decodificando las formas de onda en cuadratura. Debe llamarse con la mayor frecuencia posible, preferiblemente el doble de rápido que la tasa de conteo máxima deseada. Opera en todos los canales a la vez.

encoder.capture-position (usa punto flotante)

Captura los recuentos sin procesar de update-counters y realiza el escalado y otras conversiones necesarias, maneja el rollover del contador, etc. Puede (y debe) llamarse con menos frecuencia que update-counters. Funciona en todos los canales a la vez.

NOMBRES

Los nombres de pines y parámetros tienen el prefijo:
encoder.N.
para N=0,1,...,num-1 con num_chan=num
nameN.
para nameN=name1,name2,... con names=name1,name2,...

En las siguientes descripciones se muestra el formato encoder.N..

PINES

encoder.N.counter-mode bit I/O

Habilita el modo contador. Cuando es verdadero, el contador cuenta cada flanco ascendente de la entrada fase-A, ignorando el valor en fase-B. Esto es útil para contar la salida de un sensor de canal único (no en cuadratura). Cuando es falso (predeterminado), cuenta en modo de cuadratura.

encoder.N.counts s32 out

Posición en cuentas de encoder.

encoder.N.index-enable bit I/O

Cuando es verdadero, counts y position se resetean a cero en el siguiente flanco ascendente de Phase-Z. Al mismo tiempo, index-enable se resetea a cero para indicar que se ha producido el flanco ascendente.

encoder.N.min-speed-estimate float in (predeterminado: 1.0)

Determina la velocidad mÃnima a la que velocity será estimado como distinto de cero y postition-interpolated se interpolará. Las unidades de min-speed-estimate son las mismas que las unidades de velocity. Establecer este parámetro demasiado bajo hará que se tarde mucho tiempo para que velocity llegue a 0 después de que los pulsos del encoder hayan dejado de llegar.

encoder.N.phase-A bit in

Entrada de cuadratura para el canal A del encoder N.

encoder.N.phase-B bit in

Entrada de cuadratura para el canal B del encoder N.

encoder.N.phase-Z bit in

Entrada de pulso de Ãndice.

encoder.N.position float

Posición en unidades escaladas (ver position-scale)

encoder.N.position-interpolated float

Posición en unidades escaladas, interpoladas entre recuentos de encoder. Solo válido cuando la velocidad es aproximadamente constante y superior a min-speed-estimate. No utilizar para el control de posición.

encoder.N.position-scale float I/O

Factor de escala, en recuentos por unidad de longitud. Por ejemplo, si position-scale es 500, entonces 1000 recuentos del encoder se informarán como una posición de 2.0 unidades.

encoder.N.rawcounts s32 out

Recuento sin procesar, según lo determinado por update-counters. Este valor se actualiza con más frecuencia que counts y position. Tampoco se ve afectado por reset o el pulso de Ãndice.

encoder.N.reset bit in

Cuando es verdadero, counts y position se resetean a cero inmediatamente.

encoder.N.velocity float

Velocidad en unidades escaladas por segundo. encoder usa un algoritmo que reduce en gran medida el ruido de cuantización en comparación con una simple diferenciación de la salida position. Cuando la magnitud de la velocidad real es inferior que min-speed-estimate, la salida velocity es 0.

encoder.N.velocity-rpm float out

Velocidad en unidades escaladas por minuto. Simplemente encoder.N .velocity escalado por un factor de 60 para mayor comodidad.

encoder.N.x4-mode bit I/O

Habilita el modo X-4. Cuando es verdadero (valor predeterminado), el contador cuenta cada borde de la forma de onda en cuadratura (cuatro conteos por ciclo completo). Cuando es falso, solo cuenta una vez por ciclo completo. En counter-mode, este parámetro se ignora.

encoder.N.latch-input bit in
encoder.
N.latch-falling bit in (predeterminado: TRUE)
encoder.
N.latch-rising bit in (predeterminado: TRUE)
encoder.
N.counts-latched s32 out
encoder.
N.position-latched float out

Actualiza counts-latched y position-latched al flanco ascendente y/o descendente de latch-input como se indique mediante latch-rising y latch-falling.

encoder.N.counter-mode bit rw

Habilita el modo contador. Cuando es verdadero, el contador cuenta cada flanco ascendente de la entrada de fase-A, ignorando el valor en la fase-B. Esto es útil para contar la salida de un sensor de canal único (no en cuadratura). Cuando es falso (predeterminado), cuenta en modo de cuadratura. encoder.N.capture-position.tmax s32 rw Número máximo de ciclos de CPU necesarios para ejecutar esta función.

PARÃMETROS

El componente encoder no tiene parámetros HAL.